Contribute
Register

Enabling NVIDIA graphics on unsupported SMBIOS

Status
Not open for further replies.
Joined
Jul 23, 2012
Messages
56
Motherboard
Mac OSX Mountain Lion
CPU
Intel Core 2 Quad
Graphics
NVIDIA GT
Mac
  1. MacBook Pro
Classic Mac
  1. 0
Mobile Phone
  1. iOS
Hello everyone,

i'm currently working on my Hackintosh and desperately trying to enable NVIDIA (NVIDIA GeForce GT 540M) support when using a MacBookPro 8,1 SMBIOS. After changing the SMBIOS section in Clover from iMac to MacBookPro (which fits my Intel Core i5 2410m almost perfectly) the screen stays black after the apple logo. I already tried adding the Board-ID (Mac-94245B3640C91C81) to the Info.plist inside AppleGraphicsDevicePolicy.kext which solved the issue for some but the screen stays black. I even tried to connect it to an external Display using a HDMI cable but not even this worked. I believe it's a problem with NVIDIA's Web Drivers but i'm not quite sure.
If it might help i will upload my DSDT:View attachment DSDT.dsl.zip

Thanks very much
 
Hello everyone,

i'm currently working on my Hackintosh and desperately trying to enable NVIDIA (NVIDIA GeForce GT 540M) support when using a MacBookPro 8,1 SMBIOS. After changing the SMBIOS section in Clover from iMac to MacBookPro (which fits my Intel Core i5 2410m almost perfectly) the screen stays black after the apple logo. I already tried adding the Board-ID (Mac-94245B3640C91C81) to the Info.plist inside AppleGraphicsDevicePolicy.kext which solved the issue for some but the screen stays black. I even tried to connect it to an external Display using a HDMI cable but not even this worked. I believe it's a problem with NVIDIA's Web Drivers but i'm not quite sure.
If it might help i will upload my DSDT:View attachment 132104

Thanks very much

What is the output of 'lspci -nn' in Linux Terminal?
 
Code:
ubuntu@ubuntu:~$ lspci -nn
00:00.0 Host bridge [0600]: Intel Corporation 2nd Generation Core Processor Family DRAM Controller [8086:0104] (rev 09)
00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port [8086:0101] (rev 09)
00:16.0 Communication controller [0780]: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 [8086:1c3a] (rev 04)
00:1a.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 [8086:1c2d] (rev 04)
00:1b.0 Audio device [0403]: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller [8086:1c20] (rev 04)
00:1c.0 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 [8086:1c10] (rev b4)
00:1c.1 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 2 [8086:1c12] (rev b4)
00:1c.2 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 3 [8086:1c14] (rev b4)
00:1c.3 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 4 [8086:1c16] (rev b4)
00:1d.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 [8086:1c26] (rev 04)
00:1f.0 ISA bridge [0601]: Intel Corporation HM65 Express Chipset Family LPC Controller [8086:1c49] (rev 04)
00:1f.2 SATA controller [0106]: Intel Corporation 6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller [8086:1c03] (rev 04)
00:1f.3 SMBus [0c05]: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller [8086:1c22] (rev 04)
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF108M [GeForce GT 540M] [10de:0df4] (rev a1)
01:00.1 Audio device [0403]: NVIDIA Corporation GF108 High Definition Audio Controller [10de:0bea] (rev a1)
02:00.0 Network controller [0280]: Qualcomm Atheros AR9285 Wireless Network Adapter (PCI-Express) [168c:002b] (rev 01)
03:00.0 SD Host controller [0805]: Ricoh Co Ltd PCIe SDXC/MMC Host Controller [1180:e823] (rev 09)
03:00.1 System peripheral [0880]: Ricoh Co Ltd Device [1180:e232] (rev 06)
03:00.3 FireWire (IEEE 1394) [0c00]: Ricoh Co Ltd R5C832 PCIe IEEE 1394 Controller [1180:e832] (rev 05)
04:00.0 USB controller [0c03]: NEC Corporation uPD720200 USB 3.0 Host Controller [1033:0194] (rev 04)
05:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 06)
Thanks very much :)
 
