lukakeiton Posted March 21, 2021 Share Posted March 21, 2021 (edited) Hi everyone! If you have red my Catalina post, you realised it is not a good enough project, so I decided to install High Sierra (10.13.6). Laptop: Acer Aspire 7750g Specs: CPU: Intel Core i7 2670-QM RAM: 8GB DDR3 1333MHz iGPU: Intel HD 3000 dGPU: AMD Radeon HD 6650M 2GB LCD: 17,3" SMBIOS: MacBookPro 8,3 WIFI/BT: Broadcom BCM94352HMB SSD1: 512 GB SSD2: 480GB DVD-RAM/±R/±RW Atheros Gigabit Ethernet Notes: PowerButton must be pressed for 3 seconds, then the menu shows up. Microphone and speakers are working SD Card Reader works All Fn+Key combinations work Battery percentage showed correctly HandOff, Continuity and the rest of features work Sleep works Creating EFI folder Step 1: Kexts and Drivers folders Download OpenCorePkg last release (I use OC 0.6.7 in this guide). Also download these kexts: Lilu VirtualSMC (and SMCProcessor and SMCBatteryManager) AppleALC WhatEverGreen VoodooPS2Controller AtherosL1cEthernet BrcmPatchRAM (BrcmFirmwareData and BrcmPatchRAM2) AirportBrcmFixup mXHCD Copy all of them to Kexts folder. Also download AptioInputFix.efi file and copy it to Drivers folder. Note: HfsPlusLegacy.efi not used, OpenHfsPlus.efi instead. Step 2: ACPI folder SSDT-ACAdapter.aml (Correct ACAD device) https://www.olarila.com/applications/core/interface/file/attachment.php?id=32538 SSDT-BAT0.aml (Correct battery info reading) https://www.olarila.com/applications/core/interface/file/attachment.php?id=32539 SSDT-EC.aml (Create an EC device, preserves EC0 device) SSDT-FNKeys.aml (_Q11 and _Q12 methods for brightness keys map) https://www.olarila.com/applications/core/interface/file/attachment.php?id=32541 SSDT-HPET.aml (Corrected IRQ flags) (You will create later) SSDT-IMEI.aml (Fake IMEI device) (You will create later) SSDT-PM.aml (TurboBoost CPU) (You will create later) SSDT-PNLF.aml (For brightness) (You will create later) SSDT-PowerButton.aml (For Power Button) (Below) SSDT-SBUS-MCHC.aml (Fake SBUS device) (You will create later) SSDT-UIAC.aml (For USB) SSDT-XOSI.aml Step 3: Preparing config.plist Follow Dortania's OpenCore Install Guide for Sandy Bridge Laptop. https://dortania.github.io/OpenCore-Install-Guide/ Renames needed: _Q11 to XQ11 (FNKeys) _Q12 to XQ12 (FNKeys) Rename _BIF to XBIF (BAT0) Rename _BST to XBST BAT0 Rename FANG to XANG (BAT0) Rename FANW to XANW (BAT0) To activate sound, inject 27 layout through DeviceProperties AMD Radeon HD 6650M 2GB Once you arrive at this point, you should have a proper working machine with fully working Intel HD 3000. However, what happens with AMD GPU? HDMI and VGA DO NOT WORK. Windows tasks: Follow installation part from Catalina's guide for installing modded BIOS: EXTRACT VBIOS.ROM Thanks to MrTrucker: https://www.insanelymac.com/forum/topic/277042-amd-radeon-hd-6650m-graphics-enabler-dsdt-hdmi-audio-acer-aspire-7750g-2674g50mnkk-gradients-fixed/?do=findComment&comment=1845018 Once you have VBIOS.rom file, download rom_dsdt_converter.zip and extract it. Then, open cmd, drop rom_dsdt_converter.exe to cmd, type a space and drop VBIOS.rom to cmd. Press Enter and a txt file is created. Open it and delete all "0x" using find and replace. Place txt file to a FAT32 USB and reboot on macOS. macOS tasks: Open IORegistryExplorer and look for "display0" inside "IGPU" device (if you don't use whatevergreen kext, device name is GFX0). Click on child AppleBackLightDisplay, look for IODisplayEDID Value content. We need this. Open you config.plist with a plist editor. Add a new child on DeviceProperties->Add. Select Dictionary class and set key as "PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)". Add following children: (Key | Class | Value) @0,compatible | String | ATY,Ipomoea @0,device_type | String | display @0,display-dual-link | Data | 01000000 @0,display-type | String | LCD @0,name | String | ATY,Ipomoea @1,compatible | String | ATY,Ipomoea @1,connector-type | Data | 00080000 @1,device_type | String | display @1,display-type | String | None @1,name | String | ATY,Ipomoea @2,compatible | String | ATY,Ipomoea @2,connector-type | Data | 10000000 @2,device_type | String | display @2,display-type | String | None @2,name | String | ATY,Ipomoea AAPL,slot-name | String | Slot-1 AAPL00,DualLink | Data | 01000000 AAPL00,override-no-connect | Data | "Paste your IODisplayEDID Value from IORegistryExplorer here without quotes" ATY,bin_image | Data | "Paste your txt content here without quotes" VRAM,totalsize | Data | 00000080 device-id | Data | 41670000 device_type | String | ATY,IpomoeaParent hda-gfx | String | onboard-1 model | String | AMD Radeon HD 6650M 2GB name | String | ATY,IpomoeaParent Go to Kernel->Patch->Add and add three new children as Dictionary. First child: Arch | String | x86_64 Comment | String | AMD Connector Screen Count | Number | 0 Enabled | Boolean | YES Find | Data | 00040000 04030000 00010000 00000000 12040105 00000000 Identifier | String | com.apple.kext.AMD6000Controller Limit | Number | 0 Mask | Data | MaxKernerl | String | MinKernel | String | 16.0.0 Replace | Data | 02000000 40000000 00010000 00000000 10010003 00000000 ReplaceMask | Data | Skip | Data | Second child: Arch | String | x86_64 Comment | String | AMD Connector HDMI Count | Number | 0 Enabled | Boolean | YES Find | Data | 00080000 04020000 00010000 00000000 11020403 00000000 Identifier | String | com.apple.kext.AMD6000Controller Limit | Number | 0 Mask | Data | MaxKernerl | String | MinKernel | String | 16.0.0 Replace | Data | 00080000 00020000 00010000 00000000 11020101 00000000 ReplaceMask | Data | Skip | Data | Last child: Arch | String | x86_64 Comment | String | AMD Connector VGA Count | Number | 0 Enabled | Boolean | YES Find | Data | 10000000 10000000 00010000 00000000 00000002 00000000 Identifier | String | com.apple.kext.AMD6000Controller Limit | Number | 0 Mask | Data | MaxKernerl | String | MinKernel | String | 16.0.0 Replace | Data | 10000000 10000000 00010000 00000000 00000205 00000000 ReplaceMask | Data | Skip | Data | Reboot the computer. Now, if you go to Screen Preferences you can select the screen with specific GPU. Manual switch of graphic cards video SSDT-PowerButton.aml Edited March 22, 2021 by lukakeiton 1 Quote AMD Ryzen 9 3900X ASUS ROG STRIX X570-E GAMING Sapphire Nitro+ Radeon RX 590 8GB CORSAIR Vengeance LPX 32GB DDR4 3600Mhz Link to comment Share on other sites More sharing options...
lukakeiton Posted March 23, 2021 Author Share Posted March 23, 2021 (edited) Why switchable graphics DO NOT work? All MacBookAir and MacBookPro with switchable graphics have a mux chip, changing iGPU to dGPU (or viceversa). Both GC are connected to LVDS directly. However, this laptop has no mux chip, so we CAN'T emulate the behaviour of this chip. If we fake it, it simply does not work. In addition, dGPU of this laptop is connected to iGPU (instead of LVDS connector), that's why we can activate LVDS for dGPU WITHOUT disabling iGPU. The original ACPI code for this chip under _SB.PCI0.LPCB path is: Device (GMUX) { Name (_HID, EisaId ("APP000B")) Name (_CID, "gmux") Name (_STA, 0x0B) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0700, // Range Minimum 0x07FF, // Range Maximum 0x01, // Alignment 0xFF, // Length ) }) Name (_PRW, Package (0x02) { 0x15, 0x03 }) Scope (\_GPE) { Method (_L35, 0, NotSerialized) { Notify (\_SB.PCI0.LPCB.GMUX, 0x80) } } Method (_PSW, 1, NotSerialized) { If (Arg0) { And (\GP22, 0xFB, \GP22) } Else { Or (\GP22, 0x04, \GP22) } } Name (GMGP, 0x35) Method (GMLV, 0, NotSerialized) { Return (GP22) } } In case you have "Name (_HID, EisaId ("APP000B"))" reference on your DSDT, switchable graphics MAY work. Dual Boot: MacOS and Windows ACPI BIOS Error is most probable error you are going to find. This error is due to renames on DSDT, i.e. battery patch. I am preparing a full DSDT solution for dual boot, based on OSYS variable. The main problem I am facing is defining OperationRegions in BAT0 device depending of OSYS value. When the work is finished, I will publish it. PS: Other solution is pressing F12 when power up and select windows partition, not using OpenCore to boot windows. Edited March 23, 2021 by lukakeiton Quote AMD Ryzen 9 3900X ASUS ROG STRIX X570-E GAMING Sapphire Nitro+ Radeon RX 590 8GB CORSAIR Vengeance LPX 32GB DDR4 3600Mhz Link to comment Share on other sites More sharing options...
lukakeiton Posted January 5, 2022 Author Share Posted January 5, 2022 Hi again! I have made some changes to this project and finally it is fully working. Changes: Update OC to 0.7.5 Switch to FakeSMC No battery SSDT needed Dual boot with MacOS High Sierra and Windows 10 Creating EFI folder Step 1: Kexts and Drivers folders Download OpenCorePkg last release. Also download these kexts: Lilu FakeSMC (and FakeSMC plugins) AppleALC WhatEverGreen VoodooPS2Controller AtherosL1cEthernet BrcmPatchRAM (BrcmFirmwareData and BrcmPatchRAM2) AirportBrcmFixup mXHCD ACPIBatteryManager BrightnessKeys ECEnabler USBMapLegacy Copy all of them to Kexts folder. Also download AptioInputFix.efi file and copy it to Drivers folder. Note: HfsPlus.efi not used, HfsPlusLegacy.efi instead. Step 2: ACPI folder SSDT-EC.aml (Create an EC device, preserves EC0 device) SSDT-FNKeys.aml (_Q11 and _Q12 methods for brightness keys map) https://www.olarila.com/applications/core/interface/file/attachment.php?id=32541 SSDT-HPET.aml (Corrected IRQ flags) (You will create later) SSDT-IMEI-S.aml (Fake IMEI device) (You will create later) SSDT-PM.aml (TurboBoost CPU) (You will create later) SSDT-PNLF.aml (For brightness) (You will create later) SSDT-SBUS-MCHC.aml (Fake SBUS device) SSDT-XOSI.aml Step 3: Preparing config.plist Follow Dortania's OpenCore Install Guide for Sandy Bridge Laptop. https://dortania.github.io/OpenCore-Install-Guide/ Renames needed: HPET _CRS to XCRS Rename RTC IRQ 8 Patch TIMR IRQ 0 Patch EHC1 to EH01 EHC2 to EH02 _Q11 to XQ11 (FNKeys) _Q12 to XQ12 (FNKeys) To activate sound, inject 12 layout through DeviceProperties. Add Windows 10 entry to OC Press space on picker screen in OC and select OpenShell.efi Take a screenshoot of your screen (you should see multiple FSX, where X is a number) Type "FSX:" (where X is the number of Microsoft EFI partition). A fast discover is typing "cd EFI/Microsoft", if it exists you have the correct number. Once you have the correct number, go to MacOS, go to Misc->Entries in config.plist and set your correct path. Save and reboot. Note: Remember to set your serial and the rest in PlatformInfo->Generic DOWNLOAD EFI Quote AMD Ryzen 9 3900X ASUS ROG STRIX X570-E GAMING Sapphire Nitro+ Radeon RX 590 8GB CORSAIR Vengeance LPX 32GB DDR4 3600Mhz Link to comment Share on other sites More sharing options...