Press "Enter" to skip to content

Hackintosh Logs: Lazy Steps & Picking-Ups

Q1: What’s wrooong with you recently?

Well, I’ve been wondering what desktop environment can meet all of my following three requirements:

  1. Programming Friendly;
  2. UI & UE Friendly;
  3. Budget Friendly.

“Do you want to train a LSTM structured prediction task while having some tea with the soup on the other screen?”

“Yes, I do. And I may have to switch to another desktop to debug if the program crashes…”

So, Let’s run a survey to narrow down the choices. Basically because I’m so lazy that I don’t know how to properly tune OS like Solaris, IBM-AIX or even Chrome OS, I believe the CUDA official website has helped me boiled them down to three alternatives: Windows, Linux and macOS.

So, from the perspective of a lazy person, I choose macOS because the CUDA related configuration is the easiest (you’ll see below) with the first two requirements met comfortably. But in fact I can’t afford a Mac Pro… and what’s more, the latest Mac Pro or other Macs use AMD graphic cards (yes, AMD…).

What about a PC with a macOS installed? That’s called a hackintosh and I guess that fits all the three requirements!

multiple experiences
multiple experiences on a Hackintosh

Q2: Is it even practical to configure a hackintosh?

In fact, I’ve failed to install Mac OSX on my previous PC several years ago, like before 2010, because the early computer architecture in Mac differs from those in PC, and that would cause a lot of compatibility problems, which made it very unfriendly. Even if you managed to install the system, a lot of following up problems such as the drivers, the power configurations etc. would also prevent you from the actual user experience in Mac.

But now it’s 2017, and a lot of Mac products have similar computer architecture with PCs, which makes it possible to perfectly configure macOS on PC hardware. There’s a site specially design for this topic: https://www.tonymacx86.com/ and basically you would find everything you need to construct a Hackintosh. This article will follow some of the steps and solutions posted on this site.

Q3: Is my PC suitable for macOS?

Basically the only thing you need to check is your CPU:

  1. Your CPU -> It’d better be Intel (while some specific AMD CPUs work. what? you dont know AMD? ok forget it.)

As for other hardware, the more popular the better, because there would be a higher chance that people discuss the same hardware online and you will probably find a solution for some driver issues. Finally pay some attention to your mother board if it’s relatively outdated (before 2010).

Q4: Before the Installation – Bootable USB

Typically because the guide on https://www.tonymacx86.com/ require an existing macOS to make a bootable USB using the Disk Utility. Notice that I’ve also tried making the bootable USB under some other OS environment (Windows and Linux) but none of them work. I guess it has something to do with your mother board features. If your mother supports UEFI/EFI you may try making the bootable USB under other OS environments, otherwise I guess you’d better set up a macOS virtual machine to make the bootable USB. So go search the methods of checking the availability of UEFI/EFI first.

So if you decide to set up a virtual machine, you don’t have to install the macOS from scratch, because there are already disk image (like Ghost image) online and you just need to load the image and you get a already installed and configured virtual machine. I guess this post will help you. Basically what you need to do are:

  1. Set up your VMware;
  2. Install the unlocker;
  3. Load the macOS disk image;
  4. Follow the bootable USB installation guide on tonymacx86 (IG-sierra).

For convenience, you don’t even have to install VMTools. You may need to download the UniBeast provided by the site. When all is done, just move to the next step.

Notice: I am using a relatively outdated mother board, and so I chose the “Legacy Boot Mode” in the installation guide. The UEFI mode is a new feature, but choosing the legacy mode usually works because of compatibility.

Q5: The Installation

Before the actual installation, there are some BIOS settings to apply. I am using Gigabyte AWARD BIOS, so follow this post while making some mild changes:

  1. Update(Refresh) the mother board if necessary (not recommended if you are not experienced ’cause that could harm your board), mine is PH67-UD3-B3 and an update can enable the “fake” UEFI feature, using the Gigabyte @BIOS tool can make the process easy (see here);
  2. Go to BIOS -> Power Management Setup -> ACPI Suspend Type, set to S3(STR);
  3. Go to BIOS -> Integrated Peripherals -> PCH SATA Control Mode, set to AHCI;
  4. Go to BIOS, set boot priority to USB first (not CDROM first);
  5. Some other BIOS settings: enable the USB Legacy Function, disable the eXtreme Hard Drive (XHD, Gigabyte mb only), etc., just set them the way you think will make the installation work.

And so you will probably be able to boot from USB. If failed, you may try the boot menu (press F12 if you are using the same mb) of your mb. After successfully booted from USB, install macOS. If you can boot it, you will be able to install it.

Q6: Post-Installation Procedures

Now you should be able to boot and run macOS, but we are still booting from the USB (not from the disk) by clover, which means that if you unplug the USB you won’t be able to boot the system, and now we have to install clover to the hard drive.

