Contribute
Register

[README] Common Problems and Workarounds on 10.14 Mojave

Sniki

Moderator
Joined
Jan 5, 2016
Messages
1,352
Motherboard
Lenovo V330 - 15IKB
CPU
i5-8250U
Graphics
UHD 620 /1920x1080
Mobile Phone
iOS
Common Problems and Workarounds on 10.14 Mojave

This is a thread where we collected common problems, changes, fixes and also workarounds for some problems that are present on macOS Mojave. (more sections to be added, work in progress)

This is not a troubleshooting thread !
If you have any related issue, open a separate thread on the correct forum.

Special notes for Clover Bootloader
Clover Bootloader r4515 or later is required in order to install or use macOS Mojave 10.14.0
In general i would suggest everyone to use @RehabMan builds of Clover Bootloader as they are more optimized for Laptop usage and even for Desktops.

Link to Rehabman builds of Clover Bootloader: Github or to go straight to download section of the builds: Bitbucket
For users who prefer official Clover Bootloader releases: Sourceforge
For early alpha and beta testers you can get the daily clover builds listed here: Clover daily builds


Unsupported hardware and workarounds
Apple has removed support for some older machines (laptops and desktops) on macOS Mojave.
A general list of removed support is:
- 1st gen Intel CPUs (Arrandele)
- 2nd gen Intel CPUs (Sandy Bridge)
- All Graphic cards that do not support Metal

There are some ways to install macOS Mojave even in unsupported hardware, as an example for this we will take my Lenovo B570e Laptop which is a Sandy Bridge Core i5 CPU with Intel HD3000
For this laptop i always used the MacBook Pro 8.1 SMBIOS (MacBook Pro early/mid/late 2011) which is unsupported anymore,
As i read on forums, adding the -no_compat_check boot flag into your config.plist should skip compatibility check and allow the installation to proceed, however you will still have no Graphics Acceleration QE/CI and even some App Store applications will recognize the laptop as unsupported and you won't be able to install that specific application.
So another method that i personally used is to change my SMBIOS from "MacBookPro 8.1" to "MacBookAir 5.1" which seems to work all fine and haven't noticed it affecting something like any issue due to that change. YMMV.
That should solve the installation and App Store usage but we still have no Graphics Acceleration QE/CI.
To get Graphics Acceleration QE/CI you need to get the Sierra 10.12.x
Kexts & installation steps can be found at this post: https://www.tonymacx86.com/threads/success-lenovo-b570e.255129/page-2#post-1770059

There is one issue with light theme where taskbar is greyed out but as a workaround you can use the new Dark theme.
Another possible solution for the greyed menu bar is to try "NoVPAJpeg" from vulgo: https://github.com/vulgo/NoVPAJpeg
You can download it by clicking on the releases page of his Github: https://github.com/vulgo/NoVPAJpeg/releases
It is a Lilu plugin that disables the hardware JPEG decoding feature of the AppleVPA framework that breaks Preview and Quicklook on some systems.
In our case it might fix the greyed out menu bar, haven't personally tested it, YMMV.


Audio
Apple has removed a lot of Layouts from the AppleHDA.kext on macOS Mojave.
As a result, all of you using those removed layouts on your patched AppleHDA.kext or Custom AudioInjector kext will need to switch to the available layouts which are listed in the picture below:
Layouts.png
Layout IDs that Apple removed on macOS Mojave are:
Layout1,3,8,9,11,12,13,18,22,23,24,25,26,27,28,29,30,31,32,34,36,37,38,39,41,42,43,44,45,46,47,48,49,50, etc.
So all of you using one of these removed layouts, use one from the list in the picture to get Audio working.

Currently, the best Audio solution for macOS is to use AppleALC as the list of supported Codecs is very big and in most cases you would find an existing audio patch for you codec, keep in mind that some codecs still need EAPD Codec Commander to work after wake from sleep etc.
Link to the AppleALC repository is: https://github.com/acidanthera/AppleALC
You can download it from the releases page of the Github: https://github.com/acidanthera/AppleALC/releases

Link to EAPD Codec Commander repository: https://github.com/RehabMan/EAPD-Codec-Commander
Download link: https://bitbucket.org/RehabMan/os-x-eapd-codec-commander/downloads/


