Regarding documentation, it would probably be sufficient to add something to al_get_num_video_adapters that just says something about what setup is required under Linux for it to report multiple adapters.
Makes sense. At the very least Xinerama, or XRandR support of some kind is needed.
Windows and (I assume) OS X are probably more consistent in there only being one way that multiple displays are handled.
X is fun that way. There are 4 ways to get multiple screens with X. Three of which we try to support.
1. Separate X server connections (not going to attempt this, mesa apparently doesn't even like this anyhow so it's not likely to work well)
2. Separate X Screen's (the one we've had the most issues with so far)
3a. Real Xinerama
3b. Fake Xinerama (on TwinView or whatever the fglrx driver does)
XRandR is where everything is heading, except the binary blob drivers.
I've managed to fix that crash, and ex_fs_resize seems to work fine now with a separate X screen setup. I'm attaching the patch, its a fairly large change just to fix a small bug, so I'm not sure its something should go into 5.0.0 or not. I have yet to test the code in Xinerama or TwinView, but I'll do that asap.
I would like you (Matthew) to test this code on your box, see if it works. Especially in ex_dualies where, on my machine, it seems to hang, and not show the window for one of the monitors.. Not sure whats going on there.
append2: I see another bug, woo.
append3: I fixed the bug in ex_dualies. and that other bug. I think its ready. Attached at x-fs-separate-screens-2.patch
append4: some basic testing on my part shows no regressions, and a few problems in xf86vm, xinerama, and plain x screen mode are fixed.