Code:
ubuntu@ubuntu:~$ lspci -nn
00:00.0 Host bridge [0600]: Intel Corporation 2nd Generation Core Processor Family DRAM Controller [8086:0104] (rev 09)
00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port [8086:0101] (rev 09)
00:16.0 Communication controller [0780]: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 [8086:1c3a] (rev 04)
00:1a.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 [8086:1c2d] (rev 04)
00:1b.0 Audio device [0403]: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller [8086:1c20] (rev 04)
00:1c.0 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 [8086:1c10] (rev b4)
00:1c.1 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 2 [8086:1c12] (rev b4)
00:1c.2 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 3 [8086:1c14] (rev b4)
00:1c.3 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 4 [8086:1c16] (rev b4)
00:1d.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 [8086:1c26] (rev 04)
00:1f.0 ISA bridge [0601]: Intel Corporation HM65 Express Chipset Family LPC Controller [8086:1c49] (rev 04)
00:1f.2 SATA controller [0106]: Intel Corporation 6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller [8086:1c03] (rev 04)
00:1f.3 SMBus [0c05]: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller [8086:1c22] (rev 04)
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF108M [GeForce GT 540M] [10de:0df4] (rev a1)
01:00.1 Audio device [0403]: NVIDIA Corporation GF108 High Definition Audio Controller [10de:0bea] (rev a1)
02:00.0 Network controller [0280]: Qualcomm Atheros AR9285 Wireless Network Adapter (PCI-Express) [168c:002b] (rev 01)
03:00.0 SD Host controller [0805]: Ricoh Co Ltd PCIe SDXC/MMC Host Controller [1180:e823] (rev 09)
03:00.1 System peripheral [0880]: Ricoh Co Ltd Device [1180:e232] (rev 06)
03:00.3 FireWire (IEEE 1394) [0c00]: Ricoh Co Ltd R5C832 PCIe IEEE 1394 Controller [1180:e832] (rev 05)
04:00.0 USB controller [0c03]: NEC Corporation uPD720200 USB 3.0 Host Controller [1033:0194] (rev 04)
05:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 06)
Thanks very much :)

You may have to inject EDID. As far as modifying the kext, make sure you rebuild cache after making the change.
 
I already tried to get the EDID on Ubuntu with "read-edid" or "parse-edid" but everytime it returned an error... I always rebuild the cache after installing a kext....
 
I already tried to get the EDID on Ubuntu with "read-edid" or "parse-edid" but everytime it returned an error... I always rebuild the cache after installing a kext....

Use MonInfo in Windows to extract EDID. You'll have to search for information on the DSDT patch you need to inject the EDID data.
 
Use MonInfo in Windows to extract EDID. You'll have to search for information on the DSDT patch you need to inject the EDID data.
Great, so i have to reinstall Windows first?

Edit This is what get-edid returned
Code:
ubuntu@ubuntu:~/Desktop/read-edid-3.0.1$ sudo get-edid
This is read-edid version 3.0.1. Prepare for some fun.
Attempting to use i2c interface
Looks like no busses have an EDID. Sorry!
Attempting to use the classical VBE interface

	Performing real mode VBE call
	Interrupt 0x10 ax=0x4f00 bx=0x0 cx=0x0
	Function supported
	Call successful

	VBE version 300
	VBE string at 0x11100 "NVIDIA"

VBE/DDC service about to be called
	Report DDC capabilities

	Performing real mode VBE call
	Interrupt 0x10 ax=0x4f15 bx=0x0 cx=0x0
	Function supported
	Call successful

	Monitor and video card combination does not support DDC1 transfers
	Monitor and video card combination does not support DDC2 transfers
	0 seconds per 128 byte EDID block transfer
	Screen is not blanked during DDC transfer

Reading next EDID block

VBE/DDC service about to be called
	Read EDID

	Performing real mode VBE call
	Interrupt 0x10 ax=0x4f15 bx=0x1 cx=0x0
	Function supported
	Call failed

The EDID data should not be trusted as the VBE call failed
Error: output block unchanged
I'm sorry nothing was successful. Maybe try some other arguments
 
Ok, so I got the EDID from Windows and injected it with Clover's Custom-EDID. OSX accepted it and the new EDID appeared in the IORegistryExplorer. I changed the SMBIOS back to MacBookPro8,1 but the Display remained black. Any ideas?
 
Ok, so I got the EDID from Windows and injected it with Clover's Custom-EDID. OSX accepted it and the new EDID appeared in the IORegistryExplorer. I changed the SMBIOS back to MacBookPro8,1 but the Display remained black. Any ideas?

You need to use an SMBIOS that has nvidia. Either that or you have to patch AppleGraphicsPolicy.kext (or some such).
 
Status
Not open for further replies.
Back
Top