Make sure you installed your Qt libs and make sure you unmute the window, the in-game sound, and set the volume up in the game options. Also make sure your sound is routed correctly in Linux (sometimes an absolute pain in the ass to do...*looking at alsamixer with sinister eyes*). Feedback on file-system access would be awesome (any images missing, etc). If you run from console/shell/terminal, it'll print out mapping. You'll always see 'a.jpg', ignore it. That is a missing file that has always been missing since the v1.7 days at the earliest I saw when debugging for people. Qt libs must be installed for all of that stuff. libqt5multimedia5, libqt5multimedia5-plugins, etc. There may be more, I can't recall all the libs Qt normally uses. I use EndeavourOS with KDE DE (basically Arch but with a nice welcome-wizard installer) and Mint Cinnamon (currently developing this on). I can boot my main rig and test it on the KDE environment sometime. Also, due to a lot of changes in the engine that I did to fix bugs, it might be best to try with a new game.
*Edit* Just checked some offline messages with two colleagues of mine, they've got sound, but they also had to install some libs (I use them as guinea pigs for Linux stuff, both run *buntu X_X, **** I hate Gnome 3/Unity). We have noticed one regression due to a line I left out in the build by accident. I had commented-out a debug print and accidentally commented out a line preventing music from playing when any QSP game asks to play music when the Mute is set on but that can be temporarily worked around by muting in-game if you don't want sound, so I'll dig the src back up and work on it and upload yet another 'final'. xD Main thing is, finally playable due to the intercepting of file-system requests by the game. Requests run through a virtual proxy, always have been, but I tweaked it to provide a hash-accelerated (aka cache) brute-forced mapping on first-access of any. Basically the new code in there breaks any request into an array split by path, recursively walks that split inside the gameDir comparing the lowercase of each and then returning the original found path and is appended to a map 'to be used' and is then kept in a hash with the requested unaltered path as the key and returns the found path as value. The first hit always requires a performance hit but after that, all good, think of it like paging/swapfile. The hash is kept until the game is closed. If you quickload or reload or even reopen the QSP, the cache is still there. Might get rid of that but eh. Thinking about building a slightly more-efficient system for initial lookups as well, but eh. The initial lookup doesn't take into account any previous bruting, so there is a performance gain if I implement it all like that. Wouldn't be hard but eh, lazy today.
By the way, the Mute system I implemented not only works correctly in that things also resume but they also 'pause' instead of stop. This is what allows resuming and differentiating so that you don't have to navigate away for the music to start again. They simply resume. The previous code stopped them, and you couldn't 'unmute' in the sense that you were forced to navigate away. Not with mine.
*Edit* Added the line back, Mute should mute even when a sound is asked to be played. Working so far for me.
(By the way, the Race aka Ride music can only be fixed by the developer(s) once they get rid of that $toplay codeblock and do it properly (or at least also set $toplay which they don't do, and so it causes a regression). I'd compile the QSP, but I don't want to handle 'omg save broke' kind of stuff
right now. xD Got a heavy night ahead of myself. 2 x RAID5 rebuilds across 8 drives, woo!... At least they're Enterprise-grade. *whimper* :'(
Bugs: Only one known at the moment. *nix systems limit the number of handles to files/folders, etc. Eventually the Qt backend takes a dump and stops loading new files. Just restart the game. (You'll see in console/shell/terminal: QIODevice::read (QFile, ...): device not open or Could not create AF_NETLINK socket (Too many open files).) Quite frankly I despise 'Linux limits' in every way and find them a moronic 'anti-feature'. Just check on increasing file-max and ulimit.
Small note: I might compile for Windows, I don't use it, and I'd probably have to do that in a VM, but it'd fix everyone's audio issues and such (excluding the aforementioned Race/Ride issue, that's a game issue only the developer(s) can fix.)