I've managed to work around most of my earlier Xen dom0 issues by setting a fixed dom0 memory size and disabling VT switching in X. However, X still segfaults on startup about a half of the times I try to start it (or XDM tries to start it).
Here is the stack trace from the Xorg log. Note (again) that I cannot use the proprietary firmware required for KMS.
[ 19.081] (--) Depth 24 pixmap format is 32 bpp
[ 19.081] (II) RADEON(0): RADEONScreenInit d0000000 0 0
[ 19.134] Backtrace:
[ 19.176] 0: /usr/bin/X (xorg_backtrace+0x36) [0x7f9be158dd06]
[ 19.176] 1: /usr/bin/X (0x7f9be140f000+0x182859) [0x7f9be1591859]
[ 19.176] 2: /lib/x86_64-linux-gnu/libpthread.so.0 (0x7f9be0737000+0xf030) [0x7f9be0746030]
[ 19.176] 3: /usr/lib/x86_64-linux-gnu/libpciaccess.so.0 (0x7f9be0953000+0x5018) [0x7f9be0958018]
[ 19.176] 4: /usr/lib/xorg/modules/libvgahw.so (0x7f9bdcd5a000+0x261a) [0x7f9bdcd5c61a]
[ 19.176] 5: /usr/lib/xorg/modules/libvgahw.so (vgaHWUnlock+0x23) [0x7f9bdcd5eeb3]
[ 19.176] 6: /usr/lib/xorg/modules/drivers/radeon_drv.so (0x7f9bdd16d000+0x4528d) [0x7f9bdd1b228d]
[ 19.176] 7: /usr/bin/X (AddScreen+0x189) [0x7f9be14621f9]
[ 19.177] 8: /usr/bin/X (InitOutput+0x28e) [0x7f9be14a03fe]
[ 19.177] 9: /usr/bin/X (0x7f9be140f000+0x41d26) [0x7f9be1450d26]
[ 19.177] 10: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xfd) [0x7f9bdf45eead]
[ 19.177] 11: /usr/bin/X (0x7f9be140f000+0x4219d) [0x7f9be145119d]
[ 19.177] Segmentation fault at address (nil)
Fatal server error:
[ 19.177] Caught signal 11 (Segmentation fault). Server aborting
Any ideas what the problem might be? This is not critical, as X is now stable enough to use once successfully started; but it is annoying.