Contribute
Register

[Guide] Getting Nvidia cards to work on Thinkpad P71

Joined
Oct 10, 2018
Messages
23
Motherboard
Supermicro X11DPH-i
CPU
ES-6149
Graphics
GTX 760
Mac
MacBook Pro
I have only tested this on my Thinkpad P71, but I assume the same could apply to P50/51/52 and P70/71/72.

As most of you are already know, Thinkpad P series can switch between Nvidia Optimus and Discrete GPU only. It opens the possibility to run Nvidia cards on Hackintosh like what we have been able to do for the desktop. There are a few laptops can do this, mainly Alienware/certain Chinese brand. Thinkpad however, uses very customized/proprietary software. It was unsuccessful when I first tried it, getting stuck at IOConsoleUsers: gIOScreenLockState 3, hs 0, bs 0, now 0, sm 0x0. I think there are a few threads here having the same problem. From what I have seen in their boot log, it's the same error when loading vbios. I figure there must be something wrong with the vbios. I try to use vbios from GPUZ and adding vbios rom to clover, but nothing worked. Then I realize the rom I got from GPUZ is incomplete and missing some important infos when I verify it in NVFLASH. Out of desperation, I watched some tutorials and figured out how to extract Vbios from BIOS I downloaded from Lenovo driver page. I manage to get a dump of all the BIOS file and find all the Vbios for different cards. I flash my P4000 with the vbios I got from BIOS and wallah, it worked! *kinda

Sorry about the rant, I'm too excited after spending more than a week working on this stuff and finally getting it to work.

TL;DR:
Thinkpad Nvidia cards have incomplete hardware Vbios causing communication issues with MacOS.
Flashing Nvidia card with complete Vbios from BIOS dump fixes the issue.

Current issue:
Can't use internal display, it shows a black screen after boot. Hardware acceleration functions normally (tested on VNC)
I assume this is an EDID issue, need more research on EDID patching.

Can anyone help me out?

Update:
Change SMBIOS to iMac 14.2 solves black screen issue. HDMI port tested working fine, not sure about sound since my monitor doesn't have speakers. Will have to do more testing on Thunderbolt3 and miniDP connectors, so far looks promising.

04/07
HDMI audio tested working. Unable to output 4k, only 1080p on my LG OLED, will try EDID fix next.
HDMI output on thunderbolt3 port works, have yet to test eGPU and other tb3 exclusive devices.
04/08
P50/51/52 P72 have soldered GPU, with no separated video bios chip. They read directly from BIOS, as a result, they have a completely different set of problems. I don't think my guide will help:(
04/20
Friend tested on his P71 with P5000, confirm working.
05/28
igpu+dgpu tested working, external monitor uses Nvidia card while internal one using igpu. Softwares like Davinci Resolve and Adobe Premiere are able to utilize discrete gpu even without connecting to an external monitor.
Thunderbolt3 hotplug needs fix.
 

Attachments

Last edited:
Joined
Oct 10, 2018
Messages
23
Motherboard
Supermicro X11DPH-i
CPU
ES-6149
Graphics
GTX 760
Mac
MacBook Pro
Joined
Jan 11, 2019
Messages
11
Motherboard
Lenovo ThinkPad P50-Clover
CPU
i7-6700HQ
Graphics
Quadro M1000M
I have only tested this on my Thinkpad P71, but I assume the same could apply to P50/51/52 and P70/71/72.

As most of you are already know, Thinkpad P series can switch between Nvidia Optimus and Discrete GPU only. It opens the possibility to run Nvidia cards on Hackintosh like what we have been able to do for the desktop. There are a few laptops can do this, mainly Alienware/certain Chinese brand. Thinkpad however, uses very customized/proprietary software. It was unsuccessful when I first tried it, getting stuck at IOConsoleUsers: gIOScreenLockState 3, hs 0, bs 0, now 0, sm 0x0. I think there are a few threads here having the same problem. From what I have seen in their boot log, it's the same error when loading vbios. I figure there must be something wrong with the vbios. I try to use vbios from GPUZ and adding vbios rom to clover, but nothing worked. Then I realize the rom I got from GPUZ is incomplete and missing some important infos when I verify it in NVFLASH. Out of desperation, I watched some tutorials and figured out how to extract Vbios from BIOS I downloaded from Lenovo driver page. I manage to get a dump of all the BIOS file and find all the Vbios for different cards. I flash my P4000 with the vbios I got from BIOS and wallah, it worked! *kinda

Sorry about the rant, I'm too excited after spending more than a week working on this stuff and finally getting it to work.

TL;DR:
Thinkpad Nvidia cards have incomplete hardware Vbios causing communication issues with MacOS.
Flashing Nvidia card with complete Vbios from BIOS dump fixes the issue.

Current issue:
Can't use internal display, it shows a black screen after boot. Hardware acceleration functions normally (tested on VNC)
I assume this is an EDID issue, need more research on EDID patching.

Can anyone help me out?

Update:
Change SMBIOS to iMac 14.2 solves black screen issue. HDMI port tested working fine, not sure about sound since my monitor doesn't have speakers. Will have to do more testing on Thunderbolt3 and miniDP connectors, so far looks promising.

04/07
HDMI audio tested working. Unable to output 4k on my LG OLED, will try EDID fix next.
HDMI output on thunderbolt3 port works, have yet to test eGPU and other tb3 exclusive devices.
A full step by step tutorial on the whole process would be welcomed!
 
Joined
Feb 28, 2018
Messages
52
Motherboard
Lenovo Thinkpad L1HF63B00HA
CPU
i7-6700HQ
Graphics
Quadro M1000M, 1920x1080
Awesome. Yeah. A quick rundown on how to get the Vbios to be flashed would be great.

Just because no one wants to brick their GPU.
 
Joined
Feb 28, 2018
Messages
52
Motherboard
Lenovo Thinkpad L1HF63B00HA
CPU
i7-6700HQ
Graphics
Quadro M1000M, 1920x1080
I've managed to grab a ROM of the VBIOS for my P50. Were there any changes needed to get it working with macOS?
 
Joined
Jan 11, 2019
Messages
11
Motherboard
Lenovo ThinkPad P50-Clover
CPU
i7-6700HQ
Graphics
Quadro M1000M
I've managed to grab a ROM of the VBIOS for my P50. Were there any changes needed to get it working with macOS?
Can you post some step by step on this process?
 
Joined
Oct 10, 2018
Messages
23
Motherboard
Supermicro X11DPH-i
CPU
ES-6149
Graphics
GTX 760
Mac
MacBook Pro
From what I gathered online, this won't work with P50/51/52 P72 because they all have soldered GPUs. And like what it said in your linked page, they have no vbios chip so hackintosh has no idea where to read the vbios from. Try load vbios, if that doesn't work, you are out of luck.

If you try to flash vbios with nvflash, you will get an error message saying no EEPROM was found.

I suspect Nvidia mobile cards on hackintosh is only possible when
1. integrated graphics card can be disabled in hardware, meaning the laptop has to have a MUXed design. (which is the case for Thinkpad P series)
2. The nvidia card has MXM or max-Q design where it has its own vbios chip (EEPROM) that are not shared with other devices on board.
 
Last edited:
Joined
Oct 10, 2018
Messages
23
Motherboard
Supermicro X11DPH-i
CPU
ES-6149
Graphics
GTX 760
Mac
MacBook Pro
4k 60hz tested working with thunderbolt adapter. Only 1080p with HDMI port.
 

Attachments

Top