deeveedee Posted August 16 Author Share Posted August 16 (edited) @ird The EFI that I attached to Post #1 boots macOS Catalina. I don't have much premium content to test, but it appears to me that DRM works in Catalina with my MM8,1 SMBIOS and no special DRM "tricks." I don't know how far we need to revert to older macOS versions (I only tested Catalina), but an option to watch DRM content may simply be to add another volume with an older macOS version. EDIT: over at MacRumors, others report that DRM works in Monterey. I haven't yet tested to know if this is true for both real Macs and hacks. EDIT2: I tested Monterey 12.7.6 with SMBIOS MM8,1 and DRM is broken in Monterey. I'm testing DRM with FairPlay 1.x test from here. Edited August 16 by deeveedee 1 Link to comment Share on other sites More sharing options...
ird Posted August 16 Share Posted August 16 22 hours ago, deeveedee said: EDIT3: Leaving the post below, but I now believe that I never tested Unigine Valley benchmarks in Full-Screen mode on an iGPU-connected display. The results below are no longer surprising to me, because Unigine Valley is not a Metal benchmark (it was released in 2013 - 11 years ago as of this post). To summarize, Unigine Vallue benchmarks demonstrate full dGPU graphics acceleration (not Metal) on dGPU and iGPU-connected displays in Windowed (not Full-Screen) mode and full dGPU acceleration (not Metal) on a dGPU-connected display in Full-Screen mode. GFXBench Metal (a Metal Benchmark) is fully accelerated in Full-Screen mode on both dGPU and iGPU-connected displays. ===================================== I'm performing new dGPU performance testing and I am finding that if I run Unigine Valley benchmark in Full Screen mode on an iGPU-connected display, the benchmark runs at iGPU frame-rates (pathetic). If I run Unigine Valley benchmark in "Windowed" mode on an iGPU-connected display, it runs at RX560x-accelerated frame-rates (excellent). I could have sworn that I tested Unigine Valley full-screen mode before, so at this time I feel that these results are different from what I had observed when testing here. I'll investigate to figure out what I changed to cause this. I am currently running with the EFI that I posted in Post #1. I have tested CFG,CFG_FB_LIMIT = 0 and 2 and the results are the same, so the new observed full-screen Unigine Valley benchmarks are not caused by CFG,CFG_FB_LIMIT. I'm currently testing in Sonoma 14.6.1. EDIT: I duplicated these "new" full-screen Unigine Valley benchmarks in Sequoia Beta 6. EDIT2: With the same EFI used to test Unigine Valley benchmark above, GFXBench Metal benchmark runs fully accelerated by RX560x dGPU in Full-Screen mode on dGpu AND iGPU-connected displays... so, at this time, the full-screen issue on a iGPU-connected display is only with Unigine Valley. @deeveedee : Your observation is correct. Unigine benchmarks (Heaven and Valley) on macOS are for erstwhile OpenGL API. macOS does not natively support OpenGL's successor: Vulkan API but supports Apple's proprietary Metal API. One of the things that changed with newer APIs is how the window management is handled. Exclusive access to low level HW (GPU in this case), is selectively enabled in certain cases and barred in others when you have one GPU responsible for 3D acceleration while the other is compositing (i.e., blending accelerated and non-accelerated/other windows). Your observation in the behavior is consistent with how it's supposed to work. So, all good. Microsoft also made some changes with the latest version of DX12, so much so that they discourage exclusive full-screen mode for 3D games and want the "compositor" to handle even 3D accelerated windows. Some of this has to do with "stability" (if a bad full screen app hangs, it will take the system down with it). 2 hours ago, deeveedee said: @ird The EFI that I attached to Post #1 boots macOS Catalina. I don't have much premium content to test, but it appears to me that DRM works in Catalina with my MM8,1 SMBIOS and no special DRM "tricks." I don't know how far we need to revert to older macOS versions (I only tested Catalina), but an option to watch DRM content may simply be to add another volume with an older macOS version. EDIT: over at MacRumors, others report that DRM works in Monterey. I haven't yet tested to know if this is true for both real Macs and hacks. EDIT2: I tested Monterey 12.7.6 with SMBIOS MM8,1 and DRM is broken in Monterey. I'm testing DRM with FairPlay 1.x test from here. Thank you for this detail, this is helpful! I suspect that might have to do with an older version/SW based DRM? In either case, DRM has caused me much headache and I'm not sure there is a good solution for that with iGPU enabled but no Apple certificates installed in the GuC firmware. 1 Link to comment Share on other sites More sharing options...
ird Posted August 16 Share Posted August 16 23 hours ago, deeveedee said: I disassembled my RX560x card to capture the photos below (and to clean-off the dust and apply new thermal paste). The variant of the AMD chipset on this card (with AMD 216-0909018) is the "embedded" version that is also on the Lenovo Yoga All-In-One motherboard. Based on brief searching, it appears that our RX560x chipset is different from what would normally be on a discrete RX560 graphics card. I haven't searched extensively for chipset specs and am hoping that based on these photos, others might determine more about our RX560x. Reveal hidden contents Reveal hidden contents Reveal hidden contents Reveal hidden contents Missed this. Your observation about this SKU being "embedded" is correct, AFAIK. The number specifically refers to BGA variant that is "soldered" down on motherboards vs. other packaging variants that are shipped out to discrete GPU board partners. Actual silicon wise, it should be no different than the dGPU variants (give or take a few shaders fused or enabled). Typically, lower binned silicon is marked for embedded variants as they are thermally constrained and not expected to be overclocked or pushed to limits; also the reason why many manufacturers may go with slower GDDR memory to cut costs. 1 Link to comment Share on other sites More sharing options...
deeveedee Posted August 16 Author Share Posted August 16 6 hours ago, ird said: One of the things that changed with newer APIs is how the window management is handled. Exclusive access to low level HW (GPU in this case), is selectively enabled in certain cases and barred in others when you have one GPU responsible for 3D acceleration... That makes sense. I just tested two simultaneous instances of Unigine Valley "windowed" (one window on a dGPU-connected display and one window on an iGPU-connected display). Both windowed displays are accelerated by the dGPU (at half the frame rate of a single windowed instance running by itself). Also, no surprise, but if I simultaneously run two full-screen instances of Unigine Valley (one full-screen instance on the dGPU-connected display and one full-screen instance on the iGPU-connected display), the dGPU-connected full-screen display is accelerated by the dGPU and the iGPU-connected full-screen display is accelerated by the iGPU. Again, no surprises. I am actually typing this with two windowed instances of Unigine Valley running (one window on each of two displays) and Safari isn't skipping a beat (since the dGPU is handling all of the Unigine Valley graphics and the Intel CPU / iGPU is virtually unused. I would not be able to do this without the dGPU. One other note - I replaced the factory-installed thermal paste on the RX 560x with Noctua NT-H1 and don't see any temp differences. The factory paste is decent (or the previous owner already replaced the thermal paste). 2 Link to comment Share on other sites More sharing options...
deeveedee Posted August 20 Author Share Posted August 20 (edited) After upgrading from Sequoia Beta 6 -> Beta 7, I observed the best GB6 Metal benchmark that I have observed on this hack: Spoiler About this hack Spoiler Edited August 20 by deeveedee 2 Link to comment Share on other sites More sharing options...
deeveedee Posted August 22 Author Share Posted August 22 (edited) Performance on this hack continues to amaze me. The only downside to this hack (for me) is that the second m.2 2280 slot is blocked by the dGPU. This thread (improperly titled as a G3 - it must be a G4 or G5 Mini) claims that it is possible to install a 2230 SSD in the m.2 Wi-Fi slot. There are properly-keyed m.2 2230 SSDs available for purchase, so I do not think the adapter is necessary. I do not have any properly-keyed 2230 SSDs (or an adapter). Is anyone able to test an m.2 2230 SSD in the Wi-Fi slot of this hack? If so, I'd love to see your compatibility / performance test results. Edited August 22 by deeveedee 1 Link to comment Share on other sites More sharing options...
ird Posted August 22 Share Posted August 22 (edited) 1 hour ago, deeveedee said: Performance on this hack continues to amaze me. The only downside to this hack (for me) is that the second m.2 2280 slot is blocked by the dGPU. This thread (improperly titled as a G3 - it must be a G4 or G5 Mini) claims that it is possible to install a 2230 SSD in the m.2 Wi-Fi slot. There are properly-keyed m.2 2230 SSDs available for purchase, so I do not think the adapter is necessary. I do not have any properly-keyed 2230 SSDs (or an adapter). Is anyone able to test an m.2 2230 SSD in the Wi-Fi slot of this hack? If so, I'd love to see your compatibility / performance test results. i agree with you, the loss of second NVMe slot was something that made me gave up dual boot with windows (I prefer separate drives as I experienced data loss before). There is no way with dgpu to get this unlike cutting out the hdd bracket in non-gpu version. As for WiFi-to-NVMe, I’ve used adapters before and they definitely work (cnvi slots have issues but thankfully elitedesks are not one of those). They are limited to pcie 1x speeds though. I haven’t tried it myself as I need WiFi but here’s a guy on YouTube that has, on G4/G5: Spoiler Edited August 22 by ird Corrected typos, added video link under spoiler tag 1 1 Link to comment Share on other sites More sharing options...
deeveedee Posted August 22 Author Share Posted August 22 @ird His next video should be "How to turn a 10-second explanation into a 20-minute YouTube video." 1 Link to comment Share on other sites More sharing options...
ird Posted August 23 Share Posted August 23 (edited) Btw slightly off topic, but because there was a question on using the wifi m.2 slot for other peripherals I wanted to confirm that it does support other PCIe A+E devices. I have a second HP Elitedesk 800 G4 mini with a Coral TPU (M.2 Accelerator A+E key) that's passed through to an Ubuntu Linux VM on Proxmox hypervisor that runs at PCIe 1x rates. For anyone interested I have drivers/instructions on my github page: hpe800g4dm_server/coral_tpu Edited August 23 by ird Corrected links 1 Link to comment Share on other sites More sharing options...
deeveedee Posted August 25 Author Share Posted August 25 @ird Continuing the off-topic conversation, do you mind if I ask what applications you are running/developing for the Coral TPU? Link to comment Share on other sites More sharing options...
ird Posted August 26 Share Posted August 26 18 hours ago, deeveedee said: @ird Continuing the off-topic conversation, do you mind if I ask what applications you are running/developing for the Coral TPU? I've been trying to setup frigate with TPU acceleration but so far, it's been a pain as Coral drivers and SDKs don't seem to be updated for newer versions of python etc. I also host "cloud" for sharing files, pictures, local backup/archive on this server so face detection for my home pictures/videos would be good. Yet to find something that has good tpu integration. My realization so far has been much of coral infrastructure has been virtually "abandoned" by google unfortunately. To be fair, what I read about frigate was that intel iGPU now seems to have decent performance with OpenCL drivers, so the advantage difference of TPU could be narrowing. I'm yet to validate that claim, though. Link to comment Share on other sites More sharing options...
deeveedee Posted August 29 Author Share Posted August 29 (edited) Upgrade from Sequoia Beta 7 -> Beta 8 proceeded without issues. Interesting but not surprising result: I used a single display during my Sequoia upgrade. With a single display connected to a UHD630 DP port (no display connected to the RX 560x DP port), About This Mac shows the Graphics as UHD630. With the EFI attached to Post #1, as long as a display is connected to the RX 560x DP port (in single and multi-display configurations), About This Mac shows the Graphics as RX 560x. Edited August 29 by deeveedee 2 Link to comment Share on other sites More sharing options...
deeveedee Posted August 29 Author Share Posted August 29 Does anyone have an M-keyed m.2 2230 NVMe card to test in the second (higher) M.2 slot? I don't have a 2230 card to test, but it appears to me that the shorter 2230 m.2 card may fit in the second m.2 port when our RX 560x is installed. The card will need to "bend" down toward the motherboard (as shown in the diagram below) to clear the RX 560x card, but even when bent down, the m.2 2230 card will maintain full electrical connectivity with the m.2 slot. If the 2230 NVMe card does work in the second m.2 slot, we would just need to figure out a way to secure the card (should be easy). Possible use of m.2 2230 NVMe SSD in second m.2 slot Spoiler 3 Link to comment Share on other sites More sharing options...
ird Posted August 30 Share Posted August 30 (edited) 3 hours ago, deeveedee said: Does anyone have an M-keyed m.2 2230 NVMe card to test in the second (higher) M.2 slot? I don't have a 2230 card to test, but it appears to me that the shorter 2230 m.2 card may fit in the second m.2 port when our RX 560x is installed. The card will need to "bend" down toward the motherboard (as shown in the diagram below) to clear the RX 560x card, but even when bent down, the m.2 2230 card will maintain full electrical connectivity with the m.2 slot. If the 2230 NVMe card does work in the second m.2 slot, we would just need to figure out a way to secure the card (should be easy). Possible use of m.2 2230 NVMe SSD in second m.2 slot Reveal hidden contents I have tried and unfortunately it doesn't fit. Even if it would some fit (I didn't have the courage to force it in), we'd need to insulate the top of the nvme as the underside of the GPU mounting plate is metal and can short bits out on the nvme. EDIT1: If you notice, there is a large indent underneath the dgpu on the backplate for the connector but not where the slot starts. I believe other than hacking the backplate there is no other way. Haven't tried that yet, though. Edited August 30 by ird 1 Link to comment Share on other sites More sharing options...
deeveedee Posted August 30 Author Share Posted August 30 @ird Thank you for testing. I'm not saving this Mini for anything else, so I'm tempted to buy a 2230 NVMe card and modify the dGPU backplate. 3 Link to comment Share on other sites More sharing options...
datafeedexpert Posted August 30 Share Posted August 30 (edited) @deeveedee @ird Has anyone of you tried modifying original usb SSDT Tables to map USBPORTs for this machine?, As i tried many times but don't have success to Map USBs using original USB-SSDT Fetched by Clover boot screen F4 Function. Here i am attaching my works if some one can help to map USBs in original SSDT, I already have a SSDT mapped USB Tables but that are the custom Methods, I want to learn Adding Methods in Original tables. SSDT-4-HP_XHC_P.aml --> Extracted using Xiasl by @ic005k (Original Untouched SSDT) SSDT-4.aml --> Extracted using Clover r5156 F4 Function (Original Untouched SSDT) SSDT-USB-Edited.aml --> tried my self using @dreamwhite Guide (Not Success) SSDT-USB-Alternative --> Tried My self Using @AppleBreak Guide (Not Success) The screenshot have USB types 0x03- USB 2/3 | 0x09-USB Type C With Switch | 0x0A- USB Type C , @cankiulascmnfye Can you please check my work in these SSDT's so i can find where i am mistaken? SSDT-4-HP_XHC_P.aml SSDT-4.aml SSDT-USB-Alternative.aml SSDT-USB-Edited.aml Edited August 30 by datafeedexpert Spel checks 1 Link to comment Share on other sites More sharing options...
deeveedee Posted August 30 Author Share Posted August 30 @datafeedexpert I don't understand your question. Are you saying that you do not want to use USBPorts.kext? If not, why? Link to comment Share on other sites More sharing options...
datafeedexpert Posted August 30 Share Posted August 30 5 hours ago, deeveedee said: @datafeedexpert I don't understand your question. Are you saying that you do not want to use USBPorts.kext? If not, why? I Just want to Learn Modifying original USB Tables. The advantage of using ACPI USB port mapping method. 1 - Kextless 2- USB ports are defined at the ACPI level and is unlikely to break because of future macOS updates 3 - Will work on any SMBIOS 4 - Does not affect other types of operating systems Link to comment Share on other sites More sharing options...
deeveedee Posted August 30 Author Share Posted August 30 (edited) 39 minutes ago, datafeedexpert said: I Just want to Learn Modifying original USB Tables. The advantage of using ACPI USB port mapping method. 1 - Kextless 2- USB ports are defined at the ACPI level and is unlikely to break because of future macOS updates 3 - Will work on any SMBIOS 4 - Does not affect other types of operating systems Lerning is a legitimate reason - I encourage it. #3 and #4 are also true for USBPorts.kext (with a minor change for #3). #2 is unlikely to be a concern (even if there is a future version of macoS for Intel. I'm not trying to dismiss your opinion - just want to make sure I understand why you are doing it. EDIT: Regarding #1, USBPorts.kext is a codeless kext. If you are able, I'd like to understand your perception of the risks and/or disadvantages of using a codeless kext vs. patching ACPI. Over time, I have become very skeptical of the "vanilla" hack argument. Edited August 30 by deeveedee Link to comment Share on other sites More sharing options...
cankiulascmnfye Posted August 30 Share Posted August 30 8 hours ago, datafeedexpert said: @deeveedee @ird Has anyone of you tried modifying original usb SSDT Tables to map USBPORTs for this machine?, As i tried many times but don't have success to Map USBs using original USB-SSDT Fetched by Clover boot screen F4 Function. Here i am attaching my works if some one can help to map USBs in original SSDT, I already have a SSDT mapped USB Tables but that are the custom Methods, I want to learn Adding Methods in Original tables. SSDT-4-HP_XHC_P.aml --> Extracted using Xiasl by @ic005k (Original Untouched SSDT) SSDT-4.aml --> Extracted using Clover r5156 F4 Function (Original Untouched SSDT) SSDT-USB-Edited.aml --> tried my self using @dreamwhite Guide (Not Success) SSDT-USB-Alternative --> Tried My self Using @AppleBreak Guide (Not Success) The screenshot have USB types 0x03- USB 2/3 | 0x09-USB Type C With Switch | 0x0A- USB Type C , @cankiulascmnfye Can you please check my work in these SSDT's so i can find where i am mistaken? SSDT-4-HP_XHC_P.aml 3.28 kB · 0 downloads SSDT-4.aml 3.28 kB · 0 downloads SSDT-USB-Alternative.aml 4.2 kB · 0 downloads SSDT-USB-Edited.aml 3.5 kB · 0 downloads I wrote a pretty extensive guide about to do this about 3 years ago: https://github.com/5T33Z0/OC-Little-Translated/tree/main/03_USB_Fixes/ACPI_Mapping_USB_Ports The bottom line is: if you can't get it to work, start over, or find somebbody who does it for you or use a USB port mapping kext. 2 Link to comment Share on other sites More sharing options...
ird Posted August 31 Share Posted August 31 9 hours ago, datafeedexpert said: I Just want to Learn Modifying original USB Tables. The advantage of using ACPI USB port mapping method. 1 - Kextless 2- USB ports are defined at the ACPI level and is unlikely to break because of future macOS updates 3 - Will work on any SMBIOS 4 - Does not affect other types of operating systems This is a great way to experiment and learn. I haven't done it myself but will certainly keep an eye on the progress you make. I concur with @deeveedee regarding the other point she made - while this is a great learning exercise, I don't think you should expect any performance/vanilla advantage as these tables as well as the codeless kext are loaded pretty much similarly before macOS. The universal SMBIOS sure seems like a genuine advantage though in case you are SMBIOS-hopping quite a bit. Link to comment Share on other sites More sharing options...
deeveedee Posted September 1 Author Share Posted September 1 (edited) I would purchase a m.2 2230 NVMe SSD to test in the second m.2 slot if someone else can suggest a fully tested 2230 card that works with macOS. I have a couple of physical configuration ideas, but won't propose them until I test the physical configurations myself. I see the WD SN740 and KIOXIA BG5 (Apple uses Xioxia brand NVMe in some genuine Macs). The 256GB modules are inexpensive and suitable for testing (if they are fully compatible with macOS). Any recommendations (only fully tested options) would be greatly appreciated. Thank you. EDIT: another option might be creative use of the SATA port (using a mini SATA drive without a SATA drive caddy). Edited September 1 by deeveedee Link to comment Share on other sites More sharing options...
ird Posted September 1 Share Posted September 1 2 hours ago, deeveedee said: I would purchase a m.2 2230 NVMe SSD to test in the second m.2 slot if someone else can suggest a fully tested 2230 card that works with macOS. I have a couple of physical configuration ideas, but won't propose them until I test the physical configurations myself. I see the WD SN740 and KIOXIA BG5 (Apple uses Xioxia brand NVMe in some genuine Macs). The 256GB modules are inexpensive and suitable for testing (if they are fully compatible with macOS). Any recommendations (only fully tested options) would be greatly appreciated. Thank you. EDIT: another option might be creative use of the SATA port (using a mini SATA drive without a SATA drive caddy). I've tested this Dell OEM nvme: Amazon.com: Toshiba(Kioxia) 256GB PCIe NVMe 2230 SSD (KBG40ZNS256G) (OEM), 30mm : Electronics I can't say I've tested this extensively but this works. 1 1 Link to comment Share on other sites More sharing options...
robi39 Posted September 3 Share Posted September 3 (edited) Hi, I'm using the EFI from the 1st post I have the HP Elitedesk 800 G4 35W with the RX560X DGPU installed, everything is working except the Ethernet, I tried to reinstall the IntelMausi kext and changed the order of the kext loading, am I missing something, I attached the EFI I'm using. The Ethernet is working fine in Windows, so it's not a hardware issue Could somebody help me with this. Thank you. efi.zip Edited September 3 by robi39 Link to comment Share on other sites More sharing options...
deeveedee Posted September 3 Author Share Posted September 3 (edited) @robi39 I ran Open Core's ocvalidate on your config.plist and see a bunch of errors. I ran ocvalidate on the config.plist that I provide in my EFI attached to Post #1 and see no errors. Please start again with the EFI I attached to Post #1 (making only the necessary changes for PlatformInfo) and test again. EDIT: @robi39 Also, make sure that your BIOS is configured as specified in my BIOS configuration PDF document attached here. EDIT2: @robi39 I downloaded the EFI attached to Post #1, inserted my private info into config.plist > PlatformInfo and rebooted. I am typing this EDIT from my hack booted with the EFI attached to Post #1. All works perfectly. Edited September 3 by deeveedee 1 Link to comment Share on other sites More sharing options...
Recommended Posts