PDA

View Full Version : X + 8.6 + dual-head = crash. Halp!


Malek
06-23-2008, 09:21 PM
Righto, so i have two monitors, 22" and 17 inch. Handy for my work. Through previous trickhackery, I had everything running more or less ok: I had the choice between two monitors and 2d, or one monitor 3d acceleration. Since it's a work machine, I chose the former.

After updating to 8.6, the X server bombs out on startup when in dual-head mode, ie, the two Devices in xorg.conf have the same BusID. Switching to stretch-screen (dtop={horizontal|vertical}) fixes the crash, but since the screens are different sizes this is unworkable: one is stretched out or the other is squished up.

I've tried enabling and disabling every single option in xorg.conf known to man, it makes no difference; the server crashes on startup every time if dual-head mode is selected. I've also checked all the .so version types and locations, symbolic links and anything else I could think of.

Last few lines of the Xorg.0.log (everything is fine before this):

fglrx(0): Acceleration enabled
(II) LoadModule: "amdxmm"
(II) Loading /usr/lib/xorg/modules//amdxmm.so
(II) Module amdxmm: vendor="X.Org Foundation"
compiled for 7.1.0, module version = 1.0.0
ABI class: X.Org Server Extension, version 0.3

Backtrace:
0: /usr/bin/X11/X(xf86SigHandler+0x7e) [0x80c913e]
1: [0xb7f80400]
2: /usr/lib/xorg/modules//amdxmm.so(amdxmmInit+0x435) [0xb4d8c3d5]
3: /usr/lib/xorg/modules/drivers//fglrx_drv.so [0xb783f9ac]
4: /usr/lib/xorg/modules/drivers//fglrx_drv.so(atiddxScreenInit+0x7e6) [0xb7837946]
5: /usr/bin/X11/X(AddScreen+0x1f7) [0x8073d87]
6: /usr/bin/X11/X(InitOutput+0x236) [0x80aab56]
7: /usr/bin/X11/X(main+0x2b1) [0x8074561]
8: /lib/i686/cmov/libc.so.6(__libc_start_main+0xe5) [0xb7cfb455]
9: /usr/bin/X11/X(FontFileCompleteXLFD+0x219) [0x8073a51]

Fatal server error:
Caught signal 11. Server aborting

(II) Screen 0 shares mem & io resources
(II) Screen 1 shares mem & io resources


System:
Debian unstable
kernel 2.6.25-2-686
Radeon 9800 Pro (yes, I know, old)
Dual CPU AMD 2400+

It would appear that the amdxmm.so module is to blame (perhaps some new shared memory stuff isn't working right?), but I'm not enough of a programmer to be certain.

Any ideas?

Dandel
06-23-2008, 09:55 PM
Your 9800 pro is old enough that i would actually recommend trying to switch to the radeon driver... see this page here. (http://dri.freedesktop.org/wiki/ATIRadeon)

mtippett
06-24-2008, 03:17 AM
We should have a number of fixes for dual head in the upcoming releases.

If you are using big desktop, look into pair-mode support (see aticonfig --help for more information). This will allow you to set up the screens to independent resolutions.

Regards,

Matthew

Malek
06-24-2008, 05:24 PM
We should have a number of fixes for dual head in the upcoming releases.

If you are using big desktop, look into pair-mode support (see aticonfig --help for more information). This will allow you to set up the screens to independent resolutions.

Regards,

Matthew

Thanks, I'll give that a shot - I was using two seperate screens with different resolutions (ie, couldn't drag windows between the two), but at this point I'll try anything =)

And the news of fixes "on the way" is great news, too.

-----------------------
EDIT:

Well, I've got it working the way it used to, two seperate screens, and with this pair-mode it feels a lot faster than before, at least in 2d.

However, now Xorg.0.log shows:

root@hyperatrophy:/home/malek# grep EE /var/log/Xorg.0.log
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(II) Loading extension MIT-SCREEN-SAVER
(EE) fglrx(0): The new pair mode should not have size bigger than 2048x1536. Please try new setting.
(EE) fglrx(1): The new pair mode should not have size bigger than 1280x1024. Please try new setting.
(EE) fglrx(0): atiddxDriScreenInit failed, GPS not been initialized.
(EE) fglrx(0): XMM failed to open CMMQS connection.
(EE) fglrx(1): DRI initialization for 2nd screen failed - aborting!
(EE) fglrx(1): XMM failed to open CMMQS connection.
(EE) fglrx(0): firegl_SetSuspendResumeState FAILED -1003.
(EE) fglrx(1): firegl_SetSuspendResumeState FAILED -1003.


The screens are displaying at the right resolution (2048x1536 and 1280x1024), but something seems to be hiccuping... at least it's usable again now =)