Jump to content
Welcome to InsanelyMac.com - No more ads! And some exciting news... Read more... ×
Mieze

Tracing back the AMD GPU wakeup issue to its origin

365 posts in this topic

Recommended Posts

awesome work.

Would this work for an RX 580 in an Egpu?

Yes, it should work with the Polaris GPUs too.

 

PS: It would be helpful if someone with a Polaris GPU could send me a dump of the GPU's PCI config space created with lspci (or RW-everything under Windows, etc.) so that I can verify the Base Address Register layout.

 

Mieze

Share this post


Link to post
Share on other sites

Yes, it should work with the Polaris GPUs too.

 

PS: It would be helpful if someone with a Polaris GPU could send me a dump of the GPU's PCI config space created with lspci (or RW-everything under Windows, etc.) so that I can verify the Base Address Register layout.

 

Mieze

Hello Mieze!

Good work you began!

This dump contains lspci dump and more for Polaris GPU   #35  

 

We have three issues with Radeon drivers in HackOS

1. Bad GPU registers initialisation. Hope you resolved this.

2. Bad connectors in PC Videocard compared to Apple's framebuffer. If we set Inject=NO then Apple's driver calculates connectors by itself. But not enough for multimonitors.

3. Bad AMDRadeonX4000GLDriver.bundle (not for Hack). It can't be patched by Clover because it is loaded from user space. I may propose to create better bundle with name like AMDRadeonX4001GLDriver.bundle and patch the name somewhere it used.

Share this post


Link to post
Share on other sites

Great work, Mieze

Thank you for sharing your findings

The patch works perfectly on Sapphire Radeon RX580 Nitro+!!

I don't even need to disable IGPU in BIOS, disabling CSM and setting the IGPU as a primary display is enough

The 4K screen is connected to the  Radeon card and I can boot with all debug messages shown on the screen+ Apple Logo  :hysterical:

I can go to sleep - and wake up. 

:thumbsup_anim:

Share this post


Link to post
Share on other sites

Yes, it should work with the Polaris GPUs too.

 

PS: It would be helpful if someone with a Polaris GPU could send me a dump of the GPU's PCI config space created with lspci (or RW-everything under Windows, etc.) so that I can verify the Base Address Register layout.

 

Mieze

Tell me how you do it and I can dump it for you on my MP5,1 with RX 480

Hope this helps

DarwinDumper_3.0.3_21.10_21.46.29_MacPro5,1_Apple_X64_Unknown_17A405_henrybrock.zip

Share this post


Link to post
Share on other sites

Tell me how you do it and I can dump it for you on my MP5,1 with RX 480

Hope this helps

Hello Pavo,

 

thank you for your friendly offer and the link but Slice already posted a link to this dump a few days ago.

 

Mieze

Share this post


Link to post
Share on other sites

I make little and cosmetic modification of your patch to add correct name, apply correct framebuffer and load custom rom. 

 

For rx 580

