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.
2008 Alu MacBook worked flawlessly with the tool. Good to know that I won’t be left out. :)
 
Hi dosdude1 and firstly may I say a massive thanks for your tool, I'm having a slight problem that when I go to install the patch after install, the reboot button doesn't work, I have to power cycle my MacBook 5,2 to get it to start in sierra, it works fine but then when I reboot from the os I keep having to repatch, any ideas? Many thanks
I takes awhile to reboot, you just have to wait about a minute or so.
 
Ah, okay. Yeah it seems harmless to also include that flag. The guy that discovered the flag (http://www.hardturm.ch/luz/2011/10/how-to-make-the-macbook-air-superdrive-work-with-any-mac/) says that it just enables the possibility of loading the SuperDrive driver, and that it changes some USB power management (but only for the USB SuperDrive, not any other ports), so it sounds totally harmless:



And as for nvidia? I see you made a commit on github 3 minutes ago that removed the nvidia driver flag. So now it just says "<string>-no_compat_check mbasd=1</string>". Seems good to me.

How do we know that system updates will never replace the Boot.plist file? Is it just that OS updates can't write to /Library but can only write to /System or what? Or is it just a history of them never touching /Library that "guarantees" it? Just asking, since we may still need a "post-install patch" recovery item in our installers (to re-do the Boot.plist patch), if Boot.plist ever changes.

Either way, wow, great progress! This is looking so slick now that I almost don't mind Apple dropping computer support! ;)

@dosdude1: Check the conversation between me and parrotgeek1, and his Github. There's great news for your patcher. It'll be easier than ever after you implement these changes. It will add automatic post-install patching (no need to reboot and use the menu item you added). And we will never have to re-patch after OS updates. In fact the only reason to keep the "patch" menu item in the installer will be in case something changes Boot.plist, so after these changes people will almost guaranteed never have to touch that menu item, and will only need it for very rare rescue. Hell yes! :) This is awesome!

They would never change anything in /Library/Preferences, that's ALL user configurable settings. Also boot plist has existed since OS X 10.1 and has NEVER changed. Ever. However, they could remove the no_compat_check code from boot.efi. But I don't think they care enough. I mean, you can even call Apple to activate imessage on unsupported Mac pros and if you explain how you're running el Capitan they will just activate it anyway. All they really care about is hackintoshes
[doublepost=1466354469][/doublepost]Also @dosdude1 please make a github for your tool code so I/we can make pull requests and collaborate
 
@dosdude1: One worry is that people with non-EFI PC graphics cards won't be able to boot into the installer after every OS update, to run the "post-install patch".

What does the "post-install patch" option do? I assume that all it does is replaces "/System/Library/CoreServices/PlatformSupport.plist" with one containing the board-ID + model identifier of more Macs.

In that case, couldn't you instead write a /System/Library/LaunchDaemons script? Those scripts run at boot, before the GUI is even available. It could have a simple action in it like "cp /whatever/PlatformSupport.plist /System/Library/CoreServices/PlatformSupport.plist".

If that's possible, it would mean people can just reboot as usual after OS updates, without worrying about running the patcher each time.

But maybe they check the board-ID before the launchdaemons run... In that case, does anyone have any other ideas for automating the patching process?

EDIT: @parrotgeek1: That's really good stuff! It'll make the initial install even easier, with no need to manually run the post-install script. Do you have any ideas for automating the support-patching at every reboot, as mentioned above?

EDIT2: Idea... Would it be possible to add "no_compat_check" to the NVRAM Boot-Args, to make the system permanently bootable without any PlatformSupport.plist patching anymore? In that case, people would just have to patch the initial installer. Then run "sudo nvram boot-args="something..."", and then just reboot as usual after every update since the system has disabled the platform check. And if the nvram is ever cleared, they just need to boot the OS X installer, go to Terminal, and type "sudo nvram boot-args..." again. Sounds like a slick method IF the "com.apple.Boot.plist" no_compat_check flag can be put inside of nvram.
I could try that, but there's still the option of using another Mac to do the patching, then just boot the drive on the Mac Pro afterwards. I'll look into it, though, and see what I can do.
[doublepost=1466354701][/doublepost]
@dosdude1 here are some random code snippets

