nVIDIA 425M (with Optimus) is not detected

Bug #700646 reported by Peter Wu
36
This bug affects 6 people
Affects Status Importance Assigned to Milestone
xserver-xorg-video-nouveau (Ubuntu)
Fix Released
Low
Unassigned

Bug Description

I've recentely purchased a new (custom build) laptop with a nVIDIA GT425M graphics card and i5-460M processor.
This card supports Optimus, which Ubuntu (and Linux) does not support (I can live with that).
But I can't get this GT425M to work, the only gpu being used is the integrated GPU in the i5 processor.

It seems that Ubuntu does not detect the nVIDIA card at all:
$ dmesg|grep -i nouveau
[ 3.468455] nouveau 0000:01:00.0: power state changed by ACPI to D0
[ 4.625468] nouveau 0000:01:00.0: power state changed by ACPI to D0
[ 4.625480] nouveau 0000:01:00.0: enabling device (0104 -> 0107)
[ 4.625487] nouveau 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 4.625491] nouveau 0000:01:00.0: setting latency timer to 64
[ 4.629190] [drm] nouveau 0000:01:00.0: Unsupported chipset 0x0c1800a1
[ 4.629270] nouveau 0000:01:00.0: PCI INT A disabled
[ 4.629275] nouveau: probe of 0000:01:00.0 failed with error -22

$ dmesg|grep 0000:01:00
[ 1.562570] pci 0000:01:00.0: reg 10: [mem 0xfb000000-0xfbffffff]
[ 1.562577] pci 0000:01:00.0: reg 14: [mem 0xf0000000-0xf7ffffff 64bit pref]
[ 1.562585] pci 0000:01:00.0: reg 1c: [mem 0xf8000000-0xf9ffffff 64bit pref]
[ 1.562589] pci 0000:01:00.0: reg 24: [io 0x2000-0x207f]
[ 1.562593] pci 0000:01:00.0: reg 30: [mem 0x00000000-0x0007ffff pref]
[ 1.632909] vgaarb: device added: PCI:0000:01:00.0,decodes=io+mem,owns=none,locks=none
[ 1.691332] pci 0000:01:00.0: BAR 6: can't assign mem pref (size 0x80000)
[ 3.259174] vgaarb: transferring owner from PCI:0000:00:02.0 to PCI:0000:01:00.0
[ 3.468455] nouveau 0000:01:00.0: power state changed by ACPI to D0
[ 4.625468] nouveau 0000:01:00.0: power state changed by ACPI to D0
[ 4.625480] nouveau 0000:01:00.0: enabling device (0104 -> 0107)
[ 4.625487] nouveau 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 4.625491] nouveau 0000:01:00.0: setting latency timer to 64
[ 4.629190] [drm] nouveau 0000:01:00.0: Unsupported chipset 0x0c1800a1
[ 4.629270] nouveau 0000:01:00.0: PCI INT A disabled
[ 4.629275] nouveau: probe of 0000:01:00.0 failed with error -22

# lshw -c video
  *-display UNCLAIMED
       description: VGA compatible controller
       product: nVidia Corporation
       vendor: nVidia Corporation
       physical id: 0
       bus info: pci@0000:01:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress vga_controller cap_list
       configuration: latency=0
       resources: memory:fb000000-fbffffff memory:f0000000-f7ffffff memory:f8000000-f9ffffff ioport:2000(size=128)
  *-display
       description: VGA compatible controller
       product: Core Processor Integrated Graphics Controller
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 02
       width: 64 bits
       clock: 33MHz
       capabilities: msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:45 memory:fd000000-fd3fffff memory:d0000000-dfffffff ioport:1800(size=8)

$ lspci|grep VGA
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 02)
01:00.0 VGA compatible controller: nVidia Corporation Device 0df0 (rev a1)

lspci part about motherboard and BIOS:
     *-firmware
          description: BIOS
          vendor: Phoenix Technologies LTD
          physical id: 0
          version: 6.00 (08/27/2010)
          size: 116KiB
          capacity: 4032KiB
          capabilities: pnp upgrade shadowing escd cdboot bootselect int9keyboard int10video acpi usb agp smartbattery biosbootspecification
     *-board UNCLAIMED
          description: Mother Board
          product: B7130
          vendor: CLEVO CO.
          physical id: 2
          version: Not Applicable
          serial: Not Applicable
          slot: Not Applicable

