Bug 91804 - nouveau kernel drive should not steal fb until after getting vbios
Summary: nouveau kernel drive should not steal fb until after getting vbios
Status: NEW
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/nouveau (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Nouveau Project
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-08-30 06:26 UTC by Jeremy Huddleston Sequoia
Modified: 2015-08-30 06:32 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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).


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.