Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Status
The first post of this thread is a WikiPost and can be edited by anyone with the appropiate permissions. Your edits will be public.

mo5214

macrumors regular
Original poster
Sep 20, 2019
145
102

macOS Mojave on MBP 16” Exploration Thread​

TLDR; It boots. (barely, further investigation needed)

Disclaimer:
This endeavor is in its very early stage, do NOT attempt this on production device.
And I'm is not responsible for any potential damage this can cause from experimentation.

Hello everyone,
I would like to create this thread to report my progress, and maybe jump-starting the attempts to run macOS Mojave (10.14) on MacBook Pro 16” 2019 (5500M) and use this thread to log and share knowledge on how to get there. If any of you are interested, feel free to join in.



Motive:
All in all there are many reasons as listed:

- Mojave is the last version with
- *** ‘Sane’ (IMO) offline (enhanced) dictation setup. (VoiceOver is very annoying)
- official 32-bit app execution (iWork'09, Quicktime 7, FCP 7, Logic 9 and their plugins)
- (I know you can add no32exec boot arg, but you can’t run most GUI apps this way)

- Last official MacBook Pro that run Mojave was 2019 MacBook Pro 15” with Vega 15/20 (I think).
- But 16” is better HW wise (no butterfly keyboard to worry about, larger battery, better cooling, better sound, etc)

They share the same CPU and have similar Subsystems (T2, etc) top-end being 9980HK (I got this model)
- And design revisions are not that far off.

- There are vague rumors of kext in Mojave (at least in earlier versions of Mojave, supporting NAVI 10, 14 GPU)

So I would prefer if I can just use this to run Mojave instead of running off and buying the 15”


The story:


- For the sake of simplicity, I turned off boot security, and SIP. (At least for now)
- Naturally, you’d need to burn a Mojave Install USB. I used Mojave Patcher by DosDude (for auto patching of boot.plist) (technically you can mod this yourself by adding ‘no_compat_check’ to com.apple.Boot.plist file under <DRIVE>/Library/Preferences/SystemConfiguration
- I ‘cheated’ a bit here. The installer USB actually WILL refuse to boot after disabling compatibility check
It will first got stuck at WindowServer initialization loop [1] (after some research on hackintosh forum: that its allegedly due to dGPU trying to control the display).
- I even added WhateverGreen kext to the usb and use a ‘boot--wegnoegp’, and It then kernel panic on loading IOUSBHostFamily after using WhateverGreen to patch out AMD GPU.

- So in the end I just used another mac (a Mini 2012 I had lying around) to install Mojave onto external boot drive and patch the Boot.plist on there.

Results
- AND it BOOTS (barely)

IMG_2116.JPG


IMG_2117 2.JPG
IMG_2121.JPG

IMG_2237.JPG


Current State and remarks:
- Right now this is pretty much in a "proof-of concept"/experimentation stage of things
- There is no GPU acceleration yet.
- error: [IGPU] Graphics Driver failed to load: could not register with Framebuffer driver!
- using -wegnoegpu causes the machine to not boot.
- iGPU, wifi seems to be discovered just fine, just no driver loaded. (might have to fake device ID?)
- Can assume that 5500M is the dominant GPU at the moment. (dcpi manager reports 5500M .Display_boot. framebuffer is used), in c​


What’s working:
- T2 SSD Controller, You will be able to mount, read/write internal drives. (actually this auto mounts)
- TouchBar (surprisingly), but no TouchID, and no Fn Key buttons (for some reason, yet to investigate)
- Thunderbolt/USB ports (somewhat)
- Bunch of Power/Temp Sensors.

- CPU States (seems to work. Shown in powermetrics, intel PowerGadget)
- Bluetooth

What’s not working:
- SMC version reporting (no version reported, despite working ok)
- no iGPU acceleration (no kext loaded, VRAM not detected)
- no dGPU acceleration (sorta expected, will try to remove whatevergreen argument)
- eGPU acceleration is not possible at the moment

- eGPU got detected ok. But causes intermittent freezes. It can even output to secondary screen from the eGPU dock. But will not have acceleration.
- Suspected issues framebuffers between iGPU, dGPU, eGPU.
- Towards this end. Tried 'logging of and logging in'
- eGPU driven screen seemed to have acceleration, but I'm auto logged out as soon as I tried to log in.
- Display - Backlight Control, not reported as internal, stuck at 1:1 resolution, despite having switchresX
- Audio (It makes sound only on left speakers, might be hard to fix, as T2 handles audio now)
- WiFi - driver not loaded, cannot use.
- Trackpad (basic functions only, no gestures) (drivers not loaded)
- intermittent freezes. (when booting off Thunderbolt dongle)

TODO/Plans:
- iGPU Acceleration patching (thinking about frame buffer patch)

- Tried patching iGPU framebuffer to 0x3E9B0008 (as reported in Catalina), but no dice.
- maybe deviceID would needs to be patched(or revision id?)
- dGPU Acceleration patch/kext (if possible)
- patch WiFi (if possible)
- possibility of using OpenCore (like how it was used in the Mac Pro and further experiment using that)

- Hopefully things won't need to be patched as much.

Current boot-args: kext-dev-mode=1 debug=0x144 -no_compat_check -v


This is as far as I got for now. I have a rather limited experience with inner workings macOS and hackintoshing (and by extension, using patches and various kexts) (I haven’t done any real hackintoshing since Socket 939 AMDs, and X220-X230 using clover in 2017s) and only had used Lilu, and NvmeFix kext to install SSD onto my 2015 15" Pro (Main production machine).


If there is anything you'd like me to try/look into. Feel free to comment/DM. As this MBP is currently dedicated to this project.


Resources used so far:
1. Window Server Service ran for 0 seconds.

2. OpenCore Guide: https://dortania.github.io/OpenCore-Install-Guide/

3.OpenCore on real Mac Pro https://forums.macrumors.com/threads/opencore-on-the-mac-pro.2207814/
 

Attachments

  • IMG_2116 2.JPG
    IMG_2116 2.JPG
    365 KB · Views: 304
  • IMG_2237.JPG
    IMG_2237.JPG
    618.1 KB · Views: 177
Late here but wondering if you made any further progress with this? Pretty impressive already tbh
 
Not yet. Secretly hoping someone with kext knowledge would chip in actually. Currently I don’t know enough to get the kext to load just yet.
 
i was wonder on these posts if someone or anyone can make a patch for Mojave to run on the M1s
i was deemed, absurd!
good luck with this, Mojave es such a great OSX!
 
  • Like
Reactions: Nicole1980
I think Mojave on the M1s is definitely absurd I'm afraid, the 16" shares most of it's hardware with the 15" before it so should be a lot more reasonable
 
There's no public ARM version of Mojave, so that won't be possible.
i have no idea what that means.
BUT
all data and computer still runs on code with 0000 and 1111s, correct?
now the M1 processor is some term meaning everything runs in one chip
the memory, processor and the abbreviations like eGPU, iGPU, oGPU $GPU.
all someone hasta do i figure out what 0 goes infront of a series of 1s and 0s
or has computerizing changed that much since 1993?
oh well.....
 
i have no idea what that means.
ARM is a completely different architecture to x86 and isn’t able to natively execute x86 code (what Mojave is compiled as). Your only choice is to run Mojave in an x86 machine emulator (e.g. QEMU) which will be slow and have issues which greatly reduce its usefulness.
 
  • Like
Reactions: MBAir2010
Fascinating idea!?

This fascinates me especially since I suppose that if it's possible, the same could be applied to a Mac Pro 2019.
 
Last edited:
Fascinating idea!?

This fascinates me especially since I suppose that if it's possible, the same could be applied to a Mac Pro 2019.
It might be harder to get booting, since Mac Pro 2019’s chipset is new. And its likely that no driver was available for this on Mojave.

I tried this project due to assuming that the core hardware between 15” 2018 and 16” 2019 are close enough (9980hk with same PCH and storage)

However, the SMBIOS, device tree, are part of the firmware that was given to macOS upon boot.

You can try to boot Mojave with compatibility check off, just follow the similar steps I described.
Only then you’ll know whats working and not.
Keep in mind though, that there are risks involved in doing this, so you can’t blame me if you blow up a$5000 mac pro
 
It might be harder to get booting, since Mac Pro 2019’s chipset is new. And its likely that no driver was available for this on Mojave.

I tried this project due to assuming that the core hardware between 15” 2018 and 16” 2019 are close enough (9980hk with same PCH and storage)

However, the SMBIOS, device tree, are part of the firmware that was given to macOS upon boot.

You can try to boot Mojave with compatibility check off, just follow the similar steps I described.
Only then you’ll know whats working and not.
Keep in mind though, that there are risks involved in doing this, so you can’t blame me if you blow up a$5000 mac pro
Thx for the detailed info!
Looks like this might be virtually impossible on a MP2019...

TBH there are 2 reasons I didnt yet try this:
1- I'm lacking the knowledge
2- Mac Pro 2019 is between ~ 7000,- and 20.000,- , and I'm not exactly in the financial position at the moment to invest this

I think I might upgrade to a MP2019 within the coming ~3 years though...
 
Hey i'm reaching out because I'm desperately wanting to try and get Mojave up and running on my Macbook Pro 16 2019. My specs are very similar to yours. i have 5500M 8GB.32GB DDR4 266MHZ. And core i9 8core/16 threads. 2TB SSD. I need the native 32bit support for music and applications and want to use it as a dual boot. I've tried using the mojave patcher but have no success as the patcher tools and install mojave screen don't display in recovery.
 
I didn't use the installer on the mac directly. I used another mac to install it. There are issues with drivers on the installer usb, so even with compatibility check disabled on the the installer usb, it will stuck at boot. (I "installed" it using another Mac to a external drive, then I booted from that drive after disabling compatibility checks

I don't think Mojave on the 16" is ready for production work however. A lot of issues. lack of graphical acceleration among other things.
 
I didn't use the installer on the mac directly. I used another mac to install it. There are issues with drivers on the installer usb, so even with compatibility check disabled on the the installer usb, it will stuck at boot. (I "installed" it using another Mac to a external drive, then I booted from that drive after disabling compatibility checks

I don't think Mojave on the 16" is ready for production work however. A lot of issues. lack of graphical acceleration among other things.
Have you gotten any further? Im looking at getting one of these but im hesitant knowing i cant run Mojave
 
Have you gotten any further? Im looking at getting one of these but im hesitant knowing i cant run Mojave
Not really. Its a side project and I’ve been somewhat occupied with my day job.
 
Not really. Its a side project and I’ve been somewhat occupied with my day job.
Im tempted to buy one and pick up where you left off. Ive got some ideas. If i grab one, ill head back here with any progress i make
 
I bought a MacBookPro16,1 last year in June and I immediately installed Mojave on the SSD of my old Mac just so I have it in hand to run 32 bit apps in case it can be made into a workable system (together with Bootcamp).

I then started using that as an external start up disk on my new Mac like you did. Once updated with the drivers for the new Mac, Bootcamp works a peach; never been happier - because normally a dumb rule prevents you from installing Bootcamp to an external drive and you have to partition your Mac.

Mojave is exactly as in your post. I want to tinker to see if I can get it working better, but the lack of an internet connection is pretty restricting. Tethering doesn't work without a software update either, even though it sees and connects to the phone on Bluetooth and USB - self-assigned IP, no internet. The system log has gets a new warning or an error logged in to it every second. I heard there is a whole new system extension system and kexts are a thing of the past so I doubt we will be able to port anything from Catalina back on to Mojave...

Did you make any progress?
 
I was wanting to bump this back up in case anyone has had any luck . It was either this or virtualization for me and no graphics acceleration in virtualization means I prefer this route :)
 
ARM is a completely different architecture to x86 and isn’t able to natively execute x86 code (what Mojave is compiled as). Your only choice is to run Mojave in an x86 machine emulator (e.g. QEMU) which will be slow and have issues which greatly reduce its usefulness.
If running x86 code on M1 macs is so slow, then how is it that programs run just fine in Rosetta 2? I was even running x86 Premiere pro on my M1 MacBook Pro for a while until the native version came out and it was still faster than the same version of premiere on a recent intel mac.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.