Return to

My Time With Icaros Desktop and What I am Doing as a Dev / Contributor | also some other shit

For those who have missed my obsession, Icaros Desktop is an X86 amiga OS-like variant that has been around..... Well for a while. The code base is based on Amiga OS 3.1 to 3.5 and most of the docs you find on those are rather applicable to this as well as the Aros docs themselves.

Now personally I wanted to find something to use my code crap on as I got back into it. I kinda wanted to make an app that would pull all your steam saves and back them up to a zip for you to back up further but... Well I got bored with that. Then I thought of bug testing the Linux kernal but that wasn't fun after the 5th report. So Icaros, a land of which the dev cycle has basically killed itself at this point and gets updates every 12-15 months, is where I am going to code. I have a love for amiga's that I can't really explain, but its like my love for linux; an untapped potential lies around every corner and something new is always fresh to discover.

Now with this, I accidentally made friends with the original owner of Icaros. Not bad, but I wasn't expecting it. Turnes out theres official code bases for Aros itself. If you look up Aros you have a couple choices.

Quoted from the owner:

"1. there are currently 2 branches of AROS, the ABIv1 one is the active development branch, while ABIv0 is the old one we are still using. AROS developers generally code for ABIv1 and I generally plea on my knees Deadwood or NCafferkey to backport them to ABIv0. If you develop something for AROS, I would be extremely glad if you backported also for ABIv0 to let me include your work in my distro. (meaning Icaros)

  1. If you develop anything (maybe some tool, application or so) for AROS and compile it for ABIv0, you can just send me a zip with detailed instruction in how to install it (if needed)"

Now Icaros isn't open source, however anyone is free to dev for it. The owner has to go through all the code changes that is done to the whole thing by himself / herself so that really does explain why the system doesn't get many updates, but rather a shit load all at once. To me this just looks like a great place to practice my coding skills and build on what is almost blank. My goal is to work on the Networking stack, port it to PPC, and work on porting a bunch of apps that I REALLY REALLY want to see in here as well as frameworks (such as Firefox, QT, the full GTK3 suite [only part of it is in], some more advanced opengl support, and a bunch of linux file managers, among other things). My goals are lofty because I don't expect this to be a 3 week thing. I want this to be a hobby for myself for years, even if I'm the final maintainer in 20 years I'll keep going because I find Icaros (and the whole premise behind Aros in total) that cool.

Now for my hardware I have 3 machines that I plan to dev on.

1: Lenovo y40-70.

Couldn't get rid of this thing so I'll make it my mobile command center.
Has an i7 4510U (with HD4400)
AMD R9 M275X
8 GB ram (getting another 4 added tonight, probably)
and has a nice 1080p display

2: Dell Inspiron 1000

This is a laptop that happens to be completely Aros compliant. All hardware, everything.
Has a 2.20 GHZ Celeron (which is perfect for Aros as it only needs clock speed, MMX, and SSE)
768 MB Ram (Aros uses 45 at idle)
30 GB HDD (aros install takes 400 MB)
And the GPU isn't anything more than a chip that can draw pictures

3: Between my HP Evo D510 and my Macbook 1,1

Reason for this is I want to port Icaros over to the mac systems (no one has done this yet in the 20 or so years Icaros has been around....) but I have Icaros on my HP desktop.... Difficulties....

HP: 2.8 GHZ HT Pentium 4 (again, clock speed matters, not cores or instructions)
2 GB Ram
ATi 9600LE (Aros compliant to the driver and video stack. A 9000 series ATI card is like the best for aros)

Macbook: 1.83 GHz Core Duo (650 MHV is the recommended speed so there won't be a giant performance drop)
2 GB ram
Intel 950GMA (Aros Compliant)
Whatever wifi card it has is actually compatible believe it or not
250 GB Sata HDD (Sata, USB, SCSI, and EIDE + AIDE are all compliant to Aros).

Those are the systems I'll be using most likely. I want to build GPU drivers as well so that GPU's like Nvidia 9800's can be used as well. I could only go that far as I don't have anything else spare for GPU's. My best test for GPU rendering is probably the latest version of the Google CAD program SketchUp, Blender (Its kept up to date, amiga's are actually used for blender even the modern PPC ones), or the most balls to the walls emulators I can find. Theres also a rather short compatibility list of GPU's that work natively.

Now past all of that shit I want to extend a hand to those of Level1Techs here to dev as well. You don't have to be in the kernel and system stacks like I will be but you could just port apps or make your own for Icaros. Maybe port a DE? I dunno if you could do that hmmmm.... Anyways, if you want in PM me for the dev files. I don't want to post them here and have people go crazy in their forum asking really dumb shit. If you are seriously looking for some code work to do, please PM me and I will forward you what you will need.

Heres some links you would probably like to have if you want to get involved!

There is an IRC channel on freenode, just #Aros. Also the last link is their forum.

As a side note, before you jump on their forum and ask random questions that are basic like "How do I configure wanderer?!?!?!?!??!?!" please download the actual OS manual on the Icaros website (second link from the bottom).

As I go one this grand adventure I will post updates starting with learning C and C++, getting back to assembly, then to porting a few apps and eventually, probably in a year, starting on drivers.

For now, indulge!


I just want to tag onto here (as a post so it works as a bump too >:3) that if people do end up getting on this with me that hopefully we will have a mega_thread of some sort for it, not just a massive amount of holy shit balls on a thread I wanted to use to track my personal progress.


Update 1

So far just going through the opening motions of C is for the most part a less fucky C#. I don't like C# very much if only for that the class that had me do C# in college was taught by a twat. Hopefully this goes smoother than that, lol.

I've been going through the Dev Docs as well. They have a specific format for scripts and commenting. I haven't really seen this set as uniform before but it makes sense if you have to scrub a pile of code to find something malicious. Also I am surprised to find that there is still code for Raster graphics and Oscilloscope graphics. Its not used often..... But there are a couple libraries for each. Makes sense for what AROS is based on I just want to know who uses it now.

Last helpful thing is that the Devdocs have all the libraries listed and you can dig through them. Going to make it really easy for later, heh.