Haiku Games Console (HGC)

Has anyone configured their Haiku as a games console and can share “how to” & ”best way”. This might initially have been best posted to Help, but I think where the thread could end up makes here the best place to post.

I am hacking up a gaming experience on Haiku for my son to take to his scouts “Gaming Night”. While he has an X-Box One S that will eat Haiku on the target NUCs (the Silver GenMAchine in the foreground that cost less than $100 before GO POTUS slapped on import tariffs), the real game I hope he engages in is making a brick do magic (OS and Software envelopment) :slight_smile: Not only that, it might pique the interest of other scouts that could be part of the future Haiku effort.

This might sound crazy, but he is Minecraft mad, especially for Minecraft Java where he can actually program Minecraft itself! The stuff he doesn’t know about enchantments, redstone, ender pearls and the Nether is not worth knowing, and he is only grade 5! His sister is as good! It is just computer programing made accessible in game form.

From a Haiku development perspective, everyone knows gamers are the fanatics at getting FAST and multi screen and the best of everything, so even their video cards are capable of simulations that engineers dream about being able to do! No one my age would have thought Linux was a gaming platform, and now there are half a dozen very capable dedicated distros. Since Haiku was developed as a GUI media machine from day one, it seems a much easier starting point.

Unlike my NaikuWebBook idea posted elsewhere, I am going to leave pitching this one as it is well beyond my pay grade and I am not a gamer (I was too old and too busy when PCs arrived). What I will try is to reconfigure the target machine as a gaming machine, by selecting a Gaudy Stargate Theme (the one in the photo) that might grab attention of gamers and temporarily uninstal my evaluation software so I can fit on a bunch of games. Those include ClassicCube (Minecraft) and SuperTuxCart (Mario Bros) because my children loved playing that on Linux when they were five.

Any suggestions on how to do a dual distro reconfig easily and a list of must have games packages would be gratefully received as I have a week to pull this mock up console together. If you have a brilliant gaming install your could ISO, even better. It will hopefully look gamey and be gamey enough to still engage young boys who have Switch and VR toys!

I was going to use the Intel based GMKtec NUCs in the photo, but Haiku will not recognize the NVMe. Anyone know if there are drivers or ways of recognizing more modern RAM types (that is on my too research list)? The Ryzen3 GenMachine “just works” and works well, except for needing a wireless USB and bluetooth USB.

Sorry about the messy desktop photo: I am busy :stuck_out_tongue: The small screen is 7” touch from my sons Raspberry Pi that Haiku loves and the Silver thing on the right is a 2TB Eaget that is ExFAT that Haiku doesn’t recognize (t was supposed to be cheap, quiet, low power memory expansion). The rest is actual mess!

Gaming on Haiku is not the best, I feel, you need a reasonably beefy pc to get a decent experience for most games available on the Depot.

That said, judging by your request and by your children’s age I assume you’re looking for some nice, easy to play, non-violent games, which is why I’d recommend looking at some platformers first.

Cave Story and Frogatto seem like good places to start, I haven’t played either of those but they have a good reputation and have been available on Haiku for years now so they should work fairly well.

Commander Keen 4 (via Omnispeak) might be a good fit as well as long as your kids are not put off by the archaic 16-color graphics (wasn’t an issue for me, but I was a kid in the DOS era so YMMV)

Aquaria looks really nice but you need to own the game to play it, there’s also many other similar commercial games with a source port available on Haiku, those might be worth checking out if you have a decent gaming collection.

If your kids were a bit older I’d have suggested Battle for Wesnoth, which is a very deep and polished game, but it being a Turn-based Strategy game means it’s probably too complex to hook the kids (but I may be wrong on this?)

Sonic Robo Blast 2 might also be a solid game for this.

Chex Quest 3 maybe? Might be too easy or a bit dull for them.

Other than that, if you’re okay with legal gray areas, emulation would also be a good choice, there’s plenty of great games available through that, I’d suggest looking at SNES (mednafen/RetroArch) and arcade (MAME/RetroArch) games for some good ones, like the Donkey Kong Country series, if I was a kid I could spend entire weeks just on those. :grin:

Of course there’s many more games I didn’t mention on HaikuDepot, many of which might be worth a look.

(Also, be sure to test each game at least a bit to get a feel for how it runs, if it doesn’t run smoothly on the hardware you chose it’s probably best to pass on it)

1 Like

You can give a try on the emulation part (Retroarch/Emulation Station Desktop Edition) or Pygame and python also.