https://github.com/parrotgeek1/macOS_Sierra_Patches

Highlights include

how to bypass compatibility check WITHOUT modifying platformsupport.plist

how to automatically run script after install by modifying osinstall.pkg

how to use lzvn command to get /System/Library/Kernels/kernel AUTOMATICALLY without needing to extract whole pkg

the modded usb ethernet driver

hdmi audio for all unsupported macs 9400m

trimforce for all macs as a kext [does not quite work yet]
I will definitely implement those into a later build. Thanks for your work!
 
  • Like
Reactions: SteveJobzniak
I could try that, but there's still the option of using another Mac to do the patching, then just boot the drive on the Mac Pro afterwards. I'll look into it, though, and see what I can do.
The flag is not a "real" kernel boot argument, it is only interpreted by boot.efi, it does NOT work in NVRAM
 
  • Like
Reactions: SteveJobzniak
@dosdude1

Here are some suggested improvements:

- Please set up a GitHub page for the tool so that we can all collaborate and improve the code via pull requests, so that you don't have to work alone.
- Stop patching PlatformSupport.plist.
- Start patching com.apple.Boot.plist, since that patch is persistent after OS updates and is the best place to do the patch. Thanks parrotgeek1!
- Change the "Utilities : Post-install Patch" tool, to allow toggling various options, and a model selector. It'll be up to the community to contribute settings for each model.

Here is a mockup of an improved patch tool, launched via the Utilities menu of the macOS installer:

guimockup.png

(Note that I forgot to add a mockup for selecting the target drive to patch).

Workflow:

- The user selects the target drive to patch from a dropdown.
- The user selects their model, and it automatically toggles the checkboxes below. (This could perhaps read the model identifier from the hardware to auto-select the model it thinks you have, when the dialog opens.)
- The user presses patch. They only do this once. From then on, all OS updates for that version of the OS can simply be installed normally. The only time they have to patch again is after a fresh OS install, or if they somehow accidentally remove the patch from their system.

Under the hood:

- Boot.plist Patch (Disable Platform Check): Edits /Library/Preferences/SystemConfiguration/com.apple.Boot.plist and puts "-no_compat_check" in the kernel flags.
- Boot.plist Patch (Add support for MBA SuperDrive): Edits /Library/Preferences/SystemConfiguration/com.apple.Boot.plist and puts "mbasd=1" in the kernel flags. If combined with the other patch, it would put "-no_compat_check mbasd=1" in the kernel flags.
- Legacy USB Support Injector: Only Macs that need the driver should check this box. If checked, it disables kext signing check via com.apple.Boot.plist (adds kext-dev-mode=1 to the list of Boot.plist kernel flags), and installs the LegacyUSBInjector.kext file. If not checked, kext signing check remains enabled and no legacy driver is installed.

The benefits of the method outlined above:

- Easy to install.
- Can install OS updates without worrying about patching ever again.
- Can clear their NVRAM boot-args, do NVRAM resets etc, without losing the patch, since the patch is stored permanently in the hardcoded boot-arguments in com.apple.Boot.plist.

If you need help, please open a GitHub so we can all contribute. It'll be the best and cleanest patching tool ever after these improvements, making it almost as easy as installing on a supported Mac. :)
 
Last edited:
Ok, I have Sierra running successfully on my MacBook Mid 2009. Gonna try next on my MacBook Pro 4,1. Quick question, do I have to remove and install on the hard drive inside? Is there just a way for me to modify the installer USB?
[doublepost=1466356541][/doublepost]
@dosdude1

Here are some suggested improvements:

- Please set up a GitHub page for the tool so that we can all collaborate and improve the code via pull requests, so that you don't have to work alone.
- Stop patching PlatformSupport.plist.
- Start patching com.apple.Boot.plist, since that patch is persistent after OS updates and is the best place to do the patch. Thanks parrotgeek1!
- Change the "Utilities : Post-install Patch" tool, to allow toggling various options, and a model selector. It'll be up to the community to contribute settings for each model.

Here is a mockup of an improved patch tool, launched via the Utilities menu of the macOS installer:

View attachment 636886

(Note that I forgot to add a mockup for selecting the target drive to patch).

