Bug 480393 - Nouveau / nv both fail on NVIDIA GeForce 9400 GT (10de 0641) with two monitors connected
Summary: Nouveau / nv both fail on NVIDIA GeForce 9400 GT (10de 0641) with two monitor...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: xorg-x11-drv-nouveau
Version: 11
Hardware: All
OS: Linux
low
high
Target Milestone: ---
Assignee: Ben Skeggs
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-01-16 20:04 UTC by Adam Williamson
Modified: 2018-04-11 18:38 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-08-04 16:02:54 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Xorg.0.log from 2009/02/13 Rawhide / nouveau attempt (37.58 KB, text/plain)
2009-02-13 22:05 UTC, Adam Williamson
no flags Details
radeontool dump from completely clean boot, init level 3, no module loaded (352.12 KB, text/plain)
2009-02-17 20:00 UTC, Adam Williamson
no flags Details
radeontool dump from completely clean boot, init level 3, after loading 'nvidia' module (352.12 KB, text/plain)
2009-02-17 20:01 UTC, Adam Williamson
no flags Details
radeontool dump from completely clean boot, init level 3, after loading 'nvidia' module then X (352.12 KB, text/plain)
2009-02-17 20:03 UTC, Adam Williamson
no flags Details
radeontool dump from completely clean boot, init level 3, starting X with nvidia then switching to nv (352.12 KB, text/plain)
2009-02-17 20:05 UTC, Adam Williamson
no flags Details
requested file (62.50 KB, text/plain)
2009-05-01 02:07 UTC, Adam Williamson
no flags Details


Links
System ID Private Priority Status Summary Last Updated
FreeDesktop.org 19617 0 None None None Never

Description Adam Williamson 2009-01-16 20:04:03 UTC
Filing this on Rawhide, although it was experienced on 10, because it's really something that should most importantly be fixed for 11 - fixing it for 10 doesn't actually help very much, as the ISOs won't be rebuilt.

I recently built a new system with a GeForce 9400 GT graphics card. PCI ID is 10de:0641 (yes, really, and I know that's not the ID NVIDIA lists in their documentation - they obviously have more than one type of 9400 GT).

The user's impression of the bug is: when you try to install Fedora 10, it doesn't work. The installer starts up and then just hangs at a black screen.

What's happening is it's trying to start X to run the graphical installer, using the native driver - nv . The problem is, it doesn't work. I've confirmed this on the booted system and another distribution. The 'nv' driver just doesn't work with this card - as soon as X starts up, it hangs the system at a black screen (can't even switch to a VT).

To workaround it, you can just boot the installer with the 'vesa' kernel parameter to use the vesa driver instead, and that works fine. But it's probably going to catch people out.

I'm going to file a bug on the problem in nv at freedesktop.org, but unless that gets fixed, this card should be blacklisted not to use the 'nv' driver, so that installation will work by default. I'm assuming that's possible.

For the record, the card works fine with the proprietary driver, at least 177.82 and 180.22.

Comment 1 Adam Williamson 2009-01-16 20:54:14 UTC
Update: this is actually probably just X.org auto-detection, now I look into it some more. X just blindly uses nv for *any* NVIDIA card. From hw/xfree86/common/xf86AutoConfig.c in xorg-server :

	case 0x10de: case 0x12d2:   driverList[0] = "nv";	break;

0x10de is NVIDIA's vendor code. So, there should probably be an exception for this card (and some others that don't work with 'nv'...), if the bug is not fixed in nv itself. I'll try and do a patch.

Comment 2 Adam Williamson 2009-01-16 21:44:00 UTC
I have attached a patch to the fd.o report which causes X.org auto-detection to use vesa rather than nv for a range of devices which have clear fd.o bug reports that they completely and utterly fail to work with the nv driver. It would probably be a good idea to add that patch to Fedora's X server package.

Comment 3 Matěj Cepl 2009-01-20 00:39:59 UTC
Thanks for the bug report.  We have reviewed the information you have provided above, and there is some additional information we require that will be helpful in our diagnosis of this issue.

Please attach your X server config file (/etc/X11/xorg.conf, if available) and X server log file (/var/log/Xorg.*.log) to the bug report as individual uncompressed file attachments using the bugzilla file attachment link below.

Could you try noveau? Does it work for you? Could we get /var/log/Xorg.0.log from this attempt as well, please?

We will review this issue again once you've had a chance to attach this information.

Thanks in advance.

