Exult on Linux

NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
Forum rules
NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
Locked
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Exult on Linux

Post by Knight Captain »

I'm setting up an older desktop with Linux. Is it better to use the Windows versions via Wine or use the native versions even if they are not as up-to-date as the Windows side?

Looking to use:
Exult
ES
UCC

Outside tools:
GIMP
ImageMagick
Git
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Exult on Linux

Post by Dominus »

Native versions but compile all things Exult from source!
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
paulo

Re: Exult on Linux

Post by paulo »

Just use my ppa if you're on ubuntu.
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Exult on Linux

Post by Knight Captain »

I tried the PPA but am not sure how to start ES nor Tools. Forgive my ignorance.
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Exult on Linux

Post by Dominus »

If the ppa is installing them correctly or rather as I expect them to you should be able to just run the commands (expack, ipack, ucxt...).
Exult Studio should just start when you enter mapedit mode in Exult.
Or try running mapedit from the command line.
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
paulo

Re: Exult on Linux

Post by paulo »

sudo apt-get install exult-studio
exult_studio


I haven't actually *used* them besides checking if it runs you understand, but it's there.
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Exult on Linux

Post by Knight Captain »

I've got a different problem. Linux Mint is not playing nicely with my high resolution screen. It might be time to buy Windows after all.
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Exult on Linux

Post by Knight Captain »

The high resolution screen issue seemed to be hardware-specific. Using a native DisplayPort card fixed it.

Now I'm using the PPA but it does not hiccup on missing the proper mod installation paths. I forget to put conquests as a folder, and just had data and my config file. Exult claimed to be opening the mod but failed back to using mostly the stock game without any error message either graphically or in the terminal.
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Exult on Linux

Post by Knight Captain »

There also appears to be a fatal hang when trying to set the background color preference in Studio.
paulo

Re: Exult on Linux

Post by paulo »

The error is likely to be the same. Linux standard is to copy read-only data and exec files to a read only path structure. This works fine for playing the game, because the default path can be changed at compile time. Currently the config is:


dh_auto_configure -- --prefix=/usr \
--bindir=\$${prefix}/games \
--mandir=\$${prefix}/share/man \
--datadir=\$${prefix}/share/games \
--with-timidity=\$${prefix}/share/games/exult \
--enable-mods \
--enable-nxbr \
--enable-exult-studio \
--enable-exult-studio-support \
--enable-gimp-plugin \
--enable-compiler \
--enable-mt32emu \
--with-sdl=sdl2

