RE booting upon Hackintosh

Ken Khoo
16 min readSep 11, 2020

I purchased out in a hurry having my mobo burned out — it deteriorated to mobo, CPU and RAM gradually, one component flopped after next, as my PC tech was explaining the situation. He said my video card could still survive the ordeal and trauma. Remaining components in my chassis were for my power supply unit (PSU) and hard drives persevered. My PSU made for the last over more than years of services. The PSU rated for 650W, a colleague of mine said we need it for the gaming needs, 80 Plus certification, CoolerMaster was the brand.

Courtesy to Synopsys(R)

Ten years was about the time when the semiconductors wreak havoc caused by EM, Electromigration. One of the power rails, VCC/VSS, in CPU must have gotten short-circuited. Since all components on mobo share the same power network, the RAM unit may contain sensitive circuitry network similar to electrical static. It may experience torrential decay in some seconds, although I hypothesized. While collecting the scraps, I explained the basic needs for my PC said to the PC tech. It has to be bootable on Hackintosh. Hackintosh? The tech guy said he was not so sure how to boot it up apart Windows? Ahem … no worry. I could handle it.

My journey to Macintosh started on a slab of shiny chrome nostalgically that ushered me into the world of Apple, one decadent year ago. A little time later I bought next into a mac mini, not to mention iPhones and iPads, the bandwagon of Apples. In the about the same time, I decided to venture into PC, making it works like Mac aka Hackintosh. Moreover, I also wanted to support apps that run on Xcode.

How Hackintosh works

Turning PC Into Apple Macintosh: Hackintosh

This would also mean I could execute Unix utilities (Unix-like experience) such as sed and awk, which I get used since my newbie days dated back to IBM AIX workstation era. Explicitly saying it is Darwin, which is an open-source Unix like OS released in 2000. I would also like to dabble into Xcode and Android Studio for a vibrant mobile programming ecosystem.

To achieve the goal of “hacking,” an army of hackers on the internet contributes emulated layer called quirks, including suggested BIOS settings or UEFI (for the proper), a software layer that interfaces between firmware and OS or bootloader, to produce Macs like experience environment. In the event when any feature could not be provided, it merely reports to users via System Preferences, GUI. For instance, the missing Broadcom Airport chipset is a popular option among Hackintoshers that supports WiFi and Bluetooth on hardware will be reflected in Network and Bluetooth in System Preferences. No hacking to macOS is necessary, in verbatim as provided by Apple Store. Instead, the modification occurs within the bootloader process before macOS booting presumingly.

The PC tech shows me the bill as I finished assembling. I was able to start booting it with eagerness. So far, so good right up to the last part of the line in the BIOS screen below. What happens when Hackintosh would not boot?

It may error out or stuck indefinitely parallel to Windows Blue Screen error.

In the latter case, we can still install Broadcom Airport chip — a popular hack recommended among the internet chaps. In my case, I use a USB accessory to overcome my missing WiFi support. Apart Bluetooth accessories, wired keyboard and USB wireless dongle mouse can be supported without Broadcom Airport hack.

I shall walk you up through the preceding sections.

Mobo

Stack of peripheral functions on mobo at the back of the PC. Illustration based on Gigabyte Z390 I AORUS PRO WIFI LGA1151 Mini-ITX Motherboard.

I head on to the tonymacx86 editorial board, which provides recommended mobo for Hackintoshers on the internet. These are tested solutions that have been previously assembled their PC by enthusiasts, each with differing opinions, configurations and requirements.

There are two leading suppliers Asus and Gigabyte at my place, among the mobo’s enthusiast market. The rest of the mobos are likely for the proprietaries such as HP, Dell, MSI and Acer; these are US, Taiwanese and Chinese companies. Apart from Asus and Gigabyte, other mobo providers are lesser-known among the dominant players. We don’t have plenty of options to think about.

