1,892 posts in this topic
Recently Browsing 0 members
No registered users viewing this page.
So, this little tutorial is meant to help people fix a new issue with Mojave: opening jpg files (looks like it happens with larger files, not so much with smaller ones) using Quick Look (on spacebar key pressed) or Preview app using the dedicated GPUs.
The issue is that, when trying to open jpg files (for some reason, it doesn't occur with pngs), the pop-up window would remain in an endless loop. And from that point forward, any other app trying to open the same file, will either become unresponsive (in the case of the Preview app) or just stay in endless loop (in case of Quick Look)
As a workaround, in case the tutorial below doesn't work for you, you can use Grab (built-in app in MacOS) to open said files.
This issues DOES NOT occur using the iGPU. So...if you're comfortable using the iGPU, just switch to that and you should be good to go. You don't need this tutorial.
This tutorial is based on @Cyberdevs' research and testing on this topic (especially useful if you're using an RX series AMD video card), and my own very limited time testing this on my rig. I just thought it would be useful to create a new thread for it so that people can discuss this particular issue here.
The main thing we need to do is actually very simple: we need to enable the iGPU (integrated GPU) by default, in BIOS, while actually being connected to the dedicated GPU.
With that being said, I'll just move on to the actual tutorial.
New (probably better) method.
Switch your SMBIOS in Clover config in regards to the dedicated GPU you're using, instead of the CPU. Take a look here and choose the corresponding SMBIOS closest to your hardware.
Yeah, that's it.
In case you lose CPU PM with this method, there are multiple ways to fix that, and they do not make the object of this thread. It worked perfectly fine for me though and I didn't need to change anything else.
In case you wanna try alternative medicine ...
For ATI GPUs (curtesy of @Cyberdevs' post here).
The discreet GPU should be set as primary in BIOS and your displays should be connected to your discreet GPU
The iGD/iGPU/iGFX must be enabled in BIOS/UEFI as the secondary GPU.
I removed the DSDT Reconfigured the config.plist to and removed some flags which weren't needed because of the DSDT added the InjectATI + Ornioco Framebuffer (I removed the Orinoco framebuffer because of some weird glitches but it might be useful for other AMD GPUs if you inject the correct framebuffer according to your GPU. No need to inject anything for nVidia GPUs unless your GPU needs it) Added the InjectIntel + ig-platform-id for my intel HD530 (for intel HD 530 I use the 0x19120001 ig-platform-id) Removed com.apple.finder.plist Removed com.apple.QuickLookDaemon.plist rebuild the kextcache and reset the nvram
Steps 5 to 7 might not be necessary I just did them anyway, if anyone succeeded to get quicklook working without those steps let me know so I can exclude those steps.
Also confirmed to work with AMD R9 270X on a SandyBridge rig (without an iGPU) using WhateverGreen + Lilu kexts, which also helped to solve the transparency issue along with the Quick Look problem, it also resolved the buggy Screen Capture (Command+Shift+5) issue as well.
nvram cleanup kextcache & prelinked kernel rebuild reboot More info on that here.
For NVIDIA GPUs
This is what I needed for my NVIDIA rig and the MSI motherboard in the signature. Your milage may vary, depending on your hardware. But, the idea should be the same regardless.
For MSi motherboads (check out my motherboard details in the signature)
Set your BIOS to use PEG (dedicated GPU) so you can boot.
Since you're reading this, chances are that you're already connected to the dedicated GPU and the BIOS is set to PEG. So just go into BIOS and see if you're using the iGPU or the dedicated (PEG) graphics device by default.
If you're already using this, skip to Step 3 (the part AFTER Reboot). Reboot (I think you don't necessarily need to boot into the OS...but you do need to reboot at least until Clover UI) Reboot back into BIOS and set it from PEG to IGD (integrated graphics) WITHOUT removing the cable. Save Reboot again.
The result should be that the OS is tricked into thinking you're booting with the IGPU when in fact you're using the dedicated GPU.
For Gigabyte motherboards
Peripherals -> Initial Display Output -> iGFX Chipset -> Internal Graphics -> Enabled
DVMT Pre-Allocation -> default 64M.
DVMT Total Gfx Mem -> default 256M Save Reboot
You should do this with the cable connected to the dedicated GPU.
You will also need to patch the iGPU from Clover config.
1. Graphics -> Inject Intel (UNCHECK Inject Nvidia or ATI if it's checked).
2. ig-platform-id (in my case for Intel HD 4600 Desktop) it was: 0x0d220003
And use IntelGraphicsFixup.kext in Clover/kexts/Other. In my particular case, without the kext, I would get freezes in Safari.
This might be a bug with Mojave and it could be fixed by Apple in the future. but in the meantime, feel free to use this if it helps you fix the issue.
For HP motherboards (including laptops), so far no solution, unless the BIOS somehow allows to switch from eGPU to iGPU and vice-versa.
Framebuffer patching in Mojave
Binary patching framebuffers in Clover is no longer a viable method in Mojave. The good news is vit9696 and I have created a new framebuffer patching system for Lilu + WhateverGreen.
Not just for Mojave
This method of framebuffer patching is not only required for Mojave we recommend it for all previous and future releases of macOS.
Coffee Lake Users
Please note that the new WhateverGreen will not work with fake Kaby Lake platform-id's. You will need to have either macOS 10.14 Beta 4 (18A336e) or macOS High Sierra 10.13.6 (17G2112). The latter is a special build only available to MacBookPro15,1 or MacBookPro15,2 board id's. You can create a macOS High Sierra 10.13.6 (17G2112) installer by running installinstallmacos.py or download a pre-created installer from here or here.
Lilu + WhateverGreen
WhateverGreen is going to replace all the other video patching plugins for Lilu (it currently has merged WhateverGreen, IntelGraphicsFixup, NvidiaGraphicsFixup, Shiki and CoreDisplayFixup). Others will likely follow (such as AppleALC, HibernationFixup and IntelGraphicsDVMTFixup). This is aiming to be the all-in-one solution for video.
Please note that it is currently in a "beta" state so use it at your own risk. I am just documenting this here for those of you who want to get framebuffer patching now.
Compile Lilu + WhateverGreen
Download WhateverGreen. Make sure you place the debug version of Lilu into the root of WhateverGreen before you compile. Install Lilu and WhateverGreen kext's into the usual place. Compile WhateverGreen as debug if you want to view debug output.
If you can't compile your own please wait for the official binaries to be released soon.
Get the device path of your IGPU:
Download and use the gfxutil tool like so:
$ gfxutil -f IGPU DevicePath = PciRoot(0x0)/Pci(0x2,0x0) We have two different types of patches:
framebuffer-patch-enable (required to enable below) framebuffer-framebufferid (optional; defaults to current platform-id) (all below are optional) framebuffer-mobile framebuffer-pipecount framebuffer-portcount framebuffer-memorycount framebuffer-stolenmem framebuffer-fbmem framebuffer-unifiedmem framebuffer-conX-enable (required to enable below) framebuffer-conX-index framebuffer-conX-busid framebuffer-conX-pipe framebuffer-conX-type framebuffer-conX-flags Find / Replace
framebuffer-patchX-enable (required to enable below) framebuffer-patchX-framebufferid (optional; defaults to current platform-id) framebuffer-patchX-find framebuffer-patchX-replace framebuffer-patchX-count (optional; defaults to 1) You should place your patches in config.plist/Devices/Properties in Clover config.plist.
Here are some example patches:
- 32MB BIOS, 19MB stolen (framebuffer) 9MB fbmem (cursor) 2048MB unifiedmem (vram)
- NOTE: The values are in bytes so you should convert MB to bytes (you can use this online converter)
<key>Devices</key> <dict> <key>Properties</key> <dict> <key>PciRoot(0x0)/Pci(0x2,0x0)</key> <dict> <key>AAPL,ig-platform-id</key> <data>CQClPg==</data> <key>framebuffer-patch-enable</key> <integer>1</integer> <key>framebuffer-stolenmem</key> <integer>19922944</integer> <key>framebuffer-fbmem</key> <integer>9437184</integer> <key>framebuffer-unifiedmem</key> <integer>2147483648</integer> </dict> </dict> </dict> - Pipe / Port Count 3 to 2
- Connector 1 (BusId 0x4) DP to HDMI
- Connector 2 (BusId 0x6) Disable
- NOTE: WhateverGreen will automatically set all connectors from DP->HDMI (you can use -igfxnohdmi boot flag to disable this)
<key>Devices</key> <dict> <key>Properties</key> <dict> <key>PciRoot(0x0)/Pci(0x2,0x0)</key> <dict> <key>AAPL,ig-platform-id</key> <data>CQClPg==</data> <key>framebuffer-patch-enable</key> <integer>1</integer> <key>framebuffer-pipecount</key> <integer>2</integer> <key>framebuffer-portcount</key> <integer>2</integer> <key>framebuffer-con1-enable</key> <integer>1</integer> <key>framebuffer-con1-type</key> <integer>0x00000800</integer> <key>framebuffer-con2-enable</key> <integer>1</integer> <key>framebuffer-con2-type</key> <integer>-1</integer> </dict> </dict> </dict> Here is an example of the Find / Replace method:
<key>Devices</key> <dict> <key>Properties</key> <dict> <key>PciRoot(0x0)/Pci(0x2,0x0)</key> <dict> <key>AAPL,ig-platform-id</key> <data>CQClPg==</data> <key>framebuffer-patch0-enable</key> <integer>1</integer> <key>framebuffer-patch0-find</key> <data>AAAIAAIAAACYAAAA</data> <key>framebuffer-patch0-replace</key> <data>AAAIAAIAAACHAQAA</data> </dict> </dict> </dict> Debugging
If you need a dump of your framebuffers in binary use the boot flag -igfxdump. The output will be in /AppleIntelFramebuffer_GEN_KERNX_Y on your boot drive (Eg. AppleIntelFramebuffer_10_17.7). Intel FB-Patcher can open this file and generate a config.plist/Devices/Properties patch for Clover. 010 Editor can also parse this file using the IntelFramebuffer.bt template.
To get debug output from WhateverGreen please and use the -wegdbg boot flag. You will need to compile WhateverGreen as debug for both of these flags to work.
To view debug output use:
log show --predicate 'process == "kernel" AND (eventMessage CONTAINS "WhateverGreen" OR eventMessage CONTAINS "Lilu")' --style syslog --source --last boot Thanks
Big thanks to vit9696 for all his help implementing this and also writing the amazing Lilu and WhateverGreen plugin. Also thanks to all the other contributors.
Making a bootable High Sierra USB Installer Entirely From Scratch in Windows or Linux Mint (without access to Mac or App Store Installer.app)By fusion71au
Making a High Sierra USB Installer Entirely From Scratch in Windows
This is a proof of concept tutorial, to show it's possible to create a vanilla High Sierra installer, entirely from scratch, in Windows (even without App Store downloaded "Install macOS High Sierra.app" from a real Mac ). @PikeRAlpha's link to Apple's Software Catalog provides us with all the URLs necessary to download the needed files directly from Apple instead of some dubious source from the internet...
8GB or larger USB drive Boot Disk Utility v2.1.2017rev021b from @CVAD TransMac (free 15 day trial) Paragon Hard Disk Manager Free Download Installer Files Directly from Apple
1) Browse Apple's Regular Software Catalog and find the URLs to download the following 6 installer files...
BaseSystem.dmg BaseSystem.chunklist InstallInfo.plist InstallESDDmg.pkg AppleDiagnostics.dmg AppleDiagnostics.chunklist (Hint - search page for "InstallESD" to find its URL and others nearby)
to a folder named "SharedSupport" on your Windows NTFS drive. A browser download manager (eg Chrono for Chrome, dTA for FireFox) is handy since InstallESD is >4GB ---> allows you to pause/resume interrupted download...
2) Rename InstallESDDmg.pkg to InstallESD.dmg
3) Edit InstallInfo.plist with WordPad/text editor to remove the chunklistURL and chunklistid keys for InstallESD, and renaming it from InstallESDDmg.pkg to InstallESD.dmg (example of edited file attached to this post)...
Note: You can verify the SHA1 checksum of your InstallESD.dmg and BaseSystem.dmg with the correct ones at this website.
Boot Disk Utility to format the Installer USB and Restore OS X Base System HFS partition
1. Format USB with BDU & latest Clover ---> creates boot files in CLOVER partition + second FAT partition
2. Extract 4.hfs from \SharedSupport\BaseSystem.dmg with BDU --> save to it's local folder
3. Restore 4.hfs to USB second partition with BDU ---> 2nd partition becomes bootable "OS X Base System"
Paragon Hard Disk Manager to extend HFS Partition to its Full Extent
Open Paragon Partition Manager Free and resize the second partition of the USB drive to the full size allowed. Don't forget to apply the changes at the end...
Transmac to Copy "SharedSupport" folder to OS X Base System
1. Open the TransMac program and navigate to the HFS+ Volume/Install macOS High Sierra.app/Contents folder. Right click anywhere in the empty space on the RHS pane and select "Copy Here"...
2. In the next stage, select the "SharedSupport" folder we created above as the "Files and Folders to be copied to the Mac Volume"...
Clover configuration is required now. The default config.plist (in the Clover FAT32 partition of the USB) maybe sufficient to boot your machine if you’re lucky. If not, look at the Clover Wiki, Clover Instructions and Clover Configuration Thread for pointers and edit /EFI/Clover/config.plist accordingly with Wordpad or Notepad.
The location of the important configuration files for Clover are summarized below
config.plist--->EFI/CLOVER folder DSDT.aml with or without SSDT.aml--->EFI/CLOVER/ACPI/patched (don't need one if your DSDT is auto patched by Clover in config.plist) Kexts eg FakeSMC, NullCPUPowerManagement --->EFI/CLOVER/kexts/<osx version> or /Other. NB BootDiskUtility by default already has FakeSMC.kext installed here. You may need to add VoodooPS2Controller for your laptop keyboard/trackpad to work. If UEFI booting, you will most likely need one of the OsxAptioFixDrv-64 drivers copied from /EFI/CLOVER/drivers-off/drivers64UEFI to /EFI/CLOVER/drivers64UEFI. If you want to use the installer to run High Sierra in Windows on VMware, you can follow my guide to set up the Virtual Machine and replace Clover's default config with EFI_Clover for VMware (which is compatible to run in VMware). In the screenshots below, I have attached the USB Installer (in this case PhysicalDrive7) to my macOS Virtual Machine. Reboot the system to the USB installer to install High Sierra ...
What happens if we don't have access to TransMac or Paragon Hard Disk Manager?
Not a problem, as long as we get "OS X Base System" bootable, we can launch terminal from the Utilities Menu to copy the SharedSupport folder over to the Installer app. In essence, we will build the full installer app = 5GB+ on the target HD eg "Macintosh HD", by copying both the "small" installer app = 15MB (on "OS X Base System") and the SharedSupport folder from the NTFS volume (mounted in this example on /Volumes/DATA)...
-bash-3.2# cd / -bash-3.2# cp -R Install\ macOS\ High\ Sierra.app /Volumes/Macintosh\ HD/ -bash-3.2# cp -R /Volumes/DATA/SharedSupport /Volumes/Macintosh\ HD/Install\ macOS\ High\ Sierra.app/Contents/
...then start installation with the startosinstall utility...
-bash-3.2# /Volumes/Macintosh\ HD/Install\ macOS\ High\ Sierra.app/Contents/Resources/startosinstall --volume /Volumes/Macintosh\ HD --converttoapfs NO --applicationpath /Volumes/Macintosh\ HD/Install\ macOS\ High\ Sierra.app
The above steps can be automated with the attached "startosinstall.command" script, which will assemble "Install macOS High Sierra.app" on "Macintosh HD" and launch the startosinstall utility targeting the "Macintosh HD" volume. Copy/download to "Macintosh HD", then run in terminal (after attaching DATA USB with /Shared Support folder)...
cd "/Volumes/Macintosh HD" chmod +x startosinstall.command ./startosinstall.command Updated Download Links for macOS Mojave 10.14beta
Browse Apple's Public Beta Software Catalog and find the URLs to download the following 6 installer files...
BaseSystem.dmg BaseSystem.chunklist InstallInfo.plist InstallESDDmg.pkg AppleDiagnostics.dmg AppleDiagnostics.chunklist
First... If you need DSDT edits... -Extract tables with F4 key in Clover boot screen! -Run it and send me files! RunMe.app Installation --Create a bootable copy of El Capitan / Sierra / High Sierra / Mojave https://github.com/chris1111/Create-Install-Media/releases --Install Clover in USB stick https://sourceforge.net/projects/cloverefiboot/files/Installer/ --Replace with my Clover folder https://olarila.com/files/Clover.Folder/CLOVER.LGA775.zip --Install EL Capitan / Sierra / High Sierra and boot into system! Post Installation --Install Clover and replace with my folder https://olarila.com/files/Clover.Folder/CLOVER.LGA775.zip --Reboot and activate video! Bingo! Now you need a fine tune! DSDT Time! My DSDT GA P35-DS3 DSDT.MaLd0n.zip Patches -FIX ERRORS AND WARNINGS -HPET -SATA -SLPB -DARWIN -LPC -HDEF -RTC -EHCI -UHCI -IRQs -SBUS -BUS1 -MCHC -ALS0 -SHUTDOWN -LAN -EC -PNLF --Native Power Management
Use Clover, check Generate P and C States
Install .app, select the required permission and reboot. Work in F1 / F2 keys!
*in some cases .app don't work, check patches in config.plist inside Clover folder Post Install
Device HDEF + AppleAlc + Lilu
--install Lan driver by Mieze
-Atheros http://www.insanelymac.com/forum/files/file/313-atherose2200ethernet/ -Intel http://www.insanelymac.com/forum/files/file/396-intelmausiethernet/ -Realtek http://www.insanelymac.com/forum/files/file/88-realtekrtl8111-binary/ --Links -FakeSMC https://bitbucket.org/RehabMan/os-x-fakesmc-kozlek -Audio https://github.com/vit9696/AppleALC http://www.insanelymac.com/forum/topic/293863-applehda-patch-requests/ -Credits and thanks to the old and new people in the community who developed patches, kexts and bootloaders! Slice, Kabyl, usr-sse2, jadran, Blackosx, dmazar, STLVNUB, pcj, apianti, JrCs, pene, FrodoKenny, skoczy, ycr.ru, Oscar09, xsmile, SoThOr, RehabMan, Download-Fritz, Zenit432, cecekpawon, Intel, Apple, Oracle, Chameleon Team, crazybirdy, Mieze, Mirone, Oldnapalm, netkas, Elconiglio, artut-pt, ErmaC, Pavo, Toleda, Master Chief and family, bcc9, The King, PMheart, Sherlocks, Micky1979, vit9696, vandroiy2013, Voodoo Team, Pike R. Alpha, lvs1974, Austere.J, CVad and many, many, many others! We're all here to have fun and learn from each other! ENJOY!