so, games data get read by default on /usr/share/games/exult/*

However, you should still be able to change this with the cfg file in ~/.exult.cfg (not the dir, the file exists too).

The hang is likely to be something trying to write where it shouldn't. If true, this is a upstream problem.
paulo

Re: Exult on Linux

Post by paulo »

Ah i think i misunderstood something, the first i also had some problems with.


In linux, filenames are case sensitive, so one of the default filenames for the mod configuration files. For a while, the ppa was not running the keyring mod and i hadn't noticed (because again, no error notification). It was caused by the default name of 'Keyring.cfg'. I had to lower case it to 'keyring.cfg' during install (probably because all game files were lower cased when copied to prevent those same errors, and the game was finding the cfg and trying to find the game dir from its name but failing).

So yes, i'm almost certain upstream is saying the mod exists if the cfg file exists, regardless if it can find the dir.

I haven't found other problems with the case of the files while playing though, i think the exult upstream is fairly disciplined about refering to files lowercase, this must be because the name comes direct from the filesystem (the cfg filename).
paulo

Re: Exult on Linux

Post by paulo »

Wish i could edit replies. Disregard the second part of the first phrase above please.
paulo

Re: Exult on Linux

Post by paulo »

In the first phrase of the second paragraph doh.
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Exult on Linux

Post by Knight Captain »

Is Tools available as a package in your PPA as well?

How do I compile from source?
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Exult on Linux

Post by Knight Captain »

For getting this installed, I followed the instructions here:
https://launchpad.net/~exult-team/+arch ... xult-daily

sudo add-apt-repository ppa:exult-team/exult-daily
sudo apt-get update

Then:
apt install exult
apt install exult-studio
apt install exult-audiopack
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Exult on Linux

Post by Knight Captain »

Looking for 'serpentbeta' at '/usr/share/games/exult/serpentbeta'... found game with identity 'SERPENT ISLE'
Looks like the detection of the Beta is a bit off in the PPA build. Studio also seems to have this problem.
paulo

Re: Exult on Linux

Post by paulo »

I didn't really change the detection from upstream except changing the default path on the ./configure above. So if that is happening in the ppa it should happen in upstream.

However, one thing comes to mind: the install process has a script to copy both game files into /usr/share/games/exult/ dir (the new default dir) (you can always change the default cfg file ofc, but this is to make easy for the users).

It has no option to install the beta. It *will* if you just provide the 'wrong' beta dir to one of the intended serpent isle or blackgate dirs though i don't advise that even if it works. I'm curious about how you managed to make it create the dir, unless you sudo copied it after install.

Also a correction now that i looked at the scripts after some years: they just copy the game files direct, and don't lowercase them; i was confused because mine were already lowercase because of my paranoia about linux paths. No one complained about errors and the games play fine so it seems linux adapts fine to variant cases at runtime though (except that one case on the mod directory that i explained above).
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Exult on Linux

Post by Dominus »

That‘s what you get when you make assumptions about paths and cases and copy game files...
I‘d suggest building it on your own:
- dl the source from guthub
- in terminal cd to the source and run ./autogen.sh and ./configure --enable-exult-studio and then make
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Exult on Linux

Post by Knight Captain »

I use the stock names that the detection uses:

blackgate
forgeofvirtue
serpentisle
silverseed
serpentbeta

There's others per-language, but I am not having luck locating the .cfg file that is actually used.
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Exult on Linux

Post by Dominus »

Unless the ppa changed that to it should be in the root of your home folder as .exult.cfg. The dot before exult.cfg is important. It means that it is „invisible“
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Exult on Linux

Post by Knight Captain »

That's there, but it doesn't update to reflect the changes. Say, video resolution.
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Exult on Linux

Post by Dominus »

Delete $HOME/.exult.cfg („rm $HOME/.exult.cfg“), start Exult again. If nothing changed you must have looked at the wrong cfg.
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Exult on Linux

Post by Knight Captain »

I ran into a different bug that also seems to only happen on Linux. When Shamino rejoins the party and creates the list of new exchanged items, his items do not appear on the list. The same Usecode does not have this issue on Windows.

For my own sanity I gave up on using Linux for this and am using Linux to run a VM for Windows.
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Exult on Linux

Post by Dominus »

This is not possible. You must have made some error with the files.
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
paulo

Re: Exult on Linux

Post by paulo »

Honestly, the ppa doesn't change anything about the cfg file paths except the compilation option for the default path of the games (that get filled into that cfg file).

I opted to install the game files to the system dirs during the package install because that was already happening for the SIFixes and Keyring mods, where the most up-to-date code is in the repository and is built during compilation and so need to have a 'system install path'.

So, what is *probably* happening to you is that you kept your old version of the games on ~/.exult/blackgate ~/.exult/serpentisle etc and it's overriding the new path with the user path. Ie: you aren't getting or using the last version of the mods.

Everything, including settings changes works fine here. To prove it here is a image i took right now with Shamino with the items and the scroll having them appended at the end.

https://snag.gy/C1hMUc.jpg
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Exult on Linux

Post by Knight Captain »

This is happening with both the stock SS and my mod, both starting a new game. Nothing particularly interesting in the terminal output.
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Exult on Linux

Post by Dominus »

I can not think of any way how this is not working on linux while working on Windows. It’s highly unlikely that our code is executing usecode differently on the OS‘.
You will need to make sure that nothing is overriding the usecode on your Windows install (patch or mod).
According to the SI Fixes readme.txt only SI Fixes makes Shamino add his items to the list. So stock SS is working „correctly“ when he doesn’t add them.
If a patched or modded SS on Linux is not doing that, it’s likely that the SI Fixes patch usecode is not found (or there was an error with creating the usecode).

If a stock SS on Windows is adding Shaminos items, it is likely that it is parched/modded somehow.
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Exult on Linux

Post by Dominus »

Oh and no need for a full fledged VM, Exult + Exult Studio work fine in Wine ;)
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Exult on Linux

Post by Knight Captain »

The SIFixes readme.txt may be outdated then, because Shamino does add his items to the list in the original.

Is there a debug mode logging switch? It would be useful to prove this as well as troubleshooting my mod.
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Exult on Linux

Post by Dominus »

I tested with current Git of Exult on OS X, Wine on OS X, Windows 7.

In all these Shamino prepares the list but he doesn't add his items (pink slippers, bear skull, hand, hairbrush). This was with an unmodified SI+SS.

If he adds his items to the list in your game then you might have looked at the list after Iolo or Dupre joined OR you have a patched usecode running.
See https://github.com/exult/exult/blob/mas ... s.txt#L124
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Locked