Comment 4 Adam Williamson 2009-01-20 00:55:27 UTC
I don't think nouveau works - I've read a bug report for the other type of 9400 GT (there's two '9400 GT' PCI IDs) where the nouveau folks acknowledged that it doesn't work, and said they were waiting for it to work in nv before looking at it. But I'll double-check later.

There's no xorg.conf in the reported case, it's the installer. I'll have to change some things to test it again in a booted system and see if there's actually a useful Xorg.0.log. It really hangs the system entirely, it is not possible to switch to a console to get the logs. I'll try and do that shortly.

Remember, the point of this issue is not mainly to fix the bug in nv. I've filed a bug on freedesktop.org for that. The point is that the fact that it doesn't work with nv causes the installation to fail, because nv is automatically used for the cards. What I'd recommend is the installer use vesa, not nv, for this and other cards like it which do not work with nv. If the installer just uses X.org auto-detection, that can be accomplished via the patch I attached to http://bugs.freedesktop.org/show_bug.cgi?id=19619 .

Comment 5 Adam Williamson 2009-01-20 00:58:08 UTC
Actually, it might make more sense to re-assign the bug to the X server package.

Comment 6 Matěj Cepl 2009-01-20 16:44:06 UTC
(In reply to comment #5)
> Actually, it might make more sense to re-assign the bug to the X server
> package.

No, it wouldn't -- this is most likely an issue related to the -nv driver (yeah, I know that you claim it is problem with Xserver picking bad driver; bear with me, we need to separate bugs to some reasonable boxes and this seems to be fitting here most).

Could we please get those logs (either /var/log/Xorg.0.log or /var/log/anaconda.xlog for the issues during installation)?

Thank you

Comment 7 Adam Williamson 2009-01-20 16:54:01 UTC
Well, obviously, yes, there's a bug in nv. But the point is that if nv isn't fixed, it shouldn't be used...and I suspect getting nv fixed is not going to be straightforward. See my fd.o bugs; there are eight fd.o bugs on hardware that does not work at all with the nv driver, most of which have been open for several months.

I'll see if I can get some logs.

Comment 8 Adam Williamson 2009-01-24 20:09:08 UTC
Ben is looking into the nv bug. I checked Xorg.0.log: when trying to load X with the nv driver, it's a 0-byte file - it obviously hangs very early in the process, I guess. Same whether booting to init level 5 or booting to init level 3 and doing 'startx'. I try it, it hangs the system, then I reboot to init 3, and /var/log/Xorg.0.log is a 0-byte file with the appropriate timestamp.

Ben's asked me to do an mmio-trace to see how the proprietary driver (which works) initializes the card, I'll try to get around to that.

Comment 9 Adam Williamson 2009-01-24 22:31:56 UTC
The mmiotrace of the proprietary driver starting up, that Ben requested from me
via email, can be found at:

http://www.happyassassin.net/extras/mydump.txt.lzma

I reported results with nouveau to Ben via email, but basically - it doesn't work, but in a different way. :) Attempting to start X with nouveau causes a kernel oops. I took pictures of each page of the oops, those can be found here:

http://www.happyassassin.net/extras/9400gt-nouveau-trace.tar.gz

I sent xorg.conf to Ben via email, but there's nothing particularly interesting in it, it's just the standard one generated by livna-config-display.

I think that satisfies all information requested.

Comment 10 Matěj Cepl 2009-01-26 09:10:16 UTC
(In reply to comment #9)
> I think that satisfies all information requested.

It does, passing to Ben, but please next time, keep all information here so that we have a record.

Comment 11 Adam Williamson 2009-02-13 22:02:24 UTC
With the latest Rawhide kernel (with a claimed fix for NVIDIA 9 series support) and nouveau, it still fails, but in a different way. There's no kernel panic, but - like with nv - the system hangs at a black screen, cannot switch to console or ssh in.

X obviously gets some way into the loading process, as there's a non-zero Xorg.0.log with interesting stuff in it. I'll attach it.

Comment 12 Adam Williamson 2009-02-13 22:03:43 UTC
Could someone change the component to nouveau, btw? Since Ben's preferred angle of attack is to make nouveau work and start using it by default.

Comment 13 Adam Williamson 2009-02-13 22:05:00 UTC
Created attachment 331878 [details]
Xorg.0.log from 2009/02/13 Rawhide / nouveau attempt

Attempt to start X.org with kernel 2.6.29-0.112.rc4.git3.fc11.x86_64 and nouveau 0.0.12-3.20090206git945f0cb.fc11.x86_64 .

Comment 14 Ben Skeggs 2009-02-14 02:47:41 UTC
The GF9 fixes that went into the kernel module fix nouveau's graphics engine setup.  The display engine is hanging here, and I assume is the case in nv too, it's hard to say however since nv isn't overly helpful with saying why it's locked up :)

Is this card one of those cards that nv works on after you've started X at least once with the binary driver after power on?

Comment 15 Adam Williamson 2009-02-15 17:08:19 UTC
Ben: yes, indeed it is.

Comment 16 Ben Skeggs 2009-02-16 08:23:27 UTC
Okay.  It's a little bit of a long shot, but lets give this a try.  There's a modified git tree of airlied's radeontool program at git://anongit.freedesktop.org/~darktama/radeontool (g80-pdisplay branch).

Are you able to build that, and run it (./radeontool regs) to grab some register dumps?

1. after a cold boot, with nv attempting and failing to run on the card
2. while running the binary driver
3. while running nv successfully after the binary driver

Hopefully we'll be able to pinpoint something by comparing those dumps.

Comment 17 Adam Williamson 2009-02-16 15:44:14 UTC
"1. after a cold boot, with nv attempting and failing to run on the card"

This one I can't do, I don't think, as the system crashes as soon as I try to run X in this case. It's not just an X crash, I can't get out with ctrl-alt-F1 or anything. Even the magic keys do nothing. But I can run a trace from a completely cold boot, I guess.

"2. while running the binary driver
3. while running nv successfully after the binary driver"

These ones I'll do ASAP. Thanks.

Comment 18 Ben Skeggs 2009-02-16 21:59:51 UTC
Ah, that's a shame.  Comparing 1 and 3 would be the most useful :)  Not to worry, we'll see what we can do!

Comment 19 Adam Williamson 2009-02-16 22:36:31 UTC
I guess I could see if I can start the trace running and dump the output into some file via tee or something, then try to bring up X, and see if there's anything useful in the file when I reboot after it inevitably hangs...well, I'll play around a bit and see if I can get anything useful. :)

Comment 20 Adam Williamson 2009-02-17 17:47:42 UTC
Very sorry for the spam, this is a quick test comment for a Bugzappers team greasemonkey script (if all goes well, it should appear with a signature). I'm about to do the testing Ben requested.

Comment 21 Adam Williamson 2009-02-17 19:59:39 UTC
OK, some traces. I could not, I'm afraid, manage to get traces from the cases where nv or nouveau fail. The system is too far gone for me to be able to get 'em.

Attachments follow.

-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 22 Adam Williamson 2009-02-17 20:00:34 UTC
Created attachment 332286 [details]
radeontool dump from completely clean boot, init level 3, no module loaded

This is the dump from a completely clean boot to init 3 with no 'nvidia' module loaded.

Comment 23 Adam Williamson 2009-02-17 20:01:44 UTC
Created attachment 332287 [details]
radeontool dump from completely clean boot, init level 3, after loading 'nvidia' module

This is the dump from a completely clean boot, init level 3, after loading the 'nvidia' module but before starting X.

Comment 24 Adam Williamson 2009-02-17 20:03:38 UTC
Created attachment 332289 [details]
radeontool dump from completely clean boot, init level 3, after loading 'nvidia' module then X

This is the dump from a clean boot to init 3, after loading the 'nvidia' module and then starting X with the nvidia driver. X is running successfully at this point.

Comment 25 Adam Williamson 2009-02-17 20:05:38 UTC
Created attachment 332291 [details]
radeontool dump from completely clean boot, init level 3, starting X with nvidia then switching to nv

This is the dump after booting clean to init level 3, starting X with the nvidia driver (successfully), immediately logging out, and then starting X with the nv driver (whereupon it works, as previously described).

Comment 26 Adam Williamson 2009-03-26 17:19:22 UTC
Still the case with the Test Day live CD.

Note that if I boot with nouveau.modeset=1 , modesetting actually works - I get a graphical boot sequence - but the bug still happens; as soon as X kicks in, the system freezes (not at a black screen this time, the graphical boot screen freezes solid).

-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 27 Ben Skeggs 2009-03-26 22:33:22 UTC
Oh, that's interesting to know, I wouldn't have expected kms to be able to program a mode if the 2d driver can't manage!  Can you by any chance ssh in and get /var/log/Xorg.0.log and dmesg output after the freeze?

Comment 28 Adam Williamson 2009-03-27 01:20:38 UTC
As I already said the last two times you asked ;), it's really *frozen*. It's not just X is hung or something - the system is dead. No access.