Which one would you put a bet on Gigabyte vs Asus? Both vendors have their followers that they made a household name through the mid-80s when Microsoft and Intel introduced PC via the Wintel initiative. In my opinion, it is a matter of taste, the BIOS settings and your preferences.

BIOS traditionally since the PC in 80s and 90s. Technically saying it is UEFI that supports a small OS.

For a quick answer on the bat, Z390 mobo is earmarked for Intel 300 Series Chipsets, code name Coffee Lake debuting during early Q2'18 through at the end of 2018. This mobo is based on Intel 300 Series supporting integrated wireless (Wireless AC MAC) that allows us to provide wireless connectivity without the USB connection, which could come in handy, more about this in the next section. Prior to Intel 300 Series, PC had been supporting the venerable USB 2.0/3.0 since 2000 and 2008. Apart from the latest in Intel 300 Series, Z370 was the latter to the enthusiast mobo since 2017. Preceding to 2018, WiFi may not be available natively on the mobo although they can still provide via USB add-on.

At the current of the game, it is Z490 the latest and greatest for the enthusiasts debuted Q2'20, Comet Lake at my current time of blogging supporting WiFi 6 and USB 3.2. Consider this as the bleeding edge, it may take Hackintoshers to iron out some bugs to stabilise their changes. Coffee Lake is the last gen precedent to Comet Lake.

Apart from the enthusiast market, Z390 and Z370, Intel has marketed this platform as the value segment. I provide them in a one-line summary: — H370, B360 and H310. H370 doesn’t support overclocking, multiple graphics card setup. B360 has got fewer USB ports, fewer high-speed IO. H310 fewer USB and SATA, however, doesn’t support PCI Express 3.0.

There is a helpful spreadsheet provided by Intel that allows you to compare product specs and datasheets among the family of Intel chipsets.

For the Hackintoshers, it may require a little hacking in comparison to Windows. Instead, we follow them anecdotally based on internet reports, friends and even sometimes merely hearsay. To reduce any hazards, bumps and surprises — check on the mobo with tested boards starting first with the latest and greatest, Z390, Z370 following with other variations. Hardware can be tough and hard. We would also like to recommend back up your storage such that we can revert to the original state when needed.

Wireless connectivity

Seamless wireless connectivity would be very much desirable feature since internet connectivity has become more versatile these days. Wiring works to enable ethernet connectivity could be cumbersome without knocking on one or two walls to provide for a wiring route connecting the modem to the location of my PC. We tried to minimize any necessary renovation work that could be expensive. Hence the cheaper solution would be for wireless connectivity available on the market as a USB adapter, which could provide for internet connectivity, versatile, and effortlessly.

The current conventional WiFi adapter on PC is likely to follow USB 3.1 Gen 1 ports, synonymous to USB, which I purchased on the market would already provide dual-band routers based on 802.11ac Wave 1. Wave 2 specs, referring to the USB 3.1 Gen 2 Type-A port (red), which is the sole port on the back panel of my PC, introduced in 2016 after the Intel 300 series released three years later. The update offers higher throughput than the older Wave 1 product, which was introduced in 2013.

Wave 1 specs mention 1.3 Gbit/s while Wave 2 will go up to 2.34 Gbit/s as said the Wikipedia notwithstanding the actual data rate on my WiFi status on Windows.

I am using the Tp-Link AC1300 USB adapter measured at dual-band mode 2.4GHz and 5GHz based on Windows metered connection.

Hackintosh works fine apart for the installer during the first boot which my PC needs to be wired via Ethernet connectivity to enable macOS installation to proceed to the completion of the installer. After macOS (or more accurately, Hackintosh) can be booted and installed successively, I used Tp-Link AC1300 to circumvent my missing Ethernet connectivity via a dongle USB adapter to connect to the internet, wirelessly on air. Without the Ethernet connectivity, I suspect I may be needing a native wireless driver such as Broadcom Airport driver.