Workflow:

- The user selects the target drive to patch from a dropdown.
- The user selects their model, and it automatically toggles the checkboxes below. (This could perhaps read the model identifier from the hardware to auto-select the model it thinks you have, when the dialog opens.)
- The user presses patch. They only do this once. From then on, all OS updates for that version of the OS can simply be installed normally. The only time they have to patch again is after a fresh OS install, or if they somehow accidentally remove the patch from their system.

Under the hood:

- Boot.plist Patch (Disable Platform Check): Edits /Library/Preferences/SystemConfiguration/com.apple.Boot.plist and puts "-no_compat_check" in the kernel flags.
- Boot.plist Patch (Add support for MBA SuperDrive): Edits /Library/Preferences/SystemConfiguration/com.apple.Boot.plist and puts "mbasd=1" in the kernel flags. If combined with the other patch, it would put "-no_compat_check mbasd=1" in the kernel flags.
- Legacy USB Support Injector: Only Macs that need the driver should check this box. If checked, it disables kext signing check via com.apple.Boot.plist (adds kext_dev_mode=1 to the list of kernel flags), and installs the LegacyUSBInjector.kext file. If not checked, kext signing check remains enabled and no legacy driver is installed.

The benefits of the method outlined above:

- Easy to install.
- Can install OS updates without worrying about patching ever again.
- Can clear their NVRAM boot-args, do NVRAM resets etc, without losing the patch, since the patch is stored permanently in the hardcoded boot-arguments in com.apple.Boot.plist.

If you need help, please open a GitHub so we can all contribute. It'll be the best and cleanest patching tool ever after these improvements, making it almost as easy as installing on a supported Mac. :)
when the github page rolls around, I can make a GUI
[doublepost=1466356871][/doublepost]And, my Macbook has an odd issue. The shift key types a 3
 
@dosdude1

Here are some suggested improvements:

- Please set up a GitHub page for the tool so that we can all collaborate and improve the code via pull requests, so that you don't have to work alone.
- Stop patching PlatformSupport.plist.
- Start patching com.apple.Boot.plist, since that patch is persistent after OS updates and is the best place to do the patch. Thanks parrotgeek1!
- Change the "Utilities : Post-install Patch" tool, to allow toggling various options, and a model selector. It'll be up to the community to contribute settings for each model.

Here is a mockup of an improved patch tool, launched via the Utilities menu of the macOS installer:

View attachment 636886

(Note that I forgot to add a mockup for selecting the target drive to patch).

Workflow:

- The user selects the target drive to patch from a dropdown.
- The user selects their model, and it automatically toggles the checkboxes below. (This could perhaps read the model identifier from the hardware to auto-select the model it thinks you have, when the dialog opens.)
- The user presses patch. They only do this once. From then on, all OS updates for that version of the OS can simply be installed normally. The only time they have to patch again is after a fresh OS install, or if they somehow accidentally remove the patch from their system.

Under the hood:

- Boot.plist Patch (Disable Platform Check): Edits /Library/Preferences/SystemConfiguration/com.apple.Boot.plist and puts "-no_compat_check" in the kernel flags.
- Boot.plist Patch (Add support for MBA SuperDrive): Edits /Library/Preferences/SystemConfiguration/com.apple.Boot.plist and puts "mbasd=1" in the kernel flags. If combined with the other patch, it would put "-no_compat_check mbasd=1" in the kernel flags.
- Legacy USB Support Injector: Only Macs that need the driver should check this box. If checked, it disables kext signing check via com.apple.Boot.plist (adds kext_dev_mode=1 to the list of kernel flags), and installs the LegacyUSBInjector.kext file. If not checked, kext signing check remains enabled and no legacy driver is installed.

The benefits of the method outlined above:

- Easy to install.
- Can install OS updates without worrying about patching ever again.
- Can clear their NVRAM boot-args, do NVRAM resets etc, without losing the patch, since the patch is stored permanently in the hardcoded boot-arguments in com.apple.Boot.plist.