Still following this post, download and run MultiBeast in the macOS environment, and proceed some of the settings (take mine as an example):

  1. Quick Start -> Legacy Boot Mode;
  2. Drivers -> Audio -> Realtek ALCxxx -> ALC889 (you can find this out on your mb’s instructions);
  3. Drivers -> Disk -> 3rd Party SATA (I didn’t try other options);
  4. Drivers -> Network -> Realtek -> RealtekRTL8111 v2.2.1 (select the latest, guess compatible);
  5. Drivers -> USB -> 3rd Party USB 3.0 (guess compatible);
  6. Bootloaders -> Clover Legacy Boot Mode;
  7. Customize -> Graphics Configuration -> Inject NVIDIA (or don’t select, we’ll install later);
  8. Customize -> SSDT Options -> Sandy Bridge Core i7 (mine);
  9. Customize -> System Definitions -> Mac Pro -> iMac 14,2 (the most compatible mode, strongly recommended, could solve a lot of problems, important)

Then you probably need to save the configuration as a PDF for future reference (like writing a post like me), then you can build and install the configuration. If successful, you now should be able to unplug your USB and boot from the hard drive now.

Q7: NVIDIA Graphic Card Driver

For better experience, we are to install and configure our NVIDIA graphic card. NVIDIA has released drivers for macOS. They are called WebDriver. Since the NVIDIA official website kind of sxcks (I can’t search for the latest WebDriver), you can go to this site to locate and download the latest NVIDIA WebDriver.

The drivers are .pkg and you know how to install it. After the installation, there will be a NVIDIA Driver Manager in your System Preferences, you can switch the driver you are using:

Switch your driver here.
Switch your driver here.

Switch it and after a reboot, you should be able to drive your graphic card. If not, see the following post for some diagnostics and solutions:

https://www.tonymacx86.com/threads/solving-nvidia-driver-install-loading-problems.161256/

But usually you will come across some problems while installing and enabling the WebDriver, see the Q&A below for some further suggestions. Finally, check your system information to see if the graphic card is correctly recognized:

Graphic card is recognized correctly.
Graphic card is recognized correctly.

Notice that if the memory of your graphic card on the screen is 0MB or 4MB, the driver is not installed or functioning correctly, and you should try to solve this problem before the next configuration.

Q8: CUDA, Keras and Other Necessities

Download the CUDA driver for Mac from here. Notice that the installer should match your driver version. If the version doesn’t match, the installer won’t go, then:

Version should match your WebDriver version.
Version should match your WebDriver version.

The installation is very easy. While in order to run the example or compile, you may need a Xcode installed on you macOS. Xcode can be found on App Store (Yes, the mac App Store). And the Xcode command line tools should also be installed. Just open Terminal and type:

# install the Xcode command line tools
$ xcode-select --install

OK then install brew, and then use brew to install Python, and use pip to install keras.

Then we are to install cuDNN, which is as easy as CUDA. Simply search and download and install (there are instructions on NVIDIA official website for Mac). We’ll have to set up the environmental variable by writing it into the user bash profile:

# edit your user bash profile
$ vim ~/.bash_profile

and add the following configuration:

# edit your user bash profile
export PATH=/Developer/NVIDIA/CUDA-8.0/bin${PATH:+:${PATH}}
export DYLD_LIBRARY_PATH = /Developer/NVIDIA/CUDA-8.0/lib${DYLD_LIBRARY_PATH:+:${DYLD_LIBRARY_PATH}}
export DYLD_LIBRARY_PATH = <you cuDNN path>:$DYLD_LIBRARY_PATH

And to make it effective:

# enable the profile
$ source ~/.bash_profile

For now, all the CUDA samples should be able to run. Then you can run your own Deep Dream tasks.

Q&A: Problems I Met & Suggestions

P1. How can I configure clover?

I would suggest you use Clover Configurator. User Clover Configurator to mount your EFI Partition and use it to open the “/EFI/CLOVER/config.plist” and you can easily edit the file:

Edit the config.plist
Edit the config.plist in Clover Configurator

P2. I can’t switch the WebDriver. It’s always reset after a reboot.

See Problem 6 in this post. Usually you only have to uncheck the “nv_disable=1″ and check “nvda_drv=1″ in config.plist (Clover Configurator suggested) and it may work. If still not working, try resintalling the WebDriver. If still not working, following the post to update your clover, but usually you don’t have to update your clover because you just simply mess up the configuration order. So try again before the update.

P3. After the NVIDIA configuration, my computer ran into black screen during the Apple Logo on startup.

You should try to disable the WebDriver. Reboot and press space on the clover screen, then you can specify the booting parameters. Simply disable the “nvda_drv=1″ and boot using the assigned parameters. Reinstall the WebDriver and try again. If you’ve just updated the clover in P2, you can try undo the update and reboot.

Afterwords

It did cost me several days figuring out some tricky solutions during the installation and configuration. Generally speaking, the computer works fine and smooth. I can now use it both for entertainment and work. The “win” button on the PC keyboard is mapped to “command” on Mac by default, and you may need to change the scroll direction if you are using a mouse.

Be First to Comment

Leave a Reply

Your email address will not be published. Required fields are marked *