Haiku on x86 macbooks

What is the current state (or “general feel”) of haiku on macbooks, iMacs, mac mini etc. that run on the intel hardware platform?

I think this may be an avenue we could invest a bit in to perhaps support this area better since Apple will soonish, in the next couple of years, abandon OS support for the intel platform. haiku would then be in a good position to take over many of these machines and stop them from becoming e-waste.

Thoughts?

6 Likes

As MacOS updates make the early generations of Intel Macs slow down tremendously giving them a second life with Haiku would be great. Just as the G4 and G5 Macs are exciting machines again with MorphOS the old hardware can benefit greatly from a well thought out OS alternative such as Haiku.

4 Likes

I think Haiku works great on the two I’ve tried. A lot of them use integrated Intel HD graphics. (vesa river on my Intel HD 4000, but supposedly is supported?)

I think it is a great avenue. They’re easy to come by, and cheaply so if it’s older stuff, and they use limited hardware. Meaning you know exactly the devices you’d need drivers for as there aren’t a lot of configurations. And not that Haiku has better software availability than out of date OS X, but a lot of software developers have been only supporting the last 3 versions of macOS. (Which itself is stupid, because no revolutionary software changes from Catalina to Monterey) So pretty much any pre-2015 mac users will start running into trouble, without OpenCore.

It seems like wi-fi and sound are the biggest issues, and trackpad usability for the laptops.

2 Likes

Is there a database with detailed info about the specs of Macs?

I only found everymac.com, but it does not show any details on the chips used for WLAN and sound.

Do the USB Wi-Fi adaptors work on MacBooks?
Then at least the problem of missing WLAN could be circumvented.

Haiku on a cheap older MacBook Air sounds really sexy. :heartbeat:

1 Like

The usb dongles work. Not ideal for laptops though. Maybe more ideal for a desktop if needed. I’ve not run Haiku on a desktop yet.

I’ve had mixed success. I have a Macbook Pro 2012 pre retina and a Mac Mini 2012 (basically same hardware generation, very similar chipsets) and Macbook will kernel panic on boot about when the desktop loads and before Tracker appears. Mac Mini will happily boot, but only if the bootloader is on a USB stick. When it boots, it seems fine. Both are on VESA I think.

1 Like

I think that, too. But as a matter of facts, Macs have a number of custom components that make it extremely difficult.
First thing first, SPI. All MacBooks from 2015 onwards up until the last Intel model marketed in 2020 have the keyboard, the TouchBar (if any), the ambient light sensor and the trackpad connected to the SPI bus. Some MacBook Air might be different but I never tried a model between 2015 and 2020. A few early models of the new generation reportedly have the keyboard and the trackpad connected via USB as well, though.
This looks the first roadblocker.
The second one is WiFi, for those models with a Broadcom chipset there’s little hope, I think.
I don’t remember if there are models produced since 2015 that have an Atheros chipset.
The third one is audio. I never managed to get the built in loudspeakers work, only the mini jack worked for me.
Although the intel GPU should be supported I never managed to get it work (so no brightness control) on the models I’ve tried.
iMac and Mini may have chances to play better with Haiku but the lack of a working Bluetooth stack may be another obstacle.
FWIW: FreeBSD has a driver for the majority of the aforementioned hardware.

3 Likes

Well if there is FreeBSD code, at least there is the possibility of porting it, or using the knowledge contained within.

I guess the Apple low-level drivers aren’t part of Darwin but only available as binaries from Apple?

1 Like

My main Haiku machine is a 2012 MacBook Pro. What is your configuration?

I know what you mean about the Mac mini, if you are interested, there is a way to make it bootable without the usb drive. It involves moving 4-5 files from one folder to another.

Yes please! I will give it another go as I now have a free SSD in that box.

1 Like

Well I managed to boot without rEFInd. I first installed a windows 10 boot camp (no license needed because I was getting rid of it anyway). Then I booted the Haiku thumb drive. Then I formatted the ntfs boot camp drive, and installed Haiku to it. Then I copied the loose files (Deskbar, haiku_loader.bios_ia32,
kernel_x86_64, runtime_loader, Tracker) from the booted usb drive to the Haiku install drive.

I think there was something else I copied from the usb to there Haiku partition, not sure if it was necessary though. (Something in data maybe). Anyone can let me know if they are stumped there. Then I could boot from the regular Mac boot select menu. It’s listed as “Windows”. Idk if it’s OSX doing that or if it’s something else.

EDIT: It was the platform loaders folder, in the data folder. I think I just copied the data folder over.

