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