-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 29 Ben Skeggs 2009-03-27 01:32:03 UTC
Right.  I thought circumstances may have changed, the drm is managing to do a better job than the 2d driver did, so it was worth a try :)

Comment 30 Ben Skeggs 2009-04-30 05:45:28 UTC
Hey Adam, sorry it's been a while without an update.  Can I grab your /var/log/nv*.rom file please :)

Comment 31 Ben Skeggs 2009-04-30 05:46:51 UTC
umm, /var/run/nv*.rom I mean!  If that doesn't exist (nouveau should create it), /var/run/video.rom (nv creates this) will be fine.

Comment 32 Adam Williamson 2009-04-30 23:19:58 UTC
i'll test again with the latest nouveau and nv later today, and give you those files if they show up.

Comment 33 Adam Williamson 2009-05-01 02:04:29 UTC
nv and nouveau both still hang the system on startup.

here's /var/run/nv*.rom (just one file) from starting up nouveau after nvidia has already run (which, as noted earlier, succeeds).

Comment 34 Adam Williamson 2009-05-01 02:07:58 UTC
Created attachment 342032 [details]
requested file

Comment 35 Adam Williamson 2009-05-01 06:09:08 UTC
Some updates from IRC: Ben had the bright idea that this was related to the dual displays.

Indeed, booting with only one display connected (either one) works.

