osy / HaC-Mini

Intel NUC Hades Canyon Hackintosh support

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Whatevergreen 1.5.2 result in garbled screen

keatliang2005 opened this issue · comments

Describe the bug
I self maintain update to acidanthera update to 2021.08, and notice one bug. i know it's not a priority now. but it's something worth to look into, as macOS 12 update will need newer version of OC + Kexts to work

I narrow it down to Whatevergreen 1.5.2, revert back to 1.5.1 resolved the issue

here is the garbled screen looks like , the cursor are render properly the rest are 100% unusable.....,
i can move around the cursor as well
IMG_0423

Expected behavior
Normal screen rendered

Configuration

  • HaC Mini version [e.g: 2.0]: Based on 3.0.1 config with OC 0.7.2 + 2021.08 Kexts
  • OSX version [e.g: 10.14.6]: 11.5.1
  • NUC model [e.g: NUC8i7HNK]: NUC8i7HVK
  • Boot SSD model and protocol [e.g: Samsung EVO 860 1TB, SATA]: Kingston KC2500
  • Second SSD model and protocol (if installed) [e.g: HP EX920 1TB, NVMe]:
  • First DIMM model [e.g: Patriot DDR4-2666 16GB]: Kingston KHX2666C15S4/16G 16GB
  • Second DIMM model (if installed):
  • Display port(s) used [e.g: USB-C, mini DP]: HDMI
  • Display resolution(s) [e.g: 4K, 5K]: 4K
  • Any TB3 devices: -
  • Any USB devices: -
  • Any Wi-Fi/Bluetooth devices [e.g:DW1820A, BCM94360CS2, Intel 8265]: Fenvi AC1200

Modifications
Based on 3.0.1 config with OC 0.7.2 + 2021.08 Kexts

For Hac-Mini, you have to use WEG 1.5.3 (at least with commit a9741df), together with setting no-gfx-spoof= 01000000


In detail, you have to meet the following two requirements:

  1. Grab weg 1.5.3 pre-release here
  2. Manually setup the config.plist like this.

Screen Shot 2021-08-15 at 19 41 46

                    <key>PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)</key>
			<dict>
				<key>no-gfx-spoof</key>
				<data>
				AQAAAA==
				</data>
			</dict>

By the way, if you really really want to use the amd gpu spoofing introduced in WEG 1.5.2/1.5.3 for fun(I don't see any obvious benefit yet):

  • you could set up the device-id=DF670000 in the DeviceProperties section in config.plist. You still have to keep no-gfx-spoof= 01000000
  • you can also can disable the ACPI spoofing AML SSDT-GpuSpoof.aml

Screen Shot 2021-08-15 at 19 33 54

After reboot, you can see your gpu is Radeon RX 480 in About this mac (Use your own way to edit this)

For Hac-Mini, you have to use WEG 1.5.3 (at least with commit a9741df), together with setting no-gfx-spoof= 01000000

In detail, you have to meet the following two requirements:

  1. Grab weg 1.5.3 pre-release here
  2. Manually setup the config.plist like this.
Screen Shot 2021-08-15 at 19 41 46
                    <key>PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)</key>
			<dict>
				<key>no-gfx-spoof</key>
				<data>
				AQAAAA==
				</data>
			</dict>

by adding no-gfx-spoof property to the GPU path the screen load normal again on WEG 1.5.3 Dev

as for method goes SSDT method SSDT-GpuSpoof.aml, have OS check.

  • spoof if boot from macOS
  • not to spoof if not macOS

reference:
https://github.com/osy/HaC-Mini/blob/master/ACPI/SSDT-OsxDetect.asl
https://github.com/osy/HaC-Mini/blob/master/ACPI/SSDT-GpuSpoof.asl

as for property injection with OC config.plist, i think it applies APCI entries regardless of boot environment

I guess for SSDT method have advantage for being more flexible i guess, example use case:

  • Disable unsupported NVME SSD in macOS
  • while don't disable SSD when boot in Windows

For Hac-Mini, you have to use WEG 1.5.3 (at least with commit a9741df), together with setting no-gfx-spoof= 01000000
In detail, you have to meet the following two requirements:

  1. Grab weg 1.5.3 pre-release here
  2. Manually setup the config.plist like this.
Screen Shot 2021-08-15 at 19 41 46 ``` PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0) no-gfx-spoof AQAAAA== ```

by adding no-gfx-spoof property to the GPU path the screen load normal again on WEG 1.5.3 Dev

as for method goes SSDT method SSDT-GpuSpoof.aml, have OS check.

  • spoof if boot from macOS
  • not to spoof if not macOS

reference:
https://github.com/osy/HaC-Mini/blob/master/ACPI/SSDT-OsxDetect.asl
https://github.com/osy/HaC-Mini/blob/master/ACPI/SSDT-GpuSpoof.asl

as for property injection with OC config.plist, i think it applies APCI entries regardless of boot environment

I guess for SSDT method have advantage for being more flexible i guess, example use case:

  • Disable unsupported NVME SSD in macOS
  • while don't disable SSD when boot in Windows

Well, your comment reminds me that
both intel and amd have abandoned releasing updated Nuc8i7HVK's GPU drivers for Windows for a long time.
It was a sad story for this powerful tiny nuc.

But people found ways to spoof VegaM as other GPUs to get the latest official windows drivers.
For example, https://github.com/leogcry22/Hades-VegaM