NVIDIA GraphicCard Device Properties - ruwalln/KnowledgeBase GitHub Wiki
NVIDIA Quadro FX 4800
HowTo create Device Properties List for OpenCore
For example NVIDIA GraphicCards has been dropped from macOS since 12.+ Monterey. A bunch of prerequisite has to be fullfilled before NV graphicards can be used.
With legacy Nvidia GPUs, macOS has difficulties enabling acceleration due to many missing properties. To work around this, we can inject properties into IOService for macOS to easily interpret. In Opencore you can easily inject "Device Properties" using OpenCore Configurator or PropperTree.
Prerequisites :
- You have installed a running version of macOS <= 11.+
- Your GPU chip is either Fermi or older
- Kepler and newer do not need Device Property injection
- Info: please check your GPU chip here TechPowerUp Website
- You have to load .kext Lilu and WhatEverGreen Kernel Extensions.
- To check this please use the following shell command by open a "CommandShellWindow". So make sure both are loaded in your EFI configuration.
kextstat | grep -E "Lilu|WhateverGreen"
- BootArgs for NVIDIA graphics adapter and how to use this inside Opencores EFI configuration.
- If you get a blackscreen situation you can disable NVIDIA adapters using :
nv_disable=1
-
Please note for NVIDIA webdriver usage nvda_drv=31 is obsolete. To use NVIDIA webdriver package please use the following NVRAM variable. You need to add NVRAM parameter to Opencore EFI config to enable the web drivers under: NVRAM/Add/7C436110-AB2A-4BBB-A880-FE41995C9F82.
Parameter Name Type Value nvda_drv Data 31
The usage of the NVCAP Property
-
Description of NVIDIA NVCAP Bit Positions 01-20.
Byte Property Description 01 NVCAP Version 04 for 7 series and older, 05 for 8 series and newer 02 Laptop with Lid 01 for true, 00 otherwise 03 Composite 01 for S-Video, 00 otherwise 04 Backlight 01 for Tesla V1 with Backlight, otherwise 00 for newer GPUs regardless of screen type 05+06 TVDCBMask 00 00, relates to DCB entry 5 07+08 Head0DCBMask 00 00, see below 09+10 Head1DCBMask 00 00, see below 11+12 Head2DCBMask 00 00, non-applicable for Fermi and older 13+14 Head3DCBMask 00 00, non-applicable for Fermi and older 15. ScriptBasedPowerAndBacklight 00, only relevant for genuine MacBook Pros 16 Unknown 0F for 300 series and newer, otherwise 07 17 EDID 00 18 Reserved 00 19 Reserved 00 20 Reserved 00 -
Here're the ready to use Device Properties for a (Legacy) NVIDIA Quadro FX 4800 graphics adapter.
Parameter Name Type Value model String Quadro FX 4800 Mac device_type String NVDA,Parent VRAM,totalsize Data 0000006000000000 rom-revision String V7.01 NVCAP Data 05000100 00000300 3c000000 0000000f 00000000 @0,compatible String NVDA,NVMac @0,device_type String display @0,name String NVDA,Display-A @1,compatible String NVDA,NVMac @1,device_type String display @1,name String NVDA,Display-B -
HowTo calculate the total size of graphiccard RAM (please open a ShellCommandWindow)
echo '(1024+512) * 1024 * 1024' | bc
- total result = 1610612736
echo 'obase=16; ibase=10; 1610612736' | bc
- total Size of VRAM = 60000000
- VRAM,totalsize calculation -> 0000006000000000
-
for more Information please visit HowTo NVIDIA patching
NVCAP total displayed Informations TV mask: 0x0 Head 0 mask: 0x3 Head 1 mask: 0x3c NVCAP: (20 Bytes value) 05 00 01 00 00 00 03 00 3c 00 00 00 00 00 00 0f 00 00 00 00