Monday, July 8, 2019

Let's talk, frankly, about 64 bits

As you may know, Icaros Desktop is - like other AmigaOS variants and inspired OS - a 32bit only operating system, which is quite limiting for nowadays standards. We can address a maximum of 4 GB of RAM, for instance, and we also inherited many AmigaOS limitations, since most of our programs were originally written for Amiga computers from Commodore. The system is also single-core and can't access all those sleeping transistors of your Intel or AMD CPU. Moreover, we're based on 'version 0' of AROS' application binary interface (ABI), which is 'stable' but also rather old, superseded by the current 'version 1' AROS coders are using for development. What does all that mean? In a nutshell, that we're running on a blind alley: we can use only a subset of modern PC specs, ABI v0 AROS isn't receiving any consistent update or backport for years, and Icaros itself is still relying on 3-years old code, which is cozy for people writing apps, but can be a problem for users that don't get proper updates and bug fixes.

So far, Icaros Desktop already achieved its main goal: providing a PC based Amiga-like operationg system which would make your PC look and act as an Amiga computer, giving great processor grunt to your Amiga programs. We can be proud of what we did. Install Icaros on a 5-15 years old PC, and you'll be still amazed: Icaros Desktop provides a modern environment, with modern file handling, modern GUI features, modern networking on the roots of a classic operating system. We might continue collecting new applications from 3rd party developers, but progress on AROS continues on ABI v1, which is not compatible anymore.

Unluckily, we can't simply overwrite older system files with newer ones, because current AROS x86 software wouldn't run anymore. Icaros Desktop includes hundreds of executables, and many of them were released as binary only, so we couldn't retain their sources for later use. We're talking about iconic components of the system, like the familiar AmiStart dock in the lower side of the screen, but also specific ones like AROS drivers for the Catweasel cards. In a nutshell, upgrading ABI would mean loosing most of the Icaros environment, what actually lets Icaros be... Icaros!

But progress never stops and we must make a step forward.

As I have already repeated and stressed on forums and social networks, there will never be a 32-bit ABI v1 version of this distribution. I don't think you need so much explanations about this: ABI v0 AROS took 20 years to get where it is now, and nobody still produces 32bit only PC processors. All CPUs sold in the last 15 years can run 64bit operating systems and almost nobody owns less than 4 GB of RAM. Moreover, hard drives are terabytes big and there is really NO motivation to binding to 32bit limitations today.

It's now time to leverage the Amiga(like) platform to modern standards. I simply can't ask you to loose your habits without giving you tangible advantages. For this reason, I am now working also on the x86-64, ABIv1 flavour of AROS, to start a brand new adventure. It will be based on the great experience I got from 32-bit Icaros, but it will bring real advantages like big size memory handling, better filesystems, updated system software and, hopefully in a near future, also multiprocessing support, to speed up multithreaded operations. ABIv1 64bit AROS can't run ABIv0 32bit software, so all applications must be properly adapted, corrected, recompiled and boundled. This is a huge task I absolutely cannot do by myself: I need help form developers. Much help. The greatest help I ever asked for.

It will take much time, before the 64bit version will be available. In the meanwhile, 32bit Icaros Desktop will still get updates and new point releases. This topic can be discussed here.

Theme Manager and themes included on Icaros Desktop are already working on 64bit AROS. 

gsar compiled for x86-64 ABIv1 AROS, using the AROS build system