Skip to content

Conversation

@Peppersawce
Copy link
Contributor

@Peppersawce Peppersawce commented Apr 5, 2025

Hello! I'm working on updating a GZDoom port to Haiku OS which is currently stuck at 3.8.2.

This patch (partially authored by @threedeyes) adds a bunch of small checks needed to get GZDoom (and Raze, but that one needs a couple more tweaks) compiled and working on Haiku and shouldn't affect any other OS.

To be honest, aside from upstreaming parts of our patch, the main reason I'm opening this PR is to ask for some guidance in getting the port completed: the binaries work, games run and all of that, buuut... the Launcher included freezes for some time when starting GZDoom with no parameters. (It does display fine eventually)
screenshot2
What could be causing this? Am I missing some libraries? What's the code for the launcher? Is there anything I could tweak in the code to prevent this issue?

The only other mention I could find of the launcher freezing is in this bug report for 4.12: #2597

If you need some information on how it is compiled and on libraries used you can check the recipe for it (an automated build script)

"BUILD_REQUIRES" are the libraries loaded when compiling, while the build commands are in the "BUILD()" section.

Also, let me know if you want a similar PR to be made for Raze's sources, as those compile on Haiku as well (tho they suffer from a couple bugs ingame unfortunately)

@madame-rachelle
Copy link
Collaborator

madame-rachelle commented Apr 5, 2025

Yes, we'd be interested in the Raze support patches. Haiku unfortunately is in a state where it's hard to convince anyone to use it as a daily driver outside of a tiny crop of exceptionally curious individuals. Having this patch is handy and it will definitely be good to have full Haiku support after it gets reviewed and merged, but I doubt we can maintain support for long without some additional help.

As for the launcher window problem, there's a freeze there (at least, I am pretty sure, anyway, but not 100% positive). This is happening after the window is created and before the window contents get drawn. If you see this window then the configuration file has already been read, and the IWADs I think should already have been read in and parsed, but at this exact stage I don't know what it is doing, possibly populating the list it will use for the IWADs. I wonder if there's an overflow or underflow occurring here?

@Peppersawce
Copy link
Contributor Author

Peppersawce commented Apr 5, 2025

Raze patch uploaded: ZDoom/Raze#1136

When it comes to Haiku support, from the Haiku side I can say that, while there's not many porters around, there's been at least some consistent interest in getting Doom source ports in general ported over.
Imo it's unlikely, at least for the 4.x versions, that something could break for Haiku down the line, as the vast majority of GZDoom's code for Posix-compliant systems compiles straight away.

About keeping Haiku support up to date in the future, if something breaks it will take some time for us to catch onto that but as long as there's interest in porting we'll make patches for our build system and try and upstream the ones that make sense.
In other words, no guarantees for quick action on breakage or anything, but on the other hand it's the Haiku porters' responsibility to build these kinds of ports and put the packages on our repositories, whatever issue the port might have in the future shouldn't burden your maintainers/contributors, at least when it comes to building and compiling it for that OS.

@madame-rachelle madame-rachelle merged commit a028923 into ZDoom:master Apr 6, 2025
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants