Jump to content

Forcing 64 bit Kernel on 10.6; Macbook Pro

16 posts in this topic

Recommended Posts

I installed Snow Leopard on a Macbook Pro (2.4 GHz core 2 duo "penryn"), and was surprised to find that it was running the 32 bit kernel despite the machine being 64-bit capable...

uname -a showed the i386 kernel was running

I really wanted to try the full 64 bit kernel and there exists no force64 kernel flag...After a bit of hacking I've figured out how to force 64-bit boot with Snow Leopard...



Due NDA issues/affiliations, can't have those instructions on the blog...so they're HERE:


0. Backup whatever kernel you're using. Just in case.

1. in a super user shell (or sudo)

cd to /

#lipo -remove i386 mach_kernel

[you could specify the output file, but whatever.

2. Reboot


Basically I removed the i386 kernel from the universal binary, causing it to select the remaining x86_64 kernel (can't choose PPC) and run it. Note that no 32-bit kexts work.

good luck


man lipo

Link to comment
Share on other sites

  • 9 months later...

Previously, one was able to press the keys "6" + "4" on the keyboard on boot to force using the 64-bit kernel, or "3" + "2" to force using the 32-bit kernel.


I haven't tried it in a *long* time, but I would assume that Apple hasn't removed this functionality in the later builds.



Link to comment
Share on other sites

The real question will be whether I could force a 32-bit kernel and make my DisplayLink graphics card work under Snow Leopard. I know that DisplayLink graphics cards do not work under the 64-bit kernel as no module has been written yet, and I am addicted to the whole 3 displays thing...


While I *love* Snow Leopard's performance, I am much too tied to screen real estate to justify making the move on my primary laptop.


Plus, what fun is having Snow Leopard set up on a Mini that I only ever VNC into???



Link to comment
Share on other sites

The 6 + 4 key combo doesn't seem to work for me, so I am interested in this hack but cannot find it on your blog :rolleyes:


Can you edit your "com.apple.boot.plist"

try the kernel flag "-x64"

for me it is working, but then I have a problem with dsmos.kext

so only 32bit mode enable :) in 10A335f on my hakintosh


Sorry for my english


AUSTRIA - high montains, no kangurus

Link to comment
Share on other sites

  • 3 weeks later...

I have a 2008 iMac with a Penryn and have to do the same thing to enable the 64-bit kernel.


My main question is, why is Apple so determined not to let my iMac run 64-bit software? It even complains that "64-bit is not supported on your system" when I try to install Boot Camp drivers on Windows 7 x64. After hacking the installer MSIs, the drivers install fine!


So what's the point? Why not just designate my system as supported out of the box? :huh:

Link to comment
Share on other sites

Eh, yeah. I just figured that out. Running the kernel in 64-bit mode made some basic tasks like launching apps about 20% faster, but after that, the apps ran either in 32 or 64-bit mode regardless of which kernel is used. For some reason, since the kernel is part of a lower layer of the operating system, I thought everything running on the application level would be limited to a subset of whatever architecture the kernel was. I don't know how OS X is completely structured, but I guess that, if this isn't the case, Applications might have more direct access to hardware so they can use whatever architecture they need regardless of the kernel.


Losing 32-bit extensions was a blow though. I can't stand my mouse's crazy acceleration unless USBOverdrive is loaded to help control it. Back to the 32-bit kernel for now.

Link to comment
Share on other sites

Whether anyone got build 10A380 of Snow Leo (WWDC'09) successfully running on 64-bit kernel?


If 'yes' - please share your method.


I've tried every approach that i know: "6+4" keys, arch=x86_64 flag specified for both nvram and com.apple.Boot.plist, lipo command against mach_kernel.


Nothing helps.

Link to comment
Share on other sites

it's funny cos on Hackintoshes it's only a matter od adding -x64 during boot :P but 64-bit kernel doesn't work cos we must use custom 32-bit only (atleast yet...) kexts :P


I must use 32-bit dsmos.kext and applenforceata.kext and apple3com????.kext for network and get "Still waiting for root device..." in x64 mode (probably of lack 64bit applenforceata.kext) :censored2:

Link to comment
Share on other sites

6+4 worked for me on my UMBP 15".

it booted in 64-bit mode, but my keyboard would not work :-s maybe some problem with the 64-bit kext for keyboard....

i am running the 10A380 build.


EDIT: i managed to boot into 64-bit mode. held 6+4 and it booted into 64bit. unfortunatelly, parallels does not run in 64-bit mode, so i can not run my windows 7 virtual machine...

Link to comment
Share on other sites

  • 3 weeks later...

Hello all,


Here is some information that was requested. Overall, slightly better memory performance, but slightly lower performance across the board. Still in beta - still press 6 and 4 (where available).



Results 199.63

System Info

Xbench Version 1.3

System Version 10.6 (10A402a)

Physical RAM 2048 MB

Model MacBookPro5,5


CPU Test 160.47

GCD Loop 263.85 13.91 Mops/sec

Floating Point Basic 127.17 3.02 Gflop/sec

vecLib FFT 107.34 3.54 Gflop/sec

Floating Point Library 252.72 44.01 Mops/sec

Thread Test 294.84

Computation 389.98 7.90 Mops/sec, 4 threads

Lock Contention 237.02 10.20 Mlocks/sec, 4 threads

Memory Test 185.02

System 219.33

Allocate 302.81 1.11 Malloc/sec

Fill 177.31 8621.35 MB/sec

Copy 211.14 4361.10 MB/sec

Stream 160.00

Copy 153.02 3160.52 MB/sec

Scale 150.61 3111.65 MB/sec

Add 169.51 3610.92 MB/sec

Triad 168.76 3610.14 MB/sec

Quartz Graphics Test 171.07

Line 150.50 10.02 Klines/sec [50% alpha]

Rectangle 193.78 57.85 Krects/sec [50% alpha]

Circle 165.27 13.47 Kcircles/sec [50% alpha]

Bezier 175.28 4.42 Kbeziers/sec [50% alpha]

Text 176.47 11.04 Kchars/sec

OpenGL Graphics Test 85.28

Spinning Squares 85.28 108.19 frames/sec

User Interface Test 206.77

Elements 206.77 948.95 refresh/sec

Disk Test 45.26

Sequential 61.36

Uncached Write 73.14 44.91 MB/sec [4K blocks]

Uncached Write 59.70 33.78 MB/sec [256K blocks]

Uncached Read 43.29 12.67 MB/sec [4K blocks]

Uncached Read 85.74 43.09 MB/sec [256K blocks]

Random 35.85

Uncached Write 13.65 1.44 MB/sec [4K blocks]

Uncached Write 81.31 26.03 MB/sec [256K blocks]

Uncached Read 64.46 0.46 MB/sec [4K blocks]

Uncached Read 95.46 17.71 MB/sec [256K blocks]


64 bit:

Results 118.74

System Info

Xbench Version 1.3

System Version 10.6 (10A402a)

Physical RAM 2048 MB

Model MacBookPro5,5


CPU Test 148.97

GCD Loop 264.54 13.94 Mops/sec

Floating Point Basic 130.09 3.09 Gflop/sec

vecLib FFT 89.54 2.95 Gflop/sec

Floating Point Library 237.28 41.32 Mops/sec

Thread Test 316.68

Computation 435.20 8.82 Mops/sec, 4 threads

Lock Contention 248.90 10.71 Mlocks/sec, 4 threads

Memory Test 190.49

System 236.19

Allocate 428.71 1.57 Malloc/sec

Fill 177.48 8629.31 MB/sec

Copy 211.20 4362.32 MB/sec

Stream 159.61

Copy 154.08 3182.48 MB/sec

Scale 150.28 3104.66 MB/sec

Add 168.55 3590.37 MB/sec

Triad 167.11 3574.88 MB/sec

Quartz Graphics Test 168.45

Line 152.35 10.14 Klines/sec [50% alpha]

Rectangle 193.47 57.76 Krects/sec [50% alpha]

Circle 165.09 13.46 Kcircles/sec [50% alpha]

Bezier 177.40 4.47 Kbeziers/sec [50% alpha]

Text 159.87 10.00 Kchars/sec

OpenGL Graphics Test 85.45

Spinning Squares 85.45 108.40 frames/sec

User Interface Test 224.68

Elements 224.68 1.03 Krefresh/sec

Disk Test 46.00

Sequential 61.17

Uncached Write 72.57 44.55 MB/sec [4K blocks]

Uncached Write 61.01 34.52 MB/sec [256K blocks]

Uncached Read 42.79 12.52 MB/sec [4K blocks]

Uncached Read 84.39 42.41 MB/sec [256K blocks]

Random 36.86

Uncached Write 14.28 1.51 MB/sec [4K blocks]

Uncached Write 81.75 26.17 MB/sec [256K blocks]

Uncached Read 63.70 0.45 MB/sec [4K blocks]

Uncached Read 94.74 17.58 MB/sec [256K blocks]


Talk to you later,



Link to comment
Share on other sites


  • Create New...