Hi David, Marico,

I've been developping a DRM/KMS driver for the Allwinner SoCs[1], with
an additional patch to allocate GPU buffers [2]. Since those SoCs also use
a Mali GPU, using the armsoc X11 plugin seemed like a logical choice.

I added support for the driver based on the 1.4 plugin [3], and
started using it, which turned out pretty well, we get something
displayed, GLES works, good.

However, after testing it for a while, the first thing we noticed was
that some (large) buffer allocations would start to fail. Indeed, the
plugin seems to do a lot of rather small (and for most temporary ?)
buffer allocations, which eventually depletes the reserved memory
pool. The allocation then fails, and the application crashes.

Then, we noticed (using xfce4, on debian jessie) that the systray
icons were not displayed for some reason. There's also some game
(alex4 [4]), that starts, runs, but the window content remains black
(but it remains interactive, audio plays and if we take a screenshot,
the content is on the image, but the screen remains black).

The weird thing about it is that when using the X generic modesetting
plugin, everything starts to work. It seems to be allocating only one
buffer per plane, so we never have the memory allocation
failures. Which raises my first question: why is the armsoc plugin
behaving differently there?

Then the graphics issues we were seeing are not there anymore, which
seems to indicate that it's related to the plugin. I'm a bit oblivious
to how X works exactly, and how applications interacts with it, but on
the ioctl side, nothing really stands out. Let me know if you need any
more tests or logs or anything.

Thanks!
Maxime

1: http://lists.infradead.org/pipermail/linux-arm-kernel/2016-March/417295.html
2: 
https://github.com/NextThingCo/CHIP-linux/commit/e37722eb32713611ff6800283a72c6d4784edf6a
3: 
https://github.com/mripard/xf86-video-armsoc/commit/37d1ed1d1e53e3b9e0c064913b7e3c40a4b071a9
4: https://sourceforge.net/p/allegator/alex4/ci/master/tree/

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

Attachment: signature.asc
Description: Digital signature

_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to