Just as an addendum: # udevadm trigger --verbose --subsystem-match=drm --subsystem-match=input /sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input6 /sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input6/event6 /sys/devices/LNXSYSTM:00/device:00/PNP0A03:00/device:03/LNXVIDEO:00/input/input4 /sys/devices/LNXSYSTM:00/device:00/PNP0A03:00/device:03/LNXVIDEO:00/input/input4/event4 /sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input3 /sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input3/event3 /sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5 /sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/event5 /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0 /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-DVI-D-1 /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-LVDS-1 /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-SVIDEO-1 /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-VGA-1 /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/controlD64 /sys/devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.0/input/input1 /sys/devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.0/input/input1/event1 /sys/devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.0/input/input1/mouse0 /sys/devices/platform/i8042/serio0/input/input0 /sys/devices/platform/i8042/serio0/input/input0/event0 /sys/devices/platform/i8042/serio1/input/input7 /sys/devices/platform/i8042/serio1/input/input7/event7 /sys/devices/platform/i8042/serio1/input/input7/mouse1 /sys/devices/platform/i8042/serio1/serio2/input/input9 /sys/devices/platform/i8042/serio1/serio2/input/input9/event9 /sys/devices/platform/i8042/serio1/serio2/input/input9/mouse2 /sys/devices/platform/pcspkr/input/input2 /sys/devices/platform/pcspkr/input/input2/event2 /sys/devices/platform/thinkpad_acpi/input/input8 /sys/devices/platform/thinkpad_acpi/input/input8/event8 /sys/devices/virtual/drm/ttm /sys/devices/virtual/input/mice On Sat, Oct 30, 2010 at 4:34 PM, Sedat Dilek <sedat.dilek@xxxxxxxxxxxxxx> wrote: > Hi, > > today, I tried to build and setup Wayland according to [1]. > > I am using a Debian/sid i386 host with ATi/AMD Radeon RV250. > Furthermore, I have an upstream Linux-Kernel (2.6.36-git14) and radeon > DDX from GIT master (up to bf60af5). > Both Kernel + DDX have Alex radeon-KMS pageflipping support from [2] built-in. > > # lspci -nnvv | grep "VGA compatible controller" > 01:00.0 VGA compatible controller [0300]: ATI Technologies Inc Radeon > RV250 [Mobility FireGL 9000] [1002:4c66] (rev 02) (prog-if 00 [VGA > controller]) > > # grep flip /var/log/Xorg.0.log > [  Â82.883] (II) RADEON(0): KMS Pageflipping: enabled > > My libdrm is 2.4.22 and xorg-server is 1.9.1-rc2 (both from > Debian/experimental repository). > > NOTE: Below (see P.S.) I have listed the Wayland-relevant packages > with git-log information. > > [1] says in section Modesetting: > > "At this point, kernel modesetting is upstream for Intel, AMD and > nVidia chipsets. Most distributions ship with kernel modesetting > enabled by default and will work with Wayland out of the box. The > modesetting driver must also support the page flip ioctl, which only > the intel driver does at this point." > > Thus, I am not sure if the website needs a refresh or radeon-KMS with > Alex's patches is not "wayland-ready". > Can you please enlighten? Thanks. > > Furthermore some points to your "building" website from [1]: > > [1] Section libxkbcommon: > A hint for "requires kbproto >=1.0.5" would be nice. > BTW, git://people.freedesktop.org/xorg/lib/libxkbcommon.git is not clone-able. > I checked out from git://anongit.freedesktop.org/xorg/lib/libxkbcommon > (see [3]) instead. > > [2] Section Wayland (code-snippet): > After "git clone git://people.freedesktop.org/~krh/wayland" is missing > a "cd wayland" > > [3] Section cairo-gl: > In the build-log I saw "EGL functions: no (EGL headers not found)", > but there are EGL headers installed in /opt/wayland (my $PREFIX, > belonging to my user-account). > > # ls -l /opt/wayland/include/EGL/ > insgesamt 44 > -rw-r--r-- 1 sd sd 18024 30. Okt 14:42 eglext.h > -rw-r--r-- 1 sd sd 12353 30. Okt 14:42 egl.h > -rw-r--r-- 1 sd sd Â4216 30. Okt 14:42 eglplatform.h > > Thus adding the following exports to all(!) packages (as > code-snippets) makes more than sense to me: > > export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig > export PATH=$PREFIX/bin:$PATH > export LD_LIBRARY_PATH=$PREFIX/lib > > Now, cairo is using EGL: > > # grep EGL cairo-gl.log | head -3 > checking for cairo's EGL functions feature... > checking whether cairo's EGL functions feature could be enabled... yes > ÂEGL functions:  yes > > [4] Section Wayland: > WTF (WhereTheF***) is those udev rules file I asked myself? > > $ find wayland/ -name 70-wayland.rules > wayland/compositor/70-wayland.rules > > ÂA code-snippet like that with some text would be helpful: > > # cd wayland/ > # cp -av compositor/70-wayland.rules /etc/udev/rules.d/ > > [5] Section Wayland: > > Where shall wayland compositor find its libs? > So there is a missing ld-config example, something like that would be great: > > [ /etc/ld.so.conf.d/wayland.conf ] > # wayland lib configuration > /opt/wayland/lib > > Do not forget to run ldconfig as root to update the linker cache. > > # ldconfig > > Below (see P.S.) you find a "ldconfig -p | grep wayland" output. > > [6] Section Wayland: > configure is not created, also there are missing *-sh and other files, > why not use autogen.sh? > IMHO "aclocal; autoconf;" can also be dropped in your snippet. > > $ cd wayland > $ ./autogen.sh --prefix=$PREFIX > > [7] Missing Debian packages for my system (note to myself): > > # apt-get install libffi-dev > # apt-get install -t experimental libxcb-dri2-0-dev libxcb-xfixes0-dev > # apt-get install libpoppler-glib-dev > > [8] Section Wayland: > Is that somehow outdated? > > $ ./wayland-system-compositor -b my-image.jpg > > $ find wayland/ -name compositor > wayland/compositor > wayland/compositor/compositor > wayland/compositor/.libs/compositor > > (Full find output below) > > So how to test now the Wayland/compositor? > > $ cd wayland/compositor > $ LC_ALL=C ; LIBGL_DRIVERS_PATH=/opt/wayland/lib/dri ./compositor -b > ../../backgrounds/dscn1843.jpg > failed to initialize display > Segmentation fault > > BTW, a test JPG shipped with source would be nice. > Must it be JPG, can it be PNG? Not sure. > > $ ./compositor --help > Usage: > Âlt-compositor [OPTION...] > > Help Options: > Â-h, --help      Show help options > > Application Options: > Â-b, --background   Background image > Â-c, --connector   ÂKMS connector > > Can I force to use radeon-KMS as connector via --connector parameter? > If YES, how? > > As I already said I am not sure what is exactly wrong. > > $ LIBGL_DRIVERS_PATH=/opt/wayland/lib/dri glxgears > > # lsof | grep glxgears | grep wayland > glxgears Â19925     sd Âcwd    DIR    Â8,3   4096 > 519169 /home/sd/src/wayland > glxgears Â19925     sd Âmem    REG    Â8,5 16644192 > 260789 /opt/wayland/lib/dri/r200_dri.so > > As you can see the mesa-dri driver is loaded from $PREFIX. > Use LD_PRELOAD? > Any other tricks? > > Not sure if my RV250 gfcard is too weak, missing HW or GL requiremnets > or radeon-KMS with pageflipping not ready for wayland. > (glxinfo.txt attached). > > I attached two strace outputs w/ and w/o LIBGL_DRIVERS_PATH: > > $ cd wayland/compositor > $ LC_ALL=C strace ./compositor -b ../../backgrounds/dscn1843.jpg 2> > ../../strace_compositor.log > $ LC_ALL=C ; LIBGL_DRIVERS_PATH=/opt/wayland/lib/dri strace > ./compositor -b ../../backgrounds/dscn1843.jpg 2> > ../../strace_compositor_LIBGL_DRIVERS_PATH.log > > Last but not least, I have attached my build-scripts. > If there is something wrong/missing, please let me know. > > Any feedback and help appreciated. > > Hope this helps to see Wayland on radeon-KMS. > > Kind Regards, > - Sedat - > > References: > [1] http://wayland.freedesktop.org/building.html > [2] http://people.freedesktop.org/~agd5f/pflip/ > [3] http://cgit.freedesktop.org/xorg/lib/libxkbcommon/ > > P.S.: > > ----- Packages with GIT log information ----- > > $ cd $HOME/src/wayland > $ for i in mesa libxkbcommon cairo wayland ; do BASEDIR=$(pwd) ; echo > $i ; cd $i ; git log --pretty=short -1 | cat ; cd $BASEDIR ; done > mesa > commit 156e955c25ad4acd78d683c4def83769f0bb3ddb > Author: Chia-I Wu <olv@xxxxxxxxxx> > >  Âautoconf: st/vega requires --enable-openvg. > libxkbcommon > commit f94a64cc08b47cdbfdfea5b5756340246fc391ed > Author: Jon TURNEY <jon.turney@xxxxxxxxxxxxxxxx> > >  ÂLink with -no-undefined > cairo > commit 5b2ed2422dffb407d80ec38ac0502ba951368ad2 > Author: Uli Schlachter <psychon@xxxxxx> > >  Âxcb: Do not access flags directly > wayland > commit 012a00777129cbb84fa88ba1b02e1f3b2dd1b4f8 > Author: Kristian HÃgsberg <krh@xxxxxxxxxxxxx> > >  ÂAdd small client for testing shm surfaces > > ----- ldconfig output ------ > > # ldconfig -p | grep wayland >    Âlibxkbcommon.so.0 (libc6) => /opt/wayland/lib/libxkbcommon.so.0 >    Âlibxkbcommon.so (libc6) => /opt/wayland/lib/libxkbcommon.so >    Âlibwayland-server.so.0 (libc6) => > /opt/wayland/lib/libwayland-server.so.0 >    Âlibwayland-server.so (libc6) => /opt/wayland/lib/libwayland-server.so >    Âlibwayland-client.so.0 (libc6) => > /opt/wayland/lib/libwayland-client.so.0 >    Âlibwayland-client.so (libc6) => /opt/wayland/lib/libwayland-client.so >    Âlibglut.so.3 (libc6) => /opt/wayland/lib/libglut.so.3 >    Âlibglut.so (libc6) => /opt/wayland/lib/libglut.so >    Âlibcairo.so.2 (libc6) => /opt/wayland/lib/libcairo.so.2 >    Âlibcairo.so (libc6) => /opt/wayland/lib/libcairo.so >    Âlibcairo-script-interpreter.so.2 (libc6) => > /opt/wayland/lib/libcairo-script-interpreter.so.2 >    Âlibcairo-script-interpreter.so (libc6) => > /opt/wayland/lib/libcairo-script-interpreter.so >    Âlibcairo-gobject.so.2 (libc6) => /opt/wayland/lib/libcairo-gobject.so.2 >    Âlibcairo-gobject.so (libc6) => /opt/wayland/lib/libcairo-gobject.so >    ÂlibGLw.so.1 (libc6) => /opt/wayland/lib/libGLw.so.1 >    ÂlibGLw.so (libc6) => /opt/wayland/lib/libGLw.so >    ÂlibGLU.so.1 (libc6) => /opt/wayland/lib/libGLU.so.1 >    ÂlibGLU.so (libc6) => /opt/wayland/lib/libGLU.so >    ÂlibGLESv2.so.2 (libc6) => /opt/wayland/lib/libGLESv2.so.2 >    ÂlibGLESv2.so (libc6) => /opt/wayland/lib/libGLESv2.so >    ÂlibGLESv1_CM.so.1 (libc6) => /opt/wayland/lib/libGLESv1_CM.so.1 >    ÂlibGLESv1_CM.so (libc6) => /opt/wayland/lib/libGLESv1_CM.so >    ÂlibGL.so.1 (libc6) => /opt/wayland/lib/libGL.so.1 >    ÂlibGL.so (libc6) => /opt/wayland/lib/libGL.so >    ÂlibEGL.so.1 (libc6) => /opt/wayland/lib/libEGL.so.1 >    ÂlibEGL.so (libc6) => /opt/wayland/lib/libEGL.so > > $ find wayland/ -name '*compositor*' > wayland/compositor > wayland/compositor/compositor > wayland/compositor/compositor-x11.c > wayland/compositor/compositor-x11.o > wayland/compositor/.libs/lt-compositor > wayland/compositor/.libs/compositor > wayland/compositor/compositor-drm.o > wayland/compositor/.deps/compositor-drm.Po > wayland/compositor/.deps/compositor-x11.Po > wayland/compositor/.deps/compositor.Po > wayland/compositor/compositor.o > wayland/compositor/compositor-drm.c > wayland/compositor/compositor.c > wayland/compositor/compositor.h > > - EOT - > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel