Latest xorg/fglrx upgrade broke dual-head

Desktop Environments and Multimedia
Post Reply
Message
Author
dcarvil
Posts: 5
Joined: 2006-11-04 20:09

Latest xorg/fglrx upgrade broke dual-head

#1 Post by dcarvil »

Upgrading to the latest xorg and fglrx packages (Debian etch) broke my ati-9200se dual-head setup. Using the fglrx driver, the monitor connected to the DVI connector stays dark. Using the ati or radeon drivers, both monitors work, but only in clone mode which is not what I want, I want screen 0 and screen 1. I get this warning in Xorg.0.log with all 3 drivers:

(WW) RADEON: No matching Device section for instance (BusID PCI:1:0:1) found

My xorg.conf has this section, and this xorg.conf was working before the upgrade:
Section "Device"
Identifier "ATI Graphics Adapter 0"
Driver "radeon"
BusID "PCI:1:0:0"
Screen 0
Option "VideoOverlay" "on"
Option "OpenGLOverlay" "off"
Option "ForceMonitors" "TMDS,TMDS"
EndSection

Section "Device"
Identifier "ATI Graphics Adapter 1"
Driver "radeon"
BusID "PCI:1:0:1"
Screen 1
Option "VideoOverlay" "on"
Option "OpenGLOverlay" "off"
Option "ForceMonitors" "TMDS,TMDS"
EndSection

lspci shows:
01:00.0 VGA compatible controller: ATI Technologies Inc RV280 [Radeon 9200 SE] (rev 01)
01:00.1 Display controller: ATI Technologies Inc RV280 [Radeon 9200 SE] (Secondary) (rev 01)


Xorg.0.log shows:
(II) PCI: 01:00:0: chip 1002,5964 card 1787,5964 rev 01 class 03,00,00 hdr 80
(II) PCI: 01:00:1: chip 1002,5d44 card 1787,5965 rev 01 class 03,80,00 hdr 00

Can anyone please tell me how to resolve the "No matching Device section for instance (BusID PCI:1:0:1) found" message?

I have noticed a couple of other things that may or not be related.

1. The driver loaded is /usr/lib/xorg/modules/drivers/fglrx_drv.so. My previous driver was /lib/modules/2.6.15-1-486/misc/fglrx.ko. This is a 2.6 kernel, so shouldn't the driver be fglrx.ko?

2. lsmod does not show an flgrx module loaded, even though Xorg.0.log says it loaded. If I "modprobe fglrx" it tries to load the previous driver /lib/modules/2.6.15-1-486/misc/fglrx.ko, which was removed when I upgraded fglrx. Why does modprobe try to load the previous driver? I cannot find any fglrx driver configured in modules.conf, or anywhere else?

Thanks in advance for any help or ideas on fixing this.
don

stinerman
Posts: 35
Joined: 2006-10-17 05:37
Location: Sandusky, OH, USA

Re: Latest xorg/fglrx upgrade broke dual-head

#2 Post by stinerman »

dcarvil wrote: My xorg.conf has this section, and this xorg.conf was working before the upgrade:
Section "Device"
Identifier "ATI Graphics Adapter 0"
Driver "radeon"
BusID "PCI:1:0:0"
Screen 0
Option "VideoOverlay" "on"
Option "OpenGLOverlay" "off"
Option "ForceMonitors" "TMDS,TMDS"
EndSection

Section "Device"
Identifier "ATI Graphics Adapter 1"
Driver "radeon"
BusID "PCI:1:0:1"
Screen 1
Option "VideoOverlay" "on"
Option "OpenGLOverlay" "off"
Option "ForceMonitors" "TMDS,TMDS"
EndSection

...

1. The driver loaded is /usr/lib/xorg/modules/drivers/fglrx_drv.so. My previous driver was /lib/modules/2.6.15-1-486/misc/fglrx.ko. This is a 2.6 kernel, so shouldn't the driver be fglrx.ko?
That tells me you AREN'T using the fglrx driver. The xorg.conf you posted says that it is using the free radeon driver rather than the non-free fglrx driver. I don't know the status of dual-head support in the free driver, but I'll bet that is your problem.

To fix, change "radeon" to "fglrx" in xorg.conf.

The "1." confirms that you are loading the free radeon driver, not the fglrx one.

As far as it loading a previous fglrx version, it may be because you didn't compile the fglrx module. If you did compile it, it would default to be in /lib/modules/$CURRENT_KERNEL/misc/fglrx.ko. Check there to be sure.