Graphics
Framebuffer patching with config.plist /KernelandKextPatches/KextsToPatch on macOS Mojave is not reliable anymore.
At the same time, graphics configuration was a mess till now with many kexts, many configurations and many issues.
As a fix for that all the previously used kexts like:

- IntelGraphicsFixup.kext
- IntelGraphicsDVMTfixup.kext
- Shiki.kext
- NvidiaGraphicsFixup.kext
- CoreDisplayFixup.kext

Have been merged into WhateverGreen.kext so that way we have a Universal complete solution for Graphics.
Thanks to @headkaze we now have a complete guide to patch Graphics which i linked down below:
https://www.tonymacx86.com/threads/guide-intel-framebuffer-patching-using-whatevergreen.256490/

He also created a tool "Intel FB-Patcher" to make the entire process easier for you to patch Graphics:
https://www.tonymacx86.com/threads/release-intel-fb-patcher-v1-6-5.254559/page-33#post-1855089

Problems with Kaby Lake Graphics
There are some currently known issues with Kaby Lake graphics:
- Connecting HDMI display or TV causes the Internal Display of the laptop to have very low refresh rate "look like" and laggy cursor.
- Unplugging the HDMI display or TV will leave your internal display of the laptop stay black and you will be forced to Hard Reboot by holding power button and then to boot again.
- Shadows, Backgrounds, Blurry images and Windows will appear pixelated and ugly looking.

Thanks to @RehabMan we have a solution for this by using Skylake Spoof.
As an example for this i will take my Lenovo V330-15IKB (KabyLake R) laptop.
In normal cases i would use AAPL, ig-platform-id 0x591B0000 or 0x59160000, which used to work fine in macOS High Sierra 10.13.6, prior to 10.13.6 i also needed a patched EDID to fix the issues listed above.

Now thanks to WhateverGreen.kext this process is much easier, all we have to do is to use: lilucpu=8 kernel flag by adding it into config.plist /Boot/Arguments

Next step is to change AAPL, ig-platform-id and device-id to skylake laptop
- from 0x59160000 / 0x591B0000 to 0x1916000
Here is an example in the picture down below:
Skylake Spoof.png
Save changes to the config.plist and reboot.
Enjoy !


APFS conversion workaround
Apple has removed the options that we had to avoid APFS conversion and instead continue installation on HFS+J like:
"startosinstall" "mininstallconfig" & PlistBuddy.
Also it seems that now apfs is supported on regular harddrives and they do get converted to apfs during installation as well.

Here are some currently known alternatives:
1. Make backup with Carbon Copy Cloner (CCC) app format drive to HFS+J and restore the backup.
2. Convert the APFS partition to HFS+J with this application: https://www.paragon-software.com/home/apfs-hfs-converter/
3. Removing Harddrive/SSD and installing macOS externally with a USB to SATA cable (seems that it avoids APFS conversion).
4. Patching Installer, up to you to find this method as it's against the rules of tonymacx86


Problem Reporting
It is impossible to diagnose a problem without data that shows how your system is configured.

Also, impossible to analyze any data that you might provide without a clear understanding of your hardware. So make sure your profile is filled as per the first question in this FAQ, "Q. Where do I start?".

If you can't boot, a bare minimum is:
- Boot verbose, attach photo
- Attach EFI/Clover folder as ZIP (press F2 then F4 at main Clover screen just before collecting). Please eliminate 'themes' directory. Provide only EFI/Clover, not the entire EFI folder.

Note: Some laptops swap Fn+Fx for Fx. For those laptops, press Fn+F2 then Fn+F4. If you're not sure, press F2, then F4, then Fn+F2, then Fn+F4. You can also verify by pressing F1 (or Fn+F1) to see which one brings the menu.

If you can boot, but are having some other problem, describe the problem clearly and provide data...

Download patchmatic: https://bitbucket.org/RehabMan/os-x-maciasl-patchmatic/downloads/RehabMan-patchmatic-2015-0107.zip
Extract the 'patchmatic' binary from the ZIP. Copy it to /usr/bin, such that you have the binary at /usr/bin/patchmatic.