A few ideas about Haiku and gaming are available here if you want to give a try : Gaming | Haiku Insider

Maybe what is missing a little bit on Haiku today is the gamepad recognition/compatibility which is a bit limited today. This part could be a nice area to improve :slight_smile:

When I will have more time, I plan to talk about the McPixel3 game also as it can run on Haiku.

There’s also still good old ScummVM where you can play plenty of the classic/retro games. :slight_smile:

2 Likes

Thank you @Digitalbox Your site is totally “sixes and sevens:grin: : did I say that right? I would say totally awesome dude. So much there for me to checkout presented in a way I can easily use. Even how to write drivers! Absolutely what my son will need if he gets hooked. So good.

Somehow I had missed it in my Googling, maybe because it is so new and up to date.

Put up a web site review link and I will give it a 6 out of 5, AND NO ADDS! Bonus.

I did say gamers are good for pushing development :grinning_face:

Forgot to add, use the most recent Nightly for this, Beta 5 has an annoying bug with (at least) SDL games where clicks are not registered sometimes.

1 Like

Thank you so much @MichaelPeppers as your reply ticked all the boxes I needed answering and then some.

I was sort of following the ratings on HaikuDepot, but they seem incomplete. I tried downloading Hikou No Mizu but it crashed. What seems to be happening is that Games pull down huge dependencies that are not warned about and crash my HaikuDepot (I am using wifi through my phone so half GB failed downloads is not nice. In the screen capture you see they appear in /andminstative/transactions-**/ . Do you have any idea where I should read up to work what they are dependencies for from the filespec? It would be nice if HaikuPackages could aggregate the full download size as the Size indicated against the entry does not seem much related to the amount that often gets installed when you click on “Yes download the extra dependencies”.

I should add large Packages and subsystems as part of the Gamers ecosystem that pushes PCs :grinning_face: retroarch_assets-0_20250321-1-any.hpkg is the last thing downloaded when HaikuPackages froze again and It was an attempt to Hikou No Mizu that fully downloaded, but no instal! Do you know whether HaikuPackages just downloads the whole thing again if doesn’t fully complete the install or if it is clever enough to check if it has the file local before redownloading. I ask because I have tried to install Waterfox (in my search for a comprehensive web browser that is fully functional), but it odes the same compete download and lock up HaikuPackages.

Your recommendations are spot on, so I will use them as a built sheet!. It is getting then onto my install that is vexing me. My children play Star Wars - Battlefront (great two up game play and they love the movies) if I am there so they feel safe, but that is the limit of their gratuitous violence appetite. Skyrim and the likes freaks them.

Thanks for the hint about Aquaria. It looked like a great demo, but no mention that you needed to own it (It would be nice if there was a bit more in the About tab on HaikuDepot, though I am not complaining at all as just getting stuff onto it is priority.

If I don’t get back to you soon, your reply nailed it. Thank you so much. There is stuff happening in the market segment. I was wondering if maybe Haiku-ers were mainly old non-gamers like myself who don’t fully “get it”:grin:

1 Like

Packages already downloaded will be used even when not activated yet after a failed attempt.

EDIT: using downloaded ‘local’ packages, eg will not download them again (when completed).

1 Like

I have no experience with HaikuDepot crashing but I always use it on wired networks. Maybe it’s something related to your data plan?

About looking at the dependencies needed, the only way I know would be searching for the corresponding recipe on Haikuports, where the dependencies are all listed in the “REQUIRES“ section.

1 Like

Seeing I always use “pkgman” to in/uninstall packages, I never see the DESCRIPTION used in recipes that show up in HaikuDepot, I guess we could ask for the creators of the packages that if requirements involve huge data it could be added to the DESCRIPTION.

But even that wouldn’t cover the REQUIRES mentioned in a recipe, for instance on a clean install installing anything Qt/KDE/GTK involved will have a fair amount of dependencies leading up to a large “total” download in packages.

2 Likes

I figured it was not easy. My test instal is now sitting at about 40GB (only started testing games with a couple of Minecraft variants) which for me is Windoze territory and I checked the sizes of everything I downloaded and apart from the web-browsers, at about 100MB a pop, there hasn’t been much that was large. It is all the dependencies. A side issue is my SoftwareUpdater fully downloads then crashes so that is an unbelievably large (for a new instal) 1 GB every attempt, that makes me think “maybe I wont do that again if it just wastes a GB of bandwidth of my mobile dataplan and a few hours every time”! The huge download being involved appears a common thread.

I am not complaining as it is great to have the software. It would be nice to somehow be able to better monitor the size of eveything. I find DiskUsage an exercise in graphics that leaves me confused.

Below is my current concern that I need to research more. There is 2 TB of packages in pakages/adminstrative/ as */state******* *and /Tansaction-** that are not in /pakages itself where I think they should have ended up. They are the ones I worry are downloaded, but not properly processed by PackageManager for some reason. the retroarch… package in the image is an example of the size and why redownloading is a concern.

If I knew the function of *pakages/adminstrative/state******* *and /Tansaction-** directories and if HaikuDepot checks them before redownloading I think it would be clear to me.

If my post makes no sense, don’t worry. I suspect that becasue my WiFi link is flakey and absolute peak speed of 30MB/s it may be that HaikuDepot is dealing with these huge files when I think it should be fully completed an hour ago, so try to move it on. I had not realised all this baggage was coming down in the backrgound. I just thought 10-20Mb here and there.

“state” folders are created whenever you install/uninstall a package, they’re meant to be used as restore points and can be selected from the bootloader in case your install gets bricked, they just contain a copy of the packages uninstalled and a package list. If you can live without system restore or the packages removed are non-essential you can freely delete them. They tend to eat a bunch of space overtime anyway.

I have no experience with “transaction” folders, I’d guess they’re HaikuDepot’s temp folders? They can probably be deleted freely as well.

As good of an “emulation station” RetroArch is, it’s also a huge beast with many libraries (and cores) as dependencies. If you want to trim some space you could consider Mednafen (emulates a bunch of systems) and MAME instead (which emulates an impressive amount of systems, but some are emulated less well than others)

1 Like

Connectivity: Joysticks and other peripherals

1 Like

But then for the second Qt/KDE/GTK app installation, most of the heavy lifting has already been done. Since we have no way of knowing which will be the first Qt/KDE/GTK app the user will install, the DESCRIPTION route won’t be accurate either.

Unless … Haiku comes out of the box with the largest of these these libraries pre-installed. Not a great solution either: there will be some users completely opposed to anything non-native being shipped (although I think OpenJDK 8 is already in there?)

1 Like

Wait, it is?! walks in, armed with a broom Whew, false alarm.

Seriously, in an ideal world pkgman would have at least a few of the conveniences from Linux package managers, such as the ability to tell you in advance what (still-unmet) dependencies it will install and how much additional space they’re going to take. But who’s gonna volunteer to add that stuff? Wish I had the energy and inclination.

Both SoftwareUpdater and the pkgman command will sense a partial download from a previous attempt and will pick up the download from there.

Install the FilWip app. You’ll never look back.

I occasionally have these problems when my connection is a little flakey. One workaround:

  • Tell the system to install your app.
  • get a long list of dependencies
  • Make a note of what is about to become installed. Screenshot is your fiend
  • Click or type No
  • Now install those packages either one at a time or in small batches, starting from the smallest ones and working up to the one you really want.

This works with both the graphical and the command-line installers.

Or just wait until your connection improves.

1 Like

Yes, if only there was a little CLI app that let us quickly see the descriptions of, say, all markdown-related apps.

Whattheheck, let me just write one.

3 Likes

Works pretty good! :+1:

/Opslag/wip/pkginfo> pkginfo fpc

chromaprint: Audio fingerprint library

chromaprint is a client-side library that implements a custom algorithm for extracting fingerprints from any audio source.

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

fpc: Professional Pascal compiler

Free Pascal is a 32, 64 and 16 bit professional Pascal compiler. It can target many processor architectures: Intel x86 (including 8086), AMD64/x86-64, PowerPC, PowerPC64, SPARC, ARM, AArch64, MIPS and the JVM. Supported operating systems include Linux, FreeBSD, Haiku, macOS/iOS/iPhoneSimulator/Darwin, DOS (16 and 32 bit), Win32, Win64, WinCE, OS/2, MorphOS, Nintendo GBA, Nintendo DS, Nintendo Wii, Android, AIX and AROS. Additionally, support for the Motorola 68k architecture is available in the development versions.

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

fpc_bin: Professional Pascal compiler

Free Pascal is a 32, 64 and 16 bit professional Pascal compiler. It can target many processor architectures: Intel x86 (including 8086), AMD64/x86-64, PowerPC, PowerPC64, SPARC, ARM, AArch64, MIPS and the JVM. Supported operating systems include Linux, FreeBSD, Haiku, Mac OS X/iOS/iPhoneSimulator/Darwin, DOS (16 and 32 bit), Win32, Win64, WinCE, OS/2, MorphOS, Nintendo GBA, Nintendo DS, Nintendo Wii, Android, AIX and AROS. Additionally, support for the Motorola 68k architecture is available in the development versions.

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

fpc_examples: Professional Pascal compiler

Free Pascal is a 32, 64 and 16 bit professional Pascal compiler. It can target many processor architectures: Intel x86 (including 8086), AMD64/x86-64, PowerPC, PowerPC64, SPARC, ARM, AArch64, MIPS and the JVM. Supported operating systems include Linux, FreeBSD, Haiku, macOS/iOS/iPhoneSimulator/Darwin, DOS (16 and 32 bit), Win32, Win64, WinCE, OS/2, MorphOS, Nintendo GBA, Nintendo DS, Nintendo Wii, Android, AIX and AROS. Additionally, support for the Motorola 68k architecture is available in the development versions.

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

fpcupdeluxe: A GUI based installer for FPC and Lazarus

Fpcup, fpclazup and fpcupdeluxe are basically wrappers around svn/make on steroids.
They try to use the FPC/Lazarus build process as much as possible.
Fcpupdeluxe is the latest addition that adds a GUI to ease its use.

Meant to be used side by side with other FPC/Lazarus installations. It creates a separate primary config path directory for the new Lazarus installation, so it doesn't interfere with existing Lazarus installs.

It's open source software released under the LGPL with linking exception (same as FreePascal), and contains some open source libraries with their own license.
See source files for details. All use permitted, also commercial, but no warranties, express or implied.

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

texlive_latexextra: TeX Collection: LaTeX additional packages

A very large collection of add-on packages for LaTeX.

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Doesn’t show size though :wink:

1 Like

Thank you @Michel . Yours is the last bit of help I need to sort out my dilemas. I had read that Haiku did the package management really well, so it is good you confirm that it wont just download everything again. I also remembered I had installed LyX! The bloat of Latex for what is basically a Style based document editor always amazed me and there should be a warning for anyone going the LaTeX route :grinning_face:

I had FilWip installed and noted people using it in posts, but with a name like FileWipe I was not about to double click it before I read up on what it does. That will be one of the first things I now do.

When starting with Games I should have realised that “dependencies” meant entire emulators :laughing: It was always the other way around in my past lives (Install the emulator then games that ran in it). I was impressed how small the games programs were in Haiku. ROTFL!

I have huge amounts to digest and learn, so going to pull my head in, and stop falling into holes, for a while. Thanks to everyone. All amazing.

Can anyone recommend the easiest way to find the size of where things are installed on your local Haiku file system before and after you do an install. It would not help you decide your download, but you could post it back somewhere to inform others (and maybe those who are making and testing the ports could do this when they check it works). That is my simple minded work around to find how big an instal is. GetInfo in Traker shows size and number of files, so applying that to the file tree beyond which all instal download happens would do it. Am I right that it is boot*/system/packages* ? Also, since the intalled Activated packages are what is appearing inside boot*/system/packages/adminstrative/state****** folders will that double count?

Of course if Haiku detects exisiting packages (and uses rather than duplicate installing) the above will depend on the target instal, but I did read Haiku used atomic package instal system. :thinking: I need to RTFM again.

1 Like

When you install an hpkg, it normally goes to /boot/system/packages. if it is an update, the old version gets stored in /boot/system/packages/admimistrative. That’s it.

The files you see in Tracker in directories like /boot/system/apps are NOT REAL. They are just a way to look at the cumulative contents of all the HPKGs in /boot/system/packages. That’s why the background color of those directories is grayed out. Everybody calls them blue folders. They look grey to me, but I’m somewhat colour-blind, so what do I know.

So at the command line we can get the contents of the packages directory with

du /boot/system/packages

Run that before and after your installation and you will know how much has changed.

But if you want to know this before you start downloading, the situation is problematic

Neither pkgman nor SoftwareUpdater ATM will show you the size of what is about to be downloaded

In HaikuDepot , you would have to search for every file about to be installed and read off the file size

I know, you asked for an easy way. I’m not seeing one, sorry.

It gets worse. APP2 requires Dependency1 and Dependency2. We could add those up and tell you you are about to download 3 MB of data. But yesterday you installed APP1 and Dependency1 is already on your system. So now we have to go through the entire system, see what is already there and subtract it from what our previous total. Could it be done? Yes. Is it likely to be done? No. For the simple, brutal reason that not enough users are up in arms at this facility not existing.