Skip to content

Instantly share code, notes, and snippets.

@Kabouik
Last active August 8, 2018 15:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Kabouik/a7c7057c4af6048095e29a0859892ee6 to your computer and use it in GitHub Desktop.
Save Kabouik/a7c7057c4af6048095e29a0859892ee6 to your computer and use it in GitHub Desktop.
Shadowbeta.deb 18.04 bug report for Solus distribution
# Copy and paste this code in the terminal for troubleshooting:
printf "\n\n# System information\n" && inxi -SMCG &&
printf "\n\n# Top 25 rows of shadow.log\n" && head -n 25 ~/.cache/blade/shadow/shadow.log &&
printf "\n\n# User groups\n" && id &&
printf "\n\n# Display manager\n" && echo $XDG_SESSION_TYPE &&
printf "\n\n# Video hardware acceleration\n" && vainfo &&
printf "\n\n# ClientSDL dependencies\n" && ldd -v ~/.config/Shadow\ Beta/data/opt/Shadow\ Beta/resources/app.asar.unpacked/native/linux/ClientSDL | grep "not found"

2018-08-06

Preamble

The application was "installed" on Solus using a small homemade script aiming at extracting the .deb file, see detail here: https://gist.github.com/Kabouik/d91d5465cf73f8aabe81062ca7693b9a

Bug report

General description

I still have an issue with the streaming module for shadowbeta.deb 18.04: the launcher module works well, but the streaming does not start, regardless of h.264/h.265 settings in the application. The launcher still allows booting and shutting down the Shadow, but will never successfully start the stream:

Troubleshooting

Summary

  • Video hardware acceleration for h.264 et h.265 is supported, so I'm not sure whhat "video_decoder->init failed: -1" in the crashlog means.
  • The user belongs to the input group.
  • The display manager is Xorg x11.
  • ClientSDL complains about missing libraries (or no information on their version) in /usr/lib64, so I tried to download them from Ubuntu and tell the application where to find them on my system, but new missing libraries come up, and it is never ending (see last file in this gist).

Note that the Nvidia GPU is not in use (drivers were not installed) to only rely on the Intel HD chipset for video hardware acceleration (driver i965).

Details (output of the code at the top of this gist)

mathieu@xiaomimi-solus ~ $ printf "\n\n# System information\n" && inxi -SMCG &&
> printf "\n\n# Top 25 rows of shadow.log\n" && head -n 25 ~/.cache/blade/shadow/shadow.log &&
> printf "\n\n# User groups\n" && id &&
> printf "\n\n# Display manager\n" && echo $XDG_SESSION_TYPE &&
> printf "\n\n# Video hardware acceleration\n" && vainfo &&
> printf "\n\n# ClientSDL dependencies\n" && ldd -v ~/.config/Shadow\ Beta/data/opt/Shadow\ Beta/resources/app.asar.unpacked/native/linux/ClientSDL | grep "not found"


# System information
System:
  Host: xiaomimi-solus Kernel: 4.9.112-100.lts x86_64 bits: 64 
  Desktop: Budgie 10.4-85-g36667bcb Distro: Solus 3.9999 
Machine:
  Type: Laptop System: Timi product: TM1604 v: XMAKB3M0P0705 
  serial: <root required> 
  Mobo: Timi model: TM1604 v: XMAKB3M0P0705 serial: <root required> 
  UEFI: Insyde v: XMAKB3M0P0705 date: 08/30/2017 
CPU:
  Topology: Dual Core model: Intel Core i5-7200U bits: 64 type: MT MCP 
  L2 cache: 3072 KiB 
  Speed: 600 MHz min/max: 400/3100 MHz Core speeds (MHz): 1: 600 2: 600 
  3: 600 4: 600 
Graphics:
  Card-1: Intel HD Graphics 620 driver: i915 v: kernel 
  Card-2: NVIDIA GP108M [GeForce MX150] driver: N/A 
  Display: x11 server: X.Org 1.19.6 driver: intel 
  unloaded: fbdev,modesetting,vesa resolution: 1920x1080~60Hz 
  OpenGL: renderer: Mesa DRI Intel HD Graphics 620 (Kaby Lake GT2) 
  v: 4.5 Mesa 18.1.4 


