Bug 18638

Summary: nouveau fails on GeForce 9400M
Product: xorg Reporter: William Yerazunis <yerazunis>
Component: Driver/nouveauAssignee: Nouveau Project <nouveau>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: blocker    
Priority: high CC: frederic.riss, johannesobermayr, johannes, mister.wardrop
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
X log of the nouveau fail on
none
Xorg.0.log of
none
X and kernel log
none
Xorg.0.log
none
dmesg none

Description William Yerazunis 2008-11-20 08:35:34 UTC
Created attachment 20470 [details]
X log of the nouveau fail on 

Nouveau fails totally on the new Macbook Unibody (macbook series 5.1).  It
gets only to the point of displaying a movable "X" cursor on a black screen,
then fails and drops back to asking what failsafe mode the user wants.  Simply
commenting out the    Driver "nouveau"    line in xorg.conf clears the problem
immediately (but drops us back to VESA modes).

This happens both on an X server restart and on a cold boot.
X itself is OK; both the VESA and Nvidia proprietary drivers work well 
enough.  The id of the card is (from lspci):
 ...
 02:00.0 VGA compatible controller: nVidia Corporation GeForce 9400M (rev b1)
 ...

The full Xorg.0.log of the failure is attached.  Enjoy.

     Bill Yerazunis
Comment 1 William Yerazunis 2008-11-20 08:39:55 UTC
Comment on attachment 20470 [details]
X log of the nouveau fail on 

Oh- it seems the final error message is "failed to allocate memory for framebuffer".  Which is strange, as the machine has 4 gigs in it and process monitors show only about 500megs total in use including disk buffers.
Comment 2 Maarten Maathuis 2008-11-20 08:43:17 UTC
Part of the problem is that we don't have any microcode copied for your card (type 0xAC). For that you need a mmio-trace and someone bored enough to extract it. I'm curious if your card works with the nv driver (the 0xAA have problems).
Comment 3 William Yerazunis 2008-11-21 06:41:51 UTC
OK, no problem.  I'm willing to do that.

It does "work" to some extent with the proprietary driver (that is, I get nice
video), but I don't get external display output (but have only really tried 
from the GUI tool; I didn't go into the xorg.conf file).

I will be on the IRC channel today; you can guide me through capturing 
whatever info you need.

   - Bill
Comment 4 William Yerazunis 2008-11-21 07:08:42 UTC
Created attachment 20493 [details]
Xorg.0.log of
Comment 5 Johannes Berg 2008-12-23 03:41:59 UTC
Just FYI, since I just tried, the current drm git (b48bd3a036efa3c3aa759759a5be4f80f1c3ac72) and nouveau git (31c9958779d95ae84993f4772607367927a0e313) doesn't work, but for me it just disables the X server and nothing crashes. The kernel also printed some warnings, will attach complete log of both.

Mind you, my memory was fragmented enough yesterday that an order-5 allocation failed, I didn't see a memory allocation failure here though.
Comment 6 Johannes Berg 2008-12-23 03:42:49 UTC
Created attachment 21433 [details]
X and kernel log
Comment 7 Johannes Berg 2008-12-23 03:44:07 UTC
Oh, and regarding the question about nv, it doesn't work. I can provide a log, but I remember that I explicitly needed to enable "vesa" to get output at all.
Comment 8 Maarten Maathuis 2008-12-23 12:50:38 UTC
Your 9400 seems to have the same problem as the 8200/8300, they are a type of onboard chip we are not familiar with. I'm inclined to wait until nv works with them.
Comment 9 Johannes Obermayr 2009-10-15 12:24:41 UTC
I provide a mmiotrace for 9400M and via HDMI->HDMI connected LCD:

http://www.file-upload.net/download-1947951/9400M-HDMI-mmiotrace.tar.gz.html (~ 12 MiB)

I know it is not for a Macbook but it should also help; it could also be helpful for bug #23373...

Because it seems that there are currently problems with this chipset on all systems I am truncating the bug to "nouveau fails on GeForce 9400M" and changing priority to "high"...

If you need more mmiotraces I can provide them also for DVI->HDMI, DVI->VGA and VGA->VGA (via specific cables...).
Comment 10 Matthew 2009-10-20 01:23:43 UTC
Hello all! I have a Macbook 5,1 ; and I would love to see nouveau working on it. I am willing to put some effort into getting an mmiotrace if it will be helpful. Currently when I run: 

