In Which I Try Installing DS on Ubuntu
- First I followed all the directions here:
Nazushvel/dstation-2020
A simple installer script for Docking Station (DS), a freeware entry in the Creatures series. If you don't care about features or compatibility and just want the game to run, this may help. It installs hard to find library versions and creates a set of folders for the game.
sudo apt-get install p7zip-full zstd
sudo dpkg --add-arch i386
sudo apt-get update
sudo apt-get install libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386 libxi6:i386
dpkg --print-foreign-architectures
shows i386
as expected, but running it gives me ./dstation-2020: line 216: ./lc2e: No such file or directory
despite my distro being one of the supported ones in the list:
Distributor ID: Ubuntu
Description: Ubuntu 20.04.1 LTS
Release: 20.04
Codename: focal
- So I gave up on that and decided to try TransientLC2E
- I extracted TransientLC2E (TransientLC2E-dsgb-2014-10-20z_v2.tar.lzma) into a folder and ran transientlc2e.py
- At first it didn't like that I only had py3 installed, I had to install py2 and explicitly run it with py2.
- It ran totally fine, just without sound.
- Copied these files from the first dstation folder (the one created by the github script that didn't actually run) into the TLC2E/ro-engine/libs-originallyincluded/ folder:
- libSDL-1.2.so.0.7.2
- libSDL-1.2.so.0
- libSDL-1.1.so.0
- libSDL_mixer-1.2.so.0
- Still didn't Work
- Installed libpulsedsp:i386 and libasound2-plugins:i386
- Still Didn't Work
- In libs-requested:
- Replaced libgmodule-1.2.so.0.0.10 and libglib-1.2.so.0.0.10 with the ones in the not-working folder
- (Still didn't work)
- Added libgthread-1.2.so.0.0.10 from the not-working folder
- Still didn't work
- Replaced libgmodule-1.2.so.0.0.10 and libglib-1.2.so.0.0.10 with the ones in the not-working folder
- sudo apt-get install osspd-alsa alsa-oss
- Nope (I don't know what I thought this was going to do, I need 32 bit libs)
- Logged out and longed back in again
- Nope
- Infuriatingly, I do not know what I did, except try to get the broken script version (non-tlc2e) running, and now TLC2E isn't giving me the No Sound error anymore, but the sound still isn't working.
- Found libasound.so.2 in /usr/lib/i386-linux-gnu and copied it to libs-requested
- Still Nope...
- Really late to this game now but I went into the tlc2e.py and changed
captureStdout = True;
captureStderr = True;
to False
instead
And now I get the error: Audio write: Resource temporarily unavailable
When I do pulseaudio -k && sudo alsa force-reload
like I found online, the error temporarily disappears but sound still doesn't work
- In retrospect the error just appears and disappears randomly and this might have nothing to do with it.
Also, I am just now noticing that whenever I am running lc2e, nothing else that uses sound works. Like videos won't even start playing til I close lc2e.
How was this so much easier in debian!
- Tried
sudo apt-get install dkms
for no good reason. did the same thing as alsa-force reload (ie nothing)
- I'll have to work on this more later.
- Okay I reinstalled in a new folder from the DStation script, copied libgtk and libgdk from the tlc2e folders, and for some reason that works fine now but still no sound
- installed PulseAudio Volume Control in case it existed but was muted? Nothing
- the thing where nothing else with sound works when I'm running ds? Isn't happening anymore right now. Other things run fine. I don't know what I changed. Doesn't matter: sound doesn't work
- By the way, I did install versions of those "missing" libs (libatk-bridge.so and libgail.so)
- Specifically libgail-3-0:i386 and libatk-bridge2.0-0:i386
- By the way today I learned
dpkg -L libgail-3-0:i386
etc is useful for finding out where the heck the files I install end up
- By the way today I learned
- But I guess those aren't right because they're named libgailutil-3.so.0.0.0 and libatk-bridge-2.0.so.0.0.0 and if I link to them with the names the engine is looking for it says
undefined symbol: gtk_module_init
- I found an actual
libatk-bridge.so
by installinglibatk-adaptor:i386
but the engine didn't find it. when I copied it to the DS folder I got* (process:72523): WARNING **: 06:31:31.940: (../atk-adaptor/bridge.c:1018):atk_bridge_adaptor_init: runtime check failed: (root)
instead ofGtk-WARNING **: Failed to load module "
libatk-bridge.so
":
libatk-bridge.so
: cannot open shared object file: No such file or directory
- I found a libgail.so in libgail-common:i386 but again, the engine doesn't find it, and when I stick it in the folder and try to run it the thing just straight up SEGFAULTS:
./dstation-2020: line 217: 72764 Segmentation fault (core dumped) ./lc2e --autokill
- So I guess that's not okay either. sigh. Still stuck with those two missing libs. That strace doesn't seem to even tell me where it's trying to find them. I don't even think that has anything to do with the sound. but it seemed worth chasing after anyway.
- It might be worth mentioning: I don't get these misssing lib errors in TLC2E. I don't know why TLC doesn't seem to need them, or know it needs them. As far as I can tell they use the same of the rest of the other libraries...
- Specifically libgail-3-0:i386 and libatk-bridge2.0-0:i386
- I installed lib32z1 for no reason but it didn't change anything
- Sigh I need to get ready for work now.
- This has nothing to do with sound but I took at break from this to try to install LC2E from scratch, no helper scripts: AmberCreaturesHome of the Butterfly norn, Day norn, Ettin family, Creatures 1 Ettin, Alba world, LochAlbia and more... Download new free exclusive norn, ettin and grendel breeds, tools, worlds and cobs, or view the extensive gameplay guides, developer tutorials and more. Updated regularly.
http://www.webpetz.com/creatures/dockingstation.php
- I had to restart the install a few times ("bad trap" errors) and copy a bunch of libs from old installs to
/usr/lib/i386-linux-gnu/
as it asked for them
- when it gets to failing at checking for network errors, it's done, and you can run
dockingstation nocheck
and it loads up fine.
- But. it doesn't exit properly >>
- just killing dockingstation, lc2e processes DOESN'T WORK. The window stays there, doing nothing, frozen.
- BUT. Killing ossp-slave DOES finally close the window.
- ......what does ossp-slave have to do with this. That's sound-related, right? Are we on to something here??
- Probably not but I am so tired.
- ......what does ossp-slave have to do with this. That's sound-related, right? Are we on to something here??
- I had to restart the install a few times ("bad trap" errors) and copy a bunch of libs from old installs to
- The dstation-2020 script was patched and seems to work fine now so I'm testing with that too.
- Installed alsa-utils:i386
- sudo modprobe snd-mixer-oss
- manually downloaded alsa-oss 1.0.15-1 (i386 binary) from:
- extracted the contents into
/usr/lib/i386-linux-gnu/
- entered
export LD_PRELOAD="$LD_PRELOAD /usr/lib/i386-linux-gnu/libaoss.so"
- and
aoss ./dstation-2020 start
- AND IT WORKED
- IT ACTUALLY WORKED. THE SOUND WORKED.
- BUT IT WAS REALLY LOUDhjasgfdksahj turn down your volume
- It still spits out a bunch of
ERROR:
ld.so
: object '/usr/lib/i386-linux-gnu/libaoss.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
But it still works??
- also, so long as you enter that export line in the terminal beforehand:
aoss dockingstation nocheck
also works to get sound for traditionally installed lc2e, AND it actually exits cleanly instead of getting stuck until you force-close ossp-slave
aoss python2 ./transientlc2e.py
doesn't... seem to work yet. I still getAudio write: Resource temporarily unavailable
errors. But...I'll poke at it some more.
- and