# Top 25 rows of shadow.log
template_digit = 41
short read on /home/mathieu/.config/blade/shadow/config1.bin, cannot read format version
console: listening on *:7040
get:vaInitialize (49) failed (unknown libva error)
video_decoder->init failed: -1

************ termination requested ************
Error: signal 11:
./ClientSDL(+0x30342e)[0x55a30d40542e]
/usr/lib64/libpthread.so.0(+0x127c0)[0x7f97b18b37c0]
./ClientSDL(+0x301b4a)[0x55a30d403b4a]
./ClientSDL(_Z10_terminatei+0x65)[0x55a30d404fe8]
./ClientSDL(+0x303699)[0x55a30d405699]
./ClientSDL(+0x3049d2)[0x55a30d4069d2]
./ClientSDL(main+0xc4)[0x55a30d40dd4e]
/usr/lib64/libc.so.6(__libc_start_main+0xe7)[0x7f97ae8f7b37]
./ClientSDL(_start+0x2a)[0x55a30d37e29a]

************ termination requested ************
template_digit = 41
short read on /home/mathieu/.config/blade/shadow/config1.bin, cannot read format version
console: listening on *:7040
get:vaInitialize (49) failed (unknown libva error)
video_decoder->init failed: -1



# User groups
uid=1000(mathieu) gid=1000(mathieu) groups=1000(mathieu),10(dialout),11(audio),12(video),15(cdrom),19(lpadmin),28(sudo),70(scanner),90(plugdev),100(users),104(fuse),145(docker),998(input)


# Display manager
x11