On the other hand, the Windows 10 installer can be booted wirelessly to complete the installation; no installer was even required as if the USB installer has been prebuilt into Windows. It was a needlessly, simple experience. Not to mention the Hackintosh configuration such as Clover, OpenCore nor BIOS settings but that was not the point ;)

For instance, Broadcom Airport driver has been prebuilt into macOS as with other drivers supported and maintained by Apple since there is only need a handful of drivers anyway. I attempt to locate my Windows driver to TP-LINK Wireless Mini MU-MIMO USB Adapter WiFi while macOS follows the functionality instead, com.apple.iokit.IOBluetooth* (which stands for multi-users, multiple inputs, multiple outputs). In a simple directory listing of Windows 10 driver, it yields ~500 entry, macOS Catalina has got ~150 of Kext files (Kernel Extension in macOS) — both of them clearly demarcate their market differentiation.

For my showcase, I was able to stream video wirelessly, watching TV on Kodi in my living room, spaced apart from my Hackintosh in the bedroom. In my experience, the video shows stuck a few times although infrequent (less than 3 to 5 times maybe) while streaming at 2.4GHz network WiFi. At 5GHz, the performance was much better, considering this as a seamless streaming experience.

Intel Integrated Connectivity (CNVi)

Another possibility that I could obtain internet connectivity was with the target mobo, Gigabyte Z390, via a peripheral adapter attachment. Unlike the USB solution, it is the Intel CNVi WiFi Upgrade kit.

These are two conductors, with companion RF, SMA Antenna Connectors that look like households antenna coaxial cable although electrical characteristic is differing. 50 Ω is for data connection, as opposed to the standard 75 Ω impedance for video signals, commonly use at our households in the early to late 90s. The theoretical achievable limit was stated at 1,733 Mbps said mobo manufacturers, comparing to other USB solutions which were stated at 1,300 Mbps, measured 866.7 Mbps in the previous preceding session, both were available on dual-band. Intel called this Wireless-AC 9560 standard.

The Hackintoshers have been able to solve this via Kext added-on, the addition is very recent in 2020 said the coders. They were able to use Kext as if it was a native Airport device, no additional hardware needed? See Github.

Mini ITX and other form factors

Courtesy to Difference Between.net

My current PC was built on mini ITX — others form factors are ATX and Micro depending on the shape and size of the board. Mini ITX is the smaller among the family of PC; the rests are lesser-known or special purpose, Nano and Pico ITX in my experience. I could fit it into my small apartment because space on the floor would also mean a pricier commodity. Yet I’m able to execute compilers that I needed to do my job. I could also run some background jobs on occasion.

My primary computer usage has been for a desktop PC although computing usage has been blurred since the advent of iPhone, phones and tablet computer devices, myriad of devices. For example, I may be able to edit my Medium blog on a computer or on my phone anywhere I’ve moved to my situation and comfort. I am virtually saying that computing is everywhere ushering into the post-PC era. Yet there’s no easy way for me to edit my source and test my app on industrial-strength IDE such as Xcode nor Android Studio. The closest ally to this is the Swift Playground which runs on the iPad.

CPU

For my CPU, I chose Intel over AMD largely because I have been a fan of Intel since antiquity although AMD has some edge in the current race in the CPU war. Core i9 is out of my budget by a large margin in monetary value. Among Intel’s CPUs, the remaining in my list are Core i5 and Core i7, products formerly called Coffee Lake. Core i7 fared better in terms of performance with larger thread count at eight whereas i5 has six thread count. The Graphics processor also features Intel UHD Graphics 630 with an on-die chip as an integrated graphics solution which is not too bad. This is like having a CPU without the need to buy an extension cord for the video or it is GPU (Graphical Processor Unit). Comparably speaking Intel UHD Graphics 630 is similar to Nvidia Geforce GT 7xx, 2015. Unless you are into the PC gamer category whereby you could find a good video card on the market, in my case, I could still enjoy retro gaming on Nvidia Shield which doesn’t require a PC for my gaming needs. On the other hand, AMD Radeon fared better as a discrete GPU in terms of performance as of the current state. Yet I wanted a silent and fan-less system for my desktop solution. For the time being, our CPU solution will still require a fan or twos until a mobo that works more like phones. I shoved the desktop underneath my table to deafening out the noise for a quick and cheap solution.