If you need help, please open a GitHub so we can all contribute. It'll be the best and cleanest patching tool ever after these improvements, making it almost as easy as installing on a supported Mac. :)
I should be able to implement that pretty easily. If someone could compile a list of all Mac models I need to include, as well as their recommended options (as you've outlined in your mock-up GUI), that would be greatly appreciated.
[doublepost=1466358021][/doublepost]
Ok, I have Sierra running successfully on my MacBook Mid 2009. Gonna try next on my MacBook Pro 4,1. Quick question, do I have to remove and install on the hard drive inside? Is there just a way for me to modify the installer USB?
[doublepost=1466356541][/doublepost]
when the github page rolls around, I can make a GUI
[doublepost=1466356871][/doublepost]And, my Macbook has an odd issue. The shift key types a 3
That seems like more of a hardware issue than anything.
 
So, I've had a problem in the install on macbook pro (late 2008) using the instructions I get to the actual install onto a clean external usb drive partition; it starts out ok - initially indicates about 15 minutes but when it gets down to about 4 minutes it stops with an error screen - the message is something like Error Writing Attributes. After this, there is nothing on the target partition except an install.log; the last portion (which shows the error message) is:

Jun 19 11:00:36 MacBook-Pro OSInstaller[531]: PackageKit: Executing script "preinstall" in /Volumes/SierraMBP/.OSInstallSandboxPath/Scripts/com.apple.pkg.OSInstall.NxLRXh
Jun 19 11:00:36 MacBook-Pro OSInstaller[531]: PackageKit: Unable to apply system content manifest from installation sandbox: untrusted manifest.
Jun 19 11:00:36 MacBook-Pro OSInstaller[531]: PackageKit: Install Failed: Error Domain=PKInstallErrorDomain Code=119 "An error occurred while setting file attributes." UserInfo={NSURL=BaseSystemResources.pkg -- file:///System/Installation/Packages/OSInstall.mpkg#Distribution, PKInstallPackageIdentifier=com.apple.pkg.BaseSystemResources, NSLocalizedDescription=An error occurred while setting file attributes.} {
NSLocalizedDescription = "An error occurred while setting file attributes.";
NSURL = "BaseSystemResources.pkg -- file:///System/Installation/Packages/OSInstall.mpkg#Distribution";
PKInstallPackageIdentifier = "com.apple.pkg.BaseSystemResources";
}
Jun 19 11:00:36 MacBook-Pro OSInstaller[531]: OSIInstallElement <OSIInstallElement: 0x7ff98ef6f590> errored out:Error Domain=PKInstallErrorDomain Code=119 "An error occurred while setting file attributes." UserInfo={NSURL=BaseSystemResources.pkg -- file:///System/Installation/Packages/OSInstall.mpkg#Distribution, PKInstallPackageIdentifier=com.apple.pkg.BaseSystemResources, NSLocalizedDescription=An error occurred while setting file attributes.}

note that SierraMBP is the target partition. I've tried it a few times (with different external usb drive) and it gives the same error. I am now going to repeat the first few steps (i.e. re-create the base image with the patch tool) in case there was some kind of error there.
 
Great! Now I know my Alu Macbook 5,1 will have Sierra. Now just need to wait for the release, since I don't really want to update my system frequently.

Is there anyway to get the USB prepared without other Mac? Using VMWare to run hackintosh for example just to download the file, or someone can just img the flash disk and share it?

Leaving step here so I can visit in the future when Sierra releases.
 
I wanted to say a big "thanks" to everyone involved in this great project - I own a Macbook Pro 5,5 (which I find perfectly capable, btw.). I've been following this thread closely and am very impressed by the sheer competence here. :cool:

Having said that... I guess I will wait until the Public Beta before trying to install Sierra. I also wonder what other side effects could there be? For example, will Apple's Pro Apps run OK? What about security concerns? I understand we have to permanently disable SIP / sandboxing?

bR, kybernaut
 
@parrotgeek1 (or anyone else): If you could populate this plist with the correct options for each model, that would be greatly appreciated. Just add a "dict" entry for each model. The "modelID" key is what shows up in the drop down menu, so you can make that say whatever you'd like.
[doublepost=1466363287][/doublepost]Here's what it looks like so far:
 

Attachments

  • macmodels.plist.zip
    836 bytes · Views: 351
  • Screen Shot 2016-06-19 at 3.07.39 PM.png
    Screen Shot 2016-06-19 at 3.07.39 PM.png
    67.8 KB · Views: 673
@parrotgeek1 (or anyone else): If you could populate this plist with the correct options for each model, that would be greatly appreciated. Just add a "dict" entry for each model. The "modelID" key is what shows up in the drop down menu, so you can make that say whatever you'd like.
[doublepost=1466363287][/doublepost]Here's what it looks like so far:

Wow, that's beautiful and wow, you're very quick!

I luckily don't have any machines that need the patch yet. But here are some general guidelines for people contributing settings:

- disableplatformcheck: Should always be true, since this must be enabled on any machine that can't natively install Sierra or higher. This is what disables the hardware version check during OS bootup.
- legacyhdmiaudio: Set to True if the machine contains a GeForce 9400M, otherwise False.
- legacyusb: Set to True if your USB ports don't work in Sierra (meaning there's no native driver support for your USB chipset anymore), otherwise False.
- legacyusbethernet: I don't know what this is...
- mbasdsupport: This probably shouldn't be in the per-model settings, and should always default to off. It's only needed if someone wants to plug a MacBook Air USB SuperDrive into a non-MacBook Air computer. It tells the USB SuperDrive driver to allow it regardless of not being on a MacBook Air.
- modelID: Set it to the official model ID of your machine, such as "MacPro4,1".


As for the MacPro4,1 - all of its hardware is supported natively by Sierra since it uses the same controller chips as the supported MacPro5,1 (it's only the 4,1 machine ID itself that isn't allowed). So here are settings for MacPro4,1:

Code:
    <dict>
        <key>disableplatformcheck</key>
        <true/>
        <key>legacyhdmiaudio</key>
        <false/>
        <key>legacyusb</key>
        <false/>
        <key>legacyusbethernet</key>
        <false/>
        <key>mbasdsupport</key>
        <false/>
        <key>modelID</key>
        <string>MacPro4,1</string>
    </dict>

------------------

I added a launch daemon plist which always ensures no_compat_check is in boot.plist EVEN AFTER SOFTWARE UPDATES. Put it in /Library/LaunchDaemons and make sure it is owned by root:wheel, 0644.

https://github.com/parrotgeek1/macO...mons/com.parrotgeek.LegacyNoCompatCheck.plist

That's a very clean way of doing it. If I read it correctly, it starts a bash daemon at startup, which just sits there idly and runs its built-in "trap" command, so that it does nothing whatsoever (0% CPU) until the bash program is terminated (which happens during every system shutdown/reboot). At that point, it executes the command, which re-writes the settings to com.apple.Boot.plist just in case they're ever changed.

But I am not convinced that we need this script. I Googled "com.apple.boot.plist os updates" and nobody anywhere ever said that an OS update broke theirs. Just lots of basic speculation that it "might".

From my research, I think it's probably not going to be touched by Apple. As you say, /Library is for global user-settings, not for system-settings, so Apple shouldn't tamper with it. Furthermore, the com.apple.Boot.plist has NO boot args at all by default, it's an empty/dummy file, so it clearly sits there so that system admins can edit it.

For that reason, we don't need your script (yet). It's well-written, but seems useless at the moment. Let's wait and see first. I am almost 100% sure that com.apple.Boot.plist is not overwritten by any OS updates.
 
@parrotgeek1 (or anyone else): If you could populate this plist with the correct options for each model, that would be greatly appreciated. Just add a "dict" entry for each model. The "modelID" key is what shows up in the drop down menu, so you can make that say whatever you'd like.
[doublepost=1466363287][/doublepost]Here's what it looks like so far:
Actually please remove (GeForce 9400M) from the description, it works on Radeon too and GT120. And just get rid of the word Legacy. I used it to be able to easily find the kexts so they were all together, back when I put them in S/L/E. Also, you should explain that the Ethernet option is for the 100mbps old Ethernet adapter and that HDMI audio option enables it on previously unsupported Macs.
Lastly, just get rid of the USB checkbox. Every unsupported Mac needs it. Mac pros can boot without it but won't charge high power devices like iPads. I think. I could be wrong. Also for a MP4,1 flashing 5,1 firmware is the best way to install Sierra
 
Actually please remove (GeForce 9400M) from the description, it works on Radeon too and GT120.

Ok, so name it "Legacy HDMI Audio Injector (GeForce 9400M/GT120, Radeon [whatevermodel])". What Radeons does it work for? It's best to be explicit about card models here so that people never have to ask on forums what the option does. Apple didn't have many different cards, so it shouldn't be hard to list all models in the description so that people instantly know if they need it or not. Otherwise we'll see one post per day asking what to choose.

And how can it work on the GT120? It only has DVI + mini DisplayPort outputs. No HDMI.

And just get rid of the word Legacy.

The word Legacy is an excellent way of naming them. They're legacy device ID injectors, for devices de-listed from the official drivers due to going out of support. They inject the legacy device IDs into the plists of the modern drivers (which btw, is a very weird thing to do, but I am glad OS X works that way; that's how trimforce works too).

