How to encourage more developers to be involved

An area for discussing new ideas and additions to Oolite.

Moderators: winston, another_commander

User avatar
hiran
Theorethicist
Posts: 2467
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: How to encourage more developers to be involved

Post by hiran »

:roll:
mcarans wrote: Tue Jul 01, 2025 9:53 pm
The good news on the Linux front is that the release here https://github.com/OoMrFlibble/oolite/releases works.
Is that qualifyable? Where did it work?

I tried on my Ubuntu 24 LTS and it did not come up. Some required library (libgnustep 1.28) is not present. Well Ubuntu comes with 1.29 and higher nowadays.
Sunshine - Moonlight - Good Times - Oolite
User avatar
MrFlibble
---- E L I T E ----
---- E L I T E ----
Posts: 430
Joined: Sun Feb 18, 2024 12:13 pm

Re: How to encourage more developers to be involved

Post by MrFlibble »

hiran wrote: Wed Jul 02, 2025 5:31 am
:roll:
mcarans wrote: Tue Jul 01, 2025 9:53 pm
The good news on the Linux front is that the release here https://github.com/OoMrFlibble/oolite/releases works.
Is that qualifyable? Where did it work?

I tried on my Ubuntu 24 LTS and it did not come up. Some required library (libgnustep 1.28) is not present. Well Ubuntu comes with 1.29 and higher nowadays.
Are you using my latest pre-release? If you are, I'll roll up an Ubu 24 to find out what's occurring. libgnustep-base.so.1.28 should appear in ~/GNUstep/Applications/Oolite/oolite-deps/lib.

If it's built with 1.28, then bundling 1.28 should sort it even if a newer version is installed locally, or none at all.

In my fork of Linux-deps, I've hijacked x86_64/lib_linker/make_so_links.sh (also the 32, though I've not tried building that) to also collect the library bundle. It should be stable into the near future, as it allows for varying library versions on the build host, and therefore newer/older build distros.

I need to re-preen what remains in my version of the old static stuff. I'm not entirely sure that everything ancient that I'm including is still relevant. I'll chew over ExternalLibrariesSourceCodeChanges.txt again.
User avatar
hiran
Theorethicist
Posts: 2467
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: How to encourage more developers to be involved

Post by hiran »

MrFlibble wrote: Wed Jul 02, 2025 8:15 am
Are you using my latest pre-release? If you are, I'll roll up an Ubu 24 to find out what's occurring. libgnustep-base.so.1.28 should appear in ~/GNUstep/Applications/Oolite/oolite-deps/lib.

If it's built with 1.28, then bundling 1.28 should sort it even if a newer version is installed locally, or none at all.

In my fork of Linux-deps, I've hijacked x86_64/lib_linker/make_so_links.sh (also the 32, though I've not tried building that) to also collect the library bundle. It should be stable into the near future, as it allows for varying library versions on the build host, and therefore newer/older build distros.

I need to re-preen what remains in my version of the old static stuff. I'm not entirely sure that everything ancient that I'm including is still relevant. I'll chew over ExternalLibrariesSourceCodeChanges.txt again.
Ok, go again with all the details. I am downloading
https://github.com/OoMrFlibble/oolite/r ... x86_64.run

After installation to my home directory I have (among others) this file:
GNUstep/Applications/Oolite/oolite-deps/lib/libgnustep-base.so.1.28

So I am running
cd GNUstep/Applications/Oolite; ./oolite

Whoops, I get a startup screen, hear the music and can even launch one of my savegames. Obviously all the OXPs are missing - something that OoliteStarter can take care of.

And all this happened on Ubuntu 24.04.2 LTS.

Well done! Just bring it in to the main branch. :D
But there is a drop of bitterness: Sound output can get stuttery, and that impacts controlling the ship. Not good when lots of bad guys are around.
Sunshine - Moonlight - Good Times - Oolite
User avatar
MrFlibble
---- E L I T E ----
---- E L I T E ----
Posts: 430
Joined: Sun Feb 18, 2024 12:13 pm

Re: How to encourage more developers to be involved

Post by MrFlibble »