With hesitation, eventually, I settled to Core i5–9600K over Core i7–9700K since it was out of order said the seller’s shortage caused by the Asian region, on Feb. For me, I was suspecting could this be caused by the onset of Covid-19 crisis which plagued Wuhan? Was not that near end of the peak of Covid-19 crisis in this region? As I reflected my impression.

It was a close call, nevertheless. Another closer comparison was i7–7700T said the supplier which run on the lower base frequency and lower number of core count, four vs six-core counts, and 2.9GHz vs 3.7GHz base frequency in i7–7700T and i5–9600K respectively.

RAM

I would not consider my self in the PC’s gamer category unless you need a full keyboard input to enable your full gaming experience. Furthermore, there are other solutions for gamer which are non PC solutions — for instance; I could run the emulator on the Nvidia Shield box. Hence-full I have chosen not investing too much on RAM apart from essential requirements. We still need to be to have enough memory without paging onto RAM. We will need a decent experience in a Software Development environment.

My price list

Finally, here is the price list which I purchased in replacement for the burned parts, except without the ceremony and fanfare. Notwithstanding I included the WiFi accessory in addition to the essential components. For the total cost about 80% of a PC excluding chassis, hard drives, and PSU which is still functional, cheaper than macOS depending on how you measure it.

  1. Mobo — Gigabyte Z390 I Aorus Pro WiFi
  2. CPU — Intel® Core™ i5–9600K Processor
  3. RAM — Samsung 16GB 2666 Desktop RAM
  4. Internet — TP-Link Archer T9UH AC1900 High Gain Wireless Dual Band USB Adapter

Addendum — got burned

Around one to two months later, it was discovered that my Solid State Drive (short for SSD) hard drive had absolutely burned except without the fanfare. Current estimates set the age limit for SSDs at ten years, which is exactly the same as my current experience, so be reminded to alert my dear users.

While purchasing for an SSD drive to replace my burned disk, additionally I decided to vouch on NVMe short for Non-Volatile Memory Express for my recent purchases.

  • Kingston A400 SSD SATA 2.5"
  • Kingston KC2000 NVMe PCIe SSD

My mobo may be restricted to two M.2 slots (M.2 Socket 3, more about this in the following section), one more spare at the back of mobo for the two M.2 slots. I mentioned my PC follows mini ITX casing; mobo designers don’t want to waste unused space and so is the dollar, it is a piece of silicon real estate space. SATA cables are much more abundant for a total of 4 of them on my PC.

SSD SATA uses the legacy Advanced Host Controller Interface (AHCI) which was designed for mechanical and magnetic storage media. On the other hand, NVMe was designed for flash storage which exploits parallelism in host hardware and software.

The NVMe interface was chiefly available in the mini card form of PCI Express expansion cards through interface connector with an internally mounted computer called M.2 debuted in 2014/15. Earlier PCI Express 3.0 in 2010 evolved to 2013 to early 14, materializing as PCI Express 3.1 to support M.2 specs altogether. Reading PCI Express 4.0 and 5.0 at Wikipedia were likely did not emerge or being planned at 6.x perhaps they are under development, new usage model that require more data such as 5G, video conferencing, etc. to thrive throughout the new electronics ecosystem. Apart from storage usages, another M.2 usage is for WiFi card and Bluetooth. Futurewise, it is possible not to exclude sound card nor graphics card into the picture, ecosystem. The smaller form factor to cram the electronics real estate space certainly poses a challenge.

NVMe drive should be able to beat SATA drive hand down for higher data throughput time. SATA III is specified to go up to 600 MB/s back on those days when rotational HDDs were adequate. NVMe drive connects directly to multiple lanes of the PCIe bus which could speed up to 3000 MB/s to 4000 MB/s for the factor of 5x over SATA III disk drive.