Device (GFX1)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCIB, PCI_Config, Zero, 0x0100)
                    Field (PCIB, AnyAcc, NoLock, Preserve)
                    {
                        Offset (0x10), 
                        BAR0,   32, 
                        BAR1,   32, 
                        BAR2,   64, 
                        BAR4,   32, 
                        BAR5,   32
                    }

                    Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                    {
                        Store (Package (0x1C)
                            {
                                "AAPL,slot-name", 
                                Buffer (0x07)
                                {
                                    "Slot-4"
                                }, 

                                "@0,name", 
                                Buffer (0x0C)
                                {
                                    "ATY,Orinoco"
                                }, 

                                "@1,name", 
                                Buffer (0x0C)
                                {
                                    "ATY,Orinoco"
                                }, 

                                "@2,name", 
                                Buffer (0x0C)
                                {
                                    "ATY,Orinoco"
                                }, 

                                "@3,name", 
                                Buffer (0x0C)
                                {
                                    "ATY,Orinoco"
                                }, 

                                "@4,name", 
                                Buffer (0x0C)
                                {
                                    "ATY,Orinoco"
                                }, 

                                "ATY,Card#", 
                                Buffer (0x0C)
                                {
                                    "113-4E3531U"
                                }, 

                                "ATY,Copyright", 
                                Buffer (0x33)
                                {
                                    "(C) 1988-2017, AMD Technologies Inc."
                                }, 

                                "ATY,Rom#", 
                                Buffer (0x1D)
                                {
                                    "GV-RX580GAMING-8GD/F10/058AE"
                                }, 

                                "ATY,VendorID", 
                                Buffer (0x02)
                                {
                                     0x02, 0x10                                     
                                }, 

                                "ATY,DeviceID", 
                                Buffer (0x02)
                                {
                                     0xDF, 0x67                                     
                                }, 

                                "device_type", 
                                Buffer (0x12)
                                {
                                    "ATY,OrinocoParent"
                                }, 

                                "model", 
                                Buffer (0x13)
                                {
                                    "RX 580 G1 GIGABYTE"
                                }, 

                                "hda-gfx", 
                                Buffer (0x0A)
                                {
                                    "onboard-1"
                                }
                            }, Local0)
                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                        Return (Local0)
                    }

                    Method (_INI, 0, NotSerialized)  // _INI: Initialize
                    {
                        If (LEqual (BAR5, Zero))
                        {
                            Store (BAR2, Local0)
                        }
                        Else
                        {
                            Store (BAR5, Local0)
                        }

                        OperationRegion (GREG, SystemMemory, And (Local0, 0xFFFFFFFFFFFFFFF0), 0x8000)
                        Field (GREG, AnyAcc, NoLock, Preserve)
                        {
                            Offset (0x6800), 
                            GENA,   32, 
                            GCTL,   32, 
                            LTBC,   32, 
                            Offset (0x6810), 
                            PSBL,   32, 
                            SSBL,   32, 
                            PTCH,   32, 
                            PSBH,   32, 
                            SSBH,   32, 
                            Offset (0x6848), 
                            FCTL,   32, 
                            Offset (0x6EF8), 
                            MUMD,   32
                        }

                        Store (Zero, FCTL)
                        Store (Zero, PSBH)
                        Store (Zero, SSBH)
                        Store (Zero, LTBC)
                        Store (One, GENA)
                        Store (Zero, MUMD)
                    }
                }

                Device (HDAU)
                {
                    Name (_ADR, One)  // _ADR: Address
                    Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                    {
                        Store (Package (0x02)
                            {
                                "hda-gfx", 
                                Buffer (0x0A)
                                {
                                    "onboard-1"
                                }
                            }, Local0)
                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                        Return (Local0)
                    }
                }

for r9 290x

Device (GFX2)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCIB, PCI_Config, Zero, 0x0100)
                    Field (PCIB, AnyAcc, NoLock, Preserve)
                    {
                        Offset (0x10), 
                        BAR0,   32, 
                        BAR1,   32, 
                        BAR2,   64, 
                        BAR4,   32, 
                        BAR5,   32
                    }

                    Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                    {
                        Store (Package (0x1A)
                            {
                                "AAPL,slot-name", 
                                Buffer (0x07)
                                {
                                    "Slot-1"
                                }, 

                                "@0,name", 
                                Buffer (0x0B)
                                {
                                    "ATY,Baladi"
                                }, 

                                "@1,name", 
                                Buffer (0x0B)
                                {
                                    "ATY,Baladi"
                                }, 

                                "@2,name", 
                                Buffer (0x0B)
                                {
                                    "ATY,Baladi"
                                }, 

                                "@3,name", 
                                Buffer (0x0B)
                                {
                                    "ATY,Baladi"
                                }, 

                                "ATY,Card#", 
                                Buffer (0x11)
                                {
                                    "113-C6710101-100"
                                }, 

                                "ATY,Copyright", 
                                Buffer (0x25)
                                {
                                    "(C) 1988-2017, AMD Technologies Inc."
                                }, 

                                "ATY,Rom#", 
                                Buffer (0x36)
                                {
                                    "C67101 HAWAII XT A0 GDDR5 4GB 64MX32 STILT MLU +37.5M"
                                }, 

                                "ATY,VendorID", 
                                Buffer (0x02)
                                {
                                     0x02, 0x10                                     
                                }, 

                                "ATY,DeviceID", 
                                Buffer (0x02)
                                {
                                     0xB0, 0x67                                     
                                }, 

                                "device_type", 
                                Buffer (0x11)
                                {
                                    "ATY,BaladiParent"
                                }, 

                                "model", 
                                Buffer (0x14)
                                {
                                    "R9 290X Asus MATRIX"
                                }, 

                                "hda-gfx", 
                                Buffer (0x0A)
                                {
                                    "onboard-1"
                                }
                            }, Local0)
                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                        Return (Local0)
                    }

                    Method (_INI, 0, NotSerialized)  // _INI: Initialize
                    {
                        If (LEqual (BAR5, Zero))
                        {
                            Store (BAR2, Local0)
                        }
                        Else
                        {
                            Store (BAR5, Local0)
                        }

                        OperationRegion (GREG, SystemMemory, And (Local0, 0xFFFFFFFFFFFFFFF0), 0x8000)
                        Field (GREG, AnyAcc, NoLock, Preserve)
                        {
                            Offset (0x6800), 
                            GENA,   32, 
                            GCTL,   32, 
                            LTBC,   32, 
                            Offset (0x6810), 
                            PSBL,   32, 
                            SSBL,   32, 
                            PTCH,   32, 
                            PSBH,   32, 
                            SSBH,   32, 
                            Offset (0x6848), 
                            FCTL,   32, 
                            Offset (0x6EF8), 
                            MUMD,   32
                        }

                        Store (Zero, FCTL)
                        Store (Zero, PSBH)
                        Store (Zero, SSBH)
                        Store (Zero, LTBC)
                        Store (One, GENA)
                        Store (Zero, MUMD)
                    }
                }

                Device (HDAU)
                {
                    Name (_ADR, One)  // _ADR: Address
                    Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                    {
                        Store (Package (0x02)
                            {
                                "hda-gfx", 
                                Buffer (0x0A)
                                {
                                    "onboard-1"
                                }
                            }, Local0)
                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                        Return (Local0)
                    }
                }