Guest

#3 Post by Guest »

Sorry, my cut & paste was misleading. I have been switching back and forth between the radeon and flgrx drivers because when I am using the fglrx driver the display is on the wrong monitor, making reading difficult. At the time I did the cut and paste, I was using the radeon driver. When I am using the fglrx driver I change Driver "radeon" to Driver "fglrx" in both Device sections, and Xorg.0.log confirms the fglrx driver loaded.

You are also correct in that I did not compile the fglrx module. I used the latest debian "etch main" fglrx-driver package from ftp.us.debian.org (apt-get install fglrx-driver), which installs the driver at /usr/lib/xorg/modules/drivers/fglrx_drv.so. This driver works fine in single head mode, but will not do dual head mode for me even though the man page says dual head mode should work. I have no fglrx drivers anywhere under /lib/modules. Do you think compiling the driver would produce better results?

Thanks for taking the time to reply.
don

User avatar
meon
Posts: 164
Joined: 2006-09-11 08:45

#4 Post by meon »

I use module-assistant to compile fglrx-kernel.

stinerman
Posts: 35
Joined: 2006-10-17 05:37
Location: Sandusky, OH, USA

#5 Post by stinerman »

Anonymous wrote:Do you think compiling the driver would produce better results?
I can't say since I don't use a dual-head setup. The kernel module isn't absolutely necessary, you just don't get 3D acceleration (and some other features) without it. It certainly wouldn't hurt to compile and load the new module and try that out.

As meon suggested, use module-assistant to compile your driver and load it. If that doesn't work, you might want to file a bug with the package maintainer. The fglrx drivers are crap and often break things across revisions. Right now, I can't get XVideo working with Xorg 7.1 until the package for 8.30.3 comes out.

dcarvil
Posts: 5
Joined: 2006-11-04 20:09

#6 Post by dcarvil »

I compiled the module, and got this error when I tried to modprobe it.

fglrx: version magic '2.6.15-1-486 486 gcc-4.1' should be '2.6.15-1-486 486 gcc-4.0'
FATAL: Error inserting fglrx (/lib/modules/2.6.15-1-486/misc/fglrx.ko): Invalid module format

I assume this means I need to re-compile the kernel, which I won't have time to do for a few days. I might as well upgrade to the latest kernel while I'm at it. I'll post a followup when I have time to work on it again.

Thanks.
don

stinerman
Posts: 35
Joined: 2006-10-17 05:37
Location: Sandusky, OH, USA

#7 Post by stinerman »

All that means is that your kernel was compiled with gcc-4.0, so your modules must also be compiled with gcc-4.0. Your fglrx module was compiled with gcc-4.1.

IIRC, the kernel images are still being compiled by the debian team using gcc-4.0, so upgrading your kernel shouldn't help. Your best bet is to compile the kernel module with gcc-4.0.

dcarvil
Posts: 5
Joined: 2006-11-04 20:09

#8 Post by dcarvil »

OK, I didn't realize I had both gcc-4.0 and gcc-4.1 installed. I recompiled with 4.0, but it still won't modprobe:

[fglrx] Maximum main memory to use for locked dma buffers: 805 MBytes.
[fglrx:firegl_init_module] *ERROR* firegl_stub_register failed
FATAL: Error inserting fglrx (/lib/modules/2.6.15-1-486/misc/fglrx.ko): Operation not permitted

Any other ideas? Thanks for your patience.
don

dcarvil
Posts: 5
Joined: 2006-11-04 20:09

#9 Post by dcarvil »

I found the answer to the "*ERROR* firegl_stub_register failed". It happens when the radeon driver has been loaded, so the solution to that is to remove the radeon driver. I can now modprobe fglrx successfully, and lsmod shows it loaded.

$ lsmod | grep fglrx
fglrx 395180 8
agpgart 31560 2 fglrx,nvidia_agp

However, I still have only one monitor working, and Xorg.0.log shows the drvier at /usr/lib/xorg/modules/drivers/fglrx_drv.so still loading. It also still has this error message:

(WW) fglrx: No matching Device section for instance (BusID PCI:1:0:1) found

I'm stumped. Any ideas?

Thanks,
don

dcarvil
Posts: 5
Joined: 2006-11-04 20:09

#10 Post by dcarvil »

I gave up and bought an nvidia card. The nvidia drivers are much more Linux friendly. I'll never buy another ATI card.

don

Post Reply