Contribute
Register

<< Solved >> Unable to remove/disable Nvidia graphics card in Big Sur custom built Mac

Status
Not open for further replies.
Joined
Mar 11, 2017
Messages
68
Motherboard
Gigabyte GA-H170M-DS3H
CPU
i7-6700K
Graphics
Intel HD 530
Mobile Phone
  1. Android
Hardware: intel Sandylake i7 4Gz Quad core CPU, Nvidia 1050 Ti 4GB graphics card and Intel HD Graphics 530, 32GB, Gigabyte GA-H170M-DS3H motherboard, ALC887, TL-WD4800 wifi card.

I had built a custom Mac High Sierra on above machine configuration 4 years back and I upgraded to Big Sur yesterday on same machine but with an upgraded Samsung 980 Pro PCIe 2TB M.2 NVMe drive. I followed the OpenCore documentation and used latest OpenCore DEBUG version. Everything is mostly working as intended and I was able to get integrated Intel HD Graphics 530 working. I do not need the Nvidia card anymore but when I tried remove it without any settings changes, Mac will crash during boot right after switching from apple log into login screen (I am able to see login screen for couple of seconds). I then put the Nvidia card back in PCIe slot, made changes to DeviceAttributes in config.plist to disable to graphics card but same crash is observed. All tests are done with HDMI output of mother board (iGPU) I want to sell that graphics card and having it there is just waste anyway. I have attached my Bios settings, EFI folder structure, filter settings used in config.plist. Any help provided will be great.

Some other observations:
1) kextstat shows that some Nvidia kexts loaded (when I am able to login without trying to disable dGPU)
kextstat|grep -i -e "nvidia"
Executing: /usr/bin/kmutil showloaded
No variant specified, falling back to release
112 0 0xffffff7f9b8c7000 0x2000 0x2000 com.apple.nvidia.NVDAStartup (16.0.0) B7E8FE3A-5A44-3EA0-9A3B-345B583BFF31 <14 5 3>
2) NVIDIA PCIe card fan is spinning
3) I had taken a photo of boot process. Attached the same if that helps. Couple of sections are interesting. I don't know what they mean.

Update: Issue was resolved after changing SMBIOS from MacbookPro13,1 to iMac17,1. I also removed PciRoot disabling of graphics and directly remove the dGPU card. Thanks to @Feartech and @macntosh
 

Attachments

  • IMG_20211107_215913.jpg
    IMG_20211107_215913.jpg
    1.6 MB · Views: 175
  • Screen Shot 2021-11-07 at 9.34.35 PM.jpg
    Screen Shot 2021-11-07 at 9.34.35 PM.jpg
    167.4 KB · Views: 193
  • IMG_20211107_215936.jpg
    IMG_20211107_215936.jpg
    1.7 MB · Views: 173
  • IMG_20211109_094503.jpg
    IMG_20211109_094503.jpg
    4.6 MB · Views: 138
Last edited:
Hardware: intel Sandylake i7 4Gz Quad core CPU, Nvidia 1050 Ti 4GB graphics card and Intel HD Graphics 530, 32GB, Gigabyte GA-H170M-DS3H motherboard, ALC887, TL-WD4800 wifi card.

I had built a custom Mac High Sierra on above machine configuration 4 years back and I upgraded to Big Sur yesterday on same machine but with an upgraded Samsung 980 Pro PCIe 2TB M.2 NVMe drive. I followed the OpenCore documentation and used latest OpenCore DEBUG version. Everything is mostly working as intended and I was able to get integrated Intel HD Graphics 530 working. I do not need the Nvidia card anymore but when I tried remove it without any settings changes, Mac will crash during boot right after switching from apple log into login screen (I am able to see login screen for couple of seconds). I then put the Nvidia card back in PCIe slot, made changes to DeviceAttributes in config.plist to disable to graphics card but same crash is observed. I want to sell that graphics card and having it there is just waste anyway. I have attached my Bios settings, EFI folder structure, filter settings used in config.plist. Any help provided will be great.
See what happens if you try AUTO in Display Output (BIOS). Thus set, it should automatically switch to the iGPU when the dGPU is removed. That's the theory, in any case.

Make sure DVMT Pre-Allocated (iGPU Memory) has at least the minimum 64MB (although, that should be the default). It's an unfamiliar board to me, so assuming everything is optimally setup for a Hackintosh, I don't know what else to suggest.

It's always possible you have the wrong device-id referenced in DeviceProperties, in which case, re-reading the appropriate section of the Dortania guide night serve to clarify things.

Good luck.
 
Last edited by a moderator:
Thank you @macntosh. Only options are IGFX, PCIe Slot 1, PCEi Slot 2. I selected IGFX.
 
@macntosh I tried that and it didn't work... it regressed it further. I tried with "-wegnoegpu" as boot args and it also fails it. It almost feels like my settings are somehow making the iGPU to get memory from dGPU (Nvidia). I wonder that because I am getting up to 3840x2160 resolution on Samsung U28E510. Basically, I am questioning the ability of iGPU to do that. Perhaps its possible.

