Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

hermesOS

macrumors newbie
Original poster
Sep 16, 2019
8
18
Europe
6NtNKE7.png


Since buying an iBook G3, I have been lurking the PowerPC forums for some time, looking for a good, modern OS for G3s and trying to solve a very annoying Radeon bug, and, unfortunately, it seems like none of the current solutions work without a lot of pain. So I decided to roll my own distro. This is a very personal project, based on the problems I have been finding during my time with this machine. My activity will be centered around a Github repository but, since I like this forum, I wanted to, at least, let you know that there is someone trying to give love to our old, trusty devices, and maybe get some suggestions.

The goal is to get a savagely minimal, lightweight system by design. Since I don't have the time to maintain an entire distribution by myself, I decided I will base my work on Adélie Linux. It is, currently, the best operating system for PowerPC, but it is new, and rough around the edges.

x2iZlp0.png



Design goals

-Replace the GNU coreutils with busybox.
-Replace bash and zsh with fish.
-Design a custom user interface around the fvwm window manager.


Short-term goals

-Build missing or buggy popular packages (busybox, wget, fvwm, xbattbar, yaboot...).
-Build Arctic Fox against musl libc.
-Create a battery monitor
-Create a simple script to connect to a Wi-Fi network without some wpa_supplicant ****ery.
-Set up a package repository.
-Add UMS support for Radeon chips, by "reverse-backporting" an old version of Xorg and the radeon driver, to solve this bug that makes old Radeon GPUs unusable.
-Get a working installer image.


Long-term goals

-Add support for Nintendo devices (GameCube, Wii and Wii U).
-Patch a recent version of the kernel to support Nintendo hardware (very complicated).
-Build a new system from scratch with Linux+musl+Busybox and ditch Adélie (unlikely).

...

To be continued. Suggestions welcome.
 
Awesome project. I would probably worry about the name and any legal action. Since it’s in a completely different realm to Hermes, you should be fine, but I wouldn’t want to pay the lawyers to win it.

But cool project!
 
  • Like
Reactions: hermesOS and z970
Awesome project. I would probably worry about the name and any legal action. Since it’s in a completely different realm to Hermes, you should be fine, but I wouldn’t want to pay the lawyers to win it.

But cool project!

Hermes is also the Ancient Greek god of thieves and trickery...

I would definitely think about changing the name to something else, maybe more immediately relevant to PowerPC?

Quick, everyone start thinking of replacement names!
 
Last edited:
  • Like
Reactions: hermesOS
Awesome project. I would probably worry about the name and any legal action. Since it’s in a completely different realm to Hermes, you should be fine, but I wouldn’t want to pay the lawyers to win it.

But cool project!

Hermes is the name of a Greek god. It is also the name of Hermes Trismegistus, the mythical father of hermetism. Besides that, as you point out, this is being used in a totally different domain than the Hermes that sells things. So I think the possibility of having any problem is very low. But I'm open to new names.
 
Neat. Just an fyi to save you the headache, Arctic Fox must be built with gcc6 or lower. It will fail with anything newer. Also if you choose to use glibc instead of musl the prebuilt binaries should work out of the box. Would save you loads of time when updates happen (10+ hours to build on a single cpu G4, G5, vs 3 hours on a dual cpu G5).

If you're interested, i'm attaching a bash script to handle connecting to wifi. We used this on the ZipitZ2 back in the day. It will need slight modifications to work on current linux.

z2sid-ewoc.png


Cheers
 

Attachments

  • wifi-ewoc.zip
    1.4 KB · Views: 193
Just thought of this...

PowerPC is the acronym for "Performance Optimization With Enhanced RISC – Performance Computing", which includes the term "optimization" and mentions the word "performance" twice.

If this new OS is to go out of its way to be savagely lightweight, meaning to exploit every last drop of speed out of its hardware, it should be named something fittingly synonymous.

. . .

fastOS

briskOS


swiftOS

HypersonOS (Hypersonic + OS)

fOSs (Fast OS + Free Open Source Software)

It's also a new OS, taking things in a new direction.

NeOS
(Neo + OS)

reOS (Refresh/Revitalize/Revive/Remix/etc. + OS)

. . .

Although we probably shouldn't name it POS (Performance OS)... :D
 
