High-performance 3D on Haiku

Currently Haiku can only do software-based rendering, while GPU acceleration is still not available upstream. It is not recommended to use Haiku for 3D work yet, outside of low-poly or simple tasks.

1 Like

But then again, VRML definitely falls into that category.

Hey, we have games much more complex than that running just fine. Not the latest released ones, but if you go a few years back, it does the job very well. The lack of acceleration and GPU use is not a complete blocker here.

1 Like

That’s fair, VRML is prolly fine without GPU acceleration.

I just can’t agree with this sincerely, however. Besides more recent 3D games made intentionally with lower-poly models and graphical features, the most graphically intensive games on Haiku don’t exactly perform comfortably.

The most graphically intensive games on Haiku are OpenMW (reimplementation of a 2002 open world RPG), Lugaru (2005), GZDoom (fork of a 1993 game engine), dhewm3 (fork of a 2012 remaster of a 2004 game engine), Xash3D (reimplementation of a 1995 game engine), OpenJK (fork of a 2003 game engine), and SuperTuxKart (2007). It’s not just going back a few years, but rather a decade or more. Even then it’s generally not a good idea to run OpenMW or SuperTuxKart beyond windowed on the lowest graphics or some of the more graphically advanced games based on dhewm3, GZDoom, or Xash3D (GoldSrc). At least, not without a moderately powerful processor.

Really like Haiku, but I wouldn’t do much more than baseline retro 3D gaming on it with most computers. Haven’t even touched upon emulation with PPSSPP and RetroArch; not recommended to push those past the lowest settings and avoiding the more performance intensive games.

Anyways, that’s enough digression from the topic coming from me.

PS:
Actually, maybe one last thing. Looked up the most recent STK video at the moment and the effects seen in there from 1.3 (released two years ago) are just not happening on Haiku. Not without a top-end processor from the last five years, maybe a Threadripper or Threadripper Pro CPU to be sure. Hmm, hey @X512 have you tried running STK at max settings on your Radeon driver? How does it perform?

1 Like

minetest rund perfectly playable on Haiku on my machine after recent performance improvements (by minetest)

and it will run perfectly playable on your machine once i finish the updated recipe : )

2 Likes

Interesting. I actually demoed SuperTuxKart 1.3 (full screen) on Haiku with max graphic settings and max players obtaining several high scores. I’ve also demoed BZFlag. Also, several recent Blender demos and Really Slick Screensavers (i.e. Microcosm, Hyperspace, etc) on Haiku…

Now in my comparisons to games like Cyberpunk 2077, Asphalt 9: Legends, Forza Horizon 5, Centipede Chaos, and Mario Kart Arcade GP DX v1.06…

You are correct on a key limiting factor. We are limited by drivers for graphics hardware acceleration. Fast CPUs can only do so much without it. But this is not the whole, only part of the sum.

But, the real truth is that Haiku’s implementations of X3DOM and WebGL 2 in either the native WebPositive or ported Web browsers (i.e. Gnome Web (Epiphany)) are limited or not fully implemented at this time. Resolve that first.



Examples: X3D/WebGL testing using Otter Browser on Haiku R1B4

We can use Otter Browser for now. I’ve run some X3D and WebGL examples with it. Not perfect, but it works for some testing.

I made an enhancement ticket on WebGL 2 implementation awhile ago. But, this is not a high priority before Haiku R1B5 (personal dev ventures excluded)

2 Likes

What processor do you have? STK maxed out was stuttering badly on my Ryzen 5 2600 at 1080p.

Did I say or imply otherwise? Of course the “most graphically intensive” games won’t work without a GPU. Otherwise no one would be buying a GPU. But still, there is quite a lot of things you can run with software rendering, including old games and also some more recent ones which chose to have simpler graphics.

So, saying anything 3D is unusable and not recommended is also not true. The reality is somewhere in between: you can, in fact, do quite a lot of things, but you will hit the performance limitations of software rendering at some point.

I also didn’t say that it has to be most graphically intensive games in general, but just those that are available for Haiku. And most of those are outright decades old, with some still being actively maintained and getting newer graphical features. Not like raytracing or frame generation, but perhaps certain kinds of antialiasing, god rays, graphical effects. etc. Although admittedly, it would be nice to get AMD’s FidelityFX Super Resolution (FSR) upscaler on Haiku to help with running games.

Those are totally fine! But those aren’t the only games around (even with open-source games). Some of those older games you refer to have even been updated to look even better. but can’t under Haiku due to the lack of GPU acceleration.

This is the actual nuanced point that I can agree with, past the first sentence. It is possible to do 3D on Haiku, just not anything remotely intensive or graphically dated within the last decade or so. Certainly not “from a few years ago” though. It is possible to push 3D performance closer to present-day, but only with a recent and high-end CPU. Still not recommending 3D on Haiku beyond retro gaming and games with intentionally limited graphics, though. Especially not Blender, as even moving around slightly complex scenes or models is jumpy at best on my current hardware.

That’s good to know! I have to be careful in how far or how much I build with that game at the moment, also on lowest graphical settings too.

Looking forward to it! :smiley:

Every graphics card manufacturer provides the operating system with its own OpenGL or DirectX library, in the case of Haiku we are excluded and card manufacturers don’t care about us.

Ahoy

In your post there are really steep statemenst from more perspective.

Every manufacturer is just 3 players actually ******
who are providing cards purely
Nvidia, AMD (ex ATI)
and the new player Intel.
Others for the PC industry only offer specific cards (like capture cards) or professional solutions for the entertainment industry. I mean like Black Magic, RED and Matrox that remained only for professionals.
Others are faded away in the past. Or actually offers chips only or graphical core for ARM SoCs and other industrial embedded products.

These 3 manufacturers provide cards only for everyone, their software for operating system, their SW libraries (and drivers) are true if you substitute the word OS with Windows or maybe MacOS. To be appear Linux driver and softwares it had depend on their Linux developers and the user community and also that emerge of open source everywhere in the IT that led by Linux and the solutions developed for.
I had not found any BSD on a product sheet that I held in my hand lately maximum these 3 operating systems.

So your bitter words that Haiku excluded - are true - but really exaggerate
if you consider other OSes as well who are also excluded
just because … they are NOT on the market.

I highlighted ‘on the market’ as it is what it is. Those cards made for profit so they cut thhe costs if they select for which OS they develop for.
They selected which ones have the most wide user base.

Why should they want to support a “Beta OS”?

Anyone working on this driver?

2 Likes

@X512 , 9 months ago, by the looks of it?

1 Like

AFAIK, pending. A few of us compiled binaries from the derived work supporting these graphic cards/GPUs:

On IRC, X512 mentioned work on a Nvidia driver for the T-series (i.e. Turing) GPUs…

The ticket for accelerated 3d has been updated 11 days ago with a new suggested direction of using the Linux drm framework, which I wholeheartedly support.

https://dev.haiku-os.org/ticket/9919

In that case, I’ve no clue why STK and a lot of other games perform worse on my desktop then.

New hardware testing for Haiku R1B4 (VESA/boot manager/desktop):

AMD

  • Radeon RX 7900 XTX - :white_check_mark:
  • Radeon RX 6950 XT - :white_check_mark:
  • Radeon RX 5700 XT - :white_check_mark:
  • Radeon VII - :white_check_mark:
  • Radeon RX Vega 64 - :white_check_mark:
  • Radeon RX 590 - :white_check_mark:
  • Radeon R9 Fury X - :white_check_mark:
  • Radeon R9 390X - :white_check_mark:
  • Radeon R9 290X - :white_check_mark:
  • Radeon HD 7970 - :white_check_mark:
3 Likes