# Nvidia Blob + EFI + MacBook Pro 6,2

## Brotzeit

Is this combination even possible? Has somebody got this working?

Using Nouveau, everything works as expected. Sadly the drivers performance is quite bad in some cases, which is the main reason why I'd like to try the proprietary Nvidia driver. But for some reason, I can't get this to work - and this is slowly driving me insane  :Wink: 

- Card: VGA compatible controller [0300]: NVIDIA Corporation GT216 [GeForce GT 330M] [10de:0a29] (rev a2)

- Nvidia driver version: 310.19

- I'm using "EFI-based Framebuffer Support". I can't see any console without this. (I can use them blind, though.)

- When I load the nvidia module, the screen gets black / blank

- When I execute startx then, i get an oops:

```
[   50.106443] nvidia 0000:01:00.0: enabling device (0002 -> 0003)

[   50.106469] vgaarb: device changed decodes: PCI:0000:01:00.0,olddecodes=io+mem,decodes=none:owns=none

[   50.106642] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  310.19  Thu Nov  8 00:52:03 PST 2012

[   50.804629] BUG: unable to handle kernel paging request at 0000000000002658

[   50.804638] IP: [<ffffffffa058b11d>] _nv005740rm+0x54/0xc4 [nvidia]

[   50.804754] PGD 240e19067 PUD 243e5d067 PMD 0 

[   50.804757] Oops: 0000 [#1] SMP 

[   50.804761] CPU 3 

[   50.804762] Modules linked in:

[   50.804764]  nvidia(PO) hfsplus hfs wl(PO) firewire_ohci firewire_core crc_itu_t i2c_i801 apple_gmux coretemp applesmc crc32c_intel usb_storage

[   50.804777] Pid: 2080, comm: nvidia-smi Tainted: P           O 3.5.7-gentoo #6 Apple Inc. MacBookPro6,2/Mac-F22586C8

[   50.804781] RIP: 0010:[<ffffffffa058b11d>]  [<ffffffffa058b11d>] _nv005740rm+0x54/0xc4 [nvidia]

[   50.804879] RSP: 0018:ffff880240fab9e8  EFLAGS: 00010282

[   50.804881] RAX: 0000000000000000 RBX: ffff88023c3ec008 RCX: 0000000000000000

[   50.804884] RDX: 0000000000000000 RSI: 0000000000000014 RDI: 0000000000000000

[   50.804887] RBP: ffff88023c362ef8 R08: 0000000000000002 R09: ffff88024615c448

[   50.804889] R10: ffff880243d70008 R11: 0000000000000510 R12: 0000000000000000

[   50.804891] R13: ffff88024297c008 R14: 0000000000000000 R15: ffff880243cb7808

[   50.804894] FS:  00007f7cee80e700(0000) GS:ffff88024fcc0000(0000) knlGS:0000000000000000

[   50.804897] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b

[   50.804900] CR2: 0000000000002658 CR3: 000000024281e000 CR4: 00000000000007e0

[   50.804903] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000

[   50.804905] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400

[   50.804908] Process nvidia-smi (pid: 2080, threadinfo ffff880240faa000, task ffff880240d4e740)

[   50.804910] Stack:

[   50.804912]  ffff88023e8e6008 ffff88023e8e6008 0000000000000002 ffff88024297c008

[   50.804916]  ffff88023c3ec008 ffffffffa0570e24 ffff88024616e008 ffff88024297c008

[   50.804920]  ffff88023c3ec008 ffff88024297c008 ffff880244b52008 ffffffffa05d0376

[   50.804924] Call Trace:

[   50.805020]  [<ffffffffa0570e24>] ? _nv005800rm+0x7f4/0x934 [nvidia]

[   50.805122]  [<ffffffffa05d0376>] ? _nv006240rm+0xeb/0x2d5 [nvidia]

[   50.805225]  [<ffffffffa063463b>] ? _nv003219rm+0x862a/0xaff3 [nvidia]

[   50.805328]  [<ffffffffa0632fba>] ? _nv003219rm+0x6fa9/0xaff3 [nvidia]

[   50.805367]  [<ffffffffa0312b22>] ? _nv008149rm+0x25/0x40 [nvidia]

[   50.805406]  [<ffffffffa07ee251>] ? _nv012036rm+0x7ce/0x906 [nvidia]

[   50.805443]  [<ffffffffa07ef092>] ? _nv000794rm+0x488/0x75a [nvidia]

[   50.805481]  [<ffffffffa07e936b>] ? rm_init_adapter+0x73/0xf6 [nvidia]

[   50.805517]  [<ffffffffa0807625>] ? nv_kern_open+0x55a/0x70f [nvidia]

[   50.805523]  [<ffffffff810e8be8>] ? mount_fs+0x14e/0x14e

[   50.805527]  [<ffffffff810e9335>] ? chrdev_open+0x120/0x149

[   50.805530]  [<ffffffff810e9215>] ? cdev_put+0x20/0x20

[   50.805534]  [<ffffffff810e4780>] ? do_dentry_open+0x159/0x22b

[   50.805536]  [<ffffffff810e562d>] ? nameidata_to_filp+0x59/0x9e

[   50.805541]  [<ffffffff810f1539>] ? do_last+0x6a3/0x6dd

[   50.805544]  [<ffffffff810f173b>] ? path_openat+0xc7/0x321

[   50.805549]  [<ffffffff81034fa2>] ? capable+0x12/0x14

[   50.805551]  [<ffffffff810f1a7e>] ? do_filp_open+0x33/0x81

[   50.805556]  [<ffffffff810fb038>] ? alloc_fd+0x6d/0xfc

[   50.805558]  [<ffffffff810e56dc>] ? do_sys_open+0x6a/0xfc

[   50.805562]  [<ffffffff810ee2d5>] ? path_put+0x1b/0x20

[   50.805564]  [<ffffffff810e578a>] ? sys_open+0x1c/0x1e

[   50.805569]  [<ffffffff815d4aa2>] ? system_call_fastpath+0x16/0x1b

[   50.805572] Code: e0 05 00 00 00 00 00 00 41 bc 00 00 00 00 eb 18 44 89 e2 48 89 de 4c 89 ef ff 93 60 19 00 00 01 83 e0 05 00 00 41 ff c4 4c 89 f7 <41> ff 96 58 26 00 00 44 39 e0 77 d9 ba 74 06 10 00 be 00 00 00 

[   50.805596] RIP  [<ffffffffa058b11d>] _nv005740rm+0x54/0xc4 [nvidia]

[   50.805693]  RSP <ffff880240fab9e8>

[   50.805694] CR2: 0000000000002658

[   50.805711] ---[ end trace c04ddf41e48b8289 ]---
```