SSD vs NVMe Disk Mark result base on my PC.

Based on my benchmark data obtained from comparing my SSD vs NVMe drive, I summarise it to below: -

  • Sequential reading speed was estimated at 5x. Highlighting the sequential writing test at 128K, SEQ128K QD32 test, was 80x admirably.
  • Random read test at QD1 was 3x, slightly below the benchmark at 5x. Queue Depth indicating the number of threads. QD1 for a single thread, QD32 for 32 threads, and so on.
  • When writing non-sequential or random data, my benchmark does not experience any speed-up on both of the disks regardless of the number of threads, SATA, and NVMe.

Perhaps the test does not reflect the actual use case in real-time scenarios. I am trying to time how long does my Hackintosh could boot using a stopwatch for a better real-time test. Thinking that theoretical cases may not always pan out real-life scenarios, right?

Since this is about booting the machine, random read access time should be more dominant accounting for 3x to 5x speed-up based on my clocked time. How about random write time? Do we write a lot of scratch data while booting? Even if BIOS designers want to write some data, I presumed it should be minimal.

Results are as below: -

  • My Hackintosh build on SATA drive took 26s.
  • It took 29s on my NVMe drive. I was disappointed.
  • Thinking that printing on display could slow things down, I switched verbosity to OFF on NVMe drive. It took me about 22s to 25s.

Using my NVMe drive, I was able to shed off some booting time marginally for one to four sec, slightly 15% faster unlike 3x to 5x improvement base on my previous benchmark, notwithstanding measurement error. The console logging while it is booting up shows it is much faster in terms of the number of lines printed as my machine booted. However, I could only see the same message recurring while looping and waiting. Not knowing the innard works, I can only speculate.

Wait stateA time-out period during which a CPU or bus lies idle. Wait states are sometimes required because different components function at different clock speeds. For example, if the CPU is much faster than the memory chips, it may need to sit idle during some clock cycles so that the memory chips can catch up.

Finally, I decided to reinstall with Windows 10 on the same machine configuration on more changes apart OS change — Windows can be booted on ~16 secs. Amount varies according to your software/hardware configuration.

Windows vs Hackintosh

Windows provides a seamless experience as far as PC assembly and booting is concerned. PC was born out of many vendors who can opt into the PC ecosystem. It is a very malleable system right out of the box. Microsoft follows proprietary software too, although they adopted a very different approach, aka wholesale distribution model. PC desktop gaming has been more supportive in the Windows scene. Apple has been quite supportive of Windows too for their cross-platform apps, e.g. Music, iTunes, Keynote, Pages etc. in an attempt to win iPhone and other hardware initiatives.

Being an Apple fanboy since the iPhone days, apart from working on mobile apps, I still like Mac desktop better than Windows which is why I built a PC that runs on Mac in lieu of Hackintosh. Multiple virtual desktops on Mac works better than Windows being my favourite. It retains my windows position to the previous session on booting a new one. Other notable mentions were not planned nor ported to Windows are GarageBand, Final Cut Pro X among a few more options.

Popular apps bundle that being hosted on Mac exclusively — Apple

I also like the Command better than MS-DOS, it is a Unix like experience since the prehistoric days before the advent of GUI. It also allows me to invoke VIM natively although the Windows version works with a little quirk. Given that I know how things work on Hackintosh, it is not too much for a hassle. Furthermore, if you could come to enjoy some minor tinkering, we may enjoy hacking hardware. In my case, I have both hard drives such that I can get dual boot onto Mac and Windows.

Is software no longer an issue? We may also want to hop onto embedded programming to those who could comprehend virtualization hardware. That way we can inject missing support onto incompatible hardware or software interfaces, only for those who are brave ones.

Thank you for reading my article.

--

--

Ken Khoo

I can speak and write better although my wife say that my vocab are erratic sometimes :) I disagree with her assessment though. Traumatic Brain Injury