Genode news thread

Genode is discussed here in several topics but no general thread to share updates that might be of interest to Haiku. Hopefully this thread will provide such a space. Genode powers one project to provide another platform for running Haiku apps natively, thereby increasing the utility and potential marketplace for Haiku apps.

Let me kick things off by sharing their launch of their own Discourse forum. Naturally it is still quiet compared to this vibrant forum, but chatter is increasing, and it is another window into the Genodian community. For my part I have made a thread there to discuss Haiku and BeOS. Genodians include former BeOS users and consider themselves friends of Haiku, so don’t be a stranger, say hello!

1 Like

Is this still being worked on? What kind of state is it in, can it already run Haiku apps?

The repository timeline shows it being updated frequently: it appears very much a live project. But I gather it only runs some basic programmes currently so in not an alternative yet.

This worb is being done for TuneTracker Systems who stopped shipping installations with Haiku because Haiku is not stable enough for their needs or doesn’t support the hardware they use.

They will probably re-evaluate this choice with beta 5, if it doesn’t do better, the work on running their software on Genode will continue. Otherwise, they may come back to Haiku.

7 Likes

Looks like they have re-evaluated and are back already.

https://www.tunetrackersystems.com/about_haiku.html

This is amazing to me and really opens my eyes to the history and depth of BeOS and now Haiku.

3 Likes

…Unless they never fully left.

1 Like

From the linked thread, this part looks interesting:

  • Now we come to the reason I moved to Genode in the first place : stability. Some of our (*Haiku-based) stations started crashing once a day right out of the gate, due to their usage patterns (and we had to redund them of course, until we decided to throw the towel), with KDLs. Guess what: there is no such thing as a “KDL” with Genode. The difference in stability is very very very obvious when looking at the infamous “sea of red ” graph (and yes, all we ever hear is “your KDL is not reproducible here”, so we lost hope they would be resolved).
  • Next, probably equally as important : file system stability ; I lost count of the number of files we lost (or even whole filesystems, needing to reformat) with our stations over the years, not counting C++ files lost on my own development machines. With Genode I have 100% peace of mind, that’s priceless. Don’t get me wrong, I’m grateful for the work Axel did over the years, but I simply can’t use the Haiku BFS implementation in production for our stations, just the idea of going back that way gives me cold sweats.
  • security: that’s not my paygrade, but I understand Genode has lots of potential for being a super secure OS – and, unlike say, OpenBSD, it reaches that goal by design, rather than by applying hard work/sweat to an unsecure foundation. Someone more knowledgeable might express this better. Our stations tend(ed) to get “probed” by script kiddies a lot, which would sometimes seemingly trigger KDLs (!!), so it’s more important than it would appear at first.“
2 Likes

And yet after all this, they still have no sound on Genode according to their notes. Which is rather important for a radio playout system

Its also rather important to realise that chasing analogue audio output for a playout system is irrelevant in the 2020s - it was irrelevant ten years ago - as AES67 has completely replaced it in anything more than hobbyist environments. And there’s no Genode AES67 support either.

1 Like

Yes, instead it’s possible for the userland processes that provide the equivalent functionality (drivers, etc.) to crash. Some of these are probably recoverable, but some of them probably aren’t (especially if the drivers in question were ported from kernel environments that don’t expect crashes to be recoverable.)

This is absolutely not the case at all. I have repeatedly followed up with the TuneTracker folks about KDLs and other issues they’ve reported, and more than once (if memory serves) when emailing them, I found out that there were others they hadn’t reported. Yes, many of them I couldn’t reproduce, but the story hardly ended there; I would try to guide them through collecting more information to make the problem easier to track down on our end. But oftentimes these email threads would simply go dormant without me having received enough information to make an “educated guess” at solving the problem.

Two of the issues they had, last I knew, was that they were trying to run on AMD “Bulldozer” hardware, which of course is infamously unstable under Haiku when running with SMP on; and they were also using “Disable AHCI” in the BIOSes, which seemed to break disk I/O after some period of time, or perhaps randomly. I recommended turning AHCI mode back on, and I think they said this improved things, but I don’t remember hearing back as to whether they had any better success with SMP disabled, or with non-Bulldozer hardware.

That was years ago. I emailed them more recently to try and find out if anything had changed on this front, but that thread didn’t seem to be much more productive than past ones.

This may be related to using “Disable AHCI mode” on newer motherboards, if that’s what they were doing. But it also could have been BFS bugs that have since been solved. I don’t know of any BFS tickets about data corruption which happen with any frequency (if at all, anymore), besides ones caused by the underlying hardware disconnecting or something like that.

Genode is surely not immune to filesystem bugs more than any other OS. Of course if they use better-tested code, then that’s something, but microkernels do basically nothing to prevent data corruption on the filesystem level, if it’s bugs in the filesystem driver and/or caching code that are causing the corruption.

This is the first I’ve heard of this (and again, I’ve reached out to the TuneTracker people multiple times over the years asking what issues they tended to encounter. Noticing a pattern?)