Any help would be appreciated!

----------

## Gusar

The blob doesn't support EFI, you need to boot in BIOS mode (don't ask me how to do that on a Mac  :Smile: ).

----------

## Brotzeit

Hello Gusar, thank you for replying  :Smile:  and confirming my suspicion  :Sad: 

This topic still is very confusing for me, as I have read several posts (in different forums), in which users reported the combination of UEFI + Nvidia blob working for them.

Maybe somebody can provide further information on this?

----------

## srs5694

I don't know about Macs, but I've got the NVIDIA proprietary driver working on one of my UEFI-based PCs that boots in EFI mode. This is under Debian and Ubuntu, not Gentoo. I installed from the package downloaded from the NVIDIA site, not from a distribution-provided package.

----------

## Gusar

That's interesting. The nvidia devs themselves say it's not supported: http://www.nvnews.net/vbulletin/member.php?s=1cad3c52167048ee46ea4305de8ac124&u=566

----------

## korban

I have this working on an imac (13,2) with ubuntu (12.10, nvidia drivers version 304.51) for quiet a while.

All I had to do was using the tool "boot-repair" (https://help.ubuntu.com/community/Boot-Repair) to get over the blank screen issue.

I also tried to get this working on gentoo, using all the grub stuff from the working ubuntu installation (grub64.efi and /boot/grub folder), without success.

Still get the blank screen.

----------

## kernelOfTruth

any progress on this ?

----------

## korban

not really!

the "boot-repair" stoppend working for me, even with ubuntu,

which brought me back to gentoo (YEAH, so much better!)

the good news ist:

I'm using refit by now, which supports PC-Bios mode fine,

including nvidia-drivers AND booting from USB.

(tested on iMac 13,2 and macbook 5,1)

but this could also be the result of a firmware-upgrade on the macs:

nvidia-drivers always worked on the macbook 5,1 in bios-mode (refit) and booting from USB (no black screen)

But it did not work on the imac in the beginning, tried it a year later, working now!

----------

## fumfi

I have found a working solution to boot my Macbook Pro 7.1 (mid-2010) in EFI mode with Nvidia drivers. SERIOUSLY!

Please review my article  including Xorg.0.log and the solution. Enjoy a little taste of AHCI and Powermizer as well as brightness controls...

Feedback appreciated  :Smile: 

best regards,

Andreas

p.s. Sorry for cross-posting to some of the major distribution forums.

----------