Also, you should explain that the Ethernet option is for the 100mbps old Ethernet adapter

Can you be a bit more specific? Is that option used for this adapter?

http://www.apple.com/shop/product/MC704LL/A/apple-usb-ethernet-adapter

And if that option is indeed only for that adapter, then it shouldn't be part of the per-model settings, since the adapter is external and optional. And let's call it something like "Apple 100Mbit USB Ethernet Adapter Support".

This falls into the same category as the "MacBook Air SuperDrive" support, which doesn't need to be in the per-device options either.

Both USB Ethernet and USB SuperDrive should default to off since they're optional/rare and the people who have those external devices should enable the options manually if they need it.

and that HDMI audio option enables it on previously unsupported Macs.

I think it only works with certain graphics cards, though. Not every graphics card supports piping audio over the HDMI port. It's a relatively recent capability. Let's enumerate what cards it's used for before renaming the option.

Lastly, just get rid of the USB checkbox. Every unsupported Mac needs it. Mac pros can boot without it but won't charge high power devices like iPads

No, the MacPro4,1 doesn't need it. MacPro3,1 and older needs it. Let's keep it a per-machine setting.
[doublepost=1466366292][/doublepost]@dosdude1:

Here's a complete list of the machines that need "Legacy USB Injector" = true. All other machines (like MacPro4,1) need false.