Hermes is the name of a Greek god. It is also the name of Hermes Trismegistus, the mythical father of hermetism. Besides that, as you point out, this is being used in a totally different domain than the Hermes that sells things. So I think the possibility of having any problem is very low. But I'm open to new names.
Hermes also delivers things in various countries, so the business moniker is far from unique to that overpriced French rag seller. I don't think any lawyers will be wasting money chasing a Linux distro unless you start using their trademarks or designs as wallpapers.
 
  • Like
Reactions: hermesOS
Neat. Just an fyi to save you the headache, Arctic Fox must be built with gcc6 or lower. It will fail with anything newer. Also if you choose to use glibc instead of musl the prebuilt binaries should work out of the box. Would save you loads of time when updates happen (10+ hours to build on a single cpu G4, G5, vs 3 hours on a dual cpu G5).

If you're interested, i'm attaching a bash script to handle connecting to wifi. We used this on the ZipitZ2 back in the day. It will need slight modifications to work on current linux.

z2sid-ewoc.png


Cheers
Thank you! I will take a look at it.
 
  • Like
Reactions: wicknix
I suggest not wasting time with musl. After all there is already a Void PPC variant with it - https://void-ppc.octaforge.org/live/20190901/.

Reason is musl won't necessarily give you a speed boost. It's designed for correctness and maintainability, not for performance.
I chose musl not really because of performance, but because it's tiny. I plan to port this to the Gamecube in the future, and I believe it has 40 MB of RAM, so memory consumption is key. Besides that, as Adélie is already a musl-based distro, I can use their packages without issues.
 
Hermes also delivers things in various countries, so the business moniker is far from unique to that overpriced French rag seller. I don't think any lawyers will be wasting money chasing a Linux distro unless you start using their trademarks or designs as wallpapers.
After a quick search, I see that there are multiple companies named "Hermes" in Europe. So as you said, it's probably safe. It's not even the same word: The French company is Hermès, which is the founder's surname. And this is "Hermes", the Greek god. To avoid problems, instead of "Hermes OS", I think I'll use the form "hermesOS", which helps differentiate the brand even further.
 
Hermes is the name of a Greek god. It is also the name of Hermes Trismegistus, the mythical father of hermetism. Besides that, as you point out, this is being used in a totally different domain than the Hermes that sells things. So I think the possibility of having any problem is very low. But I'm open to new names.

My concern was mostly that they have a connection to the Apple Watch which arguably puts them in the technology realm, though at a stretch. But otherwise, yeah.
Hephaestus is my favourite of the Greeks.

Anyways. it'd be a shame for this thread to become a naming exercise.
[doublepost=1568724017][/doublepost]
After a quick search, I see that there are multiple companies named "Hermes" in Europe. So as you said, it's probably safe. It's not even the same word: The French company is Hermès, which is the founder's surname. And this is "Hermes", the Greek god. To avoid problems, instead of "Hermes OS", I think I'll use the form "hermesOS", which helps differentiate the brand even further.

OK, didn't really think of that. You're definitely in the clear. Disregard my name related comments
 
  • Like
Reactions: hermesOS
(P)oint (o)f (S)ale? ;)

Yeah, probably not…
POS could also mean Piece Of Sh*t which is exactly the opposite of what we want the OS to be.
Very excited about this project though, I think a name referencing PowerPC macs would be best, eg. TenFourFox references 10.4 tiger and PPC
 
  • Like
Reactions: hermesOS
Great project, just as a by-the-by Mozilla Firefox 68.0.2esr on a Quad running Debian Bullyeye/Sid can play these embedded youtube videos just fine, but if I go to youtube and try and play the same video it never loads.

Be pretty cool to get one of the 900Mhz G3 iBooks running a modern distro......
 
Last edited:
  • Like
Reactions: hermesOS
Okay, so I kept the computer compiling a kernel overnight. We need the most recent version of the 4.4.x kernel, which is convenient since it has UMS support for Radeon. I would attach some picture, but at this point I have just a boring tty.

I can confirm that sleep is no longer broken, and the computer works without any issue. Xorg, however, does not work until you disable 2D and 3D acceleration in the Xorg.conf file because of the infamous Radeon bug.

The next step is to build Xorg 1.16.4 and the 6.14.6 version of the Xorg ati driver to make 2D acceleration work. Maybe it would be possible to backport some security patches to them. It would be badly needed since they are very old.