post-916820-0-24004600-1508706389_thumb.png

post-916820-0-42508500-1508706414_thumb.png post-916820-0-13936000-1508706431_thumb.png

post-916820-0-29941900-1508706475_thumb.png

Share this post


Link to post
Share on other sites

I make little and cosmetic modification of your patch to add correct name, apply correct framebuffer and load custom rom. 

 

Yes, iIt can be done this way but it's also possible to let Clover inject these properties. In the end, both methods lead to the same result. Nevertheless, thank you!

 

Mieze

Share this post


Link to post
Share on other sites

Yes, iIt can be done this way but it's also possible to let Clover inject these properties. In the end, both methods lead to the same result. Nevertheless, thank you!

 

Mieze

True, but clover can not load two defriend framebuffer selected by me.  

Share this post


Link to post
Share on other sites

Thank you Mieze

My RX 580 work fine

CSM disable, RX 580 Primary

Only one more thinks - add HDAU in DSDT for HDMI Audio

All great work! :)

Share this post


Link to post
Share on other sites

Just want to confirm, that Miezes patch from first post is working on my config as well. IGPU and CSM completely disabled in BIOS.

just have to make some "preperations" to make a tripple-monitor-setup working and some cosmetic changes as well,

as already Matthew82 has documented.

 

So now, i no longer nee LILU and WhatEverGreen kexts.

Thanx for another incredible work. Love it. Makes my Hackintosh so much easier.

Share this post


Link to post
Share on other sites

Really great, I'm working with two GPU r9 270x and r9 270, on an AMD fx platform, with InjectAti and Framebuffer Futomaki in Clover, and with LILU and WhatEverGreen in kexts 10.12/10.13

 

 

I do not have a selection for IGPU,

but only enable CSM and legacy Vbios,\and inserted inject Ati and Fbuffer into Clover

Mac Pro di carlo.zip

Schermata 2017-10-23 alle 00.19.21.png

Schermata 2017-10-23 alle 00.19.28.png

Schermata 2017-10-23 alle 00.19.28.png

Share this post


Link to post
Share on other sites

@Mieze

 

Thanks a lot for this great solution.

 

Does this method work on Legacy BIOS as well or it only applies to UEFI? 

 

I have an old GA-EP45-DS3R and a Sapphire 7790 GPU which was working with WheteverGreen and Lilu, but ever since macOS High Sierra it's not working anymore. I get the black screen.

 

Thanks again

Share this post


Link to post
Share on other sites

Confirmed working without Whatevergreen.kext on Sapphire Nitro+ RX 580 4GB, High Sierra (10.13). Used SSDT aml provided by slice in clover patched folder. With clover injection System information looks better (shows as RX 480). Without clover injection still works and shows as AMD R9 XXX. Might need some cosmetic DSDT patch to show correct information. Sleep works. I have:

 

1. CSM Disabled

2. IGPU enabled

3. Primary Display PEG

4. ig-platform-id for HD 630 as 0x59120003 for quicksync

5. Lilu.kext and IntelGraphicsFixup.kext for quicksync

 

Everything works fine including hardware decoding by HD 630. SMBIOS used iMac18,3

Share this post


Link to post
Share on other sites