There are two displays, one connected to the VGA output, one to the DVI output (the card has VGA, DVI and S-Video outputs). Both are 20" Acers, slightly different models (VGA is an AL2016W, DVI is an Acer X203W).

Booting with nouveau with either connected alone, works. Then connecting the second display and doing 'xrandr' works in both cases: the second display shows correctly in the xrandr output, though it is not currently activated.

Then doing 'xrandr --auto', the result varies depending on which monitor was connected first. If I connect VGA first, boot, then connect DVI, do 'xrandr' then 'xrandr --auto', the system hangs in a similar way to how it does when booting with both displays connected.

If I connect DVI first, boot, then connect VGA, do 'xrandr' then 'xrandr --auto', it works as expected; I get clone displays, both behaving correctly.

If I *then* use xrandr to try and set the DVI output right-of the VGA output, it succeeds, but VGA starts behaving oddly; the cursor behaves correctly on it, but nothing else is updated, whatever I do that should change what is displayed on VGA, it stays exactly the same as at the point where the xrandr command ran.

http://www.happyassassin.net/extras/Xorg.0.log-nouveau is a log from booting with an experimental nouveau build provided by Ben, with DVI connected. I then connect VGA, run 'xrandr', run 'xrandr --auto', then try to set VGA left-of DVI, at which point it behaves rather oddly, with the cursor only updating for short periods between long periods where it's stuck.

Comment 36 Bug Zapper 2009-06-09 10:45:38 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 11 development cycle.
Changing version to '11'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 37 Ben Skeggs 2009-06-29 09:07:33 UTC
If you grab the kernel build from http://koji.fedoraproject.org/koji/buildinfo?buildID=112059 and add "nouveau.modeset=1 nouveau.uscript=1" to your boot options, this chipset should work now (mine does at least!).

Can you confirm?

Comment 38 Adam Williamson 2009-06-30 09:04:05 UTC
Not until I'm back in Canada (July 14th). If you don't see something around then, give me a ping :). Thanks for your work on this!

Comment 39 Adam Williamson 2009-07-15 16:54:10 UTC
I'm back now, but - the test system is on Rawhide now. I will assume the current Rawhide kernel contains the necessary fixes and test with that in a second. Please let me know if it doesn't :)

-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 40 Adam Williamson 2009-07-15 18:57:09 UTC
fails with current rawhide, I'm afraid.

-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 41 Ben Skeggs 2009-08-04 12:34:05 UTC
From talking on IRC I can CLOSED,RAWHIDE this?

Comment 42 Ben Skeggs 2009-08-04 12:35:09 UTC
Changing component to nouveau, this is CANTFIX for nv.

Comment 43 Adam Williamson 2009-08-04 16:02:54 UTC
yes, it works now, we can close. Works in current Rawhide out of the box (no special kernel parameters required).

-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 44 Adam Williamson 2010-07-13 23:25:28 UTC
James, not sure why you just CCed yourself on this bug, but as noted in my last comment it's been fixed for ages, for me. Still works in current F13 and Rawhide.

Comment 45 James Cassell 2010-07-14 14:17:35 UTC
I CCed myself on the wrong bug and didn't want to make more noise by removing myself... the bug I was experiencing was Bug 532711 which is fixed by the latest (as of yesterday) kernel build in koji


Note You need to log in before you can comment on or make changes to this bug.