From mboxrd@z Thu Jan 1 00:00:00 1970
From: bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ@public.gmane.org
Subject: [Bug 91804] New: nouveau kernel drive should not steal fb
until after getting vbios
Date: Sun, 30 Aug 2015 06:26:02 +0000
Message-ID:
Bug ID
91804
Summary
nouveau kernel drive should not steal fb until after getting vbios
Product
xorg
Version
unspecified
Hardware
Other
OS
All
Status
NEW
Severity
normal
Priority
medium
Component
Driver/nouveau
Assignee
nouveau@lists.freedesktop.org
Reporter
jeremyhu@freedesktop.org
QA Contact
xorg-team@lists.x.org
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).