I have made some progress on the PowerPC port

22 Likes

Can you elaborate? What changes has been made? Do you have a link to Haiku development branch with PowerPC support?

4 Likes

So it still doesn’t get to the desktop but it gets up to app_server. I’ve been using DingusPPC and testing on the crap-ton of real Apple PowerMacs I have.

I did use Claude a pretty fair amount in this, and I’m not sure what Haiku’s stance on AI-generated code is.

Lots of fixes and some trial and error, but a few highlights:

  • Atomics fix
  • Fixed page table stuff
  • wrote a mac-io ATA disk driver

I put the work so far on Github: GitHub - ActionRetro/Haiku-PowerPC: A work-in-progress port of Haiku OS to 32-bit PowerPC (Power Mac G3/G4). Boots on dingusppc (iMac G3) into userspace. · GitHub

1 Like

Currently Haiku do not accept AI-generated contributions. Code and documentation should be written fully manually to be submitted for review.

1 Like

Makes sense. I’m thinking perhaps the right thing to do, if I get this working, would be to make it a separate distribution then? Give it it’s own branding and release it only for PPC.

Additionally you can also ask Claude to summarize the work that was done, so anyone interested in upstreaming the PPC support can reimplement it without the AI-generated code by following the generated documentation.

1 Like

More progress

9 Likes

I will add this

1 Like

Got to desktop!

10 Likes

I’d recommend having Claude create a detailed notes .md file for each thing (driver, kernel, bootloader, whatever) it works on, and including that in your git repo. It’s much easier than having to review each commit note, and it would also help anyone else who wants to contribute to your efforts.

4 Likes

Testing on real hardware

14 Likes

Essentially, it can’t be used it to actually advance the port and it cannot be upstreamed. I don’t see how this is helpful, especially since this makes it harder to verify that the upstream port remains untainted. The stance on AI-Generated code should’ve been picked up by Claude from the AGENTS.md file that recent commits from the Haiku source tree come with:

# Haiku AGENTS.md

## Policies

- **No AI-generated code.** Every contribution must be written by a human. Code, documentation, or any other materials generated or modified with AI assistance are not accepted.

Either you’ve circumvented the AGENTS.md or Claude has ignored it. Either way, I don’t see how this is helpful.

This is awesome! Keep up the good work! :clap:

I’m not sending this code upstream. I’ve forked it.

5 Likes

It is perfectly allowed to ignore this as long as you do not plan to send AI-generated changes to Haiku upstream for review. Haiku is open source project, so everyone can make code changes with any tool and share that changes with others. AGENTS.md is not a license and it have no legal force. If such requirement will be added to license, Haiku will stop being open source and will move to “source available” category according to OSI definitions.

4 Likes

Got to interactive desktop on DingusPPC and nearly there on a real PowerMac G4

13 Likes

Have we ever had a working desktop on PowerPC before? Maybe in the early days?

As soon as this works on real hardware (and I can come up with what to change the Haiku branding to) I’ll pop a disk image up here in case you want to try!

5 Likes

If NuBus and G5 support, much progress here.

You reached a further goal than beforehand. :waving_hand:

No. There were no drivers for the PCI host (as I assume you noticed during your work?) which prevented from booting further than the kernel (stopped at “Cannot find any boot partitions”).

1 Like

Yes, I had to create such drivers. Neat!