Closed mvaisakh closed 1 year ago
Well I had a little time over the last week to break out my 2400G and run 0pen Core and do some injection testing. Open Core devices injection renamed the device ID and partially loads the Polaris kexts set.
This loads while using the RX 480 dedicated graphics. If used as IGPU without the RX 480 the screen goes black. I tried to fake the ID to Kaby Lake, Skylake, and Coffee Lake but it wont load those. This is in Big sur so I need to go back to a High Sierra or Mojave build where kext edits are allowed.
I think it will take some patching to get the memory to load and to sort the expected PCIe lane assignments.
That's a pretty neat achievement Gigamaxx! At least you've got Polaris partially going!
On my VCS, I did notice that the main Vega 3 GPU was posting under GFX0 in IORegistryExplorer and it had 31MB VRAM available. Also I don't have sound yet - the codec is a current unknown AMD codec (15D81002). I've dumped the codec and trying to work on the pinout and layout right now. There was AZAL & HDAS in the DSDT but no HDEF.
Anyways, so on my other setup I've tried running Unigine's Valley demo on the R7 M260-enabled HP Notebook, and I came across the following errors in Console when it KP'd. They seem to be referring to something related to com.apple.graphics.GLfeatures & com.apple.graphics.clients:
This loads while using the RX 480 dedicated graphics. If used as IGPU without the RX 480 the screen goes black. I tried to fake the ID to Kaby Lake, Skylake, and Coffee Lake but it wont load those. This is in Big sur so I need to go back to a High Sierra or Mojave build where kext edits are allowed.
I think it will take some patching to get the memory to load and to sort the expected PCIe lane assignments.
Could you try with X5000 Kext set? I wanna see how much of it is loaded with a dGPU alongside. And can you send a log with when you spoofed these? This can hopefully tell us what needs to be patched.
If it helps I came across the following info today which may help us diagnose the issues:
http://developer.amd.com/wordpress/media/2013/11/MediaSDK_User_Guide_1_1_Beta.pdf
These posts (in particular the first link), because its a full discussion on OC on how to enable the HWA > https://forums.macrumors.com/threads/activate-amd-hardware-acceleration.2180095/ https://forums.macrumors.com/threads/activate-amd-hardware-acceleration.2180095/post-28255048
If it helps I came across the following info today which may help us diagnose the issues:
http://developer.amd.com/wordpress/media/2013/11/MediaSDK_User_Guide_1_1_Beta.pdf
These posts (in particular the first link), because its a full discussion on OC on how to enable the HWA > https://forums.macrumors.com/threads/activate-amd-hardware-acceleration.2180095/ https://forums.macrumors.com/threads/activate-amd-hardware-acceleration.2180095/post-28255048
These are all video encoding acceleration. Totally unrelated for now. We need HW GPU acceleration that can either run on OpenGL or Apple Metal GPU APIs.
I'm also following this. I've got a 4700u Envy X360, and would love to be able to dualboot Ubuntu with macOS! Especially with the groundbreaking attempt to downright port iwlwifi (and it works too)!
Ok, I loaded Mojave 10.14.5 and was able to do the manual editing of the kexts, AppleIntelKBLFramebuffer.kext/info.plist as well as the AMDRadeon kexts. First you need to boot into recovery and open terminal command: csrutil disable after reboot you can edit any kexts you choose. Please make sure to rebuild caches before rebooting for testing after any edits. If testing this method make sure to have a backup of your system drive, it is easy to break your build with kexts edits.
I also edited the radeon Polaris kexts along with the intel.
Kext edits done manually is an old trick however Catalina and Big Sur make this hard to do and not very practical. I reloaded a fresh install of 10.14.5 and booted to recovery again to disable csr. Using Open Core 0.6.6 and device properties injection I am able to ge the same results as manual kext edits. This method should prevent or reduce the chance of corrupting your drive. See below the Vega kext set.
Here is a copy of my EFI without serials UUIDs etc. If anyone wants to test I would use a USB to test so you don't mess with your working system EFI folder. I use Propertree to edit the values, names etc. Select a device ID for either Polaris, Vega or Intel and it may load the appropriate kexts to a point.
Here is the custom name for the APU, you can adjust to whatever you want, also see the device ID and ig Platform IDs.
Users with the Intel/Vega NUCs have been able to get some level of acceleration but these have dedicated HBM2 on the graphics/cpu chip. They use the Polaris IDs to spoof it because although they are called Vega they are more likely the Lexa or low end Polaris GPU chips (RX 550).
Ok, I loaded Mojave 10.14.5 and was able to do the manual editing of the kexts, AppleIntelKBLFramebuffer.kext/info.plist as well as the AMDRadeon kexts. First you need to boot into recovery and open terminal command: csrutil disable after reboot you can edit any kexts you choose. Please make sure to rebuild caches before rebooting for testing after any edits. If testing this method make sure to have a backup of your system drive, it is easy to break your build with kexts edits.
I wanted know, what happens if you remove the dGPU? Does the acceleration still persist? It's unlikely that there would be any acceleration, since it isn't loading any accelerator kext. But your idea is great, we can actually get framebuffers using intel and use X5000 kexts for actual GPU init code.
Ok, I loaded Mojave 10.14.5 and was able to do the manual editing of the kexts, AppleIntelKBLFramebuffer.kext/info.plist as well as the AMDRadeon kexts. First you need to boot into recovery and open terminal command: csrutil disable after reboot you can edit any kexts you choose. Please make sure to rebuild caches before rebooting for testing after any edits. If testing this method make sure to have a backup of your system drive, it is easy to break your build with kexts edits.
I wanted know, what happens if you remove the dGPU? Does the acceleration still persist? It's unlikely that there would be any acceleration, since it isn't loading any accelerator kext. But your idea is great, we can actually get framebuffers using intel and use X5000 kexts for actual GPU init code.
Correct, there is no accleration. It stops at IOScreenlockstate and if I type in password it logs in. But it is black screen. This patch has connector data maybe adjusting those will allow a log in screen,
The key is most likely the memory allocation and locations. If we could find the memory (DDR4) in the KabyLake kexts and use a patch find (KB memory) and replace with AMD memory mapping maybe it could initiate acceleration. This is a long shot though because we would also need to assign AMD graphics kexts as well. Maybe find Polaris memory map and replace with KB lake memory location. Use a headless Intel graphics ID and assign the output to the Radeon graphics. . There is a fix for using the MacPro to assign fake Memory slots to eliminate errors, maybe a ram disk for memory that could be faked into the AMD kexts?
Correct, there is no accleration. It stops at IOScreenlockstate and if I type in password it logs in. But it is black screen. This patch has connector data maybe adjusting those will allow a log in screen,
Can you try saving a screenshot once you login? If I recall correctly, PrtSc button saves a screenshot onto desktop. That screenshot can probably tell us, if interally it has acceleration or not, or probably we could just be missing correct display mapping.
The key is most likely the memory allocation and locations. If we could find the memory (DDR4) in the KabyLake kexts and use a patch find (KB memory) and replace with AMD memory mapping maybe it could initiate acceleration. This is a long shot though because we would also need to assign AMD graphics kexts as well.
Worth a try.
Maybe find Polaris memory map and replace with KB lake memory location. Use a headless Intel graphics ID and assign the output to the Radeon graphics. . There is a fix for using the MacPro to assign fake Memory slots to eliminate errors, maybe a ram disk for memory that could be faked into the AMD kexts?
Can you send a link which has that? Let me take a look at it.
"Memory Modules Misconfigured" on MacPro7,1 https://dortania.github.io/OpenCore-Install-Guide/troubleshooting/extended/post-issues.html#memory-modules-misconfigured-on-macpro7-1
Virtual Memory Mapping.
We could use these, but then potential issues could be that the memory that the memory allocated by our kernel (or Kext) might not be read properly or even used by any of the driver kexts. We'd actually need people who can hack around the Darwin kernel, and actually work throught the kexts on how their utilisation of the memory happens. Here again, I'm really not experienced with darwin kernel, so I could be wrong.
This is great work so far! Keep it up! Sent you some BAT - buy a coffee or beer!
This is awesome, hopefully sometime soon i can get some acceleration on my Inspiron. Especially since the Windows drivers are nearly unusable. Excellent work!
Ladies & gentlemen, I believe I may have achieved the impossible...hardware acceleration finally achieved on my Kaby Lake i7-7500U HP Pavilion laptop with an Iris Graphics 650 + AMD Topaz XT Radeon R7 M260 on High Sierra 10.13.6! This is the result from System Profiler and Geekbench 4's Compute results:
This is the same result or roughly on par with proper official Radeon R9 360 results:
How was it done? Well in addition to adding Lilu & Whatevergreen under Clover, radpg=15 for the boot-args I also created an AGPMInject.kext using Pavo's app tool. > https://github.com/Pavo-IM/AGPMInjector
I initially selected iMac18,3 SMBIOS and Radeon VII as the output GPU, and this created a AGPMInjector kext. And then I edited the Info.plist's device ID settings for the M260 which was 6900 and changed the iMac18,3 to MacBookPro14,3 which is the SMBIOS of my setup, and then placed the kext into my EFI/Clover/Kexts/Other folder.
Then in Clover Device Properties, I changed the Quicksync settings to output to the Vega using AAPL,ig-platform-id of 03001659, with device-ID of 16590000 and framebuffer-patch-enable of 01000000. The rest of the patch info like framebuffer-con0-enable etc. I lifted from other configs I had before with Hackintools patch feature. I also added ig-platform-id of 0x591B0000 in Graphics, and checked the Inject Intel and Inject ATI boxes.
This setup allowed me to boot very smoothly into my system without not much hiccup. And in addition to DRM playback, VDA decoding and 3D rendering also works!
Ladies & gentlemen, I believe I may have achieved the impossible...hardware acceleration finally achieved on my Kaby Lake i7-7500U HP Pavilion laptop with an Iris Graphics 650 + AMD Topaz XT Radeon R7 M260 on High Sierra 10.13.6! This is the result from System Profiler and Geekbench 4's Compute results:
This is the same result or roughly on par with proper official Radeon R9 360 results:
How was it done? Well in addition to adding Lilu & Whatevergreen under Clover, radpg=15 for the boot-args I also created an AGPMInject.kext using Pavo's app tool. > https://github.com/Pavo-IM/AGPMInjector
I initially selected iMac18,3 SMBIOS and Radeon VII as the output GPU, and this created a AGPMInjector kext. And then I edited the Info.plist's device ID settings for the M260 which was 6900 and changed the iMac18,3 to MacBookPro14,3 which is the SMBIOS of my setup, and then placed the kext into my EFI/Clover/Kexts/Other folder.
Then in Clover Device Properties, I changed the Quicksync settings to output to the Vega using AAPL,ig-platform-id of 03001659, with device-ID of 16590000 and framebuffer-patch-enable of 01000000. The rest of the patch info like framebuffer-con0-enable etc. I lifted from other configs I had before with Hackintools patch feature. I also added ig-platform-id of 0x591B0000 in Graphics, and checked the Inject Intel and Inject ATI boxes.
This setup allowed me to boot very smoothly into my system without not much hiccup. And in addition to DRM playback, VDA decoding and 3D rendering also works!
You means it also works on APU?
Ladies & gentlemen, I believe I may have achieved the impossible...hardware acceleration finally achieved on my Kaby Lake i7-7500U HP Pavilion laptop with an Iris Graphics 650 + AMD Topaz XT Radeon R7 M260 on High Sierra 10.13.6! This is the result from System Profiler and Geekbench 4's Compute results: This is the same result or roughly on par with proper official Radeon R9 360 results: How was it done? Well in addition to adding Lilu & Whatevergreen under Clover, radpg=15 for the boot-args I also created an AGPMInject.kext using Pavo's app tool. > https://github.com/Pavo-IM/AGPMInjector I initially selected iMac18,3 SMBIOS and Radeon VII as the output GPU, and this created a AGPMInjector kext. And then I edited the Info.plist's device ID settings for the M260 which was 6900 and changed the iMac18,3 to MacBookPro14,3 which is the SMBIOS of my setup, and then placed the kext into my EFI/Clover/Kexts/Other folder. Then in Clover Device Properties, I changed the Quicksync settings to output to the Vega using AAPL,ig-platform-id of 03001659, with device-ID of 16590000 and framebuffer-patch-enable of 01000000. The rest of the patch info like framebuffer-con0-enable etc. I lifted from other configs I had before with Hackintools patch feature. I also added ig-platform-id of 0x591B0000 in Graphics, and checked the Inject Intel and Inject ATI boxes. This setup allowed me to boot very smoothly into my system without not much hiccup. And in addition to DRM playback, VDA decoding and 3D rendering also works!
You means it also works on APU?
Worth a try.
Ladies & gentlemen, I believe I may have achieved the impossible...hardware acceleration finally achieved on my Kaby Lake i7-7500U HP Pavilion laptop with an Iris Graphics 650 + AMD Topaz XT Radeon R7 M260 on High Sierra 10.13.6! This is the result from System Profiler and Geekbench 4's Compute results: This is the same result or roughly on par with proper official Radeon R9 360 results: How was it done? Well in addition to adding Lilu & Whatevergreen under Clover, radpg=15 for the boot-args I also created an AGPMInject.kext using Pavo's app tool. > https://github.com/Pavo-IM/AGPMInjector I initially selected iMac18,3 SMBIOS and Radeon VII as the output GPU, and this created a AGPMInjector kext. And then I edited the Info.plist's device ID settings for the M260 which was 6900 and changed the iMac18,3 to MacBookPro14,3 which is the SMBIOS of my setup, and then placed the kext into my EFI/Clover/Kexts/Other folder. Then in Clover Device Properties, I changed the Quicksync settings to output to the Vega using AAPL,ig-platform-id of 03001659, with device-ID of 16590000 and framebuffer-patch-enable of 01000000. The rest of the patch info like framebuffer-con0-enable etc. I lifted from other configs I had before with Hackintools patch feature. I also added ig-platform-id of 0x591B0000 in Graphics, and checked the Inject Intel and Inject ATI boxes. This setup allowed me to boot very smoothly into my system without not much hiccup. And in addition to DRM playback, VDA decoding and 3D rendering also works!
You means it also works on APU?
Worth a try.
I'm still trying to cheat deviceID and so on, but so far, it hasn't worked.
Ladies & gentlemen, I believe I may have achieved the impossible...hardware acceleration finally achieved on my Kaby Lake i7-7500U HP Pavilion laptop with an Iris Graphics 650 + AMD Topaz XT Radeon R7 M260 on High Sierra 10.13.6! This is the result from System Profiler and Geekbench 4's Compute results: This is the same result or roughly on par with proper official Radeon R9 360 results: How was it done? Well in addition to adding Lilu & Whatevergreen under Clover, radpg=15 for the boot-args I also created an AGPMInject.kext using Pavo's app tool. > https://github.com/Pavo-IM/AGPMInjector I initially selected iMac18,3 SMBIOS and Radeon VII as the output GPU, and this created a AGPMInjector kext. And then I edited the Info.plist's device ID settings for the M260 which was 6900 and changed the iMac18,3 to MacBookPro14,3 which is the SMBIOS of my setup, and then placed the kext into my EFI/Clover/Kexts/Other folder. Then in Clover Device Properties, I changed the Quicksync settings to output to the Vega using AAPL,ig-platform-id of 03001659, with device-ID of 16590000 and framebuffer-patch-enable of 01000000. The rest of the patch info like framebuffer-con0-enable etc. I lifted from other configs I had before with Hackintools patch feature. I also added ig-platform-id of 0x591B0000 in Graphics, and checked the Inject Intel and Inject ATI boxes. This setup allowed me to boot very smoothly into my system without not much hiccup. And in addition to DRM playback, VDA decoding and 3D rendering also works!
You means it also works on APU?
Yes indeed! As proof, in addition I also have an Atari VCS Ryzen 1606G with Vega 3 Graphics which I managed to get working. It can do DRM and audio in Big Sur. You have to start with OC 0.6.5 installing and running Mojave using AMD kernel patches, and SSDT-GFX0.aml along with boot-args shikigva=40 shikigva=Mac7BA5B2D9E42DDD94. Try radpg=15 if the above doesn’t work. Also add in your GPU device properties in OC. Add in npci=2000 if you have Above 4G Decoding disabled (plus other usual hackintosh-compatible settings). That should allow your APU to run.
@MiddlemanTM What are you referring to with SSDT-GFX0.aml?
I'd got it from one of my B550 builds and just put it in to try, surprised it worked. You are welcome to check it out.
`/*
Compiler Version 0x20161210 (538317328) */ DefinitionBlock ("", "SSDT", 2, "hack", "HACK", 0x00000000) { External (SB.PCI0, DeviceObj) External (SB.PCI0.HDEF, DeviceObj) External (SB.PCI0.PEG0, DeviceObj) External (SB.PCI0.PEG0.GFX0, DeviceObj) External (SB.PCI0.RP05.PXSX, DeviceObj) External (SB.PCI0.RP06.PXSX, DeviceObj) External (SB.PCI0.SATA, DeviceObj) External (GFX0, DeviceObj)
Method (XOSI, 1, NotSerialized) { Name (WINV, Package (0x06) { "Windows", "Windows 2001", "Windows 2001 SP2", "Windows 2006", "Windows 2006 SP1", "Windows 2009" }) Return ((Ones != Match (WINV, MEQ, Arg0, MTR, Zero, Zero))) }
If (CondRefOf (_SB.PCI0.EH01)) { Method (_SB.PCI0.EH01._DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (!Arg2) { Return (Buffer (One) { 0x03 // . }) }
Return (Package (0x18)
{
"AAPL,slot-name",
"Built In",
"name",
"Intel EHCI Controller",
"model",
Buffer (0x3E)
{
"Intel 7 Series Chipset Family USB Enhanced Host Controller #1"
},
"device_type",
Buffer (0x0F)
{
"USB Controller"
},
"AAPL,current-available",
Buffer (0x04)
{
0x34, 0x08, 0x00, 0x00 // 4...
},
"AAPL,current-extra",
Buffer (0x04)
{
0x99, 0x08, 0x00, 0x00 // ....
},
"AAPL,current-in-sleep",
Buffer (0x04)
{
0x40, 0x06, 0x00, 0x00 // @...
},
"AAPL,current-extra-in-sleep",
Buffer (0x04)
{
0x40, 0x06, 0x00, 0x00 // @...
},
"AAPL,max-port-current-in-sleep",
Buffer (0x04)
{
0x34, 0x08, 0x00, 0x00 // 4...
},
"AAPL,device-internal",
Buffer (0x04)
{
0x02, 0x00, 0x00, 0x00 // ....
},
"subsystem-id",
Buffer (0x04)
{
0x70, 0x72, 0x00, 0x00 // pr..
},
"subsystem-vendor-id",
Buffer (0x04)
{
0x86, 0x80, 0x00, 0x00 // ....
}
})
}
}
If (CondRefOf (_SB.PCI0.EH02)) { Method (_SB.PCI0.EH02._DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (!Arg2) { Return (Buffer (One) { 0x03 // . }) }
Return (Package (0x18)
{
"AAPL,slot-name",
"Built In",
"name",
"Intel EHCI Controller",
"model",
Buffer (0x3E)
{
"Intel 7 Series Chipset Family USB Enhanced Host Controller #2"
},
"device_type",
Buffer (0x0F)
{
"USB Controller"
},
"AAPL,current-available",
Buffer (0x04)
{
0x34, 0x08, 0x00, 0x00 // 4...
},
"AAPL,current-extra",
Buffer (0x04)
{
0x99, 0x08, 0x00, 0x00 // ....
},
"AAPL,current-in-sleep",
Buffer (0x04)
{
0x40, 0x06, 0x00, 0x00 // @...
},
"AAPL,current-extra-in-sleep",
Buffer (0x04)
{
0x40, 0x06, 0x00, 0x00 // @...
},
"AAPL,max-port-current-in-sleep",
Buffer (0x04)
{
0x34, 0x08, 0x00, 0x00 // 4...
},
"AAPL,device-internal",
Buffer (0x04)
{
0x02, 0x00, 0x00, 0x00 // ....
},
"subsystem-id",
Buffer (0x04)
{
0x70, 0x72, 0x00, 0x00 // pr..
},
"subsystem-vendor-id",
Buffer (0x04)
{
0x86, 0x80, 0x00, 0x00 // ....
}
})
}
}
If (CondRefOf (_SB.PCI0.XHC)) { Method (_SB.PCI0.XHC._DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (!Arg2) { Return (Buffer (One) { 0x03 // . }) }
Return (Package (0x18)
{
"AAPL,slot-name",
"Built In",
"name",
"Intel XHCI Controller",
"model",
Buffer (0x37)
{
"Intel 7 Series Chipset Family USB xHCI Host Controller"
},
"device_type",
Buffer (0x0F)
{
"USB Controller"
},
"AAPL,current-available",
Buffer (0x04)
{
0x34, 0x08, 0x00, 0x00 // 4...
},
"AAPL,current-extra",
Buffer (0x04)
{
0x99, 0x08, 0x00, 0x00 // ....
},
"AAPL,current-in-sleep",
Buffer (0x04)
{
0x40, 0x06, 0x00, 0x00 // @...
},
"AAPL,current-extra-in-sleep",
Buffer (0x04)
{
0x40, 0x06, 0x00, 0x00 // @...
},
"AAPL,max-port-current-in-sleep",
Buffer (0x04)
{
0x34, 0x08, 0x00, 0x00 // 4...
},
"AAPL,device-internal",
Buffer (0x04)
{
0x02, 0x00, 0x00, 0x00 // ....
},
"subsystem-id",
Buffer (0x04)
{
0x70, 0x72, 0x00, 0x00 // pr..
},
"subsystem-vendor-id",
Buffer (0x04)
{
0x86, 0x80, 0x00, 0x00 // ....
}
})
}
}
Device (_SB.EC) { Name (_HID, "EC000000") // _HID: Hardware ID }
Device (_SB.PCI0.SBUS.BUS0) { Name (_CID, "smbus") // _CID: Compatible ID Name (_ADR, Zero) // _ADR: Address Device (DVL0) { Name (_ADR, 0x57) // _ADR: Address Name (_CID, "diagsvault") // _CID: Compatible ID Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (!Arg2) { Return (Buffer (One) { 0x57 // W }) }
Return (Package (0x02)
{
"address",
0x57
})
}
}
}
Scope (_SB.PCI0) { Scope (_SB.PCI0.SATA) { Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If ((Arg2 == Zero)) { Return (Buffer (One) { 0x03 // . }) }
Return (Package (0x0C)
{
"AAPL,slot-name",
"Built In",
"name",
"Intel AHCI Controller",
"model",
Buffer (0x2E)
{
"Intel 7 Series Chipset Family SATA Controller"
},
"device_type",
Buffer (0x10)
{
"AHCI Controller"
},
"device-id",
Buffer (0x05)
{
0x03, 0x1E, 0x00, 0x00 // ....
},
"compatible",
Buffer (0x0D)
{
"pci8086,1e02"
}
})
}
}
}
Scope (_SB.PCI0) { Device (MCHC) { Name (_ADR, Zero) // _ADR: Address } }
Scope (_SB.PCI0.PEG0) { Scope (GFX0) { Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (!Arg2) { Return (Buffer (One) { 0x03 // . }) }
Return (Package (0x0E)
{
"@0,connector-type",
Buffer (0x04)
{
0x00, 0x08, 0x00, 0x00 // ....
},
"@1,connector-type",
Buffer (0x04)
{
0x00, 0x08, 0x00, 0x00 // ....
},
"@2,connector-type",
Buffer (0x04)
{
0x00, 0x08, 0x00, 0x00 // ....
},
"@3,connector-type",
Buffer (0x04)
{
0x00, 0x08, 0x00, 0x00 // ....
},
"@4,connector-type",
Buffer (0x04)
{
0x00, 0x08, 0x00, 0x00 // ....
},
"@5,connector-type",
Buffer (0x04)
{
0x00, 0x08, 0x00, 0x00 // ....
},
"hda-gfx",
Buffer (0x0A)
{
"onboard-2"
}
})
}
}
Device (HDAU)
{
Name (_ADR, One) // _ADR: Address
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
If (!Arg2)
{
Return (Buffer (One)
{
0x03 // .
})
}
Return (Package (0x02)
{
"hda-gfx",
Buffer (0x0A)
{
"onboard-2"
}
})
}
}
}
Method (_SB.PCI0.LPCB._DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If ((Arg2 == Zero)) { Return (Buffer (One) { 0x03 // . }) }
Return (Package (0x02)
{
"compatible",
"pci8086,1e44"
})
}
Scope (_SB.PCI0) { Scope (_SB.PCI0.HDEF) { Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If ((Arg2 == Zero)) { Return (Buffer (One) { 0x03 // . }) }
Return (Package (0x0E)
{
"AAPL,slot-name",
"Built In",
"name",
"Realtek Audio Controller",
"model",
Buffer (0x20)
{
"Realtek ALC892 Audio Controller"
},
"device_type",
Buffer (0x11)
{
"Audio Controller"
},
"layout-id",
Buffer (0x04)
{
0x03, 0x00, 0x00, 0x00 // ....
},
"PinConfigurations",
Buffer (Zero){},
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
}
})
}
}
}
Name (_SB.PCI0.HDEF.RMCF, Package (0x06) { "CodecCommander", Package (0x02) { "Disable", ">y" },
"CodecCommanderPowerHook",
Package (0x02)
{
"Disable",
">y"
},
"CodecCommanderProbeInit",
Package (0x04)
{
"Version",
0x00020600,
"10ec_0892_HDA_8086",
Package (0x02)
{
"PinConfigDefault",
Package (0x04)
{
Package (0x00){},
Package (0x04)
{
"LayoutID",
One,
"PinConfigs",
Package (0x17)
{
Package (0x00){},
0x11,
0x400000F0,
0x14,
0x01114010,
0x15,
0x01011020,
0x16,
0x01016030,
0x17,
0x400000F0,
0x18,
0x90A19040,
0x19,
0x02819050,
0x1A,
0x01813060,
0x1B,
0x02214070,
0x1E,
0x014B6190,
0x1F,
0x400000F0
}
},
Package (0x04)
{
"LayoutID",
0x02,
"PinConfigs",
Package (0x17)
{
Package (0x00){},
0x11,
0x400000F0,
0x14,
0x01114010,
0x15,
0x400000F0,
0x16,
0x400000F0,
0x17,
0x400000F0,
0x18,
0x90019040,
0x19,
0x02819060,
0x1A,
0x01013050,
0x1B,
0x02214070,
0x1E,
0x014B6190,
0x1F,
0x400000F0
}
},
Package (0x04)
{
"LayoutID",
0x03,
"PinConfigs",
Package (0x17)
{
Package (0x00){},
0x11,
0x400000F0,
0x14,
0x01114010,
0x15,
0x01011020,
0x16,
0x400000F0,
0x17,
0x400000F0,
0x18,
0x90A19040,
0x19,
0x02819050,
0x1A,
0x01813060,
0x1B,
0x02214070,
0x1E,
0x014B6190,
0x1F,
0x400000F0
}
}
}
}
}
}) Scope (_SB.PCI0) { Scope (_SB.PCI0.RP05.PXSX) { Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If ((Arg2 == Zero)) { Return (Buffer (One) { 0x03 // . }) }
Return (Package (0x0C)
{
"AAPL,slot-name",
"Built In",
"name",
"Realtek Ethernet Controller",
"model",
Buffer (0x37)
{
"Realtek RTL8111E Gigabit Network Controller"
},
"device_type",
Buffer (0x14)
{
"Ethernet Controller"
},
"built-in",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00 // ....
},
"location",
Buffer (0x04)
{
"1"
}
})
}
}
}
Scope (_SB.PCI0) { Scope (_SB.PCI0.RP06.PXSX) { Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If ((Arg2 == Zero)) { Return (Buffer (One) { 0x03 // . }) }
Return (Package (0x0C)
{
"AAPL,slot-name",
"Built In",
"name",
"Realtek Ethernet Controller",
"model",
Buffer (0x37)
{
"Realtek RTL8111E Gigabit Network Controller"
},
"device_type",
Buffer (0x14)
{
"Ethernet Controller"
},
"built-in",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00 // ....
},
"location",
Buffer (0x04)
{
"1"
}
})
}
}
} }
`
And this was set in my EFI:
Report from Hackintool:
@MiddlemanTM Hey, if you don't mind, how about you join us on the telegram chat?
Here's the link: https://t.me/joinchat/Tb4W3lSzpzvhhQaw
Hi, it's been some time from this post... is now HW acceleration possible on Radeon Vega 8 APU? Thanks
Hi, it's been some time from this post... is now HW acceleration possible on Radeon Vega 8 APU? Thanks
no
And this was set in my EFI:
Report from Hackintool:
Hey @MiddlemanTM you are a genius man! Can you please share the EFI I have been trying for months but always failed lol
Much appreciated!
@MiddlemanTM Hey, if you don't mind, how about you join us on the telegram chat?
Here's the link: https://t.me/joinchat/Tb4W3lSzpzvhhQaw
Thanks for the invite. Have been very busy of late so can't join the chat (sorry). But I'm more than happy to contribute here when I can.
Hey @MiddlemanTM you are a genius man! Can you please share the EFI I have been trying for months but always failed lol
Much appreciated!
Thanks! Yes sure, you're more than welcome, here's the file for the VCS which is a pure Ryzen/Vega 3 APU. It is Big Sur 11.3 ready with custom AGPMInjector. It is still in testing config but if we add a SSDT-GPU-SPOOF for Vega 3, change the device propertyu IDs to DF670000 and also AGPMInjector, and also relevant AMD /S/L/E kexts we should get full acceleration.
@MiddlemanTM Hey, if you don't mind, how about you join us on the telegram chat? Here's the link: https://t.me/joinchat/Tb4W3lSzpzvhhQaw
Thanks for the invite. Have been very busy of late so can't join the chat (sorry). But I'm more than happy to contribute here when I can.
Hey @MiddlemanTM you are a genius man! Can you please share the EFI I have been trying for months but always failed lol Much appreciated!
Thanks! Yes sure, you're more than welcome, here's the file for the VCS which is a pure Ryzen/Vega 3 APU. It is Big Sur 11.3 ready with custom AGPMInjector. It is still in testing config but if we add a SSDT-GPU-SPOOF for Vega 3, change the device propertyu IDs to DF670000 and also AGPMInjector, and also relevant AMD /S/L/E kexts we should get full acceleration.
@MiddlemanTM Thanks so much for the EFI I have managed to boot into with it. Instead of Vega 3 I have Vega 8, and HWA doesn't seem to be working. Do you have any idea how can I make it work?
Hardware acceleration is not working even on his PC. He is trying to get it working, nothing else or special here. Screenshots provided have no evidence or proofs of working graphic acceleration. SSDT he provided and his EFI is just spoofing most parts of his hardware to Intel stuff and someone AMD-related graphics stuff. It can improve actual situation just in a bit.
@m0d16l14n1 in PCs, u can set up AMD Graphics cards which are used in real macOS devices, like vega64 or rx560, and it will work perfectly
@m0d16l14n1 in PCs, u can set up AMD Graphics cards which are used in real macOS devices, like vega64 or rx560, and it will work perfectly
yeah, i know that thx. i was talking about discussion on Vega graphics in mobile Ryzen and desktop Ryzen. If you check the name of that issue it's called "Hardware Graphics Acceleration on Vega 8" 👍
Hardware acceleration is not working even on his PC. He is trying to get it working, nothing else or special here. Screenshots provided have no evidence or proofs of working graphic acceleration. SSDT he provided and his EFI is just spoofing most parts of his hardware to Intel stuff and someone AMD-related graphics stuff. It can improve actual situation just in a bit.
Please don't insult my intelligence. In case you didn't know, hardware acceleration IS WORKING on the HP Kaby Lake Notebook I have. If you want proof, this is it:
The FPS here is over 200 odd, and was selectable in GLView as hardware renderer. Tell me which Intel HD Graphics 620 can do 286 fps? That calculation therefore is coming from the AMD Vega. Because I also switched on -racodec in boot-args. In addition to routing the correct SSDT for the AMD GPU I've also had to make an AGPMInjector module for the card.
It is only in the case of the VCS that the acceleration hasn't quite yet activated, but DRM for it has. As it goes I am still working with it.
Anyways if anyone wants to try it out with their Intel Vega laptop, my file is here.
@MiddlemanTM Wait, you're on the wrong thread, intel vegas are not AMD APUs, this thread is meant only for the AMD APUs.
Yes I am aware this thread is about AMD APUs, and no I'm not on the wrong thread. The VCS is pure AMD APU (Ryzen+Picasso/Vega 3), whilst the HP I have is a Core i7 with an embedded AMD Radeon R7 M260 GPU and Intel HD 620 Graphics. If anything it is also worth exploring how the latter works.
Hi guys.How to launch mac os in vega 8 ?
Please,help me
@bichlasania Are you referring to the macOS installation itself or to the hardware acceleration? For the first one, you should head over AMD OSX discord, this thread is for enabling the iGPU’s hardware acceleration
Hardware acceleration is not working even on his PC. He is trying to get it working, nothing else or special here. Screenshots provided have no evidence or proofs of working graphic acceleration. SSDT he provided and his EFI is just spoofing most parts of his hardware to Intel stuff and someone AMD-related graphics stuff. It can improve actual situation just in a bit.
Please don't insult my intelligence. In case you didn't know, hardware acceleration IS WORKING on the HP Kaby Lake Notebook I have. If you want proof, this is it:
The FPS here is over 200 odd, and was selectable in GLView as hardware renderer. Tell me which Intel HD Graphics 620 can do 286 fps? That calculation therefore is coming from the AMD Vega. Because I also switched on -racodec in boot-args. In addition to routing the correct SSDT for the AMD GPU I've also had to make an AGPMInjector module for the card.
It is only in the case of the VCS that the acceleration hasn't quite yet activated, but DRM for it has. As it goes I am still working with it.
Thank you very much for proofing that Intel graphics and kinda support old AMD Topaz is working on your laptop! Cool.
But it's still issue thread related to Vega APUs in Ryzen. Not Intel laptops and some AMD cards and etc. I still don't understand why you posted that here, lol.
I was talking about that your post and words, quote: "I also have an Atari VCS Ryzen 1606G with Vega 3 Graphics which I managed to get working. It can do DRM and audio in Big Sur".
Show me proofs about that stuff. dude. No need to show me some shit here, not related to your previous words and even topic non-related stuff.
Thank you very much for proofing that Intel graphics and kinda support old AMD Topaz is working on your laptop! Cool.
But it's still issue thread related to Vega APUs in Ryzen. Not Intel laptops and some AMD cards and etc. I still don't understand why you posted that here, lol.
I was talking about that your post and words, quote: "I also have an Atari VCS Ryzen 1606G with Vega 3 Graphics which I managed to get working. It can do DRM and audio in Big Sur".
Show me proofs about that stuff. dude. No need to show me some shit here, not related to your previous words and even topic non-related stuff.
Ok. FYI this was my build back from February on the VCS APU > https://www.tonymacx86.com/threads/guide-atari-vcs-2020-console.309903/ and on AMD-OSX > https://forum.amd-osx.com/index.php?threads/atari-vcs-native-on-mojave-10-14-6.1529/ - I was the first to get it working native from Mojave and Big Sur with the AMD APU in VESA mode.
These are the current speeds we're getting in GB4 in VESA mode.
4K and HD mode resolution has been enabled (4K mode only available with my initial setup with normal Vega64 ACPI).
Youtube DRM playback with current VESA mode. Sound works via USB DAC.
Report from GLView.
And current report from Videoproc.
So you know the APU acceleration issue is ongoing. No full acceleration yet, but getting there. I am working with Gigamaxx's latest settings as we speak ie. device-id 67B0/67A7/15D8 etc and testing his APU EFI settings on Mojave. But I have enabled the AMD HDMI interface using a modded version of Rehabman's Intel HD kext which is showing 2 working unsupported AMD codecs. This is proven also with System Profiler PCI and kextstat status. PinConfigurator is not picking up the pinconfigs however.
Just thought to share with you all another interesting find I made last night.
So I was busy testing and checking the EFI settings for the Vega 3 setup, changing the ACPI and device properties, to try to include the framebuffer-unifiedmem values to (because it was reporting very little VRAM ie. 31mb). I was wondering why it wasn't reporting the changes I'd made when I stumbled upon this driver path while looking in Windows under the AMD Radeon Win10 drivers.
The full path is: /REGISTRY/MACHINE/SYSTEM/CurrentControlSet/Control/Class/{4d36e968-e325-11ce-bfc1-08002be10318}/0000
It seems AMD has a NVRAM address for the VCS' Vega 3 driver responsible for 2D acceleration. I believe this could be why the Vega 3 and other AMD APUs haven't been able to report (or work) the full VRAM of the GPU which is 2GB. If we could somehow tweak it, it may hold the key to the full 3D acceleration.
Anyways I'd tried to activate it under Opencore by adding it to the NVRAM settings and adding npci=0x2000 agdpmod=pikera. It didn't quite work and managed to stall under VirtualSMC as well as Lilu.
For anyone interested, there's also a related great new in-depth discussion thread here I found also. Someone has fully enabled the AMD dGPU hardware acceleration on their HP ZBook G5 17 laptop through editing of connectors and VBIOS! >
https://www.tonymacx86.com/threads/amd-wx4170-dgpu-on-zbook-g5-17-laptop.310950/post-2246399
The different modes used by the MUX has also been listed > https://www.tonymacx86.com/threads/amd-wx4170-dgpu-on-zbook-g5-17-laptop.310950/post-2248613
For anyone interested, there's also a related great new in-depth discussion thread here I found also. Someone has fully enabled the AMD dGPU hardware acceleration on their HP ZBook G5 17 laptop through editing of connectors and VBIOS! >
https://www.tonymacx86.com/threads/amd-wx4170-dgpu-on-zbook-g5-17-laptop.310950/post-2246399
The different modes used by the MUX has also been listed > https://www.tonymacx86.com/threads/amd-wx4170-dgpu-on-zbook-g5-17-laptop.310950/post-2248613
Please refrain from posting about AMD Mobile dGPU acceleration. It has no significance here. I'm hiding this post for the same reason. There are a lot of people following this thread with hope for acceleration, and posting about AMD Mobile dGPUs will only confuse them.
My apologies. I only thought they would help with the research.
Anyways I thought I'd mention this before I forget. I found something even more significant today. Renoir's control microcodes from the VBIOS!
Renoir Microcode ║7│00860F00│0860000E│2020-01-27│0xC80│0x5EEF00│Yes ║8│00860F01│08600103│2020-01-27│0xC80│0x5EFC00│Yes
There's a post here talking about the discovery of Vega/Picasso and Renoir's VBIOS being uncovered not long ago.
https://www.reddit.com/r/sffpc/comments/hyrcgx/2020727_deskmini_a300_beta_bios_360l_with_amd/
This is crucial, because so far I've been unable to extract the Picasso VBIOS from my VCS because it is protected. Hopefully this could help somewhat with the enabling of the APU from the kernel.
Just thought to update you guys on some new findings I've made. Apparently AMD APU's are supported by macOS. We just weren't made aware of it. Check out this article > https://www.slashgear.com/amd-mac-tipped-in-code-and-intel-should-be-terrified-07609088/
It seems that Apple added 5 AMD APUs back in Catalina 10.15.4 Beta 1:
• NAVI12_A0 • NAVI21_A0 • PICASSO_A0 • RAVEN2_A0 • RAVEN_A0 • RENOIR_A0 • VANGOGH_A0
It means that anyone who has these platforms should have them be able to technically be working. As it stands, I've now also been made aware my Atari VCS Picasso 15D8 GPU is actually supported natively. That means I don't need any kexts or SSDTs to boot the GPU - which is exactly what I've done. The BIOS has now been updated again this week by Atari with supposed 4K acceleration added, but I have not yet achieved any acceleration using the system yet. The new BIOS does show a RAVEN2 selection in the menu now though.
Just thought to update you guys on some new findings I've made. Apparently AMD APU's are supported by macOS. We just weren't made aware of it. Check out this article > https://www.slashgear.com/amd-mac-tipped-in-code-and-intel-should-be-terrified-07609088/
Please I recommend that you go through this issue thread. You're just posting what was posted long ago. this is literally the third message in the thread: https://github.com/mvaisakh/Asus-X505ZA-Ryzen-Hackintosh/issues/1#issuecomment-693498182
It seems that Apple added 5 AMD APUs back in Catalina 10.15.4 Beta 1:
Symbols that you refer to are actually just strings from the AMDRadeonX5000HWLibs kext, which I have decompiled and given the proof that the major hardware functionality code is present.
It means that anyone who has these platforms should have them be able to technically be working. As it stands, I've now also been made aware my Atari VCS Picasso 15D8 GPU is actually supported natively. That means I don't need any kexts or SSDTs to boot the GPU - which is exactly what I've done.
If it were that easy, we would have had working acceleration by now.
The BIOS has now been updated again this week by Atari with supposed 4K acceleration added, but I have not yet achieved any acceleration using the system yet. The new BIOS does show a RAVEN2 selection in the menu now though.
Your BIOS update has nothing to do with macOS driver acceleration functionality. Please stop confusing people watching this thread.
Apologies for making that post (if you'd already mentioned it). I obviously came into the thread much later and cannot know everything that was posted (but I will try). I was not aware the IDs reported on Slashgear came from the AMDRadeonX5000HWLibs kext.
Your BIOS update has nothing to do with macOS driver acceleration functionality. Please stop confusing people watching this thread.
Apologies if what I mentioned have upset you - I am not trying to confuse the main AMD APU activation issue, but actually it does. Atari already confirmed to the community it was working with AMD on a BIOS update for the VCS's Vega 3 APU back in February to enable 4K acceleration:
https://github.com/acidanthera/WhateverGreen/commit/9472d772f885bf83f93a2486a0b74bb5fe0f7996
possible to spoof igpu AMD APUs ?
acidanthera/WhateverGreen@9472d77
possible to spoof igpu AMD APUs ?
Looking at the code, it does seem to have some differences from the acpi spoofing method. We were spoofing using acpi since the beginning of this issue, let's see how this helps.
Vega 8 Graphics is not supported by Apple, but most of the init code and code needed to get acceleration working is already present in their kexts. Also being an integrated GPU and new kind of architechture it makes it a challenge to get this working.
Since this laptop is not shipped with a dedicated GPU (if there was one, it would have been a lot easier to hackintosh!), it lags and becomes unusable for day to day tasks. To get it to work, I first need to fix HW Acceleration on Radeon Vega 8. This thread can be used for discussing about other Ryzen APUs as well.
Any help is appreciated!