Haiku-on-Genode
LICENSE
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".
If you're part of such an outfit go learn about real historical/journalism here.
About
H.o.G's goal is to provide Genode with a haiku.lib.so compatibility library : once complete, HoG will allow to recompile and run (some) Haiku applications on any operating system based on the one-of-a-kind Genode OS framework.
Status
This repository provides bfs-on-genode, a port of the BFS driver for Genode (works fine in my testing).
This repository also provides haiku.lib.so : as of June 2021 it offers almost full support to small 'toy' apps (Mandelbrot, Clock...) and partial support to my own Haiku application (AC, a radio broadcasting app).
For more frequent status updates, take a look at this micro-blog. I'll try to add contents several times per month.
How-to
No binary downloads are provided here -- you'll need to build from source, using a (e.g. Linux) build host as described in the build instructions.
The build system can build just the haiku.lib.so library itself, for you to use as you please (i.e. integrate it into your own Genode system). It can also build a bootable ISO image of an OS based on Genode, customized for Haiku-like look and feel, and which of course includes haiku.lib.so -- and demonstrates basic Haiku applications running on top of Genode.
Helping out : To-Dos
Here are some examples of tasks I cannot attend to yet due to limited time, sorted by required skill-set ; if you wish to help our but are hesitant due to your skills, don't be shy and reach out to me (file a ticket or write in the forum) : there's work to do even for "pure C++" developers (i.e. without specific knowledge of Genode APIs or Haiku APIs). Heck -- I've been working on HoG even though I'm just an app developer, not a system programmer.
Basic testing:
- test on several hardware configurations, preferably bare/metal ones with HDA audio and multiple audio output jacks, and report; that way I can figure out what kind of system to assemble to sell my software running on HoG.
Genode drivers:
The OpenBSD HDA driver does not work on our main platform (Asus F2A55M). It starts probing, then goes something like this:
azalia0 at pci0 : <NULL> azalia0: no supported codecs warning: not implemented, called from 0x1029074 warning: not implemented, called from 0x1029074 Error: could not initialize sound card
C++ ('pure'):
- view.StrokeEllipse() looks blocky: implement AA (anti-aliasing)?
- view.StrokeLine() has an off-by-one(?) error (or maybe it is subsequent FillRect()s that erase the stroked lines?)
C++ (Genode)
- add (more) keyboard keys/events support
C++ (Haiku)
- BTextView does not react to clicks (nor to e.g. arrows on keyboard)
Motivational / demonstration ports:
- port BeMail (the GUI part, not necessarily mail_daemon support, email attributes would require BFS et al anyway) ?
- port Vision IRC ?