This machine is based on http://www.clevo.com.tw/en/products/prodinfo_2.asp?productid=300

./test_off.sh from http://linux-hybrid-graphics.blogspot.com/2010/07/using-acpicall-module-to-switch-onoff.html yields "failed" for everything.

The nVIDIA properitary driver was a disaster, it would left me without a X server and after uninstalling it, I had to reinstall libgl1-mesa-glx and run sudo update-initramfs -u. Not sure if it helped, but I removed newer files (touched by nvidia installer) in /lib/modules/$(uname -r) and reinstalled linux-image-$(uname -r) too (which took care of updating initramfs as well)

I've seen this thread as well: http://ubuntuforums.org/showthread.php?t=1657660, so I quited with trying to get the properietary driver to work. The BIOS does not provide me an option for switching/disabling Optimus or video cards (Phoenis SecureCore)

Running Kubuntu 10.10 64bits on a laptop.

Tags: kubuntu
Revision history for this message
Peter Wu (lekensteyn) wrote :
Revision history for this message
Peter Wu (lekensteyn) wrote :
bugbot (bugbot)
tags: added: kubuntu
Revision history for this message
Michał Lech (akseiya) wrote :

[ 11.442992] VGA switcheroo: detected DSM switching method \_SB_.PCI0.P0P2.PEGP handle
[ 11.443025] nouveau 0000:02:00.0: power state changed by ACPI to D0
[ 11.443036] nouveau 0000:02:00.0: power state changed by ACPI to D0
[ 11.443042] nouveau 0000:02:00.0: enabling device (0106 -> 0107)
[ 11.443050] nouveau 0000:02:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 11.443057] nouveau 0000:02:00.0: setting latency timer to 64
[ 11.445975] [drm] nouveau 0000:02:00.0: Unsupported chipset 0x0c1880a1
[ 11.446092] nouveau 0000:02:00.0: PCI INT A disabled
[ 11.446099] nouveau: probe of 0000:02:00.0 failed with error -22
[ 11.467238] i915 0000:00:02.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 11.467244] i915 0000:00:02.0: setting latency timer to 64
[ 11.494808] mtrr: no more MTRRs available
[ 11.494812] [drm] MTRR allocation failed. Graphics performance may suffer.
[ 11.494816] [drm] detected 63M stolen memory, trimming to 32M

This is from Dell XPS 15 L501X. All new XPS machines with Optimus and geForce chips would share this issue.

Revision history for this message
Peter Wu (lekensteyn) wrote :

After further investigation, the root cause is that this GT 425M is not supported by the Nouveau driver, supplied with Ubuntu.

According to the status matrix at http://nouveau.freedesktop.org/wiki/FeatureMatrix (GT425M is part of the NVC0 family), support for it is still incomplete.

Revision history for this message
Rocko (rockorequin) wrote :

