Running xserver
Bill Spitzak
spitzak at gmail.com
Fri Aug 24 10:04:10 PDT 2012
On 08/23/2012 01:41 PM, Scott Moreau wrote:
> It sounds like you should read the xwayland build guide
> http://wayland.freedesktop.org/xserver.html
> There's no trick to it, you just install everything and start weston
> with --xserver and DISPLAY should automatically be set in the
> environment so you can start running X apps. Read the build guide and
> use the default configure options, you don't need to do all this extra
> stuff you do to break it before it has a chance to work.
Okay, it is so close now I feel I may succeed!
What I did was:
1. Compile xf86-video-wlshm, with an edit that was in the wayland-build
script I have:
git clone git://people.freedesktop.org/~iksaif/xf86-video-wlshm
sed -i -e s/hosted.h/xwayland.h/ xf86-video-wlshm/src/wlshm.h
./autogen.sh --prefix=$WLD
make
make install
2. After much futzing, came up with an xorg.conf that does not produce
an error and uses wlshm (I think, an example of the correct file would
be very helpful, or a patch to wayland xserver to not need it):
Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "Default Screen" 0 0
EndSection
Section "Device"
Identifier "Device0"
Driver "wlshm"
EndSection
Section "Screen"
Identifier "Default Screen"
Device "Device0"
EndSection
3. There appears to be no way to get weston to tell the xserver to use
an alternative config file. So instead I rand weston without --xserver
and replicated it's launch line inside the weston-terminal:
Xorg -config ./xorg.conf -wayland -rootless :2 &
(adding some rules to weston to locate an alternative xorg.conf might be
a good idea, or a way to pass arbitrary switches to Xorg).
4. I can run X clients, and they seem to talk to the server:
export DISPLAY=:2
5. However nothing appears on the screen. If I kill the client debug
information prints to stdout from Xorg (not from the client, showing
that there was successful communication):
(abbreviated because weston-terminal does not do copy & paste to X):
1 XSELINUXs still allocated at reset
SCREEN: 0 objects of 112 bytes = 0 total bytes 0 private allocs
... other 0 objects
PIXMAP: 1 objects of 12 bytes = 12 total bytes 0 private allocs
....
TOTAL: 1 objects, 12 bytes, 0 allocs
1 PIXMAPs still allocated at reset
....
xwl_input_delayed_init
6. Running xev produces some output on the stdout of xev showing some
events have been passed:
Outer window is 0x200001, inner window is 0x200002
PropertyNotify event, serial 8, synthetic NO, window 0x200001,
atom 0x27 (WM_NAME), time 260665416, state PropertyNewValue
PropertyNotify event, serial 9, synthetic NO, window 0x200001,
atom 0x22 (WM_COMMAND), time 260665416, state PropertyNewValue
PropertyNotify event, serial 10, synthetic NO, window 0x200001,
atom 0x28 (WM_NORMAL_HINTS), time 260665416, state PropertyNewValue
CreateNotify event, serial 11, synthetic NO, window 0x200001,
parent 0x200001, window 0x200002, (10,10), width 50, height 50
border_width 4, override NO
PropertyNotify event, serial 14, synthetic NO, window 0x200001,
atom 0xf1 (WM_PROTOCOLS), time 260665416, state PropertyNewValue
MapNotify event, serial 15, synthetic NO, window 0x200001,
event 0x200001, window 0x200002, override NO
MapNotify event, serial 16, synthetic NO, window 0x200001,
event 0x200001, window 0x200001, override NO
VisibilityNotify event, serial 16, synthetic NO, window 0x200001,
state VisibilityUnobscured
Expose event, serial 16, synthetic NO, window 0x200001,
(0,0), width 178, height 10, count 3
Expose event, serial 16, synthetic NO, window 0x200001,
(0,10), width 10, height 58, count 2
Expose event, serial 16, synthetic NO, window 0x200001,
(68,10), width 110, height 58, count 1
Expose event, serial 16, synthetic NO, window 0x200001,
(0,68), width 178, height 110, count 0
(at this point all output stops, even if I try to click and hit keys in
weston, and the program waits until I kill it)
Any ideas?
More information about the wayland-devel
mailing list