hiran wrote: Wed Jul 02, 2025 5:30 pm
Well done! Just bring it in to the main branch. :D
I'll do a new PR after one more pass at it.
hiran wrote: Wed Jul 02, 2025 5:30 pm
But there is a drop of bitterness: Sound output can get stuttery, and that impacts controlling the ship. Not good when lots of bad guys are around.
So assuming you're on a test system, please try:

Code: Select all

rm ~/GNUstep/Applications/Oolite/oolite-deps/lib/libopenal.so.1
If you get a bunch of fail, you may need to:

Code: Select all

apt install liopenal1
Please let me know whether that helps reduce jitters, or fails in some new and interesting way.
Last edited by MrFlibble on Wed Jul 02, 2025 6:29 pm, edited 1 time in total.
User avatar
MrFlibble
---- E L I T E ----
---- E L I T E ----
Posts: 430
Joined: Sun Feb 18, 2024 12:13 pm

Re: How to encourage more developers to be involved

Post by MrFlibble »

Looks like I already removed that, so you'd have had to install it anyway. viewtopic.php?p=301103#p301103

Another one to try might be SDL. Try:

Code: Select all

cd ~/GNUstep/Applications/Oolite/oolite-deps/lib/
mv libSDL-1.2.so.0 libSDL-1.2.so.0.hidden
apt install libSDL-1.2-compat
If we can figure which libraries can be used 'native' on (same as build host) or newer os'es, then it'll be easy to reduce the bundle. Maybe even write a script to run at first start to check for missing deps, then suggest apt/rpm/apk/whatever install lines. I know this goes against my original hope of not needing users to install anything else, but it may be the most balanced solution when using the SE-installer.

Some of the libraries have been twisted to work for Oolite, and cannot be replaced with 'native'.
User avatar
hiran
Theorethicist
Posts: 2467
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: How to encourage more developers to be involved

Post by hiran »

MrFlibble wrote: Wed Jul 02, 2025 6:09 pm
hiran wrote: Wed Jul 02, 2025 5:30 pm
But there is a drop of bitterness: Sound output can get stuttery, and that impacts controlling the ship. Not good when lots of bad guys are around.

So assuming you're on a test system, please try:

Code: Select all

rm ~/GNUstep/Applications/Oolite/oolite-deps/lib/libopenal.so.1
If you get a bunch of fail, you may need to:

Code: Select all

apt install liopenal1
Please let me know whether that helps reduce jitters, or fails in some new and interesting way.
I can confirm libopenal.so.1 is not in that directory.
Sunshine - Moonlight - Good Times - Oolite
User avatar
hiran
Theorethicist
Posts: 2467
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: How to encourage more developers to be involved

Post by hiran »

MrFlibble wrote: Wed Jul 02, 2025 6:27 pm
Looks like I already removed that, so you'd have had to install it anyway. viewtopic.php?p=301103#p301103

Another one to try might be SDL. Try:

Code: Select all

cd ~/GNUstep/Applications/Oolite/oolite-deps/lib/
mv libSDL-1.2.so.0 libSDL-1.2.so.0.hidden
apt install libSDL-1.2-compat
If we can figure which libraries can be used 'native' on (same as build host) or newer os'es, then it'll be easy to reduce the bundle. Maybe even write a script to run at first start to check for missing deps, then suggest apt/rpm/apk/whatever install lines. I know this goes against my original hope of not needing users to install anything else, but it may be the most balanced solution when using the SE-installer.

Some of the libraries have been twisted to work for Oolite, and cannot be replaced with 'native'.
I renamed the existing file. But installing the other one seems to fail:

Code: Select all