This is from this topic about installing on a macbook pro.. I forgot about the Windows boot camp part. I don’t know if it is necessary if Haiku is your only system. Definitely needed it I think for dualbooting with OS X. Probably related to the ESP blessing thing that OS X uses.

I forget where /data/platform_loaders is, but whatever files that were in there enabled me to boot without thumb drive. This was repeatable because I had to re-do it.

1 Like

I got three mac minis now, two 2012 and one 2014 model.

The first 2012 model i found didn’t manage to start the kernel :smiley:
Looking at it, it might be neat to have an installation guide geared for macs on the site to explain how to interact with the firmware (for example, which key to hold to get the boot loader selection, to get into a recovery to format the disk etc.)

FWIW, I’ve just installed Haiku Beta 4 on MacBook Pro 2015 (Model ID: MacBookPro11,5).

I had to use the rEFInd boot manager, and the “Use fail-safe video mode” boot option to be able to launch from the USB installation stick (it was also quite tricky to enter the boot options, I had to quickly press “Space” key several times right after I select Haiku USB in the rEFInd). For whatever reason after the first successful USB boot the UI was in Spanish, so I needed to blindly change the language settings (luckily the globe icon helped to find the right item).

I reformatted the 16 GB FAT32 partition to BeFS via DriveSetup, but for whatever reason it refused to change the partition type from Microsoft basic data partition to Haiku BFS, and I had to do it manually by rebooting into the Mac Recovery Mode deleting the GPT entry and readding it with the correct partition GUID (42465331-3BA3-10F1-802A-4861696B7521).

The Installer doesn’t add the haiku_loader.efi to the ESP (EFI system partition), so one has to copy it manually from the USB stick following the UEFI Booting Haiku instructions. I’m not sure why Installer still doesn’t handle such a simple operation by itself. There’s a 5-years old Trac issue #14967 which aims to handle all of UEFI installation corner cases, but IMHO most of the users would be happy with just the MVP solution suggested by @kallisti5 in one of the comments (as an engineer who embraces pragmatism I can’t agree more with his last sentence there: “You don’t eat an elephant all at once. It’s one bite at a time”).

Nevertheless, after a few hours of trial and error I now have Haiku running natively on a MacBook. Isn’t that awesome? :slight_smile:

2 Likes

One can find a detailed info about nearly every Mac model at:

1 Like

Did you make fail-safe video permanent?

Idk if this is where you choose fail-safe resolution. It’s been a while since I did it in Haiku.

“You can configure Haiku to always boot using the fail-safe video driver by enabling ‘fail_safe_video_mode’ in ~/config/settings/kernel/drivers/kernel”

Oops

First I chose it in the Haiku Boot options (by hitting the Space key several times before the loading logo appeared), and then I made it permanent by enabling the fail_safe_video_mode in the file you mentioned.

1 Like

Have you used any special options in rEFInd?

I’m trying to boot haiku on the Macmini7,1. However it hangs on the first icon of the loader, not even on-screen output when enabled (however, i can get some when disableing some options like acpi, will try to figure out which exactly)

1 Like

Nope, it just works in the EFI mode (and doesn’t work in the CSM/Legacy-mode no matter what I tried).

Btw, here someone mentions to successfully install Haiku on Macmini7,1:


@nephele One more thing I forgot to mention, I use the x64 build.

1 Like

I observe the same behavior if I try to load Haiku in VMware with EFI enabled. It boots if I select “Disable local APIC” safe option (which also disables SMP and leaves Haiku with just one CPU core). Interestingly enough, VirtualBox EFI mode boots Haiku without issues (though there’s a visible delay before the first boot icon highlights). Maybe debugging it in VMware (via its gdb stub) would help to fix the issue you have on Macmini7,1.

Also, TIL I wasn’t able to boot Haiku in the CSM (Legacy) mode because MacBookPro11,4 firmware lacks the CSM support (provided in previous versions by the 2B0585EB-D8B8-49A9-8B8C-E21B01AEF2B7 UEFI app aka AppleLegacyLoad). Your Macmini7,1 has it, so it should be capable of loading Haiku both with EFI and CSM.

One disadvantage of the EFI boot with Haiku is that the resolution is fixed to just one (2880x1800x32) and there’s no way to change it. It would be nice if Haiku contained a way to specify a custom resolution using a modeline string.

Sadly, because of the way EFI works it is not possible to change the efi framebuffer resolution after booting.

Is the resolution you want available in the efi loader menu?

Anyhow the same issue reproducing in vmware is good news, it should make it easier to investigate.

1 Like