Since beta1, there have been more experiments by various developers and users running Haiku systems “in the cloud” with public IPs, and some have gotten lots of random SSH login attempts, etc. I don’t know how much I trust our IP stack to be exposed to the public either, but at least I haven’t heard of external traffic causing KDLs.

But more to the point: why would you ever expose a radio station’s broadcast hardware to the public internet? Surely it should be gated behind a firewall at the very least.

4 Likes

I think you are missing a critical piece of the story: Haiku applications are more consistent than Linux in no small part because of their deep integration with the OS. If you take Haiku applications and port them to Linux, Genode, or any other OS, then you lose that, and the Haiku API becomes “just another toolkit” alongside Qt, GTK, and everything else. In short: “Haiku on Genode” will (if it is completed at all) will be basically like “Qt on Genode”, in terms of “comprehensive adaptation” to the underlying OS.

3 Likes

My apologise if this is the wrong place or has been discussed before but as you explain above I would guess then that the same would happen when porting applications not specifically written for Haiku to Haiku? Those ported applications can not take advantage of the Haiku secret sauce, so to speak.

I love the idea of OS choice but what appears to happen is that they all start to look the same when the same applications get ported to all of them and the underlying reason for the OS’s existence in the first place becomes blurred and pushed aside over a race to have lots of applications.

If I am a developer and interested in Haiku and it’s specific “secret sauce” should I maybe concentrate on creating new applications that take advantage of this instead of porting stuff?

I would also like to know if there is an easy way to tell if an application listed in HaikuDepot is native or not?

Many thanks.

Bill

1 Like

That’s true and has been remarked on before. From the OS side there’s nothing to be done about that, short of actively sabotaging the efforts of 3rd party developers that port software. Which would be insane. Also, as long as there isn’t a native counterpart for an app, the port makes the OS viable for actually using it. OTOH the presence of the port may discourage the development of a native equivalent… Dilemma… :slight_smile:

At the same time, especially the typical “Youtube-reviewer”, many exclusively seek out the popular ported software without even a cursory glance at native alternatives. A prominent example is GIMP, Krita, Inkscape etc. versus ArtPaint and WonderBrush.

Most definitely! At least if you’re in it for the fun and not with aspirations of going commercial or becoming an open source celebrity. Outside Haiku, at least. Within the community you’ll be an admired hero for sure, if you provide us with a cool native application! :smiley:

Not yet, but it’s been thought about, see here.

3 Likes

Or it could spur the creation of a native version that leverages Haiku’s unique features. :wink:
I myself use several ported software on macOS as well, but there is absolutely nothing comparable to the experience provided by a native application.

4 Likes

If the app’s name starts with J, Q, G or K, it’s probably not native. If it starts with “Be”, it almost certainly is. :smiley:

Some apps will proudly announce their native status in the description field. A search for “native” in the HaikuDepot app will uncover them.

Finally, try to install the app (with cursor hovering over the Cancel button) . If it wants to install a dozen dependencies, it is unlikely to be native.

2 Likes

I highly doubt that the presence of ported applications will discourage anyone from developing native applications. If anything, the lack of ported applications just means the user can’t do his intended task at all. This was the case with web browsers before. There were very few ported web browsers and the result was that you simply couldn’t browse the web on Haiku.

The most effective way to encourage people to write native applications is simply to get them to use Haiku in the first place.

2 Likes

It may change priorities on which applications get worked on first. For example, ifthere is a good choice of ported web browsers, maybe developers will choose to work on something else (Say, email clients). Overall this means you may be more likely to see native apps only for very specific things where no ported one could do the job.

The main question here is not in terms of number of people working on native apps. If you have an environment where 90% of apps are ported, the whole idea of a native app vanishes a bit. If all your app are Qt based except this one using the native toolkit, what happens to the idea of a unified and consistent user interface? Well, now it’s the native app that stands out and gets in the way of achieving it.

But on the other hand, you get more users in the short term, and as a result you probably get more developers, who can work on more things. So maybe you get more native apps and things eventually return to a state with more native apps. I don’t think anyone could predict if this happens or not?

2 Likes

My comment was more of an observation than anything else.

I am not a developer but like many others have been testing the Haiku waters on and off for years. I really like Haiku for some reason but can’t really put my finger on why.

Just like every other nerd I have tried many OS’s and they are all fine for what they are but I always come back to Haiku and want to stay but many crucial things just haven’t worked in the past and I didn’t know how to fix them.

Here I am again and using it on my Sony Vaio laptop every day and getting stuff done. Everything just works!! It’s awesome. :smiley:

I am in the process of looking at the source code of some native applications to get an idea of how they tick. I notice some excellent documentation, forum posts, videos, etc on developing for Haiku as well. This is great and something I really need.

Any way, thank you for this wonderful OS. It is a pleasure to use.

Cheers

Bill

3 Likes

I came across an (incomplete!) list that I made for myself a few months back. These are installable native apps that do not come with a default installation. I haven’t checked if there’s a _source package for all of these, but hopefully it gives you a starting point. Also, some of them may be from the Besly and FatElk repos.

