Xephyr README ============= What Is It ? ============ Xephyr is a a kdrive server that outputs to a window on a pre-existing 'host' X display. Think Xnest but with support for modern extensions like composite, damage and randr. Unlike Xnest which is an X proxy, i.e. limited to the capabilities of the host X server, Xephyr is a real X server which uses the host X server window as "framebuffer" via fast SHM XImages. It also has support for 'visually' debugging what the server is painting. How To Use ========== You probably want to run like; Xephyr :1 -ac -screen 800x600 & Then set DISPLAY=:1 and run whatever X apps you like. Use 'xrandr' to change to orientation/size. There is a '-parent' switch which works just like Xnests ( for use with things like matchbox-nest - http://matchbox.handhelds.org ). There is also a '-host-cursor' switch to set 'cursor acceleration' - The host's cursor is reused. This is only really there to aid debugging by avoiding server paints for the cursor. Performance improvement is negiable. Send a SIGUSR1 to the server ( eg kill -USR1 `pidof Xephyr` ) to toggle the debugging mode. In this mode red rectangles are painted to screen areas getting painted before painting the actual content. The delay between this can be altered by setting a XEPHYR_PAUSE env var to a value in micro seconds. Caveats ======= - Depth is limited to being the same as the host. *Update* As of 8/11/2004. Xephyr can now do 8bpp & 16bpp on 24bpp host. - Rotated displays are currently updated via full blits. This is slower than a normal oprientated display. Debug mode will therefor not be of much use rotated. - The '-host-cursor' cursor is static in its appearence. - The build gets a warning about 'nanosleep'. I think the various '-D' build flags are causing this. I havn't figured as yet how to work round it. It doesn't appear to break anything however. - Keyboard handling is basic but works. - Mouse button 5 probably wont work. Matthew Allum <mallum@o-hand.com> 2004