- Joined
- Oct 10, 2018
- Messages
- 32
- Motherboard
- Supermicro X11DPH-i
- CPU
- ES-6149
- Graphics
- GTX 760
- Mac
-
I have only tested this on my Thinkpad P71, but I assume the same could apply to P50/51/52 and P70/71/72.
Only P70/P71
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.
Walk Through Guide
WARNING: this method requires you to flash your graphics card video BIOS. There is a chance of bricking your graphics card in the process if you don't know what you are doing. Proceed with caution.
1. Install Hackintosh like any other laptop
Recommend following this guide provided by RehabMan: https://www.tonymacx86.com/threads/guide-booting-the-os-x-installer-on-laptops-with-clover.148093/
2. Flash your Video BIOS in Windows on a different drive
Download Nvflash here:https://www.techpowerup.com/download/nvidia-nvflash/
Go to the directory where you download the software, move the folder to desktop for easier access.
Download vbios.zip in the attachment
Find the vbios of the same model of graphics card you have and move it to nvflash folder
Right click nvflash64 Run as Admin if you are on 64bit system or nvflash if are still using 32. Seriously who use 32bit system these days.
Type in nvflash --save whateveryoulike.rom
Hit Enter
This saves your current vbios in case of bricking
Once it's done
Type in nvflash thenameofvbioswhatwanttoreplacewith.rom (copy paste the name of the vbios you just downloaded, make sure it's the GPU model you currently have)
Hit Enter
3. Replace EFI folder
Download EFI.zip in the attachment. Only compatible with P71, if you are using P70 you might need to make some changes and that requires experience.
Reboot your system into macos with flag nv_disable=1
Make sure you have ethernet connection and cable with you
Mount EFI using Clover Configurator
Replace the EFI folder you currently have with the ones you downloaded.
You will have two options:
(1) The folder named EFI is the one I'm currently using, which is what I recommend for most use cases.
The internal screen uses Intel integrated graphics, while any external monitors connected through HDMI or DP uses Nvidia graphics card. This allows you to have maximum battery life while having the flexibility to have more horsepower when you need it.
Some software can still utilize discreet GPU even without an external monitor connected. For example, Adobe Premiere and Davinci Resolve (the software I use) can still utilize Nvidia GPU to accelerate video encoding/decoding.
(2) The folder named EFI_1 is there in case you only want to use Nvidia GPU and nothing else.
In order to use EFI_1, you will have to turn off IGPU inside Graphics settings in BIOS.
Rename EFI_1 to EFI if you want to use it.
If you find yourself in a situation where you don't have access to an external monitor and still need the GPU horsepower, then this option makes sense for you. Obviously, this comes with some downsides, mainly worse battery life, and no brightness control for internal display.
4. Download and install Nvidia web driver
The best and easiest way to install Nvidia web driver is to use a script, which you can find it here:
github.com
Credit: Benjamin-Dobell
5. All done, enjoy your Hackintosh experience
One more thing, you will need a Hackintosh compatible Wifi card in order to use wifi or Bluetooth.
DW1560 or DW1830 for example.
Only P70/P71
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.
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.
Walk Through Guide
WARNING: this method requires you to flash your graphics card video BIOS. There is a chance of bricking your graphics card in the process if you don't know what you are doing. Proceed with caution.
1. Install Hackintosh like any other laptop
Recommend following this guide provided by RehabMan: https://www.tonymacx86.com/threads/guide-booting-the-os-x-installer-on-laptops-with-clover.148093/
2. Flash your Video BIOS in Windows on a different drive
Download Nvflash here:https://www.techpowerup.com/download/nvidia-nvflash/
Go to the directory where you download the software, move the folder to desktop for easier access.
Download vbios.zip in the attachment
Find the vbios of the same model of graphics card you have and move it to nvflash folder
Right click nvflash64 Run as Admin if you are on 64bit system or nvflash if are still using 32. Seriously who use 32bit system these days.
Type in nvflash --save whateveryoulike.rom
Hit Enter
This saves your current vbios in case of bricking
Once it's done
Type in nvflash thenameofvbioswhatwanttoreplacewith.rom (copy paste the name of the vbios you just downloaded, make sure it's the GPU model you currently have)
Hit Enter
3. Replace EFI folder
Download EFI.zip in the attachment. Only compatible with P71, if you are using P70 you might need to make some changes and that requires experience.
Reboot your system into macos with flag nv_disable=1
Make sure you have ethernet connection and cable with you
Mount EFI using Clover Configurator
Replace the EFI folder you currently have with the ones you downloaded.
You will have two options:
(1) The folder named EFI is the one I'm currently using, which is what I recommend for most use cases.
The internal screen uses Intel integrated graphics, while any external monitors connected through HDMI or DP uses Nvidia graphics card. This allows you to have maximum battery life while having the flexibility to have more horsepower when you need it.
Some software can still utilize discreet GPU even without an external monitor connected. For example, Adobe Premiere and Davinci Resolve (the software I use) can still utilize Nvidia GPU to accelerate video encoding/decoding.
(2) The folder named EFI_1 is there in case you only want to use Nvidia GPU and nothing else.
In order to use EFI_1, you will have to turn off IGPU inside Graphics settings in BIOS.
Rename EFI_1 to EFI if you want to use it.
If you find yourself in a situation where you don't have access to an external monitor and still need the GPU horsepower, then this option makes sense for you. Obviously, this comes with some downsides, mainly worse battery life, and no brightness control for internal display.
4. Download and install Nvidia web driver
The best and easiest way to install Nvidia web driver is to use a script, which you can find it here:
GitHub - Benjamin-Dobell/nvidia-update: Install nVidia drivers on macOS the easy way.
Install nVidia drivers on macOS the easy way. Contribute to Benjamin-Dobell/nvidia-update development by creating an account on GitHub.
5. All done, enjoy your Hackintosh experience
One more thing, you will need a Hackintosh compatible Wifi card in order to use wifi or Bluetooth.
DW1560 or DW1830 for example.
Attachments
Last edited: