xserver/hw/kdrive/ephyr
Enrico Weigelt, metux IT consult ae7c32abf6 os: directly set console verbosity level, instead of using LogSetParameter()
No need for extra call to some demuxer function for nothing but setting a
simple int variable. Setting verbosity level really is nothing more than just
writing some value into a variable, so it's trivial to just to do that, instead
of having an unncessarily complex "universal setter" for that.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-12 17:21:46 +02:00
..
man Xephyr.man: Use \- to get ASCII hyphens instead of Unicode dashes 2025-05-31 15:15:13 -07:00
.gitignore Xephyr: build Xephyr man pages using XORG_MANPAGE_SECTIONS 2011-01-18 15:10:29 -08:00
README Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
ephyr.c kdrive: use calloc() instead of malloc() 2025-06-12 16:49:52 +02:00
ephyr.h ephyr/glamor: Port to EGL 2021-09-15 19:14:23 +00:00
ephyr_draw.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
ephyr_glamor.c kdrive: use calloc() instead of malloc() 2025-06-12 16:49:52 +02:00
ephyr_glamor.h ephyr/glamor: Port to EGL 2021-09-15 19:14:23 +00:00
ephyr_glamor_xv.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
ephyrcursor.c mi: unexport miPointerInitialize() 2025-02-06 14:38:05 +00:00
ephyrinit.c os: directly set console verbosity level, instead of using LogSetParameter() 2025-06-12 17:21:46 +02:00
ephyrlog.h Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
ephyrvideo.c kdrive: protect against allocation failures and NULL pointers 2025-06-12 16:35:33 +02:00
hostx.c kdrive: replace xallocarray() by calloc() 2025-06-12 17:21:44 +02:00
hostx.h ephyr: Sync even less in ephyrInternalDamageRedisplay 2022-06-27 16:40:03 -04:00
meson.build Xephyr: use glamor glx provider 2023-11-07 18:20:48 +03:00

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 Xnest's ( 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 negligible.

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 microseconds.


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
   therefore not be of much use rotated.

 - The '-host-cursor' cursor is static in its appearance.

 - The build gets a warning about 'nanosleep'. I think the various '-D'
   build flags are causing this. I haven't figured as yet how to work
   around it. It doesn't appear to break anything however.

 - Keyboard handling is basic but works.

 - Mouse button 5 probably won't work.





Matthew Allum <mallum@o-hand.com> 2004