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.
vbios.vm86 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.


