25 Sep 2007
(updated 1 Oct 2007 at 09:53 UTC) »
OpenGL and XVideo acceleration in Xephyr
For those who don't know, Xephyr is an X
server that "displays" stuff
into a window of the host X server currently
running on your machine.
You can simply launch Xephyr on your desktop and make your
use it as their display.
So Xephyr normally does its rendering in software and
then sends the image
resulting from that rendering to the window of the host X
server. That means it does not take
advantage of the possible hardware assisted acceleration
that can be provided by your
graphics card. One of the implications of this is that
Xephyr did not support XVideo or DRI based OpenGL acceleration.
At least until recently :-)
One my recent projects at OpenedHand was to plug
that hole and make Xephyr support
XVideo and OpenGL acceleration.
The principle was basically to make Xephyr act as an
XVideo/GLX client of the host X
server, on behalf of the actual client application.
That way, Xephyr leverages on the acceleration capabilities
the host server (if any), without being tied to anything
specific to the
underlying graphic card. It is a way to use the host X as a
acceleration layer, in a sense.
In short, if your host X server has XVideo and GLX
acceleration, Xephyr will use
For GLX acceleration, Xephyr uses the Direct Rendering
Infrastructure to talk to
the host X. That implies that the system will work with free
Now, video time.
DISCLAIMER: YOU HAVE TO WATCH THESE VIDEOS IN
Otherwise they are of very very poor quality.
glxgears in Xephyr without acceleration
glxgears in Xephyr with acceleration
getting the code:
You new to checkout out mesa:
./autogen.sh --prefix=/your/prefix --enable-debug
--enable-xephyr --enable-kdrive --disable-xorg --disable-dmx
--disable-xorgcfg --disable-xcalibrate --disable-xsdl
hw/kdrive/ephyr/Xephyr :1 -ac
Syndicated 2007-09-25 11:26:50 from Dodji on the wire