with the patch, on Sapphire nitro+ RX 580 I can get the machine to work on single monitor, however, dual monitor is still not working. dual monitor didn't work with whatevergreen.kext too. Dual monitor works on 10.12.6 but second monitor fails to get signal in 10.13. 

(both monitor connected to DP ports, where ports are DP,DP,HDMI,HDMI, DDVI, both monitor are 4k monitor). 

 

I know some of us have same or similar card and working dual monitor setup. It would be of great help if anyone can give me directions to get my setup working. 

 

Thanks.

Share this post


Link to post
Share on other sites

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By kushwavez
      A really good motherboard with macOS compatible bult-in Wifi & Bluetooth

      ASUS Z170-Deluxe (with Wifi)
      BIOS: v3801
      CPU: i7-6700K 4.0 to 4.2 GHz (w/o OC)
      RAM: 1x 16 GB Corsair DDR4 2400 MHz
      GPU: Intel HD 530 (Headless) & ASUS Radeon RX 5700 OC 8 GB
      Audio: ALC 1150
      Ethernet: I219V2, I211-AT
      WiFi & Bluetooth: Broadcom BCM94360HMB Half-Mini-PCI-E
      More Specs: https://www.asus.com/Motherboards/Z170-DELUXE/specifications/
       
      El Capitan 10.11.6 -> Big Sur 11 - Windows 10
       
      What is working:
      BCM94360HMB Wifi and Bluetooth AirDrop, Handoff, FaceTime, Messages, App Store, iCloud, etc. Intel HD 530 (QE/CI tested, but now I'm using it in headless) Sleep RX 5700 (QE/CI with 2 1080p monitors connected) Sound (all ports) USB Ports Two Ethernet ports macOS with a light OC (4.12 GHz - 4.5 Ghz, XMP, ASUS optimal) ASUS HyperKit and M.2 with a KINGSTON NVMe SSD - 250 GB Hardware decoding/encoding on both HD 530 and RX 5700 (HD 530 up to HEVC, RX 5700 at the time of writing VP9) iGPU only (with QuickSync) is used in the default config.plist To use dGPU for hw decode/encode and also use Intel QuickSync you need to start with "config_headless.plist" This will use iMac17,2 SMBIOS and shikigva=80 To use dGPU only boot with "config_amd.plist" also disable iGPU completely in BIOS. This will use iMacPro1,1 SMBIOS without iGPU System Integrity Protection is Enabled by default. If you need to boot with SIP disabled you may use "config_debug.plist" or disable it manually in Clover settings. If you want Enabled SIP but with allowing unsigned kexts you may boot with "CsrActiveConfig = 0x01"  
      What is not working:
      -  
       
      Not tested:
      Thunderbolt (no equipment)  
      Issues:
      None  
      BIOS Settings:
      Boot\CSM (Compatibility Support Module): Launch CSM: Disabled Boot\Secure Boot: OS type: Other OS Secure Boot State: Disabled Advanced\System agent (sa) Configuration: VT-d: Enabled Graphics Configuration: (This is for HD 530 in headless) Primary Display: Auto (to use dGPU only this must be PEG) iGPU Multi-monitor: Enabled (to use dGPU only this must be Disabled) RC6(Render Standby): Enabled (to use dGPU only this must be Disabled) DVMT Pre-Allocated: 128M Advanced\PCH Storage Configuration: SATA Mode Selection: AHCI HyperKit: Enable (if you have NVMe SSD with ASUS HyperKit) Advanced\CPU Configuration: Intel Virtualization Technology: Enabled CPU- Power Management Control: CPU- C-States: Enabled Intel SpeedShift: Enabled  
      Getting ready for installation:
      Download the bootpack (Clover v5126): Click here -> Z170-DELUXE_Clover_v5126.zip (Tested: El Capitan 10.11.6 -> macOS Big Sur 11.0.1)  
      Installation:
      Create an installer with any method you know (- Mac: createinstallmedia, gibMacOS - Windows: Transmac, Vmware, Win32diskimager, gibMacOS) Copy my Clover folder to the USB's EFI folder Boot with the Installer USB If you have any problem (kp or freeze) boot with config_debug.plist to see what causes the issue  
      Post Installation:
      Download Clover Configurator and generate a new Serial Number for yourself  
      Some pictures:

       
       



       
      El Capitan 10.11.6
       
      Sierra 10.12.6
       
      High Sierra 10.13.6
       
      Mojave 10.14.6
       
      Catalina 10.15.7
       
      Catalina & Windows 10 Dual-Boot (clean install, on one drive):
       Boot into your Mac installer, Create 2 partitions in GUID table (1 for Win (I used FAT32 but I think it doesn't matter what you choose), 1 for Mac)
       Install Mac, boot with your USB, mount your EFI partition (use terminal or an EFI mounter app), create an EFI folder (if there is no folder), copy the CLOVER folder I attached to the EFI folder, restart
      Boot into your Win installer, Format the partition you created for Win, install. 
      Now, it's automatically booting into Windows. To use Clover open cmd in administrator, type: 
      bcdedit /set {bootmgr} path \EFI\CLOVER\CLOVERX64.efi  
      You're done! It will booting into Clover when you start the system, and you can select Win or Mac (or another OS if installed on a 3rd partition).
       
      IF YOU GETTING ERRORS DURING WINDOWS INSTALLATION (could not be formatted, etc):
      Make sure you have GPT partitions, and GPT (UEFI) installer, also disconnect all external storage drives (except the installer USB)  
      Mounting EFI from Windows:
      Open cmd in administrator mode and type: mountvol b: /s (This will mount your EFI) Open Total Commander or Explorer++ in administrator mode to manage EFI mountvol b: /d (This will unmount your EFI)  
      Useful Applications for Mac:
      EFI Mountain Show -> To easily mount your EFI Clover Configurator -> To easily manage your config.plist https://mackie100projects.altervista.org/download-clover-configurator/ PlistEditPro -> Advanced plist editor https://www.fatcatsoftware.com/plisteditpro/ iStat Menus -> To monitoring your devices https://bjango.com/mac/istatmenus/ Boom 3D -> To significantly increase your audio quality https://www.globaldelight.com/boom/ TextMate -> a basic code editor just like Notepad++ on Windows https://macromates.com Modified Wineskin to run basic Windows 32-bit or 64-bit (or DX9 games) applications on Catalina -> https://www.reddit.com/r/MacOS/comments/fobx5t/i_didnt_want_to_boot_windows_every_time_when_i/ MaciASL -> View/Edit your .aml, .dsl files https://bitbucket.org/RehabMan/os-x-maciasl-patchmatic/downloads/ Hackintool -> All useful info, tools in one place https://github.com/headkaze/Hackintool IORegistryExplorer V2.1 -> To view your IO tables https://github.com/vulgo/IORegistryExplorer/releases/tag/v2.1 App Cleaner -> To delete your apps with caches https://freemacsoft.net/appcleaner/ Intel Power Gadget -> To see your frequencies https://software.intel.com/en-us/articles/intel-power-gadget Carbon Copy Cloner -> Advanced macOS drive backup utility https://bombich.com Commander One ->A Total Commander alternative for macOS https://mac.eltima.com/file-manager.html  
      Useful Applications for Windows:
      Total Commander -> To easily manage EFI https://www.ghisler.com gibMacOS -> A python script for downloading/creating macOS Internet Recovery USB from Windows (working internet is needed when installing) https://github.com/corpnewt/gibMacOS mountvol b: /s -> To mount your system drive EFI
      EasyUEFI -> To manage boot orders and any bootloaders with ease https://www.easyuefi.com/index.html
      MiniTool Partition Wizard -> To mount your USB EFI, and manage other drives https://www.minitool.com/partition-manager/
      Notepad++ -> Basic code editor for all type of files https://notepad-plus-plus.org
       
      Notes:
      According to @albertoacj's comment Sidecar is only working in headless iGPU mode when using an AMD GPU, keep that in mind No need to change anything inside Clover from El Capitan to Big Sur For macOS Mojave and older you might need the full AirPortBrcmFixup.kext for full WiFi support   
      Changelog:
      2020.11.12: Noticed that the CPU is always at 4200 Mhz, created an SSDT for proper CPU stepping. Updated to Big Sur release version, updated bootpack
      2020.11.03: Tested El Capitan, Sierra, High Sierra, Mojave, Catalina, Big Sur
      2020.11.01: Updated bootpack to Clover v5126, ready for macOS 11 Big Sur final release
      2020.04.23: Corrected layout-id to use all audio ports, updated bootpack
      2020.04.22: Deleted unnecessary boot-args, can boot without any custom boot-args (except agdpmod=pikera for RX 5700), updated bootpack
      2020.04.20: Deleted unnecessary lines from config.plist, updated bootpack
      2020.04.17: Replaced FakeSMC with VirtualSMC because FakeSMC is outdated (to see your frequencies use Intel Power Gadget) -> Removed unnecessary kexts, Updated all necessary kexts, updated Clover to v5112, updated bootpack, enabled SIP, deleted bootcamp theme
      2020.03.26: Updated to 10.15.4 -> Updated WhateverGreen, Lilu -> Updated Clover to v5107
      2020.03.23: Removed "EmuVariableUefi.efi" -> deleted, caused false nvram map, now it's native, updated Clover to v5106
      2020.02.11: Updated to 10.15.3 -> No problem when/after installing
      2020.01.19: Added ASUS HyperKit NVMe SSD to the "What is working" list
      2020.01.12: Tested system with OC, added more informations to BIOS settings
      2020.01.11: Added SmallTreeIntel82576.kext for 2nd Ethernet, Tested Ethernet ports
      2020.01.11: First upload
       
    • By kushwavez
      Acer Aspire V15 V5-591G - macOS Sierra 10.12.6 - Big Sur 11
      Running Big Sur 11.0.1!
      (Sierra, High Sierra and Mojave needs "SATA-100-series-unsupported.kext" and unmodified "AirPortBrcmFixup.kext")
       
      (Note: mine is 55TU version, but the bootpack will work fine with another versions of 591G, for example: V5-591G-71K2, -764Z, -59PU, etc.)
      Specifications:
      Motherboard: USOPP_SLS (Skylake-H PCH) BIOS: Insyde Corp. v 1.15 CPU: Intel Core i5-6300HQ 2.3 GHz (Skylake) GPU: NVIDIA GeForce GTX 950M 2 GB (Optimus) & Intel HD Graphics 530 RAM: 16 GB DDR4 (2x 8 GB SAMSUNG 2133 MHz) WiFi + Bluetooth: Qualcomm Atheros QCNFA344A 5 GHz (Later -> Broadcom BRCM94352Z M.2 5 GHz WiFi + 4.0 Bluetooth) Audio: Realtek HD Audio: ALC 255  Ethernet: Realtek RTL8168/8111 Card Reader: Realtek USB 2.0 Card Reader (USB2.0-CRW) Webcam: HD Webcam HDD: TOSHIBA 500 GB HDD SSD: KINGSTON A2000 NVMe PCI-e SSD (if you want Windows dual-boot then you need M.2 SATA SSD since NVMe will not work on Windows due interfering with NVIDIA GTX 950M (bluescreen when loading drivers)) Display: 1366x768 (15.6", Matte) Battery: 6 cell 56Wh / 5040mAh Connectors:  1x SD Card Reader 2x USB 3.0 (1x USB Charging), 1x USB 2.0 1x VGA 1x HDMI 1x 3.5mm microphone/audio combined jack connector 1x Ethernet (Rj-45) Keyboard & Touchpad: Multi-Touch & Multi-gestures ELAN 501 Touchpad, Backlight Keyboard. Working:  
      Wi-Fi (with BCM94352Z) Bluetooth hand-off (With BCM94352Z) Full Graphics Acceleration Display: if default colour profile is corrupted (blue is not actual blue but purplish) Use "Rec. ITU-R BT. 709-5" Color Profile (System Pref. -> Displays -> Color) HDMI & VGA Outputs Audio  Ethernet  App Store, Messages, FaceTime, Siri, iCloud Integrated webcam 3.0 USB Touchpad and Keyboard (with working gestures and Fn+Brightness keys) Battery info Sleep Mode NVMe PCI-e x4 SSD Power Management Hardware decoding/encoding (up to HEVC) Not working:
      Original Wi-Fi (Qualcomm Atheros QCNFA344A):  Only Bluetooth is working, Wifi is unsupported, changed to Broadcom BCM94352Z NVIDIA GeForce GTX 950M: Optimus not supported. Card Reader: Unsupported For Wi-Fi:
      1st method: You can choose an external USB wifi dongle (I used TP-Link Archer T1U (5GHz support), TP-Link has official macOS drivers, you just need to install it 2nd and best method: Replace your M.2 Qualcomm Card with a compatible BCM94352Z card (you will have hand-off Bluetooth too), just install the kexts (enabled with BrcmFirmwareRepo, BrcmPatchRAM3, AirportBrcmFixup kexts they're all in my attached zip). Or buy BCM94360NG for OOB support. You could buy these cards from ebay, aliexpress, or amazon Issues:
      - Sometimes Combo Jack audio is not working after sleep
      Not tested:
      - Hibernation
      - FileVault
      BIOS Settings:
      - BIOS version 1.15 (irrelevant)
      - Secure Boot: Disabled
      - Touchpad: Advanced
      - Boot mode: UEFI
      Getting ready for Installation:
       Download the install zip (bootpack & postinstall):  Click here (v5126) -> Acer_Aspire_V5-591G_Clover_v5126.zip (Tested: Sierra 10.12.6 -> macOS Big Sur 11.0.1)
      Installation:
      - Create an installer with any method you know (- Mac: createinstallmedia, gibMacOS - Windows: Transmac, Vmware, Win32diskimager, gibMacOS)
      - Copy my Clover folder to the USB's EFI folder
      - Boot with the Installer USB
      - If you stuck in boot, reboot and in the Clover bootloader select "config_debug.plist" -> you'll have more informations about the freeze
      - To disable SIP boot with "config_debug.plist"
       
      Please open the README.pdf in my install zip for more informations about the USB Installer & Post installation!
      If you have a single RAM and getting panic at boot, then you need to edit the "config.plist" with these (SMBIOS->after "Version 1.0"):
      ->Edit "Frequency" and "Size" to match your RAM values
      <key>Version</key> <string>1.0</string> <key>Memory</key> <dict> <key>Channels</key> <integer>1</integer> <key>SlotCount</key> <integer>1</integer> <key>Modules</key> <array> <dict> <key>Slot</key> <integer>0</integer> <key>Size</key> <integer>8192</integer> <key>Frequency</key> <integer>2133</integer> <key>Type</key> <string>DDR4</string> </dict> </array> </dict> </dict> Before updating to a new version of macOS please update kexts (and clover if necessary) to newer versions to avoid kernel panics.
      Generate a serial number with Clover Configurator.app (open up your config.plist with CC then -> SMBIOS -> Serial Number -> Generate New)
      Here some pictures:

       
      Running fine on Big Sur 11.0.1 
       

      Finally a fully working touchpad.
       
      Sierra 10.12.6
       
      High Sierra 10.13.6
       
      Mojave 10.14.6
       
      Catalina 10.15.7
      macOS & Windows 10 Dual-Boot:
      Dual-boot clean install (on one drive), UEFI Only:
       
       Boot into your Mac installer, Create 2 partitions in GUID table (1 for Win (I used FAT32 but I think it doesn't matter what you choose), 1 for Mac),   Install Mac, boot with your USB, mount your EFI partition (use terminal or an EFI mounter app), create an EFI folder (if there is no folder), copy the CLOVER folder I attached to the EFI folder, restart,  Boot into your Win installer, Format the partition you created for Win, install.   Now, it's automatically booting into Windows. To use Clover open cmd in administrator, type:  bcdedit /set {bootmgr} path \EFI\CLOVER\CLOVERX64.efi  
            5.  You're done! It will booting into Clover when you start the system, and you can select Win or Mac (or another OS if installed on a 3rd partition).
       
      IF YOU GETTING ERRORS DURING WINDOWS INSTALLATION (could not be formatted, etc):
      Make sure you have GPT partitions, and GPT (UEFI) installer, also disconnect all external storage drives (except the installer USB)  
      IF YOU CAN'T MOUNT YOUR EFI PARTITION (No EFI partition found):
      It's because your EFI is not 200 MB or not an "Apple" original EFI,  but don't worry, try another EFI mounter, or mount from terminal (I used EFI Mountain Show: Getting errors, but you can mount and use without problem) You also could "mount" the EFI from Windows: 1st method: open cmd in administrator mode and type:
      diskpart list vol (Now select the "System" volume,(FAT 32) For example I select 4) sel vol 4 list part (Select System type partition, for example 2) sel part 2 assign letter=b (This will "mount" your EFI partition) Open Explorer++ in administrator mode to manage EFI
      remove letter=b (This will "unmount" your EFI) 2nd method: open cmd in administrator mode and type:
      mountvol b: /s (This will mount your EFI) Open Explorer++ in administrator mode to manage EFI
      mountvol b: /d (This will unmount your EFI) Useful Applications for Mac:
      EFI Mountain Show -> To easily mount your EFI Clover Configurator -> To easily manage your config.plist https://mackie100projects.altervista.org/download-clover-configurator/ PlistEditPro -> Advanced plist editor https://www.fatcatsoftware.com/plisteditpro/ iStat Menus -> To monitoring your devices https://bjango.com/mac/istatmenus/ Boom 3D -> To significantly increase your audio quality https://www.globaldelight.com/boom/ TextMate -> a basic code editor just like Notepad++ on Windows https://macromates.com Modified Wineskin to run basic Windows 32-bit or 64-bit (or DX9 games) applications on Catalina -> https://www.reddit.com/r/MacOS/comments/fobx5t/i_didnt_want_to_boot_windows_every_time_when_i/ CrossOver 20 -> Run DirectX 11 applications on Catalina=< https://www.codeweavers.com/crossover/ MaciASL -> View/Edit your .aml, .dsl files https://bitbucket.org/RehabMan/os-x-maciasl-patchmatic/downloads/ Hackintool -> All useful info, tools in one place https://github.com/headkaze/Hackintool IORegistryExplorer V2.1 -> To view your IO tables https://github.com/vulgo/IORegistryExplorer/releases/tag/v2.1 App Cleaner -> To delete your apps with caches https://freemacsoft.net/appcleaner/ Intel Power Gadget -> To see your frequencies https://software.intel.com/en-us/articles/intel-power-gadget Carbon Copy Cloner -> Advanced macOS drive backup utility https://bombich.com Commander One -> A Total Commander alternative for macOS https://mac.eltima.com/file-manager.html  
      Useful Applications for Windows:
      Total Commander -> To easily manage EFI https://www.ghisler.com mountvol b: /s -> To mount your system drive EFI EasyUEFI -> To manage boot orders and any bootloaders with ease https://www.easyuefi.com/index.html MiniTool Partition Wizard -> To mount your USB EFI, and manage other drives https://www.minitool.com/partition-manager/ Notepad++ -> Basic code editor for all type of files https://notepad-plus-plus.org gibMacOS -> A python script for downloading/creating macOS Internet Recovery USB from Windows (working internet is needed when installing) https://github.com/corpnewt/gibMacOS  
       
      Notes:
      For Sierra, High Sierra, Mojave you need to download and use the full AirPortBrcmFixup.kext for WiFi, and replace CtlnaAHCIPort.kext with SATA-100-series-unsupported.kext for AHCI Sata drives For Sierra only you need to replace SMCBatteryManager.kext with ACPIBatteryManager.kext for working Battery indicator  
      Changelog:
      2020.11.12: Touchpad now fully functional with gestures, Patched Fn+Brightness keys (Fn+Left, Fn+Right), repatched DSDT, changed SMBIOS to MacBookPro13,1 for better support, fixed CPU Stepping, fixed some wrong lines in config.plist, updated to Big Sur release, updated bootpack, updated guide. 2020.11.03: Tested macOS Sierra, High Sierra, Mojave, Catalina, Big Sur, updated guide 2020.11.01: Initial upload
    • By shantur
      Hi,
       
      I am trying to passthrough FirePro D700 gpu to MacOS Catalina VM in ESXi running on MacPro6,1.
      I have tried normal MacOS VM with ESXi it didn't work. After deep inspection and research I found out that ESXi doesn't provide the VBIOS to MacOS VM and hence no way of MacOS to read information about the GPUs.
       
      After researching more I found out that with SSDT i could inject VBIOS via "ATY,bin_image" property. I extracted VBIOS with DarwinDumper and created SSDT. I installed OpenCore to add this SSDT and enabled WhateverGreen and Lilu. Now IORegistry shows that I have bios for my GPU but still there is no output on any of my ports.
       

       
      I am trying to inject more properties but no luck.
      I have attached my OpenCore folder and IOReg from the VM below.
      Has anyone ever attempted something similar? Any help or pointers how can I implement this?
       
      PS : Just to let you know I can make this work with Proxmox as it allows an option to inject GPU vbios but need ESXi for compatibility purposes.
      MacOSVM.ioreg.zip
      OC.zip
    • By kokozaurs
      Hi all,
       
      I'm using ESXI 7.0b (did use 6.7 to try but with no difference).
       
      Right now on Catalina but I can't seem to try to get GPU (RX580) working properly.
       
      I pass it through to the VM(tried with windows before with no problems) and it appeared just as pci-device with no name.
       
      After that, I've applied whatevergreen + lilu kexts and it does properly recognize it under system report however that's all there is. It's listed at GFX0. See attached images.
       
      No hardware acceleration. Monitor also not turning on using either DP/HDMI. 
       
      Since it is being passed through to the VM, it seems that the problem is not on ESXi side but on macOS side. 
       
      Has anyone has been able to pass through an AMD GPU to ESXI VM? Can anyone suggest some pointers as to where I could find some solutions to this problem?
       
      Thanks! 
       
       



×