# Video hardware acceleration
libva info: VA-API version 1.1.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_1
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.1 (libva 2.1.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Kaby Lake - 2.1.0
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Simple            :	VAEntrypointEncSlice
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSliceLP
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointEncSliceLP
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointEncSliceLP
      VAProfileH264MultiviewHigh      :	VAEntrypointVLD
      VAProfileH264MultiviewHigh      :	VAEntrypointEncSlice
      VAProfileH264StereoHigh         :	VAEntrypointVLD
      VAProfileH264StereoHigh         :	VAEntrypointEncSlice
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileNone                   :	VAEntrypointVideoProc
      VAProfileJPEGBaseline           :	VAEntrypointVLD
      VAProfileJPEGBaseline           :	VAEntrypointEncPicture
      VAProfileVP8Version0_3          :	VAEntrypointVLD
      VAProfileVP8Version0_3          :	VAEntrypointEncSlice
      VAProfileHEVCMain               :	VAEntrypointVLD
      VAProfileHEVCMain               :	VAEntrypointEncSlice
      VAProfileHEVCMain10             :	VAEntrypointVLD
      VAProfileHEVCMain10             :	VAEntrypointEncSlice
      VAProfileVP9Profile0            :	VAEntrypointVLD
      VAProfileVP9Profile0            :	VAEntrypointEncSlice
      VAProfileVP9Profile2            :	VAEntrypointVLD


# ClientSDL dependencies
		libcurl.so.4 (CURL_OPENSSL_4) => not found
		libcrypto.so.1.1 (OPENSSL_1_1_0) => not found
		libssl.so.1.1 (OPENSSL_1_1_0) => not found

Miscellaneous discussions about other ways to investigate later (not tried yet):

Shadow Discord (there is an an international one too)

[10:37] Alex^: tout l'environnement du ClientSDL est compilable à la main
[10:37] kabouik: Comment procéder @Alex^ ?
[10:38] Alex^: wget, ./configure, make, LD_PRELOAD=pathtolib
[10:39] Alex^: en mode simple, récupérer les sources des paquets ubuntu
[10:39] Alex^: en mode expert, ramener les bonnes versions des libs et dépendances et les compiler :smiley:
[10:39] kabouik: J'ai essayé de les récupérer et de les utiliser avec LD_LIBRARY_PATH, mais c'est absolument interminable :/
[10:39] Alex^: une lib après l'autre :smiley:
[10:40] kabouik: Va falloir que je démissionne pour trouver le temps de faire ça. :<
[10:41] kabouik: Je crois que j'en avais déjà récupéré au moins 40 en une dizaine de tests successifs, maisà chaque étape, de nouvelles dépendances apparaissent évidemment
[10:41] Alex^: faut pas changer les LD_LIB_PATH, mais surcharger en LD_PRELOAD
[10:42] Alex^: les libs problematiques
[10:42] kabouik: En plus elles sont déjà dans mon /usr/lib64, mais pas acceptées par ClientSDL
[10:43] kabouik: Exact, c'est ce que je faisais @Alex^, je viens de retrouver mon gist temporaire où j'ai écrit ce que je faisais: export LD_LIBRARY_PATH="/home/mathieu/Desktop/libs18.04/"
[10:43] kabouik: Oups non c'est pas ce que je faisais du coup, tu recommandes LD_PRELOAD, j'ai lu trop vite.
[10:44] Alex^: regarde le tuto debian de @Nover sur l'utilisation de LD_PRELOAD, tu peux meme appliquer deja le tuto Qt, ce sera ça de gagné si pas les bonnes versions
[10:45] kabouik: Me semble pas avoir de souci niveau Qt, mais je jetterai un œil pour LD_PRELOAD, merci.

IRC #Solus

<Konsieur> @ikey, or any Solus staff interested in gaming, are you guys following shadow.tech? They are to date the most efficient cloud computing solution (you get real hardware with a full OS) and users are in most cases very satisfied, and they recently released a Linux client for Ubuntu. It works on Ubuntu, Debian and Arch with some tweaks. However, a couple people are struggling to make it work on Solus since a few days and we are not progressing. Wondering if 
<Konsieur> you guys would be interested keeping an eye on it or if it's totally out of your scope.
<Konsieur> They even installed a datacenter in UK so even ikey could kick ass with low latency from Dublin.
<@DataDrake|work> I doubt we could redistribute the client since they have it behind a login wall
<asafniv> which client?
»» @DataDrake|work blinks
<Konsieur> Yeah, that would be impossible to integrate for now (plus it's beta for Linux at the moment). But investigating the issue we are getting could be possible, epsecially as Arch users manage to use it, not only Ubuntu peeps
<asafniv> ...
<Konsieur> https://github.com/NicolasGuilloux/blade-shadow-beta You can find links to the client in the (non official) install scripts here
<@DataDrake|work> well, if you wouldn't mind posting a bug asking for help, I might be able to take a look later on
<@DataDrake|work> .bugs
<bacon_bot> You may report your bugs at https://dev.solus-project.com.
<Konsieur> I can do that. I actually have everything in a gist already but didn't post it on Solus-dev since it's not directly Solus.
<Konsieur> However, it's a paid service, not sure you could test much without an account.
<@DataDrake|work> well I've done something like this for HoN at one point
---» livingsilver94 (~fabio@host4-7-static.13-188-b.business.telecomitalia.it) has Joined #Solus
<@sunnyflunk> This was the openssl 1.1 issue I think
<Konsieur> Then I'll try to file a bug over the week-end and I'll ping you DataDrake|work. That would really be great if some progress could be made with your help.
<@DataDrake|work> maybe a little bit more involved in this case, but I'd be happy to do up an article like: https://solus-project.com/articles/gaming/heroes-of-newerth/en/
<bacon_bot> [ Heroes of Newerth | Solus Help Center ] - solus-project.com
<Konsieur> It might but they have both a 17.10 and a 18.04 version sunnyflunk 
<Konsieur> Which should require different libs
<Konsieur> They will release a 5€/5day trial soon, which could help trying things with the app at low cost. Or if someone can look into it, I could lend my account temporarily but I would need to wipe personal information from my OS and it would have to be to just selected people :<
<Konsieur> But in any case, it would really be a great addition to Solus I believe. Not that I particularly like using Windows, but it still helps for some tasks, or gaming, and as long as I don't have a physical Windows machine, I feel clean. The service works really well too, even on Eduroam WLAN, I feel no latency
<@DataDrake|work> yeah, I don't mind helping, I just can't do much while I'm at work ;)
<Konsieur> Wise. I should work too, I've been procrastinating for 4.5 days.

Attempt to use Ubuntu 18.04 libraries and tell the application where to look for them (LD_LIBRARY_PATH=)

"/home/mathieu/.config/Shadow Beta/data/opt/Shadow Beta/shadow-beta" %U
# ClientSDL dependencies
	libcrypto.so.1.1 => not found
	libssl.so.1.1 => not found
		libcurl.so.4 (CURL_OPENSSL_4) => not found
		libcrypto.so.1.1 (OPENSSL_1_1_0) => not found
		libssl.so.1.1 (OPENSSL_1_1_0) => not found

Downloaded those libs from https://packages.ubuntu.com/bionic/amd64/, then:

export LD_LIBRARY_PATH="/home/mathieu/Desktop/libs18.04/"
"/home/mathieu/.config/Shadow Beta/data/opt/Shadow Beta/shadow-beta" %U
# ClientSDL dependencies
	librtmp.so.1 => not found
	libpsl.so.5 => not found
		libldap_r-2.4.so.2 (OPENLDAP_2.4_2) => not found
		liblber-2.4.so.2 (OPENLDAP_2.4_2) => not found

Downloaded those libs from https://packages.ubuntu.com/bionic/amd64/, then:

export LD_LIBRARY_PATH="/home/mathieu/Desktop/libs18.04/"
"/home/mathieu/.config/Shadow Beta/data/opt/Shadow Beta/shadow-beta" %U
# ClientSDL dependencies
	libhogweed.so.4 => not found
	libsasl2.so.2 => not found
	libgssapi.so.3 => not found
		libhogweed.so.4 (HOGWEED_4) => not found
		libgssapi.so.3 (HEIMDAL_GSS_2.0) => not found
		libsasl2.so.2 (SASL2) => not found

Downloaded those libs from https://packages.ubuntu.com/bionic/amd64/, then:

export LD_LIBRARY_PATH="/home/mathieu/Desktop/libs18.04/"
"/home/mathieu/.config/Shadow Beta/data/opt/Shadow Beta/shadow-beta" %U
# ClientSDL dependencies
	libheimntlm.so.0 => not found
	libkrb5.so.26 => not found
	libasn1.so.8 => not found
	libhcrypto.so.4 => not found
	libroken.so.18 => not found
		libroken.so.18 (HEIMDAL_ROKEN_1.0) => not found
		libheimntlm.so.0 (HEIMDAL_NTLM_1.0) => not found
		libasn1.so.8 (HEIMDAL_ASN1_1.0) => not found
		libhcrypto.so.4 (HEIMDAL_CRYPTO_1.0) => not found
		libkrb5.so.26 (HEIMDAL_KRB5_2.0) => not found

Downloaded those libs from https://packages.ubuntu.com/bionic/amd64/, then:

export LD_LIBRARY_PATH="/home/mathieu/Desktop/libs18.04/"
"/home/mathieu/.config/Shadow Beta/data/opt/Shadow Beta/shadow-beta" %U
# ClientSDL dependencies
	libheimntlm.so.0 => not found
	libkrb5.so.26 => not found
	libasn1.so.8 => not found
	libhcrypto.so.4 => not found
	libroken.so.18 => not found
		libroken.so.18 (HEIMDAL_ROKEN_1.0) => not found
		libheimntlm.so.0 (HEIMDAL_NTLM_1.0) => not found
		libasn1.so.8 (HEIMDAL_ASN1_1.0) => not found
		libhcrypto.so.4 (HEIMDAL_CRYPTO_1.0) => not found
		libkrb5.so.26 (HEIMDAL_KRB5_2.0) => not found

Rinse and repeat, still having new dependencies missing as I fix the previous ones.

Attempt to run ClientSDL with preloaded Ubuntu libraries (LD_PRELOAD=)

Download Ubuntu 18.04 libraries. The easiest way to avoid the never ending incremental downloads (see above) may be to use an Ubuntu 18.04 Live USB, make sure the Shadow application is working on it, and if yes, copy /usr/lib/x86_64-linux-gnu to a folder on your Solus computer. In the example below, the Ubuntu libraries were placed in /media/stockage/bionic/x86_64-linux-gnu.

Then run the following command in terminal:

LD_PRELOAD=/media/stockage/bionic/x86_64-linux-gnu/libcurl.so.4:/media/stockage/bionic/x86_64-linux-gnu/libcrypto.so.1.1:/media/stockage/bionic/x86_64-linux-gnu/libssl.so.1.1:/media/stockage/bionic/x86_64-linux-gnu/librtmp.so.1:/media/stockage/bionic/x86_64-linux-gnu/libpsl.so.5:/media/stockage/bionic/x86_64-linux-gnu/libhogweed.so.4:/media/stockage/bionic/x86_64-linux-gnu/libldap_r-2.4.so.2:/media/stockage/bionic/x86_64-linux-gnu/liblber-2.4.so.2:/media/stockage/bionic/x86_64-linux-gnu/libsasl2.so.2:/media/stockage/bionic/x86_64-linux-gnu/libpsl.so.5:/media/stockage/bionic/x86_64-linux-gnu/libgssapi.so.3:/media/stockage/bionic/x86_64-linux-gnu/libheimntlm.so.0:/media/stockage/bionic/x86_64-linux-gnu/libkrb5.so.26:/media/stockage/bionic/x86_64-linux-gnu/libasn1.so.8:/media/stockage/bionic/x86_64-linux-gnu/libhcrypto.so.4:/media/stockage/bionic/x86_64-linux-gnu/libroken.so.18:/media/stockage/bionic/x86_64-linux-gnu/libwind.so.0:/media/stockage/bionic/x86_64-linux-gnu/libheimbase.so.1:/media/stockage/bionic/x86_64-linux-gnu/libhx509.so.5 "~/.config/Shadow Beta/data/opt/Shadow Beta/shadow-beta"

Change the path of libraries and the path of the shadow-beta binary according to your environment.

ClientSDL will now run and start streaming, but it only shows a black screen. The user is able to interact with the Shadow VM (I could log in and hear the confirmation sound, then I saw the Windows "loading" cursor that typically shows up when a Windows session is opened. Streaming with Parsec at the same time could also confirm that ClientSDL does send the inputs to the VM, but the video stream is not properly decoded.

The Shadow crashlog in ~/.cache/blade/shadow/shadow.log shows:

template_digit = 41
console: listening on *:7040
Qt: cannot load Qt translations for en_US
INFO: connecting to [IP address redacted] using port offset 1000
VMProxy version is '2.14.1'
ERROR: bitrate too low, ignoring 5000000, clamping bitrate at 5000000
refresh_image:vaPutSurface (225) failed (the requested function is not implemented)
audio_set_jack_plugged called with pa_sinkinput unset

refresh_image:vaPutSurface (225) failed (the requested function is not implemented)
refresh_image:vaPutSurface (225) failed (the requested function is not implemented)
refresh_image:vaPutSurface (225) failed (the requested function is not implemented)
[...] (220 000 lines of that)
refresh_image:vaPutSurface (225) failed (the requested function is not implemented)

Terminating...

INFO: was connected to [IP address redacted] using port offset 1000
video/sufp/packet/received: 464 packets
video/sufp/packet/missed: 0 (0 %) missed packets
video/sufp/packet/resend-req: 0 (0 %) resend requests
video/sufp/frame/dropped/partial: 0 (0 %)
video/sufp/frame/missed: 39 (55.7143 %)
video/sufp/frame/dropped/old-generation: 0 (0 %)
video/sufp/packet/dropped/late: 0 (0 %)
video/sufp/packet/seen-twice: 0 (0 %)
video/sufp/frame/receive-spread: 69 samples, 8984 (21 - 11924)
video/sufp/frame/larger-then-1pk/receive-spread: 61 samples, 10157 (384 - 11924)
video/sufp/frame/interval: 67 samples, 123936 (15404 - 167330)refresh_image:vaPutSurface (225) failed (the requested function is not implemented)

video/sufp/frame/dropped/receive-spread: no data
video/sufp/packet/receive-interval: 394 samples, 1573 (6 - 6523) - 0 (0 %) negative samples
video/stream : HEVC
video/decode/vaapi/iframe-count: 2
video/decode/vaapi/pre-decode-wait: 59 samples, 91 (9 - 2815)
video/decode/vaapi/marshalling: 59 samples, 2259 (29 - 122855)
video/decode/vaapi/decoding: 59 samples, 628 (169 - 3794)
video/decode/vaapi/overall: 59 samples, 2898 (234 - 126651)
video/decode/vaapi/overtime: 1 (1.69 %)
video/frame-size: 59 samples, 8802 (74 - 14187)
video/roundtrip: 59 samples, 0 (0 - 0)
(audiosource stats lost at this point)
audio/sdl/packet/received: 0
audio/sdl/queue/starves: 5
video/render/vaapi/buffer-wait: 59 samples, 50 (11 - 200)
video/render/vaapi/PutSurface: 59 samples, 167 (15 - 671)
video/total-time: 59 samples, 11900 (514 - 130234)
video/render/vaapi/overtime: 0 (0 %)
video/render/vaapi/discarded-frames: 0 (0 %)
console socket closed, stopping thread

******* terminating - showing backtrace *******
./ClientSDL(+0x2f96a4)[0x562844b406a4]
/usr/lib64/libc.so.6(+0x42ef1)[0x7f21bcc9fef1]
/usr/lib64/libc.so.6(+0x42fea)[0x7f21bcc9ffea]
/usr/lib64/libc.so.6(__libc_start_main+0xee)[0x7f21bcc7eb3e]
./ClientSDL(_start+0x2a)[0x562844ac353a]
************ that's all, folks ! ****************

These are the libraries that I needed to load from Ubuntu Bionic. I'll upload them later here if the licence allows it (to be checked) so that reproducing what I did on another Solus computer or Live USB will be facilitated:

	/media/stockage/bionic/x86_64-linux-gnu/libcurl.so.4 (0x00007fb75a360000)
	/media/stockage/bionic/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007fb759ee8000)
	/media/stockage/bionic/x86_64-linux-gnu/libssl.so.1.1 (0x00007fb759c7e000)
	/media/stockage/bionic/x86_64-linux-gnu/librtmp.so.1 (0x00007fb759a62000)
	/media/stockage/bionic/x86_64-linux-gnu/libpsl.so.5 (0x00007fb759854000)
	/media/stockage/bionic/x86_64-linux-gnu/libhogweed.so.4 (0x00007fb759620000)
	/media/stockage/bionic/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007fb7593cc000)
	/media/stockage/bionic/x86_64-linux-gnu/liblber-2.4.so.2 (0x00007fb7591be000)
	/media/stockage/bionic/x86_64-linux-gnu/libsasl2.so.2 (0x00007fb758fa3000)
	/media/stockage/bionic/x86_64-linux-gnu/libgssapi.so.3 (0x00007fb758d62000)
	/media/stockage/bionic/x86_64-linux-gnu/libheimntlm.so.0 (0x00007fb758b59000)
	/media/stockage/bionic/x86_64-linux-gnu/libkrb5.so.26 (0x00007fb7588cc000)
	/media/stockage/bionic/x86_64-linux-gnu/libasn1.so.8 (0x00007fb758628000)
	/media/stockage/bionic/x86_64-linux-gnu/libhcrypto.so.4 (0x00007fb7583f2000)
	/media/stockage/bionic/x86_64-linux-gnu/libroken.so.18 (0x00007fb7581dc000)
	/media/stockage/bionic/x86_64-linux-gnu/libwind.so.0 (0x00007fb757fb3000)
	/media/stockage/bionic/x86_64-linux-gnu/libheimbase.so.1 (0x00007fb757da4000)
	/media/stockage/bionic/x86_64-linux-gnu/libhx509.so.5 (0x00007fb757b5a000)

Alternative solution to test

Instead of preloading libraries in a lengthy command line with LD_PRELOAD=/path/to/lib for every library, one could try patching ClientSDL so that it doesn't look for libraries in the default system path, but in the folder where the Ubuntu libraries have been pasted. This can be done using patchelf. First, install it from git if it is not available in your distribution repositories:

cd ~/.config/
git clone https://github.com/NixOS/patchelf.git
cd ~/.config/patchelf
./bootstrap.sh
./configure
make
sudo make install

Then patch ClientSDL and check that it doesn't complain about missing libraries:

patchelf --set-rpath "/media/stockage/bionic/x86_64-linux-gnu" /home/mathieu/.config/Shadow\ Beta/data/opt/Shadow\ Beta/resources/app.asar.unpacked/native/linux/ClientSDL
ldd /home/mathieu/.config/Shadow\ Beta/data/opt/Shadow\ Beta/resources/app.asar.unpacked/native/linux/ClientSDL

I still need to check if this solution would result in a similar situation as the lengthy command with preloaded libraries.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment