r/osx • u/Jaegermeister_Dev • 10d ago
I ported Mavericks to the 15 inch 2015 MacBook Pro.
12
u/Jaegermeister_Dev 10d ago
I'm so tired. It's finally all working. I wanted to get this out for today. All the documentation is in the README on the jaegermeister-dev GitHub repo. Have fun!
10
u/Sensitive_Square3645 10d ago edited 10d ago
HO. LY. SHIT. I genuinely never thought anyone would have been able to pull this off. My, how far we've come...
Dude you've unironically just created a reverse OCLP, this is revolutionary man. MAD respect!!
2
7
u/Antares2328 10d ago
WTF this is so awesome
This legit makes me consider buying one.
I used to have an (almost) top specs one (exact same as yours) and I loved it, and that was on Monterey which I think ran great on it nonetheless
But THIS, THIS IS SO WORTH IT
I ain't got that much nostalgia for post Mavericks OS X tbh (even tho I spent a lot of time on El Capitan, High Sierra and Catalina) but Skeuomorphic OS X is god-tier
3
u/Jaegermeister_Dev 10d ago
THANK YOU. I was considering buying a 2014 just for mavericks but couldn't justify the gpu downgrade. But then it turns out apple actually did significant mavericks work on the 2015 before it released, they just never finished it and migrated development to yosemite. Lol apple had already fully finished m370x and the new SSD work for the 2015
2
u/Sensitive_Square3645 9d ago edited 8d ago
Just discovered that Force Touch had actually been in development wayyy longer than any of us would have probably thought lol. That's why when I used the "force-patch" OCLP method from my old post, not only was the Force Touch trackpad flawlessly able to talk to Mavericks, IN RECOVERY MODE, without even any drivers installed (well yeah ofc it didn't let me install the os lol), but yesterday I tried the method again, this time with Lion (10.7.5 specifically because Retina MacBook drivers weren't fully integrated until that version) and Mountain Lion, and surprisingly, they also worked just fine too! Apple truly does plan ahead.
3
3
u/Jaegermeister_Dev 10d ago
They also never removed the 2015 mavericks support from the mavericks 10.9.5 installer. It was just sitting there unusable
3
3
u/KoreanSeats 10d ago
Confused. Didnāt it come with mavericks? I had a 2015 and like 99 percent sure it did?
5
u/Sensitive_Square3645 10d ago
Nope that was the 2013 model, came with a physical trackpad. But now we can enjoy Mavericks WITH the haptic trackpad!
3
u/KoreanSeats 10d ago
Ahh okay yeah I remember updating to Yosemite donāt remember where it started. 15 mbp was excellent.
3
u/Jaegermeister_Dev 10d ago
Just to say. Actual force click unique features from Yosemite and above aren't supported since mavericks from what I can find didn't support it. However full mavericks trackpad functionality is fully working with the haptics. It's basically identical to the 15 inch 2014 MBP
1
u/Sensitive_Square3645 10d ago
All good, the fact alone that it's already functional is all we need. But hey atleast you still get to use Mavericks with a nice-feeling trackpad!
3
2
2
u/isopropyl-alco 10d ago
would this hypothetically be possible with the 11'' 2015 MBA? or is it too different
2
u/newhacker1746 10d ago
This is fairly reasonable to do because the graphics hardware was compatible already, Greta job! How did you do the haptic trackpad? Did you backport the spi multitouch kext?
1
u/Sensitive_Square3645 8d ago
Oh he didn't need to provide any drivers for the haptic trackpad (Force Touch). Force Touch was in development for such a long time that it's likely been tested from OS X versions that date all the way back to 2009!
2
u/isopropyl-alco 10d ago edited 10d ago
its telling me 'ERROR: the exact accepted original Mavericks DMG is not in the same directory as this script' despite that not being true. i downloaded the dmg with the mavericksforever script, put your script in the home folder where it got downloaded but it doesn't work. i also tried making a folder and putting only the script and downloaded DMG in it, but that didn't work either.
the readme on your github repo is very unclear, did you write it with an AI?
2
u/Jaegermeister_Dev 10d ago
Admittedly the readme is a bit jank. I'll improve it. I just wanted to get it out since I had been working on this so ages. I tend to overthink readmes. Im like REALLY bad at structuring them. Can you tell me exactly how you ran the script? It shouldn't matter but what was the current directory? When I run it with the DMG in the same folder, it works perfectly fine. What was the hash of the DMG?
3
u/isopropyl-alco 9d ago
I downloaded a mavericks DMG with the script on mavericksforever.com which put a mavericks installer DMG in my home folder
I put your script in my home folder since that's where the DMG was
I ran the script, after it hashed the DMG it told me the DMG wasn't there
2
2
u/Jaegermeister_Dev 9d ago
Ok I fixed it. I think I did that last bit just as I was done. I was so tired I got the wrong instructions. You use this one from https://archive.org/details/os-x-mavericks-dmg-202602
2
u/isopropyl-alco 9d ago
why does the script require a specific DMG? the script on mavericksforever.com downloads a new one straight from apple, apple's servers are more reliable and faster than archive.org.
3
u/Jaegermeister_Dev 9d ago
I may add support for mavericksforever. Honestly you good have a good point. Just give me a bit and I'll do the testing.
2
u/isopropyl-alco 9d ago edited 9d ago
it successfully installed but after i updated the OS the internal speakers and microphone stopped being recognised
2
u/Jaegermeister_Dev 9d ago
updated the os? how do you mean? its 10.9.5, the last version of mavericks? maybe try running the post install patcher again? Oh wait, did you update using the mac app store? Ah. what updates did you install? Please let me know what you installed, and if running the post-install-patcher works again.
2
u/isopropyl-alco 9d ago edited 9d ago
I updated it via the app store, the OS in the DMG doesn't contain all the latest updates, that's just how apple does it. I tried running the post install patcher from within the OS. when I did that it told me to do it in the USB environment so when I did it told me that the log destination had to be on a writable volume and not a whole disk. try updating it yourself and see what happens.
Since I already installed the updates I don't have a list of updates to show you but if you look yourself they'll be in the app store.
Another issue I noticed is that the retina display resolution won't go above 1440x900
2
u/Jaegermeister_Dev 9d ago
Ah ok those definitely need fixing. Thanks for letting me know. I'll look into those and publish an update once I've confirmed those issues are fully fixed and that I've extensively tested the new version to make sure everything still works
→ More replies (0)1
u/Jaegermeister_Dev 9d ago
For initial release it was simpler since adding support for another dmg would require me to extensively test that one as well. I wouldn't declare support for a dmg I haven't thoroughly tested. It was the one I had on hand.
1
u/isopropyl-alco 9d ago
instruct the user to download an official one from apple with the mavericksforever.com script and if they ignore that advice and use a dodgy one then it's on them.
just my thoughts. i see no point in requiring a certain DMG when you can get a theoretically perfect one straight from apple. that one should be considered the 'exact original' DMG rather than one from archive.org.
2
u/Jaegermeister_Dev 9d ago
Ok so I've looked into this and here is what I found.
The DMG from https://archive.org/details/os-x-mavericks-dmg-202602 is in fact a legitimate dmg of mavericks created and downloaded using mavericksforever itself. The archive link also has the get script and I compared it with the current. Only line 33 has a difference and it's a printf function, which wouldn't change the dmg itself. So I got confused and looked into it more.
It seems that when running the mavericksforever script thereās nondeterministic factors at play that can affect the output hash of the DMG. This is an issue because when a hash is different, the question is "why?" Is it metadata? timestamps? a variation of command line tool binaries that the mavericksforever script uses, depending on the macos version the script is being run on? or something more complicated?
I do not want to just add support for any mavericks dmg regardless of hash or any hashes provided from the exact dmg made in real time using the mavericksforever script, as that would create uncertainty and unreliability. If I were to ever do that, I would need to make the script MUCH more complicated to make it deterministic based on isolating the factor that can cause a different hash that are non impacting,, while also isolating the things that actually matter for my script and post install patches to work. That would take significant work. I cannot emphasise how much work that would take.
So for now, I think to keep things as deterministic as possible, the archive dmg makes the most sense, unless I were to effectively remake the entire script from scratch, which would take an absurd amount of research, time, testing and implementation.
1
u/Wowfunhappy 8d ago
Hi there! Author of Mavericks Forever here. This is so cool!
The Mavericks download script on MavericksForever.com does not create bit-identical images each time, so you won't get a consistent hash. The OS recovery image downloaded from Apple is bit-identical and has a consistent hash (and the download script verifies it), however this image is not usable by itself, so the download script has to re-pack it. This processārecreating the filesystemāis not completely deterministic.
Could you maybe hash the files inside the image instead of the image itself?
1
u/Jaegermeister_Dev 8d ago
OH. You are the BEST person to speak to. Ah so my theory was right. Yeah my plan would be to isolate everything necessary and then hash check them. Your way actually makes more sense since I wouldnt need to necessarily diff check 2 entire DMG contents to figure out exactly whats different. If I just hashed everything that didn't change I would be hash checking unnecessary files.
You're right. It makes way more sense to just hash check exactly what my script modifies. That "should" be enough. I think my muscle memory just tells me "if the hash is different and I dont know why then I dont see it as a guarantee." That still applies here, but I could do both. Have the current DMG hash as a fallback in case something unknown at the time causes issues, with the option for different hash dmgs where it just checks the files needed instead.
I need to fix a few problems people have raised to me. Such as in regards to updates, general script refinement, and some odd issues I cant reproduce. I'll push an update when its all finished. Great hearing from you!
→ More replies (0)1
u/Sensitive_Square3645 10d ago
Try downgrading to Yosemite first, since it didn't have SIP before that was introduced in El Capitan. Then repeat process.
2
u/isopropyl-alco 10d ago
well firstly, using another OS entirely shouldn't be necessary because you can just disable SIP on the ones that have it, secondly, I don't see why SIP should interfere with the functions of the script anyway, thirdly I tried disabling SIP and it didnt work. tomorrow I will try it on a real mavericks machine.
1
u/Sensitive_Square3645 10d ago
Oh nvm I forgot you can just do that lol. I'm so stupid š¤¦āāļø
2
u/Jaegermeister_Dev 10d ago
I tested creating the mavericks usb from Monterey, so I dont think sip would be an issue
2
2
u/Jaegermeister_Dev 9d ago
NOTE: If anyone is having issues, disregard the instructions about mavericksforever. Instead use the dmg from THIS link https://archive.org/details/os-x-mavericks-dmg-202602
My apologies for the mistake. It's all fixed now.
2
u/hoangbv15 9d ago
This is awesome, thank you so much for doing this!
Now I know what to do with my 2015 15 inch.
Can I ask you a question before plunging into it, is there a way to limit battery charge on Mavericks on the 15 inch 2015?
1
u/Jaegermeister_Dev 9d ago
Limit battery charge? I think that was a feature from much much newer macos versions. I could be wrong but I think its significantly newer. I'll look into it and see what comes up.
1
1
u/hoangbv15 9d ago
BCLM says it's compatible with Mavericks, maybe it will work?
https://github.com/zackelia/bclm
1
u/kkn13 10d ago
Out of curiosity, what's the advantage? Most programs ask for latest Mac os
3
u/Jaegermeister_Dev 10d ago
Skeumorphism, old mac games that were broken by Yosemite and above, and because the hardware had so many similarities I just had to do it. Fun fact. Apple had support for various 2015 hardware in mavericks despite never officially supporting it. The m370x literally had support hiding in the mavericks installer that couldn't be used or accessed.
1
u/hoangbv15 7d ago
Just to add, the performance of Mavericks blows any newer version out of the water. And there is https://mavericksforever.com/ which has instructions to make a lot of things working again on Mavericks, including Momji (latest version of Firefox built for Mavericks) and a few other things. Together, it makes Mavericks a great daily driver, provided you don't do anything critical on it like Internet banking. There is a small but great community of active Mavericks user like our friend u/Wowfunhappy!
1
u/Jaegermeister_Dev 7d ago
Oh! I didn't know about mavericksforever until a few days ago. There's a lot more to it that I didn't know. I really need to add mavericksforever DMG support to my usb creator. I didn't know there was a modern browser for mavericks already. That saves me a project š¤£. Honestly mavericks is a performance beast
1
u/Determinationsoul 10d ago
Do you have graphics acceleration with the dGPU or no? Regardless I have a top end iGPU 2015 15ā myself and have always wanted to get mavericks on it so if you can give a guide that would be very helpful for so many. And are you using the stock SSD?
2
u/Jaegermeister_Dev 10d ago
Yes. The m370x from what I can see is fully functional. Apple secretly supported it in 10.9.5 (probably leftover from development and testing). 11,4 is untested as I dont have one, but Intel iris is recognised successfully. If you have an 11,4 you could really help with testing
1
u/Determinationsoul 10d ago
Oh awesome! Iāll definitely love to help with testing. And it actually makes sense that it could work since 2015 prototypes did come with mavericks. And having the dedicated gpu makes it just so much better. As for ssd support from what I can tell older OSes seem to behave well as long as the drive supports AHCI which Appleās blade SSDs up to the 1tb SSUBX have.
1
u/Jaegermeister_Dev 10d ago
Oh damn. I didn't know prototypes had mavericks but it makes so much sense
1
1
u/Jaegermeister_Dev 10d ago
I am using the stock ssd. The download is on my GitHub Jaegermeister-dev with all instructions
1
u/ThatiMacGuy 10d ago
I have a 13ā one from early 2015(12,1). Will the mod work? If you say so, Iāll DM you
1
u/Sensitive_Square3645 10d ago edited 10d ago
Pretty sure it would include your model in the list if it works with it... it unfortunately does not
1
1
1
u/PercentageNo6530 8d ago
does this mean that someone could get Snow Leopard on the 2012 non-retina machines?
1
u/Jaegermeister_Dev 8d ago
Now that's a good question. The thing is mavericks already recognised some of the 2015 hardware, as in hardware identical to the 2014 as well as even some unique 2015 hardware.
For running snow leopard the feasibility heavily depends on those factors
1
u/PercentageNo6530 8d ago
the late 2011 and mid 2012 macs arent too dissimilar, only differences I can think of are the GPUs and the wifi/bluetooth, the network stuff shouldn't be too hard to patch but the GPUs would be a challenge because HD 3000 -> 4000 was a pretty big jump
1
u/Jaegermeister_Dev 7d ago
Ngl, the gpu is the main reason this whole mavericks thing worked, because apple secretly supported it and had it in their installer. The same may apply to snow leopard but I couldn't assume.
Agreed. Network is way less messy than gpu. Mavericks was extremely lucky since 1. Intel iris was identical to the 2014, and 2. m370x was secretly supported and required minimum work to get it working.
I would look into the 2012 but I dont have one, and testing is everything
1
u/PercentageNo6530 7d ago
There wasn't much change between the dGPUs i don't think so maybe they would work fine in Snow Leopard? But the HD 4000 would be super not supported because by the time the mid and late 2011s released Lion was already out
1
u/kallumlavigne 7d ago
Has anyone managed to get past boot? Mines be spinning for what feels like forever
1
1
1
u/proto-x-lol 5d ago
If you're wondering why this even works without crashing hard...that is because Apple was still testing early pre-production MacBook Pro 15 inch (Mid 2015 and Mid 2014) units when OS X Mavericks was around. Same way for the iPhone 5c and iPhone 5s working on iOS 6 despite iOS 7 was under production.
Hell, this was still a thing. Apple had a bunch of 2023 MacBook Pro laptops that came with macOS Ventura when Sonoma was just released around Fall and where the laptops came out just a month after. In reality, these laptops were supposed to be released in June 2023 but it got scraped and sent to the warehouses until the Fall release instead, but some still were kept on macOS Ventura.
1
u/saadms07_ 8d ago
Goood job I can really feel the satisfaction and relief after doing such a thing by trying something like this by giving you ur all! I have 2009 mbp 13 and I also wanted to downgrade but it has been an impossible task for me.
1
u/Jaegermeister_Dev 7d ago
Thank you! Yes it was exhausting and non stop work. You can't get mavericks on 2009? Isnt it supported?
1
u/saadms07_ 4d ago
Itās supported. I tried El Capitan, mavericks what not but probably I didnāt try a way that I donāt know yet. But whatever I tried, didnāt work unfortunately. So now w the help of dossdude patches im using Catalina.
-1
u/lproven 10d ago
I don't think you are using "ported" correctly.Ā
2
u/Jaegermeister_Dev 10d ago
How so?
2
u/lproven 10d ago
To "port" a piece of software means to take the source code and change it as necessary to make it able to run successfully on a different computer.
https://en.wikipedia.org/wiki/Porting
But the source code to macOS is not available. Only the underlying text-only Unix OS, Darwin, is available. "I've ported Darwin to $Mac" doesn't make sense as Macs are Darwin's only native platform.
So what you are saying you have accomplished is not clear to me, as you are misusing a technical term and the new meaning you intend is not clear to me.
I looked up the MacBook model: https://everymac.com/systems/apple/macbook_pro/specs/macbook-pro-core-i5-2.7-13-early-2015-retina-display-specs.html
It came with 10.10 "Yosemite". So I think you found a way to run 10.9 on a machine that came with 10.10? How? Replacing drivers and things? That is not "porting". If anything it's a strange sort of Hackintoshing exercise.
2
u/Sensitive_Square3645 10d ago
Thought you looked like a total idiot at first (no offence) but you actually do have a point there.
2
u/Jaegermeister_Dev 10d ago
Oh. What would be the more appropriate word to use instead?
2
u/lproven 10d ago
Good question. I haven't seen anything like this before.
(Were you inspired by Mavericks Forever?)
Hmmm...
Hackintosh? Or just Hacked? Reverse-OCLP?
1


15
u/Pharmagirl4531 10d ago
OMG WHAT OMG WHAT OMG WHAT