Hi,
On 07/10/2014 04:28 AM, Michael Mrozek wrote:
Okay, as mentioned, I took my time tonight to look why X is so much faster with the Yocto image compared to Debian, and I think I found the reason.
I've tried the fbdev driver again and it acted pretty much as I expected. Small windows moved fast on top of black background, but created "trails" if moved on top of other windows (say if you have Iceweasel with a rendered web page at the background). Large windows (like the same Iceweasel) lag behind, i.e. the move animation may still show several seconds after you stopped moving your mouse.
ED, is that the issue you want to fix?
I'm quite sure it's all because of limited memory bandwidth. Then why does Yocto + TI drivers work better, you may ask? That's because it's "cheating" and using basically what we call frameskip in emulators, i.e. simply not sending some frames to screen. I'll admit I'm making an assumption here, but there is simply no way it could pull that off otherwise, SGX can't do magic and move the memory 10x faster than ARM out of the sudden.
It's possible to do the same cheating thing in software, and a driver called fbturbo ( https://github.com/ssvb/xf86-video-fbturbo ) can do just that. Get http://notaz.gp2x.de/tmp/fbturbo_drv.so and copy to /usr/lib/xorg/modules/drivers/ then in xorg.conf set: Driver "fbturbo" Option "ForceBackingStore" "true" then restart X and test. It shouldn't be hard to make Debian package out of fbturbo, the deps are sane.
I think fbturbo is the driver we should ultimately use on Pyra and not the SGX blobs with all their mess. This will give better stability (misbehaving SGX driver won't bring the system down) and allow open source purists to use Pyra in default setup we support. fbturbo currently lacks video overlay support (only supports it on allwinner SoCs) and could make use of Vivante 2D accelerator that's sitting in OMAP5. I plan to work on that, I just don't know when. Won't be too easy but should be doable.
Grazvydas