I have made the Github repository public. This will probably include everything needed to get a working system: https://github.com/nicolascolla/hermesOS

I also plan to make two separate repositores with Xorg and the ati driver.
[doublepost=1568822220][/doublepost]
Has anybody actually successfully installed and used Adélie and got further than the console?
It's fine with Xorg, but you have to install various packages manually. On Debian, "apt install xorg" automatically installs everything (including some unnedded bloat). With Adélie, it's:
Code:
apk add xorg-server xf86-video-vesa xf86-input-evdev xf86-input-mouse xf86-input-keyboard xf86-video-ati

And then you just need to install your favorite DE.
 
  • Like
Reactions: Dronecatcher
There is this but you can hear the fans whirring and CPU is over 90% just playing music....

The guy that uploaded this video commented that YouTube lags a lot even on Firefox Quantum... I think this OS and browser is better off left to a Quad G5 at least for the moment, the cool thing is you get the latest Firefox which actually appears to be working!
 
  • Like
Reactions: hermesOS
Okay, so I kept the computer compiling a kernel overnight. We need the most recent version of the 4.4.x kernel, which is convenient since it has UMS support for Radeon. I would attach some picture, but at this point I have just a boring tty.

I can confirm that sleep is no longer broken, and the computer works without any issue. Xorg, however, does not work until you disable 2D and 3D acceleration in the Xorg.conf file because of the infamous Radeon bug.

The next step is to build Xorg 1.16.4 and the 6.14.6 version of the Xorg ati driver to make 2D acceleration work. Maybe it would be possible to backport some security patches to them. It would be badly needed since they are very old.

I have made the Github repository public. This will probably include everything needed to get a working system: https://github.com/nicolascolla/hermesOS

I also plan to make two separate repositores with Xorg and the ati driver.
[doublepost=1568822220][/doublepost]
It's fine with Xorg, but you have to install various packages manually. On Debian, "apt install xorg" automatically installs everything (including some unnedded bloat). With Adélie, it's:
Code:
apk add xorg-server xf86-video-vesa xf86-input-evdev xf86-input-mouse xf86-input-keyboard xf86-video-ati

And then you just need to install your favorite DE.


I've never actually touched code as low level (as I assume it is) as Xorg or GPU driver stacks or anything; What's UMS? Googling could only find UMA Unified Memory Architecture.

I'd love to help, but I've only touched code on app/CLI levels so don't really know if I can do much.
 
I've never actually touched code as low level (as I assume it is) as Xorg or GPU driver stacks or anything; What's UMS? Googling could only find UMA Unified Memory Architecture.

I'd love to help, but I've only touched code on app/CLI levels so don't really know if I can do much.

I wrote an explanation of this some weeks ago with my old account:
Some years ago, Linux developers agreed on a new way to make machines set display resolution and depth. In the old days, a userland process was used for the task. This was what is known as Userspace Mode Setting, or UMS. For various technical reasons, this task was handed over to the kernel, in what is known as Kernel Mode Setting, or KMS. But what was supposed to be an improvement turned into a liability for PowerPC users. Since the new way of handling graphics was never properly tested in our old PowerPC machines, it turned out to be so buggy that it made running a graphical environment painful, or plainly impossible. KMS broke suspension, and made most G3 users unable to get anything more than a black screen with the Radeon driver. Unfortunately, UMS support was dropped from both Xorg and the Radeon driver shortly afterwards. This was the kiss of death for these machines, since a small community of developers didn't have the time or the resources to fix it, and it was also the reason why using anything newer than Wheezy was a painful experience. Newer releases of OpenBSD also ditched UMS for KMS, with the same bugs creeping into them.

In short, UMS is a method in which some graphics settings are controlled with a userspace process, while KMS makes the kernel handle them. With KMS, Xorg locks up in most G3s, and that's why we need the old way of doing things. That's also the reason why hermesOS will be based on the 4.4.x kernels, because newer versions dropped support for it.

I'm actually not touching any code, at least for now, I'm just putting together and building the stuff that works and trying to apply some patches made by other people. If I find something that needs fixing and I find no patch for it, I will not bother, at least for now, because I'm focused on building a working system and because I don't really know how to program besides some simple C code.
 
  • Like
Reactions: 09872738
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.