After following the guide I found here I found that although my hardware is the same as its author I could not reproduce the same results. After creating the GRUB script to register the PCI registers during boot, making the file executable, and updating the GRUB config files (i.e., after following Step 3) I enter:
sudo setpci -s "00:17.0" 3e.b
According to step 4 it outputs 00
instead of the expected 08
However, when I enter
sudo setpci -s "04:00.0" 04.b
it returns the expected value of 07
as is found in the guide.
What else should I do to ensure I can utilize the nVidia drivers on my setup?
I don't completely understand the guide, but have the same hardware and followed the same instructions.
I have a dual-boot MacBook Pro (7,1) with OS X and Ubuntu 16.04 LTS.
rEFInd (version 0.10.3-1) is my boot loader.
==EDIT==
After inputing
dmesg | grep -i efi
I get the following:
[ 0.000000] Command line: \boot\vmlinuz-4.4.0-22-generic.efi.signed ro root=UUID=d5117e29-6aa7-46cb-ab22-616c19309a3c initrd=boot\initrd.img-4.4.0-22-generic
[ 0.000000] efi: EFI v1.10 by Apple
[ 0.000000] efi: ACPI=0xbf96a000 ACPI 2.0=0xbf96a014 SMBIOS=0xbf71a000
[ 0.000000] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645519600211568 ns
[ 0.000000] Kernel command line: \boot\vmlinuz-4.4.0-22-generic.efi.signed ro root=UUID=d5117e29-6aa7-46cb-ab22-616c19309a3c initrd=boot\initrd.img-4.4.0-22-generic
[ 0.953332] efifb: probing for efifb
[ 0.953363] efifb: framebuffer at 0xc0010000, mapped to 0xffffc90002800000, using 6400k, total 6400k
[ 0.953370] efifb: mode is 1280x800x32, linelength=8192, pages=1
[ 0.953374] efifb: scrolling: redraw
[ 0.953378] efifb: Truecolor: size=8:8:8:8, shift=24:16:8:0
[ 0.961402] fb0: EFI VGA frame buffer device
[ 2.227701] EFI Variables Facility v0.08 2004-May-17
[ 2.853971] [Firmware Bug]: ACPI(IGPU) defines _DOD but not _DOS
[ 2.952253] fb: switching to nouveaufb from EFI VGA
These are more of my outputs when following said guide.
2. Find the right PCI-E bus identifiers
sudo lshw -businfo -class bridge -class display
Bus info Device Class Description ======================================================== pci@0000:00:00.0 bridge MCP89 HOST Bridge pci@0000:00:03.0 bridge MCP89 LPC Bridge pci@0000:00:0e.0 bridge NVIDIA Corporation pci@0000:00:15.0 bridge NVIDIA Corporation pci@0000:00:16.0 bridge NVIDIA Corporation pci@0000:00:17.0 bridge MCP89 PCI Express Bridge pci@0000:04:00.0 display MCP89 [GeForce 320M]
3. Create a GRUB script for setting the PCI-E registers during boot
sudo nano /etc/grub.d/01_enable_vga.conf
Then enter the following:
cat << EOF
setpci -s "00:17.0" 3e.b=8
setpci -s "04:00.0" 04.b=7
EOF
Ctrl + X
Y for Yes to save config file.
Then run
sudo chmod 755 /etc/grub.d/01_enable_vga.conf
sudo update-grub
Both of those commands execute fine.
4. Reboot and check
Upon rebooting I run:
sudo setpci -s "00:17.0" 3e.b
And get 00
instead of the expected 08
.
I also run:
sudo setpci -s "04:00.0" 04.b
which returns the expected 07
, just like the guide.
Let me know if I can provide more details to help me solve this issue.
==UPDATE==
I had previously (i.e., before attempting to follow the guide) deleted the "ubuntu" folder (and therefore it's corresponding grub settings) that is installed on the EFI partition while installing Ubuntu in order to get rEFInd to show up on start-up. I had thought that the two were competing since back then I would start the MacBook and it would automatically boot into Ubuntu without showing the rEFInd menu.
After uninstalling rEFInd, reinstalling Ubuntu, and setting the Grub menu as shown here I ran the steps in the Nvidia Driver guide. I got the correct output this time.
However, now when selecting the "NVIDIA legacy binary driver version 304.131 from nvidia-304 (proprietary)" from the GUI 'Additional Drivers' menu and applying changes it doesn't switch the selection out of the Nouveau setting.
Thinking it was a GUI glitch, I wait a while then rebooted anyway, but no dice -- the Nouveau driver is still used after start-up.
I'm wanting to be cautious in proceeding so what command lines should I input from here?
(Note: An additional frustration is that after this reinstallation process my WiFi is now not working properly despite proper drivers being used. This was not an issue before, but I'll deal with that after I can resolve the Nvidia drivers. Perhaps the wifi woes for 16.04 and Broadcom 432b are related to something with the boot loaders as well?)
Thanks for the help thus far.
sudo apt-get remove --purge nvidia-*
and thensudo reboot
. After rebooting, it defaults back to the nouveau driver which allows me to access the system again. What I don't understand is: 1) Why do I get00
as output rather than08
? 2) What role dose grub play if I am using rEFInd? 3) What commands would help me diagnose / resolve this issue?