echo mmiotrace > /sys/kernel/debug/tracing/current_tracer
bash: echo: write error: Invalid argument

it fails; as you can see. This command is run in a `sudo -s` shell.

Let me know if you can help/if I should persevere.
Comment 11 Pekka Paalanen 2009-10-20 09:12:04 UTC
(In reply to comment #10)
> 
> echo mmiotrace > /sys/kernel/debug/tracing/current_tracer
> bash: echo: write error: Invalid argument

This should mean that mmiotrace support has not been compiled into the kernel. Check that CONFIG_MMIOTRACE is enabled: Kernel hacking -> Tracers [*] -> Memory mapped IO tracing.
Comment 12 Matthew 2009-10-23 17:01:11 UTC
Okay... I have finally had time to compile my own kernel (based upon Ubuntu 2.6.31 configuration). It is the first time I have done so; but all seems to be working well.

I have generated the MMIO trace for just starting X; since this is probably going to be cleaner than starting GDM/GNOME. I did generate that as well, just in case you want it later.

The marker indicating that X has fully loaded (after which I had to switch to a virtual terminal and login; which may cause some extraneous debug output; I do not know) is "X is up".

I will try to attach the 19 MB file below.
Comment 13 Matthew 2009-10-23 17:14:50 UTC
Okay... that was bound to fail.

Please find the trace file at;

http://www.matthewwardrop.co.cc/tracing.txt.tar.bz2

Note: this trace was run on Ubuntu using a custom kernel based on settings from the default 2.6.31-14 kernel in Karmic (i.e. 2.6.31.4). It traces the starting of an empty X session using the proprietary nVidia drivers 185.18.36 as packaged in Ubuntu. The hardware being used is the MacBook 5,1 ; with nVidia 9400m.

I also uploaded the GDM trace:
http://www.matthewwardrop.co.cc/tracing-gdm.txt.tar.bz2
The details are the same as above, but instead of starting an empty session, I started GDM/GNOME with compiz enabled, etc.

I do hope this helps; for I'd love to run nouveau on my MacBook.
Comment 14 Matthew 2009-10-23 17:18:54 UTC
I ought also to add that I had an external monitor plugged into the mini-displayport connector; but that it was disabled.

Kind Regards,
Matthew
Comment 15 Johannes Obermayr 2009-10-26 08:18:05 UTC
Created attachment 30698 [details]
Xorg.0.log

Current Xorg.0.log - git20091024
Comment 16 Johannes Obermayr 2009-10-26 08:18:58 UTC
Created attachment 30699 [details]
dmesg

Current dmesg output - git20091024
Comment 17 Maarten Maathuis 2009-10-26 11:48:13 UTC
According to Ben Skeggs these types of cards, eg the onboard 0xAx cards (8200, 8300, some 9400, g102 iirc) will not run with userspace modesetting mode. Please add modeset=1 to the nouveau module parameters to switch to kernel modesetting.
Comment 18 Johannes Obermayr 2009-10-26 13:35:52 UTC
KMS and X work if I set nouveau.modeset=1 as boot parameter.

dmesg then:
[    0.000000] Unknown boot option `nouveau.modeset=1': ignoring

If I leave it blank or set modeset=1 KMS/X does not work...

On my Laptop with ATI/AMD Radeon 9000 (M9) KMS is working if I set modeset=1, radeon.modeset=1 or leave it blank.

It is stupid and annoying if you do not know this...
Comment 19 Matthew 2009-10-26 15:51:55 UTC
Setting modeset=1 and nouveau.modeset=1 does not help the driver to run properly on MacBook 5,1; although it appeared to detect my external monitor automatically (artifacts displayed on both screens).

=(

Kind Regards,
Matthew
Comment 20 Frederic Riss 2009-11-24 01:25:51 UTC
I just installed Fedora 12 (which uses nouveau and KMS) on my MacBook this week-end and here's the status: the driver seems to basically work, however it's crashes during resume (making it very hard to use on a laptop).

I filed a bug with the resume crash data in Fedora's bugzilla, should I post it here too? Or maybe this bug should be closed as it seems nouveau is working on the 9400M and handle the resume failure in another bug?
Comment 21 Lucas Stach 2011-02-15 01:09:18 UTC
Closing this as fixed, since we have at least one report of nouveau working on this chipset.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.