<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Pure EFI: MacBookPro3,1 (NV84) fails to load nouveau on linux 4.1 -- Invalid ROM contents"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=91779#c13">Comment # 13</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Pure EFI: MacBookPro3,1 (NV84) fails to load nouveau on linux 4.1 -- Invalid ROM contents"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=91779">bug 91779</a>
              from <span class="vcard"><a class="email" href="mailto:jeremyhu@freedesktop.org" title="Jeremy Huddleston Sequoia <jeremyhu@freedesktop.org>"> <span class="fn">Jeremy Huddleston Sequoia</span></a>
</span></b>
        <pre>After upgrading to Ubuntu 16.04.1, something seems off, and I'm having trouble
locking it down.  I'm still using the exact same kernel that I was before the
upgrade (4.4.6), and I've got the firmware in /lib/firmware/vbios.rom with the
following module options set in /etc/modprobe/nouveau.conf:

    options nouveau config=NvBios=vbios.rom,NvForcePost=1 debug=VBIOS=debug

When nouveau loads in pure EFI mode, it logs the following:

[    1.948618] fb: switching to nouveaufb from EFI VGA
[    1.953188] nouveau 0000:01:00.0: enabling device (0002 -> 0003)
[    1.953230] nouveau 0000:01:00.0: NVIDIA G84 (084700a2)
[    1.953353] nouveau 0000:01:00.0: Direct firmware load for vbios.rom failed
with error -2
[    1.953362] nouveau 0000:01:00.0: Falling back to user helper
[   61.952174] nouveau 0000:01:00.0: bios: vbios.rom invalid
[   61.953062] nouveau 0000:01:00.0: Invalid ROM contents
[   61.953079] nouveau 0000:01:00.0: bios: unable to locate usable image
[   61.953087] nouveau 0000:01:00.0: bios ctor failed, -22
[   61.953097] nouveau: probe of 0000:01:00.0 failed with error -22

When nouveau loads in BIOS emulation mode, it logs the following:

[    1.797074] nouveau 0000:01:00.0: NVIDIA G84 (084700a2)
[    1.797257] nouveau 0000:01:00.0: Direct firmware load for vbios.rom failed
with error -2
[    1.797342] nouveau 0000:01:00.0: Falling back to user helper
[   61.796123] nouveau 0000:01:00.0: bios: vbios.rom invalid
[   61.813299] nouveau 0000:01:00.0: bios: version 60.84.49.03.00
[   61.875766] nouveau 0000:01:00.0: fb: 128 MiB GDDR3
[   61.926834] nouveau 0000:01:00.0: DRM: VRAM: 128 MiB
[   61.926922] nouveau 0000:01:00.0: DRM: GART: 1048576 MiB
[   61.927012] nouveau 0000:01:00.0: DRM: TMDS table version 2.0
[   61.927101] nouveau 0000:01:00.0: DRM: DCB version 4.0
[   61.927189] nouveau 0000:01:00.0: DRM: DCB outp 00: 01000123 00010034
[   61.927279] nouveau 0000:01:00.0: DRM: DCB outp 01: 02011210 00000028
[   61.927369] nouveau 0000:01:00.0: DRM: DCB outp 02: 02011212 00010030
[   61.927459] nouveau 0000:01:00.0: DRM: DCB outp 03: 01011211 0080c070
[   61.927547] nouveau 0000:01:00.0: DRM: DCB conn 00: 0040
[   61.927636] nouveau 0000:01:00.0: DRM: DCB conn 01: 1120
[   61.936343] nouveau 0000:01:00.0: DRM: unknown connector type 20
[   61.936495] nouveau 0000:01:00.0: DRM: failed to create encoder 0/1/0: -19
[   61.953987] nouveau 0000:01:00.0: DRM: MM: using CRYPT for buffer copies
[   62.001097] nouveau 0000:01:00.0: DRM: allocated 1440x900 fb: 0x50000, bo
ffff880036c5a800
[   62.001309] fbcon: nouveaufb (fb0) is primary device
[   62.091280] nouveau 0000:01:00.0: fb0: nouveaufb frame buffer device
[   62.096133] [drm] Initialized nouveau 1.3.1 20120801 for 0000:01:00.0 on
minor 0

As you can see, the loading of /lib/firmware/vbios.rom fails with ENOENT, but
it's certainly there.  I verified that /lib/firmware/vbios.rom is exactly the
same as /sys/kernel/debug/dri/0/vbios.rom in BIOS-emulation mode.

Odd... gonna have to dig into it a bit more later, but if you have any ideas,
I'd appreciate them.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>