Second screen fails in openSUSE 11.4 (but works just fine in Ubuntu)

Hey guys.

System:

  • Tri-head, dual-card: GeForce 9500 GT, GeForce 8400 GS
  • Dual-boot: openSUSE 11.4, Ubuntu Natty
  • Driver: nvidia proprietary (260.19.44 in openSUSE, 270.30 in Ubuntu due to kernel version)
  • xorg.conf: same for both

Results: All three heads work just fine in Natty; secondary screen fails in openSUSE:


    25.164] (EE) NVIDIA(1): Failed to initialize the NVIDIA GPU at PCI:2:0:0.  Please
    25.164] (EE) NVIDIA(1):     check your system's kernel log for additional error
    25.164] (EE) NVIDIA(1):     messages and refer to Chapter 8: Common Problems in the
    25.164] (EE) NVIDIA(1):     README for additional information.
    25.164] (EE) NVIDIA(1): Failed to initialize the NVIDIA graphics device!
    25.164] (II) UnloadModule: "nvidia"
    25.164] (II) UnloadModule: "wfb"
    25.164] (II) UnloadModule: "fb"

But nothing is jumping out at me in the output of dmesg. :\ I also don’t see any additional system or kernel logs in /var/log. I’ll google some more on that front.

One other fun fact: nvidia-settings fails to run in openSUSE. Unless I launch it under gdb. Then it starts up and runs as expected. I kid thee not. (And the second screen ain’t there, as expected.)

I’m rapidly running out of hair to pull out, so if any X gurus and/or video gods/goddesses would take pity upon me, I’d be most grateful. Here’s (what I think are) the relevant items:

Additional output available upon request. :wink:

Is the second card even seen by the system (maybe for some reason, openSUSE gives it a different PCI ID?) lspci would tell you if the system is seeing both cards.

Failed card is this one:

02:00.0 VGA compatible controller: nVidia Corporation G98 [GeForce 8400 GS] (rev a1) (prog-if 00 [VGA controller]) [INDENT]Subsystem: Device 196e:05ce
Flags: bus master, fast devsel, latency 0, IRQ 18
Memory at f2000000 (32-bit, non-prefetchable) [size=16]
Memory at d0000000 (64-bit, prefetchable) [size=256]
Memory at f0000000 (64-bit, non-prefetchable) [size=32]
I/O ports at 9000 [size=128]
[virtual] Expansion ROM at f3000000 [disabled] [size=128]
Capabilities: [60] Power Management version 3
Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [78] Express Endpoint, MSI 00
Kernel driver in use: nvidia
[/INDENT]

Working card is this one:

03:00.0 VGA compatible controller: nVidia Corporation G96 [GeForce 9500 GT] (rev a1) (prog-if 00 [VGA controller]) [INDENT]Subsystem: nVidia Corporation Device 0648
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at f8000000 (32-bit, non-prefetchable) [size=16]
Memory at e0000000 (64-bit, prefetchable) [size=256]
Memory at f6000000 (64-bit, non-prefetchable) [size=32]
I/O ports at b000 [size=128]
[virtual] Expansion ROM at f9000000 [disabled] [size=512]
Capabilities: [60] Power Management version 3
Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [78] Express Endpoint, MSI 00
Capabilities: [b4] Vendor Specific Information: Len=14 <?>
Capabilities: [100] Virtual Channel
Capabilities: [128] Power Budgeting <?>
Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
Kernel driver in use: nvidia[/INDENT][/size][/size][/size][/size][/size][/size][/size][/size][/size][/size]

Hmm interesting. What happens if you delete the xorg.conf file, and just let X auto-detect / configure your setup? Does the Xorg.0.log make mention of the second card with no errors?

If the card(s) / screen(s) are all detected, are you able to configure them like you’d want with nvidia-settings (I have NO idea why you need to run nvidia-settings under gdb …)

Still errors, though it only complains once rather than twice: Xorg.0.log (no xorg.conf) - Pastebin.com

Due to the error, I wasn’t expecting nvidia-settings to see the second card, but I tried anyway and continued to not see the second card. (Yes, the use of gdb was still required. My theory is that misbehaving apps run within gdb know that they are being watched and therefore behave.)

BTW, thanks for all your help with this!!

Here’s maybe a clue:

  1. 137.479] (==) Matched nvidia as autoconfigured driver 0
  2. 137.479] (==) Matched nouveau as autoconfigured driver 1

So it looks like the system is using the nvidia driver for one card, and nouveau for the second one. Maybe try blacklisting the nouveau driver (or just deleting it alltogether) and see if that makes any difference?

Perhaps that’s it.

Unfortunately, I didn’t see your response until after I had discovered the existence of the ‘factory’ spins. :slight_smile: So at the moment I’ve got a 2.6.38 kernel installed, but 2.6.37 kernel-devel files installable. And I just don’t feel like reverting to an earlier kernel, etc. So I think I will put this project on hold until the repos catch up and I can build the nvidia drivers. Shouldn’t be too long a wait, eh? And if the weirdness continues, I will then uninstall nouveau.

Thanks again!