My guess is that the problem is much worse than just lack of driver support, because if you can't turn the intel card off via the BIOS, you can't use the nvidia card because the video output is driven by the intel card, meaning it's not as simple as just writing a driver for the nvidia card - you also need to be able to copy the output back to the intel card's framebuffer. (eg look http://ubuntuforums.org/showthread.php?t=1657660.)

The root cause is actually that there is no support for optimus in either the proprietary or open-source drivers, and there is unlikely to be any for some time because (a) nvidia are refusing to support it or to provide information about how to support it, and (b) you simply cannot turn it off unless there is hardware support switchable via the BIOS to do so. It's a complete disaster for nvidia cards in linux.

Timo Aaltonen (tjaalton)
affects: xserver-xorg-video-nv (Ubuntu) → xserver-xorg-video-nouveau (Ubuntu)
Revision history for this message
[mrs_sheep] (mrs-sheep) wrote :

I do have the same combination (i5 + 425M), but on Ubuntu 11.04.
The nVidia-Card is detected and I had the driver installed but "not in use".
Rebooting failed so I disabled the card through failsafeX.
I tried it with vgaswitcheroo but I don't get it to work out...
It's running stable since, but without the extra GPU - any ideas?

kern.log says (anyway if enabled or not):
May 13 16:44:17 mrssheep-MS-1751 kernel: [ 10.285275] nvidia: module license 'NVIDIA' taints kernel.
May 13 16:44:17 mrssheep-MS-1751 kernel: [ 10.285279] Disabling lock debugging due to kernel taint
[...]
May 13 16:44:17 mrssheep-MS-1751 kernel: [ 10.732020] nvidia 0000:01:00.0: power state changed by ACPI to D0
May 13 16:44:17 mrssheep-MS-1751 kernel: [ 10.732024] nvidia 0000:01:00.0: power state changed by ACPI to D0
May 13 16:44:17 mrssheep-MS-1751 kernel: [ 10.732028] nvidia 0000:01:00.0: enabling device (0004 -> 0007)
May 13 16:44:17 mrssheep-MS-1751 kernel: [ 10.732037] nvidia 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
May 13 16:44:17 mrssheep-MS-1751 kernel: [ 10.732045] nvidia 0000:01:00.0: setting latency timer to 64

Revision history for this message
Rocko (rockorequin) wrote :

This will give you nvidia optimus support in Linux: https://github.com/MrMEEE/bumblebee

ie do something like:

mkdir ~/src
cd ~/src
git clone https://github.com/MrMEEE/bumblebee.git
cd bumblebee
sudo ./install.sh

Note that you can uninstall it if you want via the ~/src/bumblebee/install-files/bumblebee-uninstall script.

bumblebee uses the Intel card for normal graphics and VirtualGL to use the nvidia card if you run the application preceding it with optirun64 (or optirun32 for 32 bit applications like wine). It works great on my i7 + 540M!

Revision history for this message
madbiologist (me-again) wrote :

According to the status matrix at http://nouveau.freedesktop.org/wiki/FeatureMatrix the NVC0 support in the Nouveau driver has improved since your post on 20th April 2011. Further to note 9 on that page, the upcoming Linux 3.1 kernel will be able to generate the necessary firmware automatically - a PPA of the first release candidate of this kernel (3.1-rc1) should soon be available at http://kernel.ubuntu.com/~kernel-ppa/mainline/
See http://www.phoronix.com/scan.php?page=news_item&px=OTcxMg for further details.

The proprietary NVIDIA driver has also improved and may be worth another try - the latest stable release is 275.19, available from http://www.nvidia.com/object/linux-display-amd64-275.19-driver.html
It fixes several bugs.

More information about the bumblebee (prime-ng 2.0) for Optimus that Rocko described above can be found at http://www.phoronix.com/scan.php?page=news_item&px=OTQxNg
An alternative approach for some Optimus laptops was also added to the Linux 3.0 kernel which will be used by the upcoming Ubuntu 11.10 "Oneiric Ocelot" - see http://www.phoronix.com/scan.php?page=news_item&px=OTQzMA for further details (this article refers to the 2.6.40 kernel but it was decided to rename this kernel to 3.0).

Ubuntu 11.10 "Oneiric Ocelot" alpha 3 will be released on August 4th 2011 if you want to test it before it's final release on October 13th 2011 - see https://wiki.ubuntu.com/OneiricReleaseSchedule

Revision history for this message
Peter Wu (lekensteyn) wrote :

I can confirm that the nvidia driver works with Bumblebee. Although the nouveau driver supports NVC0, it will not work out-of-the-box with Optimus cards. It may work with Bumblebee though.

The recommended method on installing Bumblebee is:

    sudo add-apt-repository ppa:mj-casalogic/bumblebee
    sudo apt-get update
    sudo apt-get install bumblebee
At the moment, the properietary driver is used, but this may change in the future. In fact, Bumblebee default to using nouveau in OpenSUSE.

Bumblebee's project files can be found at https://github.com/MrMEEE/bumblebee

Revision history for this message
madbiologist (me-again) wrote :

Can you please navigate to /sys/firmware/acpi/tables and run:

grep MXMS *

(note the space before the *) Please let us know whether there is any output or not, and if there is please post the output here.

Revision history for this message
Peter Wu (lekensteyn) wrote :

There is no match. If you're interested, I'm working on an ACPI tables database (mainly for Bumblebee) which will allow users to submit their tables. This does not include dynamic tables though, just the tables retrieved using acpidump.
https://github.com/Bumblebee-Project/acpi-www
Bumblebee itself: https://github.com/Bumblebee-Project/Bumblebee (do not use the one from MrMEEE, that is outdated and very buggy (both in (un)installation and PM)

Revision history for this message
madbiologist (me-again) wrote :

Excellent! You may wish to consider collaborating with Ben Skeggs - see http://lists.freedesktop.org/archives/nouveau/2011-October/009368.html

I presume that where he says "If this isn't present" he means "If this is present".

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in xserver-xorg-video-nouveau (Ubuntu):
status: New → Confirmed
Revision history for this message
Peter Wu (lekensteyn) wrote :

My GT425M now works with nouveau (using the builds from xorg-edgers + kernel 3.2.2+ from source) in combination with Bumblebee: http://bumblebee-project.org/
See also http://askubuntu.com/a/36936/6969

Revision history for this message
madbiologist (me-again) wrote :

PRIME multi-GPU support was added to xserver-xorg-video-nouveau 1.0.2. See http://www.phoronix.com/scan.php?page=news_item&px=MTE4MzA

When using this driver in conjunction with xserver 1.13 it should no longer be necessary to use Bumblebee.

If you need the NVIDIA GPU to scan-out what is being rendered (drawn) by the Intel chip (such as if the machine's only display connector is wired to the NVIDIA GPU), you will also need the reverse PRIME support described at http://www.phoronix.com/scan.php?page=news_item&px=MTI5NDU

See https://launchpad.net/ubuntu/+source/xserver-xorg-video-nouveau for the driver version available in each Ubuntu release.

Revision history for this message
madbiologist (me-again) wrote :

A further patch has been added to the upstream xf86-video-nouveau driver:

author Maarten Lankhorst <email address hidden> 2013-06-10 11:06:35 (GMT)
committer Maarten Lankhorst <email address hidden> 2013-06-10 11:06:38 (GMT)
commit 2e34d11541e1f987c7ca0556592cb16f4d232299

nouveau: enable support for normal optimus configuration

nvd7 has no display engine, only enable sink output capability if there is a crtc.

drmmode doesn't work without crtc's, so prevent crashes by skipping the drmmode code in that case.

Signed-off-by: Maarten Lankhorst <email address hidden>

This patch is available in xf86-video-nouveau 1.0.8, which is currently available in the development version of Ubuntu 13.10 "Saucy Salamander" as xserver-xorg-video-nouveau 1:1.0.8-0ubuntu1

According to bug 1142733 there is a corresponding kernel patch.

Revision history for this message
penalvch (penalvch) wrote :

Lekensteyn, this bug was reported a while ago and there hasn't been any activity in it recently. We were wondering if this is still an issue? If so, could you please test for this with the latest development release of Ubuntu? ISO images are available from http://cdimage.ubuntu.com/daily-live/current/ .

If it remains an issue, could you please run the following command in the development release from a Terminal (Applications->Accessories->Terminal), as it will automatically gather and attach updated debug information to this report:

apport-collect -p xserver-xorg-video-nouveau REPLACE-WITH-BUG-NUMBER

Please note, given that the information from the prior release is already available, doing this on a release prior to the development one would not be helpful.

Thank you for your understanding.

Helpful bug reporting tips:
https://wiki.ubuntu.com/ReportingBugs

Changed in xserver-xorg-video-nouveau (Ubuntu):
importance: Undecided → Low
status: Confirmed → Incomplete
Revision history for this message
Peter Wu (lekensteyn) wrote :

This chip was supported long time ago, I cannot remember which exact version.

Changed in xserver-xorg-video-nouveau (Ubuntu):
status: Incomplete → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

Bug watches keep track of this bug in other bug trackers.