Haiku on Mac

I guess we’re looking for contributors :wink:

1 Like

Adding about sound on macbook air 2017. sound only works from headphones. There is no sound coming from the speakers.

This is not a surprise, all Macs I have or had behave like this both with hda driver or OSS. There must be a weird wiring adopted by Apple throughout all models

2 Likes

I can say (even though everyone probably guessed so from when I quietly stepped away from this project) that I’m quitting this effort for finishing up personal projects. The other reason is that Haiku still does not have the ability to boot from a self-contained image, which is something I consider essential to getting Haiku to work without rEFInd or Disk Utility workarounds on an Intel Mac.

Actually, a few models can boot Haiku in legacy mode i.e. without EFI bootloader.
Specifically models between 2009 and early 2013.
I have a MacBook Air 2011 11” which can do it under specific circumstances.
Legacy mode was introduced with BootCamp to allow old Windows versions to boot.
There is at least one caveat: I never managed to boot with native resolution. But maybe it can be forced using vesa config

The problem seems to be EFI32 BIOS which doesn’t like EFI64 loader program…
Some people seem to bypass the keyboard problem by typing 1 + enter in loop before boot screen 1 + 2.

Thanks for EFI archive !
With it, i could start Haiku from VirtualCD drive on my cMP 4,1 (2x Xeon X5680 (hexacore) + 82Go RAM) :open_mouth:
Nice to test, even with framebuffer. Before, i got kernel panic with radeon acelerant.

8 Likes

Can Haiku boot on a 2012 iMac with 12Gb Ram ?

Why should it not?

Hi,

just wanted to say thanks for this effort. I installed Haiku R1B4 on my good old MacBook Air Mid 2011 Model A1369.
Some notes:

  • 64 bit version started to boot from USB drive but crashed at the rocket symbol saying that memory at some address was unexpectedly cached
  • 32 bit version booted from USB drive fine, however install didn’t work. I guess this is because it writes a MBR when the MacBook expects an EFI bootloader. Solution was to boot from USB, then “dd” the entire USB drive to the internal drive. Then booted from internal disk and formatted the remaining space as a Be filesystem.
  • Everything except for Wifi and sound works, ordered a USB Wifi dongle to see if that will work
  • Screen is at 1024x768 resolution, didn’t find a way yet to go to native 1440x900. The options on the bootmenu only go as high as 1024x768.

The OS is very zippy on this machine, if I get Wifi to work then I might use this as a daily driver laptop. I tried Linux on this and it felt a lot slower. The last supported MacOS version is slow as well and doesn’t receive updates any more.

Questions:

  • Did anybody manage to get the 64bit version running on a machine like this?
  • Is there any downside to using the 32bit version (don’t have more than 4GB memory anyway)
  • Is there a way to resize partitions in Haiku?

Best
timo

2 Likes

There is no way to resize partitions, but installing with UEFI is not so complicated if you follow the instructions exactly (there are some manual steps to setup the bootloader).

No major downside to the 32bit version, it is a bit more complicated and uses more memory due to the BeOS compatibility, but it should run most software just as well.

I successfully installed Haiku on 2011 Air 11” which should have the same specs as yours except for the screen size and resolution.
There are a few caveats, though:

  • trackpad works in HID mode due to the lack of dedicated driver (I.e no multitouch, one button only)
  • sound works only through phone jack. Internal speakers do not work
  • no Wi-Fi. It will never work, Broadcom chipsets used in almost all Macs are simply not supported neither by Haiku nor by *BSD.
  • native resolution with framebuffer driver, no brightness control
  • MBR boot works but native resolution is not available (possibly there are other components that don’t work, too but can’t remember which)
  • the keyboard is not recognised by default and it can’t be used to summon the boot menu. It starts working when Haiku kernel is loaded but backlight, ambient light sensor and fn key do not work at all.
  • to get the keyboard recognised before the kernel is loaded, rEFInd must installed to chainload Haiku’s EFI loader (spoof_osx_version = 10.9 must be added or enabled in rEFInd config file)
  • Battery is recognised and its status is available as a deskbar replicant

If you don’t get the native resolution that means that you are booting with MBR which is not recommended. Native resolution is only available with EFI and it’s the only resolution available, no way to change it (it’s fine you don’t need to change it, tbh)

Now that I remember, I got a number of kernel panics the first time I installed Haiku. They magically disappeared after the third attempt.
I wasn’t able to reproduce it anymore so I couldn’t log a bug for this.
Moreover, when the battery is completely drained and I boot Haiku, sometimes I get a kernel panic which doesn’t occur anymore after the battery starts recharging a bit.

Thanks for sharing, sounds like a very similar setup that you have. I noticed pretty much the same things as you did, so it sounds like I need to get that EFI bootloader in place for a higher screen resolution to work.
On the Wifi, I got a USB dongle today - TPLINK 725N - which worked straight out of the box. Now I’m running into another wall - package updates fail because of issues downloading haiku_x86. Maybe I need to try to get the 64bit variant going.

Got everything working!

  • For the 64bit version to install, had to do some trickery:
    • First, cleared the NVRAM with Cmd+Alt+P+R
    • Then, booted the 32 bit version from one USB stick to block the intel_extreme driver on the USB stick with the 64 bit version because I was getting a garbled screen
    • Also while in 32bit, created the EFIBOOT partition and a Haiku partition
    • Then rebooted 64bit USB stick, ran installer and copied EFI stuff from haiku esp partition over
  • The updates issue actually was my own fault, I simply ran out of diskspace in the earlier attempt…

Now the MacBook runs on 64bit Haiku with the native screen resolution and Wifi. Sound doesn’t matter much since if I want I can use the headphone jack.

4 Likes

nice !
If you have time, can you tried this (GitHub - loll31/haikuos-setSched: Haiku-OS tool to set scheduler mode) and verify the autonomy if it’s really changed between eco/perf mode. :kissing_heart:

Thanks for sharing! I’ll try it as soon as I can

I need to try the 64-bit again as I have yet to ever get my MacBook Pro 2012 to boot past the splash in 64bit or do anything at all in 32bit mode. I gave the 32bit stick with R1/B4 I just updated my netbook with a go and basically is just hangs as before. I do have it running on my old Surface 2 Pro so maybe I should build a new USB drive with that and apply the patches mentioned above?

I think I’ve tried to boot Haiku on one of these pre-retina models without much success. It wasn’t mine so I didn’t experiment that much.
I would suggest installing rEFInd on an empty USB stick. The stock anyboot image does not have enough space to accommodate it so you need to create a custom one with a larger EFI partition.
Make sure to add/enable the config item called spoof_osx_version and set it to 10.9.
I remember that my MacBook 12” retina 2017 didn’t boot at all without rEFInd (with Beta3) so it’s worth trying.

Yeah, it already boots Ventura with oclp so it was optimistic at best.