The MorphOS development team is proud to announce the immediate availability of MorphOS 3.16. This release includes numerous important performance, stability and security improvements. A new version of Wayfarer comes included with the OS and replaces the now obsolete Odyssey Web Browser. We’ve also included the Iris email client, Magic Beacon notifications system and a Command-Tab application switcher. The Synergy Client and Server applications are now compatible with the free Barrier alternative. OpenSSL3 is now available as a shared library.
MorphOS is actually a remarkably good and capable operating system – held back by its reliance on outdated Apple PowerPC hardware. It’s got a a robust core, a good browser, a number of great applications, and you can configure and alter every nook and cranny of the operating system (assuming you can get through the thick molasses that is several decades of Amiga-isms that make no sense to anyone who hasn’t been part of the scene for about as long).
It’s just sad it’s held back by outdated hardware that’s really becoming ever harder to keep running these days. There have been the occasional rumblings of a port to x86, but as far as I know, nothing has come of it yet. Meanwhile, my 17″ 1.25Ghz PowerBook G4 sees the occasional boot into MorphOS, and with this new release, I feel a few boots incoming.
Does Linux dominate the likes of the Raspberry Pi to the extent that an alternative OS such as MorphOS, or even the Haiku OS, are not platforms that they want to complete on?
sagum,
The success of Raspberry Pi with linux was driven by high demand that that form factor from existing linux users. I remember when it came out and still not being able to buy it for a long time. Does MorphOS have the level of demand that would warrant a similar investment & push for it? It actually looks like a nice OS, but it’s notoriously difficult for niche operating systems to grow their user base.
RISC OS is available for the Pi at https://www.riscosopen.org/content/ . I can install that from NOOBS and ran that on my Pi before Linux to see what it was like. I would love to run MorphOS or AmigaOS natively on the Pi.
Competing against Linux on small single board computers is really hard. To a point that even behemoths like Microsoft gave up. Even NetBSD, that thrives on portability, barely can keep up.
The thing is: drivers.
Every ARM used on these SBC are fully integrated SoC, with their own set of non-standard hardware for every single functionality inside it other than gpu (that are SOMEWHAT standardized around Mali cores on the lower end side of things). And the use of the ARM SoCs require platform-specific drivers (or a fairly complete support for device tree descriptions and bindings) to glue everything together for each SBC using them (it’s rare for a cheap SBC to use things like EFI, thus the role of pre-boot firmware on them is left to the bootloader, that must be on a specific memory location that the SoC will try to load on powerup).
Linux got such a hold on the embedded market that manufacturers pay people to develop for them just upstream their drivers to Linux (or release a “driver pack”), and everything moves art a frenetic pace, given the high number of new SBCs and ARM SoCs that goes out every year. All other projects had to rely on part-time contributors.
This is true, but it’s not really the point here.
There are indeed dozens, maybe hundreds, of ARM SBCs out there. Many don’t have very good Linux support, which is why ARMbian exists, for example.
Supporting them all is a massive undertaking for a small community-driven OS.
But the RasPi is not just another ARM SBC. It is *the* inexpensive SBC. They had already sold *38 million* of the things by this time last year:
https://www.tomshardware.com/news/raspberry-pi-9th-birthday
As they sell about 2/3 of a million per month, and 1 3/4 million per quarter:
https://www.zdnet.com/article/raspberry-pi-sales-jump-heres-why-the-tiny-computers-in-demand-in-coronavirus-crisis/
There are more RasPis out there than anything since the Commodore 64 or Sinclair ZX Spectrum.
Yes there are over 20 models, but basically, if one confines one’s efforts to the latest model, then they’re _still_ in the millions of units, there’s basically just 1 chipset to support, and they’re so cheap that potential users with a different SBC can just buy a RasPi instead for the cost of a modest restaurant meal.
Even the lb5 Pi Zero is a quad-core machine with 1/2 gig of RAM, a very capable target for most hobbyist OSes. It costs less than a small SD card.
Yes, it’s true, supporting all SBCs is very hard — *so don’t*. Support 1 or at most 2 models: the best-selling ones in the world, which are in fact already the largest compatible hardware platform in the world outside of the x86 PC, with more machines that are highly compatible with each other, that have only used 2 or 3 SBCs in a decade, than even x86 Apple Macs.
It’s not a comparison of equals. All ARM hardware isn’t alike. Yes, there is a vast profusion of ARM hardware. Even of ARM SBCs. Even of cheap consumer end-user ARM SBCs.
But even so, despite that, there is a very clear obvious market leader, and it’s well-documented, and there are already multiple FOSS OSes that run on it, with drivers available for study. Not just Linux, like basically every other ARM SBC.
Most RasPi round ups of operating systems just list half a dozen Linux distros, but OSAlert readers know that Linux is just one OS. Distros are cosmetics.
*Excluding* Linux, the RasPi runs FreeBSD, NetBSD, OpenBSD, Plan 9, Inferno, and RISC OS. (And Windows IoT but that’s not FOSS.)
No other SBC in the world can run as many different OSes. In fact, aside from the PC, I don’t think any other single model range of computers ever made can run as many different OSes as the RasPi.
The issue with MorphOS, and AmigaOS as well, is that it doesn’t run on modern / generic hardware. They have targeted PPC boards. Unlike AmigaOS, you can run MorphOS on old Apple hardware (just don’t run it on nvidia hardware as it is unsupported). There has been rumblings about an x86_64 version for quite some time, but it hasn’t manifested itself yet.
So, not only is it rather a niche operating system, but then it runs on niche hardware. Bot MorphOS and AmigaOS have a lot of potential to be very usable platforms. The problem is for a platform to take off, you need software to use on it. And while they both will mostly run old Amiga productivity software, you can run a lot of things on an old Amiga if needed as well. So they are in this weird state of being where MorphOS is Amiga-like, and AmigaOS 4 is very much the new Amiga, that barely anyone can use.
Both operating systems have decided to use the older pay model, with MorphOS being once license per computer like Windows. It is really fast and light weight, and as the article pointed out, they are working toward a usable browser, Wayward! Would be nice if the browser were open source (I’m not sure if it is or not).
leech,
If they had a x86_64 version of the OS, would users be forced to rely on PPC software emulation or do they have the sources to recompile the important stuff?
An x86 version would need a software emulation layer for compatibility with existing software, yes. That’s not really a big deal in itself. But it goes deeper than that. MorphOS and OS4 both have excellent backwards compatibility with 68k Amiga applications. A move to x86 will lose that compatibility, forcing the 68k applications to run in sandboxes rather than sharing the PPC API as they currently do. I expect moving to x86 would also have the same effect on PPC software, meaning that it would be a completely clean break software-wise – essentially a brand new operating system for which all older software would have to be recompiled or else run in a stand-alone emulator. Time will tell whether such a move will be a success or not.
daedalus,
By “sandbox” do you mean a separate process? I don’t see why they couldn’t use the same programming APIs.
An emulator can emulate one instruction set and pass system calls to the host OS. Incidentally QEMU on linux can do just that: run userspace programs for both PPC and m68k processes directly on x86 hosts without a “sandbox”. I assume QEMU only supports linux syscalls, but a similar setup might work with MorphOS architecture emulation.
So I think an emulator could handle the instructions ok, but there would be problems if the data structures used by the instructions changed in any way. For example if the original PPC code uses 32bit or 64bit you’d need to keep the same size in the target process/API. Also PPC supports both big and little endian byte ordering, intel only supports little endian. Just now I looked up that AmigaOS uses big endian. Well this would be a problem for the API and structures since all the bytes would be reversed.
You could technically try to force all data to be little endian within the emulator, but this can create inconsistent data access because reading the same memory as a byte versus a word or larger will expose the real endianness of the data. For example a program that copies a structure as bytes but then accesses it as ints would be a problem.
https://docs.scummvm.org/en/latest/other_platforms/amigaos_4.html
So it would likely be necessary to keep the process emulation as big endian and also support a big endian kernel API instead of or in addition to a little endian API. It would be frustrating but technically feasible.
Alfman,
There is (was) PearPC: https://github.com/sebastianbiallas/pearpc
It was a very good PowerPC emulator back in the day. And its support stopped when Macs moved onto Intel CPUs. Before that, it was the main way to run modern Mac OS X on Intel hardware. (No updated in last 7 years tells a lot).
But they did not want to do it even back in 2010:
https://morph.zone/modules/newbb_plus/viewtopic.php?forum=3&topic_id=7997
And I am not sure whether anybody would take it up today.
But then as you mentioned QEMU can already run the entire OS fine:
http://zero.eik.bme.hu/~balaton/qemu/amiga/
Re: Sukru’s comment. As far as I remember, there were two young developers of PearPC. Development stopped when one of them died in a vehicle accident. It wasn’t due to lack of uptake etc.
SDug,
I am really sorry to hear that.
Found an article, yes indeed one of the developers passed away:
https://www.neowin.net/news/pearpc—powerpc-emulator-author-dies/
@daedalus
It looks like what has been tested so far on MorphOS is a custom kernel that uses PowerPC emulation running on AMD64, which results in all existing PowerPC and 68k (by way of the Trance JIT written for PPC) programs working. More information is here:
https://www.amiga-news.de/en/news/AN-2019-10-00028-EN.html
Truthfully this might not be the most optimized solution where core OS components are compiled to X86 directly, but it makes the most sense to get MorphOS running on X86 and keep all the previous compatibility.
Of course this news was from over 2 years ago so I am not sure if anything will eventually come of it or not.
Something similar to the above low level emulation for AmigaOS that was considered was called Amithlon for running AmigaOS on X86. More information about that is here:
https://amithlonblog.snkbitten.com/amithlonfaq/
https://www.facebook.com/amithlon/
Both MorphOS and AmigaOS 4 just use UAE… they have just integrated it nicely.
No: the 68k-emulation on MorphOS (as well as on AmigaOS) has nothing to do with UEA.
You can also ran UEA under these systems as a separate emulator of course, but the system is capable of running old system-friendly 68k-Amiga software by itself. Like “Rosetta” on MacOS.
@Cybergorf
AmigaOS4 literally uses a thing called RunUAE. It is 100% PPC code and doesn’t run any native 68k code. Same goes for MorphOS. It’s just integrated under the hood so it feels transparent, but it’s still emulation.
When you run old Amiga programs under OS4 or MOS they use their own CPU emulators and doesn’t rely on UAE. UAE is however bundled with more recent versions of OS4 together with Kickstart 3.1 (and maybe also 1.3) Roms which allows you to run software that is accessing the old Amiga chipsets directly.
If UAE would not rund any native 68k code, it would be useless, since running legacy software (mostly games) written in 68k is the whole purpose of UAE.
You are mixing things up:
Yes there ist UAE for MorphOS and for modern AmigaOS4.x, but that is a very different animal and should not be confused with the build-in 68K emulation, that allows MorphOS to run old 68k system-friendly software transparently like “Rosetta” on MacOS does.
UAE in contrast to that is a full machine emulation like PCem.
UEA and the build in PPC emulation of MorphOS DO NOT share any code.
@leech
No. That’s not even close to being true.
Neither OS4 nor MorphOS use UAE.
MorphOS has Trance for seamless dynamic recompilation of 68k executables/libraries/devices etc and OS4 has Petunia for the same thing.
On both OS’s PPC applications can use 68k libraries/devices and 68k applications can use PPC libs and devices.
https://en-academic.com/dic.nsf/enwiki/983790 Trance
https://amigos.amiga.hu/rachy/petunia.html Petunia.
Literally these;
http://aminet.net/package/misc/emu/e-uae_mos
http://aminet.net/package/misc/emu/e-uae_os4
Different software, that is NOT the same as the build in 68k-compatibility layer of MorphOS or AmigaOS4.
UAE does for Amiga, what PCem does for PCs: emulation a whole machine, with all its chips, BIOS/ROM, gfx and so on….
The build in 68k-emulation layer in contrast only translates the 68k-code of old programs in the background and redirects system- and library-calls to its modern ppc-equivalents.
(like Rosetta does on MacOS).
These are two different approaches you can use side by side.
While the build in 68k-layer allows seamless integration into the Workbench and OS services, it only works on system-friendly software and excludes almost all games.
UAE is a full emulation of the old hardware, is much slower and less well integrated in the system – but it provides 99.99% compatibility to the old hardware.
Those have absolutely nothing to do with using 68k system software and libraries on MorphOS or OS4.
They are full system emulators.
@leech
cybergorf is correct, both MorphOS and AmigaOS4 have 68k emulators other then UAE, which is more of a full hardware emulation.
MorphOS uses a 68k JIT emulator called Trance. More information is here:
https://en.wikipedia.org/wiki/Quark_(kernel)#Trance_JIT
AmigaOS4 has two emulators called Blackbox (interpretive emulator) and Petunia (JIT dynamic recompilation). More information is here:
https://www.amigaos.net/content/127/extensive-68k-emulation-capabilities
https://wiki.amigaos.net/wiki/UserDoc:How_AmigaOS_Works#Motorola_680x0_Emulators
Wtf is the purpose of RunUAE in OS4 for then? It is one of those ‘optional’ installs. Pretty sure the MorphOS install had something similar. Outside of that, I haven’t actually had a need for running 68k software, as there is so much recompiled for either OS.
To emulate an actual original Amiga, so you can run software that won’t run under the new OS.
In other words, the same reason that DOSBox and Bochs exist for x86-64 PCs.
To run old stuff that needs the original hardware. That mostly means games.
re: Benchmark
Does anyone here have access to a physical machine that can run MorphOS? I have tried the qemu instructions at: http://zero.eik.bme.hu/~balaton/qemu/amiga/ to give it a go. This was more or less “just for fun”, since it would not replace my main desktop, nor I would want to purchase the license for a VM.
Anyway, there is a GFX benchmark on the boot CD, and with the default settings, it got as score of 5045. This is on an i7-10610U host CPU.
So, if you have run the benchmark, can you post it here to compare? I would want to see how big the difference would be. (Bad, too bad, or extremely so)?
There are 2 in my basement, but it will take some time and effort to dig one out and set it up…
I got 8,311 with Powerbook G4/1.67GHz and 19,906 with PowerMac G5/2.3GHz/DC.
Another thing to consider is that qemu doesn’t support 3D acceleration AFAIK, and MorphOS then falls back to 2D rendering instead of drawing its windows with 3D accelerated layers. This doesn’t show up in artificial benchmark tests, but affects in the real world use where handling of many overlapping windows slow down noticeably with the legacy 2D mode. You’ll also lose some eyecandy with the 2D layers.
JellyPowered,
Thank you.
That puts the recent CPU almost on par with a 17 year old one.
On video acceleration: the guide mentioned partial emulation of ATI Rage 128. However it was not supported on my qemu version. Might be interesting to give it a try, if I can get a new version (waiting to upgrade to Debian 11)
Here’s a small review of new features in MorphOS 3.16:
https://library.morph.zone/What%27s_New_in_MorphOS_3.16
Hi all,
@sukru : I just ran GfxSpeed on MorphOS 3.16 and I scored 5776 on my iBook G4 (PowerBook6,7) @ 1.4 GHz.
Cheers, Magic Sam
Thank you.