MacBook3,1
MacBook4,1
MacBook5,1
MacBook5,2
MacBookAir1,1
MacBookAir2,1
MacBookPro3,1
MacBookPro4,1
MacBookPro5,1
MacBookPro5,2
MacBookPro5,3
MacBookPro5,4
MacBookPro5,5
MacPro3,1
Macmini3,1
Xserve2,1
Xserve3,1
iMac7,1
iMac8,1
iMac9,1

This list was generated from https://raw.githubusercontent.com/p...ts/LegacyUSBInjector.kext/Contents/Info.plist using the following script:

Code:
<?php

$lines = file_get_contents('Info.plist');

preg_match_all('/<key>model<\/key>\s+<string>(.+?)<\/string>/s', $lines, $matches);

$devices = array();
foreach($matches[1] as $device){
    $devices[] = trim($device);
}

$devices = array_unique($devices);
sort($devices);

foreach($devices as $d){
    echo $d.PHP_EOL;
}

As for the other options:

- Boot.plist Patch (Disable Platform Check): Must be true for all machines that can't install Sierra natively, which is the only reason to use the patch. So this option can be moved out of the per-machine ID settings, and always default to true. But still be settable via the GUI if people want to change it.
- Boot.plist Patch (Add support for MBA SuperDrive): Only needed if you try to attach a MacBook Air USB SuperDrive to a non-MacBook Air computer. So remove it from the per-machine ID settings, and default it to false. Maybe even rename it to "Boot.plist Patch (Add support for MacBook Air USB SuperDrive)" so people aren't confused and just enable it thinking their native, internal SuperDrive needs it.
- Legacy USB Support Injector: Default it to true for all machine IDs above. False for all other machines that don't need it (like MacPro4,1).
- Legacy USB Ethernet Injector: It seems to be for an external USB dongle, so not many people have it. Remove it from per-machine ID settings, and default it to false.
- Legacy HDMI Audio Injector: We'll default it to true for the computer models that shipped with cards that support HDMI Audio. But first let's figure out exactly which cards can use this option. So far it's leaning towards calling it "Legacy HDMI Audio Injector (GeForce 9400M/GT120, Radeon [whatevermodel])". By being explicit about what cards can use it to enable HDMI Audio, we'll avoid thousands of forum posts asking what to set it to.