$ sudo apt install libSDL-1.2-compat
[sudo] password for hiran: 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package libSDL-1.2-compat
E: Couldn't find any package by glob 'libSDL-1.2-compat'
$ 
But what is that? Despite libSDL-1.2.so.0 is renamed, I can start Oolite?
I cannot tell why that should work at all. But I can say the stutter increased. :-(

Some good news: I can decrease the stutter again by renaming back libSDL-1.2.so.0
Sunshine - Moonlight - Good Times - Oolite
User avatar
hiran
Theorethicist
Posts: 2467
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: How to encourage more developers to be involved

Post by hiran »

So I pressed Ctrl-F to activate the FPS display. After launching from the station I get between 60 to 75 FPS.
But when times get hot, it can drop down to 20. This is where it gets unplayable. The rate drops intermittently - just when I am ready to shoot.
Sometimes small corrections (even with pressing Ctrl) lead to the opposite effect. Is this all connected to the game loop?
Sunshine - Moonlight - Good Times - Oolite
mcarans
---- E L I T E ----
---- E L I T E ----
Posts: 336
Joined: Sun Jun 20, 2010 6:00 pm

Re: How to encourage more developers to be involved

Post by mcarans »

hiran wrote: Wed Jul 02, 2025 5:31 am
:roll:
mcarans wrote: Tue Jul 01, 2025 9:53 pm
The good news on the Linux front is that the release here https://github.com/OoMrFlibble/oolite/releases works.
Is that qualifyable? Where did it work?
Kubuntu 25.04. I did not notice any sound issues running the tutorial.
User avatar
MrFlibble
---- E L I T E ----
---- E L I T E ----
Posts: 430
Joined: Sun Feb 18, 2024 12:13 pm

Re: How to encourage more developers to be involved

Post by MrFlibble »

hiran wrote: Wed Jul 02, 2025 7:20 pm
MrFlibble wrote: Wed Jul 02, 2025 6:27 pm
Looks like I already removed that, so you'd have had to install it anyway. viewtopic.php?p=301103#p301103

Another one to try might be SDL. Try:

Code: Select all

cd ~/GNUstep/Applications/Oolite/oolite-deps/lib/
mv libSDL-1.2.so.0 libSDL-1.2.so.0.hidden
apt install libSDL-1.2-compat
If we can figure which libraries can be used 'native' on (same as build host) or newer os'es, then it'll be easy to reduce the bundle. Maybe even write a script to run at first start to check for missing deps, then suggest apt/rpm/apk/whatever install lines. I know this goes against my original hope of not needing users to install anything else, but it may be the most balanced solution when using the SE-installer.

Some of the libraries have been twisted to work for Oolite, and cannot be replaced with 'native'.
I renamed the existing file. But installing the other one seems to fail:

Code: Select all

$ sudo apt install libSDL-1.2-compat
[sudo] password for hiran: 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package libSDL-1.2-compat
E: Couldn't find any package by glob 'libSDL-1.2-compat'
$ 
My bad. I should have fumbled the package name. Should be:

Code: Select all

sudo apt install libsdl1.2-compat.
hiran wrote: Wed Jul 02, 2025 7:20 pm
But what is that? Despite libSDL-1.2.so.0 is renamed, I can start Oolite?
I cannot tell why that should work at all. But I can say the stutter increased. :-(

Perhaps your setup had pulled in that library for some reason. Have a look at:

Code: Select all

dpkg | grep libsdl
hiran wrote: Wed Jul 02, 2025 7:20 pm
Some good news: I can decrease the stutter again by renaming back libSDL-1.2.so.0
That's odd. Perhaps the libSDL-1.2 bundled in the old deps is in some way modified, so it might be one that should remain in the bundle, at least for now.
User avatar
MrFlibble
---- E L I T E ----
---- E L I T E ----
Posts: 430
Joined: Sun Feb 18, 2024 12:13 pm

Re: How to encourage more developers to be involved

Post by MrFlibble »

hiran wrote: Wed Jul 02, 2025 7:54 pm
So I pressed Ctrl-F to activate the FPS display. After launching from the station I get between 60 to 75 FPS.
But when times get hot, it can drop down to 20. This is where it gets unplayable. The rate drops intermittently - just when I am ready to shoot.
Sometimes small corrections (even with pressing Ctrl) lead to the opposite effect. Is this all connected to the game loop?
Good question. I've seen that as long as I can remember. Anyone know?
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6854
Joined: Wed Feb 28, 2007 7:54 am

Re: How to encourage more developers to be involved

Post by another_commander »

MrFlibble wrote: Wed Jul 02, 2025 10:45 pm
That's odd. Perhaps the libSDL-1.2 bundled in the old deps is in some way modified, so it might be one that should remain in the bundle, at least for now.
The SDL bundled in the Linux port was never modified. Only the Windows one was.
User avatar
MrFlibble
---- E L I T E ----
---- E L I T E ----
Posts: 430
Joined: Sun Feb 18, 2024 12:13 pm

Re: How to encourage more developers to be involved

Post by MrFlibble »

another_commander wrote: Thu Jul 03, 2025 2:28 am
MrFlibble wrote: Wed Jul 02, 2025 10:45 pm
That's odd. Perhaps the libSDL-1.2 bundled in the old deps is in some way modified, so it might be one that should remain in the bundle, at least for now.
The SDL bundled in the Linux port was never modified. Only the Windows one was.
Thanks a_c.

On the assumption that the libsdl1.2-compat (or libsdl1.2debian) is available on all good current distro's, it can be excluded from the bundle.

On Ubuntu you need to install libsdl1.2debian. Alternatively, on Ubuntu 24 and up, install libsdl1.2-compat which will pull-in libsdl1.2debian.

I've so far checked using Oolite built on Ubu 22 (20 is still available for download!) running Oolite on kubuntu 25.04 (bare install) and found libsdl1.2debian, libopenal1 (which pulls in libopenal-data), libogg0, libvorbis0a, libvorbisfile3, libcaca0, libffi8, libjack0, libportaudio2, libsndio7, libnspr4, libobjc4, libxslt1 all appear to be available on current platforms.

What's not available natively and backward compatible?
These appear tto be Oolite specific versions.
libespeak.so.1
libespeak.so.1.alsa
libespeak.so.1.pulseaudio
libpng14.so.14

These just seem not to work with other versions.
libgnustep-base.so.1.*
libicudata.so.*
libicui18n.so.*
libicuuc.so.*

So, suggested pre-install or post-fail stanza on Ubu/Deb/Mint etc. for my NEXT pre-release

Code: Select all

apt install libsdl1.2-debian libopenal1
If fail, try installing all of them, and let's find out what's not available on newer/other distros:

Code: Select all

apt install libsdl1.2debian libopenal1 libogg0 libvorbis0a libvorbisfile3 libcaca0 libffi8 libjack0 libportaudio2 libsndio7 libnspr4 libobjc4
For a nearly dep-less installer, all the libs would need bundling. I'm assuming that using native libs will be faster/cleaner/better, if slightly less convenient/obvious. I currently judge this as the better of two evils.

As I rip the seemingly 'extra' stuff out, I'd hope those on other distros would join in testing to find out whether I need to put some back.

Later, when less busy, I'll redo kubuntu minimal install to see what needs "apt installing" there, it should serve as a fair guide for most.

New pre-release 1.91.0.7712-250703-6477e4d available, with less bundled libs.. Comments welcome.
User avatar
hiran
Theorethicist
Posts: 2467
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: How to encourage more developers to be involved

Post by hiran »

I just tested the legendary Oolite 1.90 release on my Ubuntu 24. It runs way better than 1.91.
What did we change? What improvements might I be missing?

AFAIK there is the HDR change - which only plays a role on capable Windows systems. Then there is phkb's keyboard update. I am using the keyboard for flight control. But on Ubuntu 24 the old version behaves better.

The new version turns bad when events pile up. I reduced the number of OXPs, but that did not help. There must be something else.
Sunshine - Moonlight - Good Times - Oolite
User avatar
hiran
Theorethicist
Posts: 2467
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: How to encourage more developers to be involved

Post by hiran »

Next test: Oolite 1.91.0.7712-250703-6477e4d Flibble behaves mostly like the previous version 1.91.0.7710-250627-93a1322.

But then I tried something else: I turned off 'spoken messages'. And performance was stable, even with high traffic.
So whatever the root cause for the effect, it is connected to the TTS engine.
Sunshine - Moonlight - Good Times - Oolite
Post Reply