Bug 91804

Summary: nouveau kernel drive should not steal fb until after getting vbios
Product: xorg Reporter: Jeremy Huddleston Sequoia <jeremyhu>
Component: Driver/nouveauAssignee: Nouveau Project <nouveau>
Status: RESOLVED MOVED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
See Also: https://bugs.freedesktop.org/show_bug.cgi?id=91779
Whiteboard:
i915 platform: i915 features:

Description Jeremy Huddleston Sequoia 2015-08-30 06:26:02 UTC
Forked from bug #91779.

In some configurations, the fb will transition to nouveaufb, but then it will fail to initialize.  In such cases, it is not possible to then transition back to the previous fb driver.  Various forums suggest that users use nomodeset as a workaround for this issue, which works because nouveaufb will error out before stealing fb if KMS is disabled.

I suggest that the check for valid vbios be moved before fb is transitioned away from the previous driver to allow for a more graceful fallback in instances like this.

Here is the kernel logging that results from 'sudo modprobe nouveau debug=VBIOS=debug' on such a configuration:

Aug 29 23:19:45 wedge kernel: [  294.071101] [drm] Initialized drm 1.1.0 20060810
Aug 29 23:19:45 wedge kernel: [  294.127783] wmi: Mapper loaded
Aug 29 23:19:46 wedge kernel: [  294.190330] checking generic (c0030000 710000) vs hw (c0000000 10000000)
Aug 29 23:19:46 wedge kernel: [  294.190337] fb: conflicting fb hw usage nouveaufb vs EFI VGA - removing generic driver
Aug 29 23:19:46 wedge kernel: [  294.190449] Console: switching to colour dummy device 80x25
Aug 29 23:19:46 wedge kernel: [  294.191803] nouveau 0000:01:00.0: enabling device (0006 -> 0007)
Aug 29 23:19:46 wedge kernel: [  294.192979] [drm] hdmi device  not found 1 0 1
Aug 29 23:19:46 wedge kernel: [  294.193257] nouveau  [  DEVICE][0000:01:00.0] BOOT0  : 0x084700a2
Aug 29 23:19:46 wedge kernel: [  294.193260] nouveau  [  DEVICE][0000:01:00.0] Chipset: G84 (NV84)
Aug 29 23:19:46 wedge kernel: [  294.193262] nouveau  [  DEVICE][0000:01:00.0] Family : NV50
Aug 29 23:19:46 wedge kernel: [  294.196982] nouveau  [   VBIOS][0000:01:00.0] checking PRAMIN for image...
Aug 29 23:19:46 wedge kernel: [  294.196990] nouveau  [   VBIOS][0000:01:00.0] ... signature not found
Aug 29 23:19:46 wedge kernel: [  294.196992] nouveau  [   VBIOS][0000:01:00.0] checking PROM for image...
Aug 29 23:19:46 wedge kernel: [  294.197010] nouveau  [   VBIOS][0000:01:00.0] ... signature not found
Aug 29 23:19:46 wedge kernel: [  294.197012] nouveau  [   VBIOS][0000:01:00.0] checking ACPI for image...
Aug 29 23:19:46 wedge kernel: [  294.197017] nouveau  [   VBIOS][0000:01:00.0] ... signature not found
Aug 29 23:19:46 wedge kernel: [  294.197019] nouveau  [   VBIOS][0000:01:00.0] checking PCIROM for image...
Aug 29 23:19:46 wedge kernel: [  294.197070] nouveau 0000:01:00.0: Invalid ROM contents
Aug 29 23:19:46 wedge kernel: [  294.197084] nouveau  [   VBIOS][0000:01:00.0] ... signature not found
Aug 29 23:19:46 wedge kernel: [  294.197087] nouveau  [   VBIOS][0000:01:00.0] checking PLATFORM for image...
Aug 29 23:19:46 wedge kernel: [  294.197089] nouveau  [   VBIOS][0000:01:00.0] ... signature not found
Aug 29 23:19:46 wedge kernel: [  294.197091] nouveau E[   VBIOS][0000:01:00.0] unable to locate usable image
Aug 29 23:19:46 wedge kernel: [  294.197095] nouveau E[  DEVICE][0000:01:00.0] failed to create 0x10000001, -22
Aug 29 23:19:46 wedge kernel: [  294.197098] nouveau E[     DRM] failed to create 0x80000080, -22
Aug 29 23:19:46 wedge kernel: [  294.197627] nouveau: probe of 0000:01:00.0 failed with error -22

The above was with Ubuntu 14.04.3 (Linux wedge 3.13.0-62-generic #102-Ubuntu SMP Tue Aug 11 14:29:36 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux) but I also see the same issue with Ubuntu 15.10 20150826 snapshot (linux 4.1 based).
Comment 1 Martin Peres 2019-12-04 09:03:32 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/xorg/driver/xf86-video-nouveau/issues/212.

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.