Page 1 of 1

Hardware accelerated display server

Posted: Tue Mar 26, 2013 7:12 pm
by grindax
Does anyone know the timeline for a hardware accelerated display server in a distro for the Pi?

Presumably this will be possible with Wayland? If so, I'm curious why it would be possible to hardware accelerate with Wayland in future and not with X currently.

Re: Hardware accelerated display server

Posted: Tue Mar 26, 2013 8:18 pm
by Jim Manley
The problem isn't just accelerating an X server, it's also a matter of dealing with how applications ported to X are implemented. The major problem that has been discovered is that applications do way too many single-pixel operations that can't benefit from GPU acceleration. One of the challenges in doing GPU acceleration is finding places in the code where preparing and sending the graphic representation data to the GPU and performing OpenGL ES operations produces faster display performance than just performing the equivalent operations on the ARM CPU. When X was developed starting in the 1970s, the widespread availability of low-cost, hardware-accelerated graphics processing was still more than two decades in the future and a lot of design decisions were made deeply and broadly in the server and applications code that now work against GPU acceleration.

Wayland development began in 2008 with full knowledge of the issues inherent in the X WIndow System (note that it's not X-Windows, X Windows, X windows, etc.) and the benefits that current-generation GPU hardware can provide that were not knowable by the original X Window developers. The spectre of legacy compatibility haunts us today in network-distributed graphics just as it does for x86 architectures vs. support for ARM architectures.

Clutter, Qt 5, and EFL (except for selection) now support Wayland and GTK+ 3.10 will provide full support in September 2013. While Wayland is being considered by Ubuntu for use in its Unity GUI, it is under development for a full port to KDE (OpenGL ES output is already supported in Kwin, which the Pi GPU can execute), and the Fedora project has indicated that Wayland will likely be supported at some time in the indefinite future.

A significant transition to Wayland will obviously depend on application developers also adopting it and that will take a substantial effort and period of time to accomplish (if ever, for some applications). Then there's the issue of critical mass and the possibility of alternatives, as Canonical formally cancelled plans to adopt Wayland and announced plans to build their own display server, Mir.

Re: Hardware accelerated display server

Posted: Tue Mar 26, 2013 8:36 pm
by mahjongg
Stupid question, forgive me if I'm asking about the obvious, and you find this offensive, but I assume its impossible to "cache" single pixel draws and to turn them into something the GPU can do more efficiently? I assume It would probably take too much AI and code cycles to do this? :roll:

Re: Hardware accelerated display server

Posted: Tue Mar 26, 2013 8:47 pm
by grindax
Thanks for the reply Jim. So it sounds like things should be in a much better state for the Pi later this year.

I was initially surprised when I first started using the Pi that even a lightweight desktop environment such as LXDE, in the officially recommended distro, is extremely sluggish. Considering the graphics hardware it has at its disposal, capable of powering reasonably demanding games from the late 90s (e.g. Quake 3), I thought that graphics performance for the desktop would be pretty snappy.

But it sounds like once all the various software components come together later this year, performance should be much improved.

Re: Hardware accelerated display server

Posted: Tue Mar 26, 2013 8:56 pm
by ghans
A lot of apps can use OpenGL/GLX for acceleration.
But the Pi can only accelerate Open GL ES.


ghans