Skip to content

Latest commit

 

History

History
89 lines (76 loc) · 35.4 KB

File metadata and controls

89 lines (76 loc) · 35.4 KB

Graphics patch explained for dummies:

As per WhateverGreen states, the kext can apply various patches for different GPUs.

In my case I had to patch the iGPU (Intel UHD Graphics 620) to correctly recognize the HDMI connector my laptop comes with.

<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
			<dict>
				<key>AAPL,ig-platform-id</key>
				<data>AADAhw==</data>
				<key>backlight-smoother-interval</key>
				<data>BwAAAA==</data>
				<key>backlight-smoother-steps</key>
				<data>IwAAAA==</data>
				<key>backlight-smoother-threshold</key>
				<data>LAEAAA==</data>
				<key>device-id</key>
				<data>FlkAAA==</data>
				<key>enable-backlight-smoother</key>
				<data>AQAAAA==</data>
				<key>framebuffer-con0-alldata</key>
				<data>AAAIAAIAAACYAAAA</data>
				<key>framebuffer-con0-enable</key>
				<data>AQAAAA==</data>
				<key>framebuffer-con1-alldata</key>
				<data>AQUJAAAIAACHAQAA</data>
				<key>framebuffer-con1-enable</key>
				<data>AQAAAA==</data>
				<key>framebuffer-con2-alldata</key>
				<data>AgQKAAAEAACHAQAA</data>
				<key>framebuffer-con2-enable</key>
				<data>AQAAAA==</data>
				<key>framebuffer-patch-enable</key>
				<data>AQAAAA==</data>
				<key>model</key>
				<string>Intel UHD Graphics 620</string>
			</dict>

Below a simple (I hope) explanation of the graphics patch. For more infos check out the documentation from WhateverGreen and Dortania's OpenCore Post Install guide for BusID patching

Key Type Value (BASE-64) Value (plain) Description
AAPL,ig-platform-id Data AADAhw== 0000C087 Sets correct framebuffer for Kaby Lake-R's UHD 620
backlight-smoother-interval Data BwAAAA== 07000000 Backlight smoother interval for LVDS display
backlight-smoother-steps Data IwAAAA== 23000000 Backlight smoother steps for LVDS display
backlight-smoother-threshold Data LAEAAA== 2C010000 Backlight smoother tresholds for LVDS display
device-id Data FlkAAA== 16590000 Custom device id for Kaby Lake-R's UHD 620 as Dortania's OpenCore Install Guide for Kaby Lake laptop states
enable-backlight-smoother Data AQAAAA== 01000000 Enable the backlight smoother for LVDS display
framebuffer-con0-alldata Data AAAIAAIAAACYAAAA 00000800 02000000 98000000 Default connector patch for LVDS display: Bus ID 00, Pipe number 08, Connector type 02000000 for LVDS display, default flags (idk wtf they actually mean tbf)
framebuffer-con0-enable Data AQAAAA== 01000000 Enables WhateverGreen patching for connector #0 (LVDS display)
framebuffer-con1-alldata Data AQUJAAAIAACHAQAA 01050900 00080000 87010000 Default connector patch for HDMI connector: Bus ID 05, Pipe number 09, Connector type 0008000 for HDMI connector, default flags (idk wtf they actually mean tbf)
framebuffer-con1-enable Data AQAAAA== 01000000 Enables WhateverGreen patching for connector #1 (HDMI connector)
framebuffer-con2-alldata Data AgQKAAAEAACHAQAA 02040A00 00040000 87010000 Default connector patch for USB-C DP connector: Bus ID 04, Pipe number 0A (10 in dec), Connector type 0004000 for DP connector, default flags (idk wtf they actually mean tbf)
framebuffer-con2-enable Data AQAAAA== 01000000 Enables WhateverGreen patching for connector #2 (theoretically USB-C DisplayPort but never tested to be fair)
framebuffer-patch-enable Data AQAAAA== 01000000 Enables WhateverGreen patching
model String Intel UHD Graphics 620 Custom name for the iGPU device. Can be anything to be fair

Hardware Acceleration

According to Intel Quick Sync Video Wikipedia article, my CPU supports both encoding and decoding in AVC (L5.1) (aka H.264) as well as both encoding and decoding in HEVC up to HEVC (10-bit).

For better readability I created a markdown table of the Wikipedia article table:

[Cantiga](https://en.wikipedia.org/wiki/Centrino#Montevina_platform_(2008) Clarkdale/Arrandale Sandy Bridge Ivy Bridge/Haswell Broadwell Braswell/Cherry Trail Skylake Apollo Lake Kaby Lake/Coffee Lake/Comet Lake/Whiskey Lake Gemini Lake Ice Lake/Jasper Lake Tiger Lake Rocket Lake/Alder Lake/Raptor Lake Arc Alchemist/Meteor Lake/Arrow Lake
MPEG-2 ⚠️ Decode only ⚠️ Decode only ⚠️ Decode only
AVC ⚠️ Decode only ✅ (L5.2/L5.1) ✅ (L5.1) ✅ (L5.2) ✅ (L5.1) ✅ (L5.2) ✅ (L5.2/L5.1)
VC-1 ⚠️ Decode only ⚠️ Decode only ⚠️ Decode only ⚠️ Decode only ⚠️ Decode only ⚠️ Decode only ⚠️ Decode only ⚠️ Decode only ⚠️ Decode only ⚠️ Decode only ⚠️ Decode only ⚠️ Decode only
JPEG ⚠️ Decode only ⚠️ Decode only
VP8 ⚠️ Decode only ⚠️ Decode only
HEVC ⚠️ Decode only (L5) ✅ (L5.1) ✅ (L5.1/L5) ✅ (L5.1) ✅ (L5.1/L5) ✅ (L5.1)
HEVC 10-bit ⚠️ Decode only (8K)
HEVC 12-bit ⚠️ Decode and Encode (only 4:2:0 encode) ⚠️ Decode and Encode (only 4:2:0 encode) ⚠️ Decode and Encode (only 4:2:0 encode)
VP9 ⚠️ Decode only (4K) ⚠️ Partial (Encoding on Linux only)
VP9 10-bit ⚠️ Decode only ⚠️ Decode only
VP9 12-bit ⚠️ Decode only ⚠️ Decode only ⚠️ Decode only
AV1 ⚠️ Decode only ⚠️ Decode only
AV1 10-bit ⚠️ Decode only ⚠️ Decode only
AV1 12-bit ⚠️ Decode only
EVC
VVC

After correctly configuring my graphics patch VideoProc correctly recognizes both H.264 and HEVC decoding/encoding:

Hardware Info detected by VideoProc