There are two main ways to run and debug Xegl. Over a network or using two video cards in the same machine. I use the two video card method.

Two video card method

  • I run the normal X server on a PCI Rage128 AIW card. My target hardware is an AGP Radeon 9000. This script will set all of the devices up correctly. vbios.vm86 is my hacked tool for resetting a secondary video card using it VBIOS ROM. I run with the drm-no-root patch so all of the devices need to have their permissions set so that a normal user can access them. A some point PAM will do this automatically. The sleep is necessary in order to give udev time to build the device nodes.
    rmmod radeonfb
    rmmod fb
    rmmod radeon
    rmmod drm
    modprobe radeon debug=1
    insmod /home/mesa/drm/linux-core/drm.ko debug=1
    insmod /home/mesa/drm/linux-core/radeon.ko
    sleep 2
    chmod 666 /sys/class/graphics/fb0/*
    chmod 755 /sys/class/graphics/fb0/device
    chmod 666 /dev/input/*
    chmod 666 /dev/dri/*
    Next make sure your paths are ok and run Xegl. I don't bother installing mesa so I run it directly out of the build tree.
    $ export LD_LIBRARY_PATH=/home/mesa/lib:/opt/xegl/lib
    $ /opt/xegl/bin/Xegl :1 -ac -screen 1024x768
    Now you can use any normal debugger to work on Xegl. I am using gdb and kdevelop. You can also run a window manager and some apps.
    $ DISPLAY=:1 metacity
    $ DISPLAY=:1 xclock

Two machine and a net method

  • In this method each machine has a single video card and remote gdb is used. I don't work this way so maybe someone else will contribute a description.

Jon Smirl - Aug 8, 2005