I also noticed that I made a mistake with value of "AAPL,ig-platform-id". I entered "02001619" instead of recommended (by dortania OpenCore Install Guide) "00001219". I think I picked value from https://github.com/acidanthera/WhateverGreen/blob/master/Manual/FAQ.IntelHD.en.md for skylake mobile by mistake and translated that into hex. I might have screwed up here but somehow the resolution was great! I tried fixing this following dortania's manual but I get really poor resolution. Even with this settings if I disable/remove Nvidia card, I see the black screen at login!

I wonder if there is anyway to try hardware acceleration which can be provided only by Nvidia GPU. That will tell me for sure if system is using Nvidia or not.
 
Last edited:
@macntosh I tried that and it didn't work... it regressed it further. I tried with "-wegnoegpu" as boot args and it also fails it. It almost feels like my settings are somehow making the iGPU to get memory from dGPU (Nvidia). I wonder that because I am getting up to 3840x2160 resolution on Samsung U28E510. Basically, I am questioning the ability of iGPU to do that. Perhaps its possible.

I also noticed that I made a mistake with value of "AAPL,ig-platform-id". I entered "02001619" instead of dortania OpenCore Install Guide of "00001219". I think I picked value from https://github.com/acidanthera/WhateverGreen/blob/master/Manual/FAQ.IntelHD.en.md for skylake mobile by mistake and translated that into hex. I might have screwed up here but somehow the resolution was great! I tried fixing this following dortania's manual but I get really poor resolution. Even with this settings if I disable/remove Nvidia card, I see the black screen at login!
It's unlikely that you will have higher resolutions (especially 3849x2160) using an integrated GPU. Those resolutions are generally only achievable with a discrete GPU.

Do you have CSM enabled in BIOS? Why I ask is that some iGPUs may need CSM to be enabled. My RX 580 (dGPU) even requires that. I've lost track of the link that explained why that's the case, but from memory, it may have been NVRAM-related. In any case, it's probably quicker to try it rather than searching for whether it's needed or not.
 
According to the Intel Ark page, the HD530 of your Skylake chip should be capable of 4K output > https://ark.intel.com/content/www/u...i76700-processor-8m-cache-up-to-4-00-ghz.html

The recommended device-id and AAPL,if-platform-id for your Skylake is 12190000 and 00001219 respectively. If you want a working IGPU-only setup you must delete whatever PCIRoot remnant there is of the NVidia DGPU, which includes its HDMI audio output PCIRoot path. Also check the NVRAM section for npci=0x2000 nvda_drv_vrl=1 and remove that. You must also add framebuffer values to the Intel IGPU such as framebuffer-patch-enable, framebuffer-fbmem, framebuffer-stolenmem and framebuffer-fbmem to restore the VRAM.
 
You must also add framebuffer values to the Intel IGPU such as framebuffer-patch-enable, framebuffer-fbmem, framebuffer-stolenmem and framebuffer-fbmem to restore the VRAM.
not needed to add those patches

@PrasadK change DVMT to 128MB
 
Thanks everyone for responses.

@Middleman I had tried some of those already. device-id is optional for HD 530 as I understand from dortania's guide but I put that in as you suggested. framebuffer-fbmem is optional and I had tried that in the past but not this time. I didn't see npci=0x2000 nvda_drv_vrl=1 in NVRAM section - so, nothing to remove. PciRoot with gfxutil shows the output slightly different than dortana's guide. Full list of gfxutil output without -f is attached - perhaps I am missing something.
% mac/gfxutil-1/gfxutil -f GFX0
04:00.0 10de:1c82 /PCI0@0/RP05@1C,4/GFX0@0 = PciRoot(0x0)/Pci(0x1C,0x4)/Pci(0x0,0x0)

Still no luck. black screen right when login window shows up. attached the config.plist screenshot.

@Feartech before disabling the dGPU with PCIe root, I set the "DVTM Pre-Allocated" ("DVTM Total Gfx Men" is set up 256MB) to 128MB and 256MB. Both didn't work.

Some other observations:
1) kextstat shows that some Nvidia kexts loaded (when I am able to login without trying to disable dGPU)
kextstat|grep -i -e "nvidia"
Executing: /usr/bin/kmutil showloaded
No variant specified, falling back to release
112 0 0xffffff7f9b8c7000 0x2000 0x2000 com.apple.nvidia.NVDAStartup (16.0.0) B7E8FE3A-5A44-3EA0-9A3B-345B583BFF31 <14 5 3>
2) NVIDIA PCIe card fan is spinning
3) I had taken a photo of boot process. Attached the same if that helps. Couple of sections are interesting. I don't know what they mean.
 

Attachments

  • Screen Shot 2021-11-09 at 9.39.43 AM.png
    Screen Shot 2021-11-09 at 9.39.43 AM.png
    137.6 KB · Views: 53
  • gfxutil.txt
    1.5 KB · Views: 55
  • IMG_20211109_094503.jpg
    IMG_20211109_094503.jpg
    4.6 MB · Views: 61
Last edited:
Status
Not open for further replies.
Back
Top