In terminal,
Code (Text):
Code:
if [ -d ~/Downloads/RehabMan ]; then rm -R ~/Downloads/RehabMan; fi
mkdir ~/Downloads/RehabMan
cd ~/Downloads/RehabMan
patchmatic -extract
Note: It is easier if you use copy/paste instead of typing the commands manually.

Attach contents of Downloads/RehabMan directory as ZIP.

Attach ioreg as ZIP: http://www.tonymacx86.com/audio/58368-guide-how-make-copy-ioreg.html. Please, use the IORegistryExplorer v2.1 attached to the post! DO NOT reply with an ioreg from any other version of IORegistryExplorer.app.

Provide output (in Terminal):
Code (Text):
Code:
kextstat|grep -y acpiplat
kextstat|grep -y appleintelcpu
kextstat|grep -y applelpc
kextstat|grep -y applehda
ls -l /System/Library/Extensions/AppleHDA.kext/Contents/Resources/*.zml*
pmset -g assertions
pmset -g
system_profiler SPSerialATADataType|grep TRIM
Attach EFI/Clover folder as ZIP (press F2 then F4 at main Clover screen just before collecting). Please eliminate 'themes' directory. Provide only EFI/Clover, not the entire EFI folder.

Note: Some laptops swap Fn+Fx for Fx. For those laptops, press Fn+F2 then Fn+F4. If you're not sure, press F2, then F4, then Fn+F2, then Fn+F4. You can also verify by pressing F1 (or Fn+F1) to see which one brings the menu.

For 10.11 and later, attach output of (in Terminal):
Code (Text):
Code:
sudo kextcache -i /
Older versions:
Code (Text):
Code:
sudo touch /System/Library/Extensions && sudo kextcache -u /
Compress all files as ZIP. Do not use external links. Attach all files using site attachments only.


Q. Is there a script that will collect all Problem Reporting data automatically?

Yes! (almost)

User @black.dragon74 has created a script that automates most of the "Problem Reporting" tasks (as described in the previous question).

The part it cannot do is pressing F2 and F4 for you at the main Clover screen.
And of course, it only works for the case you can boot into your system. If you have a problem booting, you must obtain and collect the verbose boot photo manually (and EFI/Clover).

Full details are here:
https://www.tonymacx86.com/threads/tool-generate-proper-problem-reporting-files.235953/
 
Last edited:

RehabMan

Moderator
Joined
May 3, 2012
Messages
191,714
Motherboard
Intel DH67BL
CPU
Core i7-2600K
Graphics
Intel HD 3000
Mac
MacBook Air
Mobile Phone
iOS
@RehabMan i kept trying all day long on booting macOS Mojave Public Beta 2 and i kept failing, i checked InsanelyMac forums too but propably no one on KabyLake R tried Public Beta 2 yet or at least with 32mb dvmt.

macOS Mojave Public Beta 2 changes the MinStolenSize Patches, after two days of attempting, i thought that this should be the only issue that i failed to boot my Lenovo V330-15IKB with Intel UHD 620 Graphics.

Checked Framebuffers with HexFiend and results were positive.

So far i haven't seen someone post them so i guess i deserve the credits (checked the insanelymac forums as well just to assure i don't take credits if already someone posted them but i couldn't find anyone that posted them).

Here are the new Patches:
macOS Mojave Public Beta 2
Disable minStolenSize less or equal fStolenMemorySize assertion, 10.14 PB2 Credits (Sniki)​

KabyLake:
Name: com.apple.driver.AppleIntelKBLGraphicsFramebuffer
Find: 764648FF 05225508
Replace: EB4648FF 05225508
SkyLake:
Name: com.apple.driver.AppleIntelSKLGraphicsFramebuffer
Find: 764048FF 05F1E907
Replace: EB404FF 05F1E907
Broadwell:
Name: com.apple.driver.AppleIntelBDWGraphicsFramebuffer
Find: 764048FF 05422B06
Replace: EB4048FF 05422B06

@RehabMan as far as i analyzed the framebuffers kexts for the 3 respective Graphics platforms in hexfiend, i noticed that the code after "05" value is unnecessary since the first part of the patches that i highlighted with bold text:
KabyLake:
Name: com.apple.driver.AppleIntelKBLGraphicsFramebuffer
Find: 764648FF 05225508
Replace: EB4648FF 05225508

SkyLake:
Find: 764048FF 05F1E907
Replace: EB404FF 05F1E907

Broadwell:
Name: com.apple.driver.AppleIntelBDWGraphicsFramebuffer
Find: 764048FF 05122B06
Replace: EB4048FF 05122B06

are values that are present only in a single place on the binary files of the framebuffers, therefore the code after 05 that was present on previous betas of macOS Mojave "minstolensize" patches was/is unnecessary as & changes with betas which causes trouble to find the other patch for the other beta ,etc. so the part of the code till 05, is enough and should make a updateproof patch. (based on previous beta cycles).

So in short words, my "MinStolenSize" patches should work across all macOS Mojave Betas and so the patches are:

macOS Mojave "MinStolenSize" / DVMT-prealloc Patches


KabyLake:
Comment: Disable minStolenSize less or equal fStolenMemorySize assertion, 10.14 Credits (Sniki)
Name: com.apple.driver.AppleIntelKBLGraphicsFramebuffer
Find: 764648FF 05
Replace: EB4648FF 05

SkyLake:
Comment: Disable minStolenSize less or equal fStolenMemorySize assertion, 10.14 Credits (Sniki)
Name: com.apple.driver.AppleIntelSKLGraphicsFramebuffer
Find: 764048FF 05
Replace: EB4048FF 05

Broadwell:
Comment: Disable minStolenSize less or equal fStolenMemorySize assertion, 10.14 Credits (Sniki)
Name: com.apple.driver.AppleIntelBDWGraphicsFramebuffer
Find: 764048FF 05
Replace: EB4048FF 05
Austere.J posted the same patches, but because they captured more bytes than your shortened, they are specific to each build.

Shortening like you did causes no false-positives (currently), so seems reasonable...
 
Joined
Apr 20, 2017
Messages
23
Motherboard
h110m-h-cf
CPU
i3 7100
Graphics
HD630 / GTX 1060
Mobile Phone
Android, iOS
@RehabMan i kept trying all day long on booting macOS Mojave Public Beta 2 and i kept failing, i checked InsanelyMac forums too but propably no one on KabyLake R tried Public Beta 2 yet or at least with 32mb dvmt.

macOS Mojave Public Beta 2 changes the MinStolenSize Patches, after two days of attempting, i thought that this should be the only issue that i failed to boot my Lenovo V330-15IKB with Intel UHD 620 Graphics.

Checked Framebuffers with HexFiend and results were positive.

So far i haven't seen someone post them so i guess i deserve the credits (checked the insanelymac forums as well just to assure i don't take credits if already someone posted them but i couldn't find anyone that posted them).

Here are the new Patches:
macOS Mojave Public Beta 2
Disable minStolenSize less or equal fStolenMemorySize assertion, 10.14 PB2 Credits (Sniki)​

KabyLake:
Name: com.apple.driver.AppleIntelKBLGraphicsFramebuffer
Find: 764648FF 05225508
Replace: EB4648FF 05225508
SkyLake:
Name: com.apple.driver.AppleIntelSKLGraphicsFramebuffer
Find: 764048FF 05F1E907
Replace: EB404FF 05F1E907
Broadwell:
Name: com.apple.driver.AppleIntelBDWGraphicsFramebuffer
Find: 764048FF 05422B06
Replace: EB4048FF 05422B06

@RehabMan as far as i analyzed the framebuffers kexts for the 3 respective Graphics platforms in hexfiend, i noticed that the code after "05" value is unnecessary since the first part of the patches that i highlighted with bold text:
KabyLake:
Name: com.apple.driver.AppleIntelKBLGraphicsFramebuffer
Find: 764648FF 05225508
Replace: EB4648FF 05225508

SkyLake:
Find: 764048FF 05F1E907
Replace: EB404FF 05F1E907

Broadwell:
Name: com.apple.driver.AppleIntelBDWGraphicsFramebuffer
Find: 764048FF 05122B06
Replace: EB4048FF 05122B06

are values that are present only in a single place on the binary files of the framebuffers, therefore the code after 05 that was present on previous betas of macOS Mojave "minstolensize" patches was/is unnecessary as & changes with betas which causes trouble to find the other patch for the other beta ,etc. so the part of the code till 05, is enough and should make a updateproof patch. (based on previous beta cycles).

So in short words, my "MinStolenSize" patches should work across all macOS Mojave Betas and so the patches are:

macOS Mojave "MinStolenSize" / DVMT-prealloc Patches


KabyLake:
Comment: Disable minStolenSize less or equal fStolenMemorySize assertion, 10.14 Credits (Sniki)
Name: com.apple.driver.AppleIntelKBLGraphicsFramebuffer
Find: 764648FF 05
Replace: EB4648FF 05

SkyLake:
Comment: Disable minStolenSize less or equal fStolenMemorySize assertion, 10.14 Credits (Sniki)
Name: com.apple.driver.AppleIntelSKLGraphicsFramebuffer
Find: 764048FF 05
Replace: EB4048FF 05

Broadwell:
Comment: Disable minStolenSize less or equal fStolenMemorySize assertion, 10.14 Credits (Sniki)
Name: com.apple.driver.AppleIntelBDWGraphicsFramebuffer
Find: 764048FF 05
Replace: EB4048FF 05
not working
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
191,714
Motherboard
Intel DH67BL
CPU
Core i7-2600K
Graphics
Intel HD 3000
Mac
MacBook Air
Mobile Phone
iOS
not working
No "Problem Reporting" files attached.
Read FAQ, "Problem Reporting" again. Carefully. Attach all requested files/output.
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
Use the gen_debug.sh tool mentioned in the FAQ, that way it is less likely you'll omit something.

Note: Even with this patch successfully applied, you may still have a crash... Because this patch just disables the assert/panic. It does nothing to actually alleviate the situation (inadequate DVMT-prealloc). There is no doubt good reason for the assert check. Disabling it likely leads to other problems/panic/crash later in the code.
 
Joined
Apr 20, 2017
Messages
23
Motherboard
h110m-h-cf
CPU
i3 7100
Graphics
HD630 / GTX 1060
Mobile Phone
Android, iOS
No "Problem Reporting" files attached.
Read FAQ, "Problem Reporting" again. Carefully. Attach all requested files/output.
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
Use the gen_debug.sh tool mentioned in the FAQ, that way it is less likely you'll omit something.

Note: Even with this patch successfully applied, you may still have a crash... Because this patch just disables the assert/panic. It does nothing to actually alleviate the situation (inadequate DVMT-prealloc). There is no doubt good reason for the assert check. Disabling it likely leads to other problems/panic/crash later in the code.
Sorry.
 

Attachments

RehabMan

Moderator
Joined
May 3, 2012
Messages
191,714
Motherboard
Intel DH67BL
CPU
Core i7-2600K
Graphics
Intel HD 3000
Mac
MacBook Air
Mobile Phone
iOS
You have no minStolenSize patch in your config.plist.
And your Lilu/Lilu plugins are not matched (look at your kextcache output).
 
Joined
Apr 20, 2017
Messages
23
Motherboard
h110m-h-cf
CPU
i3 7100
Graphics
HD630 / GTX 1060
Mobile Phone
Android, iOS
Thanks for correcting me @RehabMan , and thanks @Sniki for this wonderful guide, I got confused by see several patches. please mention last one as final patches for the noobs guys like me ;) and @RehabMan can you please suggest me guide to enable my audio using AppleALC, Mirone's not working as 10.14 not in script.
 

Sniki

Moderator
Joined
Jan 5, 2016
Messages
1,352
Motherboard
Lenovo V330 - 15IKB
CPU
i5-8250U
Graphics
UHD 620 /1920x1080
Mobile Phone
iOS
Thanks for correcting me @RehabMan , and thanks @Sniki for this wonderful guide, I got confused by see several patches. please mention last one as final patches for the noobs guys like me ;) and @RehabMan can you please suggest me guide to enable my audio using AppleALC, Mirone's not working as 10.14 not in script.
I left the first post like this until i got some sort of confirmation from @RehabMan , now that the patches look fine, i will edit first post and put only the new patches.
 
Top