[doublepost=1466366794][/doublepost]Here's the new macmodels.plist, after simplifying it by removing the things that don't need per-machine ID settings. I added MacPro4,1.

Also note that even though I made a list (above) of all Mac models that need the Legacy USB Support Injector, I didn't add those models (yet) because we don't know exactly which graphics cards work with the HDMI Audio Injector. When that's figured out, we'll be able to name that setting properly and check which of those machines have those graphics cards.

Code:
See newer post below instead...

Note: MacPro4,1 shipped with GT120, which has mini DisplayPort and DVI. It has no HDMI outputs, and the GT120 chip itself isn't capable of audio, so I am not sure what parrotgeek1 meant when he said the GT120 supports HDMI audio. I've set the MacPro4,1 hdmi audio to false above for this reason.
 
Last edited:
Just to let you guys know.

Firewire 800 is okay under Sierra with the unsupported MacBook Pro 5,1.

I also got TRIM enabled for the SSD with Terminal under Sierra. TRIM is working fine.
 
  • Like
Reactions: MyNameIsSam
I should be able to implement that pretty easily. If someone could compile a list of all Mac models I need to include, as well as their recommended options (as you've outlined in your mock-up GUI), that would be greatly appreciated.
[doublepost=1466358021][/doublepost]
That seems like more of a hardware issue than anything.
A reboot fixed it!!

Also, why not just put all board ids inside, instead of selecting an individual mode.
 
@SteveJobzniak @dosdude1

GT120 can support HDMI audio using minidp to HDMI adapter on this kext.


Yes it is that Ethernet adapter. That adapter also works with the official SIGNED asix ax88772 driver, however they misspelled "Ethernet adapter" as "Ethernet adaptor" on system preferences network section and I hex edited it. I also enabled netboot support
[doublepost=1466367768][/doublepost]
A reboot fixed it!!

Also, why not just put all board ids inside, instead of selecting an individual mode.
I agree. Also you don't even need to edit ANY board ID because no_compat_check bypasses that check
 
Last edited:
@SteveJobzniak GT120 can support HDMI audio using minidp to HDMI adapter on this kext.

Ahh, excellent. Then I'll set it to true for MacPro4,1.

Do you know what other cards are supported? I had a look at your plist and it seems to inject whole device classes, so maybe you don't know which cards are affected, but let's try to make a list since it can't be many cards. It pays to be clear in the option description so people aren't confused when they're setting up their machines. It sucks to have to go online to look up a setting, when we could just be clear in its naming.

Also, why not just put all board ids inside, instead of selecting an individual mode.

Good idea, much easier maintenance that way. Lots of machines will have total overlap of the (few) remaining settings after my tweaks above. Let's rewrite the list again, to merge all machines that need identical settings:

Also, why not just put all board ids inside, instead of selecting an individual mode.

Good idea, much easier maintenance that way. Lots of machines will have total overlap of the (few) remaining settings after my tweaks above. @dosdude1 See my post above which explains what options were removed from per-machine settings (and why). And let's rewrite the plist again to make it very easy to manage:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
    <dict>
        <key>legacyhdmiaudio</key>
        <true/>
        <key>legacyusb</key>
        <true/>
        <key>modelIDs</key>
        <array>
            <string>Macmini3,1</string>
            <string>MacBook5,1</string>
            <string>MacBook5,2</string>
        </array>
    </dict>
    <dict>
        <key>legacyhdmiaudio</key>
        <true/>
        <key>legacyusb</key>
        <false/>
        <key>modelIDs</key>
        <array>
            <string>MacPro4,1</string>
        </array>
    </dict>
</array>
</plist>

Yes it is that Ethernet adapter. That adapter also works with the official SIGNED asix ax88772 driver, however they misspelled "Ethernet adapter" as "Etehrnet adaptor" on system preferences network section and I hex edited it. I also enabled netboot support

Oh, that's an unfortunate misspelling. Maybe they'll fix it before Sierra is released.
 
Last edited:
Got a question, using the newest version of the tool, trying to make a bootable USB stick. It finishes rather quickly, the amount of data written to the USB stick is only 1.24gb. And when I go to boot the stick it gives me the No/Cannot logo. The Install macOS Sierra app is verified correctly. The stick is also formatted as Mac OS Extended (Journaled) and GUID partition table.
 
Ahh, excellent. Then I'll set it to true for MacPro4,1.

Do you know what other cards are supported? I had a look at your plist and it seems to inject whole device classes, so maybe you don't know which cards are affected, but let's try to make a list since it can't be many cards. It pays to be clear in the option description so people aren't confused when they're setting up their machines. It sucks to have to go online to look up a setting, when we could just be clear in its naming.



Good idea, much easier maintenance that way. Lots of machines will have total overlap of the (few) remaining settings after my tweaks above. Let's rewrite the list again, to merge all machines that need identical settings:

Code:
[QUOTE="128keaton, post: 23035923, member: 782985"]Also, why not just put all board ids inside, instead of selecting an individual mode.[/QUOTE]

Good idea, much easier maintenance that way. Lots of machines will have total overlap of the (few) remaining settings after my tweaks above. @dosdude1 See my post above which explains what options were removed from per-machine settings (and why). And let's rewrite the plist again to make it very easy to manage:

[code]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
    <dict>
        <key>legacyhdmiaudio</key>
        <true/>
        <key>legacyusb</key>
        <true/>
        <key>modelIDs</key>
        <array>
            <string>Macmini3,1</string>
            <string>MacBook5,1</string>
            <string>MacBook5,2</string>
        </array>
    </dict>
    <dict>
        <key>legacyhdmiaudio</key>
        <true/>
        <key>legacyusb</key>
        <false/>
        <key>modelIDs</key>
        <array>
            <string>MacPro4,1</string>
        </array>
    </dict>
</array>
</plist>



Oh, that's an unfortunate misspelling. Maybe they'll fix it before Sierra is released.

So @dosdude1 let's rename "Legacy USB Ethernet Injector" to "Apple USB Ethernet Adapter (10/100Mbit) Support" and default it to off for all machines, since it's only for that specific external USB ethernet adapter.

Total list of changes:
- Rename "Legacy USB Ethernet Injector" to "Apple USB Ethernet Adapter (10/100Mbit) Support", remove it from the per-model Plist since it's not needed there, and default it to false.
- Remove "Disable Platform Check" from the per-model Plist since it's not needed there, and default it to true (since it's needed on all machines).
- Rename "Boot.plist Patch (Add support for MBA SuperDrive)" to "Boot.plist Patch (Add Support for MacBook Air USB SuperDrive)" to avoid confusion, remove it from the per-model Plist since it's not needed there, and default it to false.
- Change the plist format to the easier-to-maintain format above, since we're going to end up with soooo many maaaaaachines over time, and most of them need the exact same settings.
- Rename "Legacy HDMI Audio Injector (GeForce 9400M)" to "Legacy HDMI Audio Injector (GeForce 9400M/GT120, Radeon HD 4870/5770/5870)"... The label may be so long that the list of supported cards should be on a separate line/text-label. Also, THIS ONE ISN'T FINALIZED YET. We need to determine the exact list of cards. It's only a handful, and by knowing the list of cards we'll avoid a thousand questions about the option.
I don't think that asix will EVER update the kext. The last actual CODE update to it was in 2012. Then in 2014 they signed the existing binary per apples rules. Then a year ago they edited the pkg to work on 10.10 without changing the binary.
You're right, I don't know the list of cards. I actually stole that kext from /r/hackintosh but I forget where. It's original purpose was to enable HDMI audio on non flashed PC cards on Mac pros but I discovered it works on unsupported Macs too
 
  • Like
Reactions: SteveJobzniak
Hey, guys!
@dosdude1, i has repaired my Apple Mouse via installing kexts IOBluetoothFamily and IOBluetoothHIDDriver. Mouse won't appear in sysprefs, but I able to adjust scrolling speed via MagicPrefs.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.