RSS icon Email icon Home icon
  • Let’s make a Mac at Zhongguancun!

    Posted on May 20th, 2009 Derrick Sobodash 7 comments

    I have been talking non-stop about getting a computer just for design work since mid-2008. It’s not that I didn’t have the money to get one—it’s that I didn’t want to spend that money. Were it not for the Intel Atom CPU, I would still just be talking about it.

    When I set out to build a new desktop system for design, I wasn’t planning to build a Mac. However, as this is a design machine—and all design software is built for Mac and hacked onto Windows—it made sense to kill the initial Windows 7 install and switch over.

    What to buy

    The Hackintosh “Mac” we’re going to build requires the following parts. I have included NewEgg links for estadounidenses who want to follow along with this entry:

    • SPARK ATOM-GM1-N330 motherboard, 610 yuan (US $94.99) *
    • Kingston 2GB DDR2 SDRAM PC2 6400, 120 each (US $24.99)
    • Seagate Barracuda ST3250410AS 250GB 7200 RPM hard disk, 360 yuan (US $54.99)
    • TP-LINK TL-WN550G WiFi adapter, 90 yuan (US $13.99)
    • Hanns•G HB-191DPB Black 19″ LCD monitor, 770 yuan) (US $119.99)
    • Cheap case and ATX power supply (80 yuan)
    • Cheap keyboard and mouse (10 yuan)
    • IDE DVD-ROM drive for installing

    Total cost: 2,160 yuan (save 770 yuan if you already have a monitor)

    *The SPARK motherboard brand is marketed as JetWay in the US. The equivalent board is a JATOM-GM1-330-LF.

    As you may already know, Atoms are sold only to OEMs, and the chips come welded to the board. You will not be able to upgrade the CPU on this board. Also notable is that the only fan is on the northbridge GPU, meaning for the first time since the flawed Pentium 90 we have an tower motherboard whose CPU does not need a fan.

    The Atom is most often described as “not a real CPU” or “just for embedded devices.” In the case of the early Atom chips, I wholeheartedly agree. But this board comes with an Atom 330.

    ‘Green’ with envy

    Meet the reason I need an Atom:

    The DDY200D3K power meter, affectionately known as “DIDDY.” He entered service in 1999 and has ruled the power in my hallway with an iron fist ever since. He decides when my lights don’t turn on anymore.

    At the time of this picture, DIDDY was informing me I have 80 units until my apartment fades to black. You probably cannot see the 80, because I needed a flash to take this photo. I needed a flash because the lighting in our hallways was donated by the stage crew of Hostel.

    But back to the topic: DIDDY is a dick. I hate him to begin with, but I hate him even more because only one electric card on Earth is capable of feeding him. That electric card has never been in my possession.

    Enter the Atom.

    The Intel Core series is a family of powerhouse CPUs. Unfortunately, powerhouse CPUs eat wattage, throw heat and make DIDDY angry. The current Wolfdale-3M series, manufactured on a 45nm process, gobbles 65 watts. The 45nm Atom 330, by contrast, gobbles a peak of 8 watts. The Hanns•G monitor we’re using draws a peak 50 watts.

    With a sufficiently empty case, we should be able to put together a very power friendly system. Let’s check out the specs:

    Intel Atom 330 CPU

    • Clockspeed: 1.6GHz (overclockable to 1.91GHz)
    • Instructions: MMX, SSE, SSE2, SSE3, SSSE3, Intel64, XD bit
    • Cores: 2
    • Hyperthreading: Yes
    • L1 Instruction Cache: 2x 32KB (64KB)
    • L1 Data Cache: 2x 24KB (48KB)
    • L2 Cache: 2x 512KB (1MB)
    • FSB: 533 MT/s
    • Voltage: 0.9V

    Intel 945GC Northbridge

    • Controller: Integrated GMA950 video
    • Supports: DirectX9, OpenGL 1.4, Shader Model 2.0

    Intel 82801G Southbridge (ICH7)

    • Network: Realtek RTL8102EL 10/100 adapter
    • Audio: Realtek ALC662 HD Audio device
    • Quality: 6-channel 3D sound

    Available Slots/Ports

    • PCI-Express: 1
    • PCI: 2
    • USB 2.0: 8
    • VGA: 1
    • PS/2: 2
    • Serial: 1
    • SATA II: 2
    • ATA IDE: 1
    • Floppy: 1
    • Parallel: 1 (requires case hookup)

    And now for an overview of power consumption:

    • Atom 330 CPU: 8 watts
    • Intel 945GC: 22.2 watts
    • Intel 82801G: 3.3 watts
    • Kingston 2GB DDR2 SDRAM: 2.25 watts per stick
    • Seagate Barracuda ST3250410AS: 8.5 watts
    • Hanns•G 191DPB: 50 watts

    Just over 96 watts at peak operation of all parts. That means the entire computer draws less power than the Core 2 Quad Q6600 CPU.

    Thousands of tenants

    Two hours in BIOS with no SpeedStep gave a case temperature of 34 C. This is cool, because my case is … ghetto. You see, my apartment has a history of cockroach problems. It’s important that I describe how bad the problem is so you can understand why I did what I did to my case.

    Yes, that is duct tape.

    Last year, before going home for vacation for two weeks, my piped gas heating was cutting out every day. This meant I was taking cold showers. Getting the company out to rip it open was a big task, and unfortunately, only the company had the keys. My fiancée’s mom decided to do it while we were in the US.

    Days later we heard a panicked tale.

    Apparently the man came and found all the connections were right and the gas was coming out, but he couldn’t explain why the pilot would not fire up. In desperation, he opened up the deepest part of the furnace. Four grocery bags of crispy cockroaches came rolling out of the wall and onto the kitchen floor like black tide of rot.

    Apparently, some roaches were trying to come in through the gas pipes. Then the pilot came on. This led to more roaches thinking, “Hey … barbecue! Yummy!” So roaches came to feast on their crispy friends and ended up joining them the next time I took a shower. This cycle continued for … years.

    We are moving in September, and I would rather not have any travelers coming in my hardware. This is why I sealed every single opening on the case with industrial duct tape and patched the empty fan vents with card paper. The only fan is on the PSU—temporarily—and the only way a roach is getting through there is if Sean Connery is leading him like in The Rock.

    So even in a closed system, the case temperature is 35 C.

    The last of the BIOS options revealed an option to adjust the FSB. I’ll save you the trouble of experimenting and tell you that 159 is the magic entry, and it will take the chip safely from 1.6GHz to 1.91GHz: the penalty is a 3-degree CPU heat leap to 41 C.

    This clockspeed is exceedingly good for a Diamondville Atom. Intel’s newest Silverthone (Z550) is hitting 2GHz, but it is a 32-bit chip only.

    If you want to install Mac OSX Leopard on the machine, then follow along. Otherwise you can skip to the end for benchmarks.

    Making a Hackintosh

    If you do not need WiFi, you may want to leave out the TP-LINK card: getting that to work was the hardest part of this project. You will need a Mac OSX 10.5.6 PPF5 ISO burned to a DVD-ROM. Be creative in how you obtain this file.

    PPF5 is patched to include the Voodoo Kernel 9.5.0, which you will need, and all hardware patches.

    WARNING! Before installing, make sure your DVD-ROM is plugged into the ATA IDE port and your hard disk is in the first SATA port. The installer burns in Hell if you run it from a USB or SATA DVD-ROM device, and also crashes if your hard disk is on an ATA IDE chain. It will make your screen do something very bad, and it will keep doing it until you rip out the power plug!

    Now that you have plugged the right shit in the right ports, boot from the CD and wait 15 minutes while the Mac installer initializes. Use the menu bar to open the Disk Utility and partition your hard disk. Continue with the install and select the partition. Before continuing, you must click the Customize option!

    This is important. Every OSx86 tutorial says to do this. I did not do this the first time. Needless to say I spent a lot of time wondering why my system was trapped in an endless series of reboots.

    Make sure you check the following options, in addition to whichever languages you want:

    • Kernel > Voodoo kernel 9.5.0
    • Drivers > Time Machine patch
    • Drivers > Video > Intel GMA950 patch
    • Drivers > PCI > Intel ICx patch
    • Drivers > Audio > Azalea ALC662 patch
    • Drivers > Wired > Realtek R1000 patch
    • Drivers > Other > USB 2.0 patch
    • Fixes > PS/2 keyboard and mouse fix
    • Fixes > Seatbelt fix
    • OSx86 Tool (needed for kext files later)

    When the installer is finished, press any key at the boot menu and type “-f” as a boot flag. This flushes the drivers. The machine will not boot until you do this.

    Create an account. If you are using a wired network, then now is the time to set it up. Otherwise say you have no Internet connection. Once you are up to the desktop, open Finder > Applications > OSx86 Tool.

    If you installed the TP-LINK card, you will need to add these kext files: http://www.megaupload.com/?d=G6TQMEVG.

    Regardless, you will need this kext so About this Mac stops crashing: http://www.megaupload.com/?d=34ZHWXTN.

    Reboot. If you installed the TP-LINK card, then now is the time to run Appicaltions > System Preferences > network and add a new AirPort device. Use the wizard to connect to your local network and you will be all set. You must make a new AirPort device: the one added by default will never recognize or connect to your wireless network.

    Congrats! You now made a Mac, and it’s damn near as powerful as the high-end MacBook Air—but which runs literally half as hot and much quieter.

    For the finishing touch, rip off your Alt and Win keys and swap them for a more Mac’ish keyboard.

    Not quite a powerhouse, but …

    Let’s start off with a quick look at glxgears, since these are numbers that will be easily understood by Mac and Linux users. Mind you, these numbers are from onboard video. You could easily add a fancy PCI-Express card, but that would kill the budget for this project.

    Soshette:~ d$ uname –a
    Darwin Soshette.local 9.5.0 Darwin Kernel Version 9.5.0: Sat Dec 6 19:39:54 IST 2008; Voodoo; Release 1.0 :x nu-1228.7.58/BUILD/obj/RELEASE_I386 i386
    Soshette:~ d$ glxgears
    11213 frames in 5.0 seconds = 2242.600 FPS
    11968 frames in 5.0 seconds = 2393.600 FPS
    11977 frames in 5.0 seconds = 2395.400 FPS
    11983 frames in 5.0 seconds = 2396.600 FPS
    11979 frames in 5.0 seconds = 2395.800 FPS
    11985 frames in 5.0 seconds = 2397.000 FPS
    11974 frames in 5.0 seconds = 2394.800 FPS

    Not bad! In fact, it’s much faster than my old Pentium M 2GHz running with an ATI Radeon Mobility X600.

    Now for the Mac fags, we’ll run Xbench. I don’t expect very high numbers here, because Xbench is heavily weighted to single-thread, 32-bit processing. It’s no secret that, when you’re talking about single-threaded software, the Atom sucks balls like a drunken cheerleader.

    Results 65.47

    CPU Test: 34.52

    • GCD Loop: 74.42 3.92 Mops/sec
    • Floating Point Basic: 22.47 533.99 Mflop/sec
    • vecLib FFT: 29.02 957.48 Mflop/sec
    • Floating Point Library: 42.55 7.41 Mops/sec

    Thread Test: 119.36

    • Computation: 105.42 2.14 Mops/sec, 4 threads
    • Lock Contention: 137.55 5.92 Mlocks/sec, 4 threads

    Memory Test 85.51

    • System: 69.37
      • Allocate: 65.76 241.50 Kalloc/sec
      • Fill: 102.66 4991.43 MB/sec
      • Copy: 54.65 1128.76 MB/sec
    • Stream: 111.43
      • Copy: 113.20 2338.17 MB/sec
      • Scale: 106.21 2194.32 MB/sec
      • Add: 131.09 2792.48 MB/sec
      • Triad: 99.80 2134.94 MB/sec

    Quartz Graphics Test 71.04

    • Line: 73.06 4.86 Klines/sec [50% alpha]
    • Rectangle 75.24 22.46 Krects/sec [50% alpha]
    • Circle 66.50 5.42 Kcircles/sec [50% alpha]
    • Bezier 71.36 1.80 Kbeziers/sec [50% alpha]
    • Text 69.67 4.36 Kchars/sec

    OpenGL Graphics Test 107.27

    • Spinning Squares: 107.27 136.08 frames/sec
    • User Interface Test 52.08
    • Elements 52.08 239.02 refresh/sec

    Frankly, these are abysmal numbers. The CPU was shamed in its floating point and vector math scores, while the onboard video was extremely competent in its handling of Quartz and OpenGL graphics.

    But the system handles far, far too snappy for it to suck this bad. Let’s see if a more accurate tester, like GeekBench, can deliver an explanation about what is going on here. You can see the GeekBench score in its database.

    KEY:
    STS = single-threaded scalar
    MTS = multi-threaded scalar
    STV = single-threaded vector
    MTV = multi-threaded vector

    Overall Score: 1748

    • Processor integer performance: 1607
    • Processor floating point performance: 2333
    • Memory performance: 1206
    • Memory bandwidth performance: 1281

    Integer Performance: 1607

    • Blowfish STS: 930 40.9 MB/sec
      Blowfish MTS: 2605 106.8 MB/sec
    • Text Compress STS: 867 2.77 MB/sec
      Text Compress MTS: 2383 7.82 MB/sec
    • Text Decompress STS: 960 3.95 MB/sec
      Text Decompress MTS: 2743 10.9 MB/sec
    • Image Compress STS: 766 6.34 Mpixels/sec
      Image Compress MTS: 2193 18.5 Mpixels/sec
    • Image Decompress STS: 577 9.69 Mpixels/sec
      Image Decompress MTS: 1609 26.3 Mpixels/sec
    • Lua STS: 965 371.7 Knodes/sec
      Lua MTS: 2686 1.03 Mnodes/sec

    Floating Point Performance: 2333

    • Mandelbrot STS: 656 436.7 Mflops
      Mandelbrot MTS: 2463 1.61 Gflops
    • Dot Product STS: 1308 632.3 Mflops
      Dot Product MTS: 3933 1.79 Gflops
    • Dot Product STV: 1043 1.25 Gflops
      Dot Product MTV: 4673 4.86 Gflops
    • LU Decomposition STS: 346 308.0 Mflops
      LU Decomposition MTS: 1263 1.11 Gflops
    • Primality Test STS: 1224 182.9 Mflops
      Primality Test MTS: 2932 544.2 Mflops
    • Sharpen Image STS: 1211 2.83 Mpixels/sec
      Sharpen Image MTS: 4113 9.48 Mpixels/sec
    • Blur Image STS: 1772 1.40 Mpixels/sec
      Blur Image MTS: 5729 4.51 Mpixels/sec

    Memory Performance: 1206

    • Read Sequential STS: 1457 1.78 GB/sec
    • Write Sequential STS: 1529 1.05 GB/sec
    • Stdlib Allocate STS: 500 1.87 Mallocs/sec
    • Stdlib Write STS: 1469 3.04 GB/sec
    • Stdlib Copy STS: 1079 1.11 GB/sec

    Stream Performance: 1281

    • Stream Copy STS: 1079 1.48 GB/sec
      Stream Copy STV: 1713 2.22 GB/sec
    • Stream Scale STS: 841 1.09 GB/sec
      Stream Scale STV: 1631 2.20 GB/sec
    • Stream Add STS: 942 1.42 GB/sec
      Stream Add STV: 1860 2.59 GB/sec
    • Stream Triad STS: 800 1.11 GB/sec
      Stream Triad STV: 1384 2.59 GB/sec

    Now there’s some real numbers. As expected, memory operations are still a little slow. However, multi-threaded performance sees a massive boost of four or more times over the single threaded operations, which seem more in line with the Xbench scores.

    Floating point math is considered one of the Atom’s weakest points, but according to these tests results an overclocked Atom 330 can keep step with an Intel Core 2 Duo P7500, as seen in the MacBook Air. In fact, it beats out the P7700 and falls shy of a proper 64-bit run on the P7500 (the high score in this test is due to better memory performance).

    Yes, for the low price of 2,160 yuan (US $315 as the peso rises) you too can build an ultra low-power desktop system that can compete toe to toe with a MacBook Air.

    Mind you, this setup has nothing on an 8-core Mac Pro (US $3,300), but for less than a tenth of the price you should not expect it to. This is a very respectable, silent (with a better power supply) little machine for photo and design work, and that’s all it is supposed to be.

     

    7 responses to “Let’s make a Mac at Zhongguancun!”

    1. Great Post, I have never used a mac before but will probably give it a try. Is it easy to install the wifi and about mac crash kext? Thanks

    2. Let’s evade the Green Dam at Zhongguancun!

    3. Hi Chris:

      Sorry for the delayed response. The Wi-Fi is easy to install assuming the ZIP with the hacked kext is still up. You could always just get a different, better supported card and avoid the need for my hack.

      The installer also includes several patches to fix the About this Mac crash. You can pick one. Worst case scenario is the OS won’t crash, but About this Mac will display the wrong info.

    4. Nice web page. This info has pushed me off the edge and now I’m wanting to throw my sorry ass pc in the trash. Vista just sucks so bad. I want cool graphics like a mac but no lag. Going to build one. Thanks for the info. You should author some type of tech web site like cnet.

      Thanks for the info,

      Jason

    5. now that Snow Leopard is out. Would you need a special iso of that if you wanted to use it when building this system?

    6. Yes! And none has been released yet. I attempted to install with the default Snow Leopard ISO, but none of the necessary patches are present. The default kernel also fails to boot if Hyperthreading is enabled in the BIOS. If you disable HT you can get booted up to the desktop, but no audio and video is limited to VESA3 compatibility (1024×768 at 16-bit). Waiting for someone to make a patched disk. Since I have Safari 4 on Leopard, there’s not a big incentive for me to risk my system’s health trying to get Snow Leopard.

    7. Nice post,keep up the good work.

    Leave a reply