8Dock
Album
ArmyKnife
ArtPaint
BeAe
Beam
BeBuilder
Becasso
BeFar
BePodder
BeScreencapture
BeTeX
BlogPositive
BurnItNow
CatkeysEditor
ClockWerk
Colors
DeskBarEyes
DockBert
FlyingTroll
FolderShaper
FontBoy
FTPPositive
Genio
Globe
Haiku-extras
Haikuwebsearch
Ink
Koder
LnLauncher
Medo
MinimizeAll
Moe
Night and Day
Paladin
PecoRename
QuickLaunch
Remember
ReName!
Resourcer
Run_Program
Sanity
ScriptureGuide
Seeker
Shredder
Slayer
TakeNotes
TAResizer
TimeCop
Timetracker
Tipster
Toner
TrackerGrep
TrackGit
UltraDV
USBDeskbar
Vision
VWGet
WebWatch
WordClock
WonderBrush
ZooKeeper

4 Likes

Doing a find haiku* -maxdepth 1 -type d -exec basename {} \; in the HaikuPorts folder and removing everything under “haiku-data” and “haiku-libs”, you get the following list. Not all may be in a state that has the bouncer at HaikuDepot let them in…

List of around 300 apps

3dmov
8dock
a_book
aalibtranslator
aesaddon
album
alivejournal
animator
aplayer
archiver
armyknife
artpaint
babybe
backup
bafx
bamkeys
batchrename
bdhcalc
bdirectconnect
beaccessible
beacon
beae
beam
bebuilder
becasso
beezer
befar
beget
behappy
beindexed
belife
bemobile
benormal
beohms
beostilink
bepdf
bephonebook
bephotomagic
bepodder
bescreencapture
beshare
betex
bghostview
bgswitch
bic
binaryclock
blogpositive
bookmarkconverter
brie
bsap
bshisen
bsnow
burnitnow
butterfly
calendar
capitalbe
catkeyseditor
caya
cdplayer
chat_o_matic
cherry_blossom
clipdinger
clipup
clockwerk
cmake_haiku
colors
commandtimer
converttolf
conway
copynametoclipboard
coveredcalc
debugmonitor
deeperpeople
deskbareyes
desknotes
djvutranslator
djvuviewer
dockbert
doctranslator
documentviewer
drive_encryption
drumcircle
einsteinium
eventual
exrtranslator
fairtrade
fakbetur
feedgator
ffmpeggui
filecropper
filer
filwip
finance
flyingtroll
foldershaper
fontboy
fortuna
friss
ftppositive
functionplotter
genesis_commander
genio
globe
haikuplot
haikuporter
haikutodo
haikutwitter
haikuutils
haikuwebsearch
haiqr
hare
havoc
hdialog
heidi
helios
helpviewer
hyperstudio
ideam
internalmidi
jammin
joystickutilizer
jxl_translator
keycursor
keymapswitcher
koder
kottan
kovel
launchpad
lava
lingua
lnlauncher
lockworkstation
maps
masterpiece
medo
melt
memochip
mev
microbe
midikeyboard
midisynth
minimizeall
mkdepend
moe
mrpeeps
nanodot
nanosvgtranslator
netpulse
nightandday
niue
openoriginpackage
optipngtranslator
organizer
paladin
pdftranslator
pe
pecobeat
pecorename
peek
phantomlimb
photograbber
pogger
ponpokodiff
ponyexpress
ppviewer
projectconceptor
q
qscope
querywatcher
quicklaunch
quickres
randomizer
rawaes
recibe
remember
remotecontrol
rename
renga
resourceedit
resourcer
rez
romannumbers
runprogram
samedi
sanity
sawteeth
scriptureguide
seeker
sequitur
serviceswatcher
shanty
shredder
sidplayer
simplebackup
simplyvorbis
slayer
snapshot
stlover
streamradio
stylededitplus
sum_it
superprefs
symetrie
sync_modular
systeminfo
takenotes
taresizer
taskmanager
tesseracttranslator
thememanager
timebomb
timecop
timetracker
tipster
tolmach
toner
torrentor
trackergrep
trackgit
trackrunner
transplus
trax
ubertuber
ultradv
uploadit
usbdeskbar
virtualbelive
vision
vncserver
vncviewer
voxophone
vwget
wakeup
waveview
weather
webwatch
whereismymouse
whisper
wonderbrush
wordclock
workspacenumber
xmlbmessage
xpmtranslator
xrs
yab_buildfactory
yab_ide
yab_localizer
zookeeper
2048
2pow
bebattle
becheckers
bemines
benettris
besol
bespider
bevexed
bong
connect4
criticalmass
gloom3d
guitarmaster
hexvexed
lightsoff
matching-columns
minesweeper
nogravity
peggy
puri
superfreecell
w6
barrier_haiku
brainwash
cloud_init
digiclock
ducksaver
flatstyle
gadgeteer
haiku-on
hakidecors
iff_catalog
iff_ilbm_translator
konfetti
neonlights
numlock
pdfwriter
quicktour
replicat
rssavers
screenkeyboard
sortsave
space
ssh_askpass
substrate
synergy_haiku
textsaver
unicode_input_method
universalscroller
vcardpeople
wolle
yoshi

4 Likes