xref: /OK3568_Linux_fs/external/xserver/hw/kdrive/ephyr/README (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunXephyr README
2*4882a593Smuzhiyun=============
3*4882a593Smuzhiyun
4*4882a593Smuzhiyun
5*4882a593SmuzhiyunWhat Is It ?
6*4882a593Smuzhiyun============
7*4882a593Smuzhiyun
8*4882a593SmuzhiyunXephyr is a a kdrive server that outputs to a window on a pre-existing
9*4882a593Smuzhiyun'host' X display. Think Xnest but with support for modern extensions
10*4882a593Smuzhiyunlike composite, damage and randr.
11*4882a593Smuzhiyun
12*4882a593SmuzhiyunUnlike Xnest which is an X proxy, i.e.  limited to the
13*4882a593Smuzhiyuncapabilities of the host X server, Xephyr is a real X server which
14*4882a593Smuzhiyunuses the host X server window as "framebuffer" via fast SHM XImages.
15*4882a593Smuzhiyun
16*4882a593SmuzhiyunIt also has support for 'visually' debugging what the server is
17*4882a593Smuzhiyunpainting.
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun
20*4882a593SmuzhiyunHow To Use
21*4882a593Smuzhiyun==========
22*4882a593Smuzhiyun
23*4882a593SmuzhiyunYou probably want to run like;
24*4882a593Smuzhiyun
25*4882a593SmuzhiyunXephyr :1 -ac -screen 800x600 &
26*4882a593Smuzhiyun
27*4882a593SmuzhiyunThen set DISPLAY=:1 and run whatever X apps you like.
28*4882a593Smuzhiyun
29*4882a593SmuzhiyunUse 'xrandr' to change to orientation/size.
30*4882a593Smuzhiyun
31*4882a593SmuzhiyunThere is a '-parent' switch which works just like Xnests ( for use
32*4882a593Smuzhiyunwith things like matchbox-nest - http://matchbox.handhelds.org ).
33*4882a593Smuzhiyun
34*4882a593SmuzhiyunThere is also a '-host-cursor' switch to set 'cursor acceleration' -
35*4882a593SmuzhiyunThe host's cursor is reused. This is only really there to aid
36*4882a593Smuzhiyundebugging by avoiding server paints for the cursor. Performance
37*4882a593Smuzhiyunimprovement is negiable.
38*4882a593Smuzhiyun
39*4882a593SmuzhiyunSend a SIGUSR1 to the server ( eg kill -USR1 `pidof Xephyr` ) to
40*4882a593Smuzhiyuntoggle the debugging mode. In this mode red rectangles are painted to
41*4882a593Smuzhiyunscreen areas getting painted before painting the actual content. The
42*4882a593Smuzhiyundelay between this can be altered by setting a XEPHYR_PAUSE env var to
43*4882a593Smuzhiyuna value in micro seconds.
44*4882a593Smuzhiyun
45*4882a593Smuzhiyun
46*4882a593SmuzhiyunCaveats
47*4882a593Smuzhiyun=======
48*4882a593Smuzhiyun
49*4882a593Smuzhiyun - Depth is limited to being the same as the host.
50*4882a593Smuzhiyun   *Update* As of 8/11/2004. Xephyr can now do 8bpp & 16bpp
51*4882a593Smuzhiyun            on 24bpp host.
52*4882a593Smuzhiyun
53*4882a593Smuzhiyun - Rotated displays are currently updated via full blits. This
54*4882a593Smuzhiyun   is slower than a normal oprientated display. Debug mode will
55*4882a593Smuzhiyun   therefor not be of much use rotated.
56*4882a593Smuzhiyun
57*4882a593Smuzhiyun - The '-host-cursor' cursor is static in its appearence.
58*4882a593Smuzhiyun
59*4882a593Smuzhiyun - The build gets a warning about 'nanosleep'. I think the various '-D'
60*4882a593Smuzhiyun   build flags are causing this. I havn't figured as yet how to work
61*4882a593Smuzhiyun   round it. It doesn't appear to break anything however.
62*4882a593Smuzhiyun
63*4882a593Smuzhiyun - Keyboard handling is basic but works.
64*4882a593Smuzhiyun
65*4882a593Smuzhiyun - Mouse button 5 probably wont work.
66*4882a593Smuzhiyun
67*4882a593Smuzhiyun
68*4882a593Smuzhiyun
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun
71*4882a593SmuzhiyunMatthew Allum <mallum@o-hand.com> 2004
72*4882a593Smuzhiyun
73*4882a593Smuzhiyun
74