scp-fs2open / fs2open.github.com

Origin Repository for SCP FreeSpace 2 Open
https://www.hard-light.net/
Other
395 stars 156 forks source link

OpenAL and SDL2 missing from AppImage #6017

Open SuborbitalPigeon opened 4 months ago

SuborbitalPigeon commented 4 months ago

Attempting to run fs2open 24.0.0 downloaded using Knossos.NET requires both OpenAL and SDL2 to be installed on the system. My understanding of AppImage is that all dependencies aside from a select few should be included in the binary.

These libraries are not included in the Fedora Silverblue image, and must be layered in, which is generally discouraged.

notimaginative commented 4 months ago

Historically I believe we've included OpenAL and SDL2 in that "select few" category of exclusions. We do include them with Windows and macOS releases however, so we should probably do so with Linux as well.

I'm currently working on related changes so I'll do some research and perhaps get this sorted at the same time.

notimaginative commented 4 months ago

I've successfully built and tested a full set of libs (ffmpeg, freetype, sdl2, openal-soft) for x64 and arm64 on Linux. So that allows AppImages on Linux to match what is distributed for Windows and macOS. Those prebuilt libs are optional and only used if specifically enabled or if the system version is too old. So it's something we can enable for CI/CD builds but those compiling manually would generally just use system libs.

That's all part of a larger set of changes though, changes that will require a lot of testing, so it's going to be a while before it shows up in general builds.

SuborbitalPigeon commented 4 months ago

I usually try to avoid any unnecessary noise in bug threads, but I just wanted to express my appreciation for all the work which has been done to the engine, the mods and everything else around FreeSpace over the years.

I first encountered FreeSpace in demo form, which came along with my joystick. I had to buy a copy after that. I also remember playing the last few missions when I was alone in the house, the idea of any number of Sathanas juggernauts was scary enough, but that many! I didn't think that I'd still be playing it ~20 years later, especially with it looking so good!

Also, thanks for the Linux support, certainly a lot more straightforward that it was the last time I tried about 10 years ago.

notimaginative commented 3 months ago

I've uploaded a custom engine build to nebula which contains these changes (plus others). I haven't had the opportunity to fully test it out, but as much as I can test it, the changes seem to work.

From Knossos.NET go to Engine -> Custom Builds, and grab "OS Test Builds 24.0.0-240314". And let me know if it works for you.

SuborbitalPigeon commented 3 months ago

Yes, that works fine.

I noticed that trying a lower resolution causes the game to be shown in a corner of the screen, and all the mouseover positions are off. It's not a problem at full screen resolution though. Fedora carries a patch to SDL2 which causes it to use Wayland by default, which appears to fix that problem.

notimaginative commented 3 months ago

Due to the way FSO deals with UI scaling it doesn't handle certain resolutions all that well, and I'm not when or even if that will change. But it is a known issue.

One main problem with the new setup here is that the SDL2 lib does not support Wayland (properly, at least). Having full Wayland support, while keeping sufficient libc compatibility, has proven difficult. Wayland support is obviously important, particularly with future Fedora versions, so I'm going to keep working on it.

I'm going to keep this bug open until the changes actually get merged in. This fix is part of bigger changes adding arm64 support for Windows so it may be a while yet before everything gets merged.