Here we discuss the rapidly maturing OS known as Genode. A spin-off from academic research, it uses a microkernel and is “capability based”, which are also features of Google Fuchsia. Genode is open source but maintained by a business and can be commercially licensed. They have serious ambitions for the system and are aggressively developing their Pinephone port.
Sculpt is, as far as I can ascertain, Genode’s desktop distro. The name refers to its intention the desktop can be customised (sculpted) to the needs. This is probably the part of Genode of most interest to Framework users.
Maintained by a spin-off from University of Dresden, Genode is one of few current OS of EU origin. Sculpt appears to be designed to make it easy for users to manage any application’s access to the underlying system as with EU web cookie opt-in. Hopefully such indigenous developments will help the EU to build out its social contract for computing that places consumer privacy at its heart rather than the commercial or state surveillance paradigms of US or China. Finally, if we imagine a world where Unix based operating systems will be replaced with more modern OS on personal systems, Genode may well become one of the mainstays; the equivalent of FreeBSD to Fuchsia’s Linux.
I’m sure you have been waiting for me to share some experiences. I don’t have a Framework but can report that it natively boots on the similar - in concept at least - intel MacBook (this is a 2016 model).
Having downloaded the “Sculpt” ISO - all 27 Mb of it - and burned it to an suitably puny 1 Gb USB drive, plugged it in and rebooted, I was met with the setup screen. Things were looking good!
As you can see everything has to connect through the USB-C port, doing externally what the Framework does internally with its expansion modules. This is where things came to a grinding halt. It did not connect with the ethernet on the USB hub (pictured). Internal wifi didn’t work either (hardly surprising). So no going online for me to build up my system. Less seriously, the trackpad does not work but I could connect an external mouse.
To see what should have happened, I recommend the following video from Systems with JT. His channel features several walk-throughs of numerous under-development OS.
So the gauntlet is thrown down! Can you get further than me on Framework or any other computer for that matter?
What you experience is the result of the hardest challenge for alternative OSes: Support a significant share of hardware platforms and peripherals to be seen as proper “alternative”.
As a Genode developer I can tell you that our team would love to support the Framework for its values on all levels from technical to environmental. It’s just that I discovered the project only a couple of days ago and, therefore, no promises how Sculpt would fit the notebook. Can you tell me which WiFi chip is used in the device (as well as in your MacBook)?
It’s impossible to make a general statement here as one can simply replace the Wifi card. >90% will use the Intel AX210 (vPro and non-vPro) though as that is what ships with the prebuilt laptops and all newer iterations of the DIY version.
Thanks for the info. Regarding Genode/Sculpt Intel chip based peripherals have best chances for out-of-the-box support as these are our core portfolio since we used the Lenovo X201 as first reference platform Next Sculpt release will also bring some updates for recent Intel WiFi like AX201/AX210.
I will look into the Framework when batch 9 will be delivered to Germany
@chelmuth - Welcome! It is great to have a Genode developer onboard. Perhaps there is an opportunity to have development machines sponsored by the wider community? With Haiku I make a small recurring donation and into a fund which has helped pay for a Risc-V development board and even a full-time developer. On the other hand maybe Framework could be persuaded to supply a machine?
As for the networking capabilities of the MacBook, the system profiler and Everymac entry for the model is short of answers. All I can say is that the WiFi is Broadcon driver, and the ethernet on my external dongle seems to use a Realtec chip.
Currently, there’s no need for additional test hardware or even funding from my POV. Let’s just have a first look at the ordered device when it arrives. With promising prospects after the analysis, it may be helpful to have some other Framework owners join the community for testing in the future.
As I anticipated, Broadcom WiFi and Realtek USB dongles are not yet supported by our drivers. WiFi is currently Intel only. For USB networking, we have a driver for ASIX AX88xxx but did not yet integrate it into Sculpt.
I look forward to when these new developments become available in the Sculpt download image. In the meantime, perhaps someone will indulge my uninformed questions? From the Wiki entry:
Genode is often criticized for the choice of its implementation language, C++ [snip] This critique usually asserts that C++ is a poor choice for implementing system libraries and APIs because of the inherent complexity of C++ and the difficulty in analyzing code for correct behavior.
Whist an armchair follower rather than someone with detailed knowledge of different programming languages, C++ does seem on the surface of it to be rather old-hat. It is also that being used by Google Fuchsia and, by using the same language, Genode might forego a potential benefit over the US system. Rust is being used for OS projects now, but there are other newer languages that on the surface seem better suited to developing an OS like Zig. Was there much debate over the language used to implement Genode?
Finally, those interested in gently easing themselves into Genode may do so by way of Haiku. There is a Haiku on Genode framework which enables apps from Haiku - which is more mature and ready for daily use - to work on Genode.
The copyright holder prohibits use/reporting/editorializing based on any contents herein by any blog or website known for incitement against the Second World, NATO-style psy-ops, “civilized man’s burden” propaganda, and other “news”.
We started developing the first version of Genode (back then named Bastei) in the context of a research project in 2006. There was quite some debate about our decision to use C++ only for all custom libraries and components. However, the opponents did not favor any modern more robust or security-centric programming language. The other option was to use C like most of the software in the project did. The prominent exception was the NOVA microhypervisor, which was developed in C++ too. For us, it was never a real option to take a step backwards to C. Over the years, we peered at some of the hot stuff in programming languages   but never felt to went full charge into one of them.
The current situation of Genode and C++ from our perspective is an almost perfect balance of knowledge about almost every dirty corner of the language (runtime) and their impact in our use cases, efficiency of development as well as security and robustness of single components and the system as a whole. With proper care and coding conventions C++ is a good fit for Genode this day .
Whilst his “licence” might invoke the days of computer science being associated with open-toed sandals, beards and strongly held marxist views, isn’t that the same as the GPL? To give him his due, I think he maintains one of the few commercial software packages (probably the only one) to survive from BeOS to Haiku. In fact I believe his decision to port it to Genode raised a few eyebrows.
Thank you for your in-depth response. I found your links very helpful and certainly gives an idea of the care that has gone into the design of your OS.
My attention was drawn by your linked articles to the reading to be enjoyed on Genodians blog. The posts are well written; not only satisfyingly in-depth but quite illuminating as to the culture of Genode development.
Indeed. The GPL (v2, as relevant to a certain operating system kernel) can basically be summarized as: “You can use my code for whatever you want, as long as you pay me back by making your changes available under the same terms.”
This is a bit… different. And probably not quite up to par with legislation. (Pretty sure “fair use” will void that “license” in almost any jurisdiction.)
Your quote omitted the smiley at the end of the sentance, which denoted that it was none too serious. Neither did I say it was “Free software”.
Agree, it is not something I would lose too much sleep over. Whilst I don’t condone using a political rant as a licence for your work, and it is probably unenforceable, I guess it is the developer’s right to do so. I do think it is regrettable for the credibility of his work and hope he changes his so-called licence in due course.
I wouldn’t have a problem with free software generally being called Marxist. In fact I would consider it a badge of honour as I think we need more socialism generally. Framework claims to offer its customers more control over their tools of production and that is also a somewhat Marxist aspiration!
I hope we can all agree on this. Being able to adopt Haiku - knowing that the same apps could work on Genode - is a great incentive to try Haiku now whilst keeping a weather eye on Genode.
I just want to report back on this topic as my Framework made it to Genode Labs today. Of course the first OS we booted was the fresh Sculpt OS version 22.04. After some fiddling with the USB ports we successfully started the system and I can confirm working drivers for USB, Intel graphics, NVMe and last but not least Intel wireless!
If you try it out by yourself, please be patient after the gray Genode logo is displayed as we still wrestle with XHCI handoff on some devices (incl. the Framework it seems).
That’s a fantastic job, it sounds like if I were to get a Framework everything would work under Sculpt with the exception of the trackpad? I consider that a pretty good show for such a new OS.
I will have to read those release notes, download myself a copy of the new Sculpt, and see if it runs on any of my own hardware. As for Framework laptops, I trust you will continue to post updates here.
Does the October release of Sculpt have good functionality on the Framework?
Considering that @chelmuth reports that Genode now has an in-house example of this laptop, I am surprised it is not included as supported hardware in either the v22.10 release notes or the (admittedly rather old) hardware compatibility page. Is this merely an oversight?