Bug 23045

Summary: xserver incorrectly selecting -nv for unsupported hardware
Product: xorg Reporter: Bryce Harrington <bryce>
Component: Driver/nVidia (open)Assignee: Aaron Plattner <aplattner>
Status: RESOLVED NOTABUG QA Contact: Xorg Project Team <xorg-team>
Severity: critical    
Priority: high CC: aplattner, jdkatz23, miki
Version: 7.4 (2008.09)   
Hardware: Other   
OS: All   
i915 platform: i915 features:
Description Flags
Failed VESA fallback none

Description Bryce Harrington 2009-07-30 11:55:54 UTC
Forwarding an issue in relation to this Ubuntu bug:

The Studio XPS 1340's graphics cards are NOT supported by NV, however xserver is selecting -nv instead of -vesa for them.

This particular hardware has dual cards.  Previously when we saw this issue in Jaunty we patched xserver to force xserver to select the first pci video device, which worked when we were using the pci.ids approach for detecting hardware.  However, now that we're not using pci.ids files to detect the hardware, this issue has cropped up again.  Apparently it needs solved a different way now.

Beyond just this particular chipset, for this bug report I'd like to focus on the issue of ensuring the xserver falls back to -vesa in cases like this where the chipset is not supported by the regular driver.  This is important in order to ensure a good out-of-the-box experience for users.  A typical use case would be to boot a Ubuntu LiveCD on vesa with hardware unsupported by -nv, then install the distro, and then install -nvidia.

[Original Report]
Testing out the daily image from June 10 2009, the live cd is not booting up to X. It is falling back to failsafe graphics mode.

This is because it's selecting the NV graphics driver rather than VESA. The Studio XPS 1340's graphics cards are NOT supported by NV and are not called out in the PCI ID files in /usr/share/xserver-xorg/pci.

ProblemType: Bug
Architecture: i386
Date: Wed Jun 10 13:27:13 2009
DistroRelease: Ubuntu 9.10
LiveMediaBuild: Ubuntu 9.10 "Karmic Koala" - Alpha i386 (20090609)
NonfreeKernelModules: wl
Package: xserver-xorg-video-nv 1:2.1.13-1ubuntu1
ProcVersionSignature: Ubuntu 2.6.30-8.9-generic
 xserver-xorg 1:7.4~5ubuntu21
 libgl1-mesa-glx 7.4.1-1ubuntu1
 libdrm2 2.4.11-0ubuntu1
 xserver-xorg-video-intel 2:
 xserver-xorg-video-ati 1:6.12.2-2ubuntu1
SourcePackage: xserver-xorg-video-nv
Uname: Linux 2.6.30-8-generic i686
 distro: Ubuntu
 architecture: i686kernel: 2.6.30-8-generic
Comment 1 Bryce Harrington 2009-07-30 11:56:10 UTC
Created attachment 28203 [details]
Comment 2 Aaron Plattner 2009-07-31 01:34:02 UTC
The server does autoselect nv for any device with NVIDIA's vendor IDs.  However, it's also supposed to create screens with vesa and fbdev and fall back to those if the driver's probe routine fails for that device.  I verified that that functionality worked between nvidia and vesa when manually configured in xorg.conf, but it's possible that that logic isn't working for the server's autoconfig for some reason.
Comment 3 Julien Cristau 2009-07-31 01:44:29 UTC
bryce, this should work if you remove xorg.conf.  When xorg.conf is present and doesn't select a driver itself, the server only tries one, and there's no fallback.
Comment 4 Alain Kalker 2009-08-18 00:40:05 UTC
Well, I have a an IGP identified as a GeForce 7050 / nForce 630i but unsupported by -nv, and the VESA fallback doesn't seem to work, even though the log (attached) shows the fallback was tried. No devices were found, and X doesn't start.
Comment 5 Alain Kalker 2009-08-18 00:41:38 UTC
Created attachment 28744 [details]
Failed VESA fallback
Comment 6 Alain Kalker 2009-08-18 00:47:59 UTC
The IGP does work in VESA mode when I force it by creating a minimal xorg.conf specifying 'vesa' as the driver to use.
Comment 7 Aaron Plattner 2011-09-14 14:26:56 UTC
I don't think this was ever actually a bug.  Autoconfig worked, and when you forced the server to try to use a driver that didn't support the hardware, it failed.

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.