-
Notifications
You must be signed in to change notification settings - Fork 66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Game dev tycoon libgtk-x11-2.0.so.0: No such file or directory #206
Comments
May wish to run locate libgtk-x11-2.0.so.0 |
if you meant $ flatpak run --command=bash --devel com.valvesoftware.Steam then it returns nothing |
Well, sort of. Though I mainly meant in the host. Sounds like you have this installed |
https://pastebin.com/cR4cQiy8 |
Well, the problem is that the game is expected to bundle that library |
@valentindavid or am I misunderstanding ownership of the file? |
Note in either case, there's a very high danger this game stops working for you without the sandbox with some distro version upgrade. |
if you think it's better for flatpaked steam to let it be like it is then feel free to close this issue. if there is a risk of breaking something by repairing this game then obviously I would prefer to keep the game broken. I don't want you to think that i'm complaining, I only wanted you to know about it and maybe we should report it to Greenheart Games (https://www.greenheartgames.com/app/game-dev-tycoon/) edit: and thanks for creating this steam wrapper |
That's actually not what I was trying to say. This application has dependencies on your distribution libraries that might go away at any time. Note that flagging something as game issue does not involve something cannot be worked around, it's just for internal issue tracking purposes |
I have yet to figure out how the flatpak extension system works but would it be acceptable to make an optional extension to the flatpaked steam and put these libraries into it? At least if this is possible altogether since one would need 32bit and 64bit versions of it. I don't know how this is handled in this case. Not here on Steam but I had an interesting problem with the game "Victor Vran" from GOG. This game does ship the libraries it needs (even libX11)... but they are just broken. The game does not start. After deleting the library folder and adding the missing libraries (old version of libgcrypt and libcurl linked against gnutls) by hand it works well. The game is also linked against specific versions of the libraries. Such workaround is impossible in the current state of the flatpaked steam. But I don't know how the Steam version behaves. While moving forward with newer flatpak runtimes this problem will grow I think. But this is a problem that also happens on Windows. Even Steam does not support all its games on Windows 10. So "leave it broken" is a common way. |
There's not currently a reasonable way to handle 32bit app extensions even if we could do optional app extensions sensibly. I recomment reporting the issue to the game vendor since as said, this will break with native Steam too at some point |
As you already know this is not always possible. Don't get me wrong I am with you on this matter. But game developers are known for poor long-term-support on their games. And even with support they often say "your distribution is not supported". And instead of fixing issues they often just release a "remaster" you can buy again. It does not need to be solved anytime soon but a possibility to fix these issues should be evaluated at some point. Maybe the flatpak extension system needs some additions. But I don't know much about this at this time. |
This comment has been minimized.
This comment has been minimized.
I reported it to them and added a link to this issue |
@Pixelnarium yes, that was a case of where user-driven workaround kept working all the way until the game vendor went out of business and there was no one left to do a proper fix. |
Sorry for possibly stupid question, but what's the problem with creating 32-bit extension? |
The error is actually interesting because Steam runtime is supposed to have gtk 2 https://github.com/ValveSoftware/steam-runtime/blob/master/packages.txt |
See here, https://packages.ubuntu.com/trusty/amd64/libgtk2.0-0/filelist which Steam runtime has should contain libgtk-x11-2.0.so.0 There's some peculiarities though
Something still to try is find $XDG_DATA_HOME/Steam |grep libgtk-x11-2.0.so.0 inside the Flatpak |
Ahhah. The library does exist in 32bit runtime but not in 64bit runtime. I would suspect the game vendor never properly validated the 64bit version of the game actually works. |
Asked upstream (Valve) what's actually going on. The situation seems confusing. |
if you still want the output edit: |
This comment has been minimized.
This comment has been minimized.
Wait wait wait. There is a difrectory amd64 which has that file |
What does ldd /home/user5145/.var/app/com.valvesoftware.Steam/data/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 say? |
that libgdk-x11-2.0 is broken ldd: warning: you do not have execution permission for `/home/user5145/.var/app/com.valvesoftware.Steam/data/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0' |
there are both gamedevtycoon64-bin and gamedevtycoon-bin and if i try to launch them without steam then they both give error while loading shared libraries: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory edit: and only one libs folder with javascript |
Could you please update Steam Flatpak, fully restart Steam and ensure the problem persists? |
Does chmod a+x /home/user5145/.var/app/com.valvesoftware.Steam/data/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 change anything? |
no, still the same (should be /home/user.....) |
libgdk-x11-2.0.so.0 => not found |
I wonder if "LD_PRELOAD=/home/user5145/.var/app/com.valvesoftware.Steam/data/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0:/home/user5145/.var/app/com.valvesoftware.Steam/data/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 gamedevtycoon64-bin" changed anything |
yes it does :) |
Ok, I'm really starting to get the feeling then that the game isn't properly using Steam runtime |
I don't completely understand the Steam runtime mechanism but I suspect what the game is doing with LD_LIBRARY_PATH might be breaking things. Steam looks to be trying to use the same variable to tell the game where its libraries are https://github.com/ValveSoftware/steam-runtime/blob/master/runtime/run.sh#L42 |
and when i use ./start.sh instead of ./gamedevtycoon64-bin or there are libraries in steamIntegration/64 and steamIntegration/32 edit: see that |
What about full-blown LD_LIBRARY_PATH=/home/user5145/.var/app/com.valvesoftware.Steam/data/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/:./steamIntegration/64:$LD_LIBRARY_PATH ./gamedevtycoon64-bin ? |
libpng12.so.0: cannot open shared object file: No such file or directory |
That's a bit odd, that library should be in the runtime too |
To be honest, I'd really recommend demanding refund if the game vendor doesn't answer anything. I'm not expecting this game can be made working without excessive amounts of hack. |
it was only $2 anyway |
after i cp -L libpng12 and libdbus-glib to /home/$USER/.var/app/com.valvesoftware.Steam/Desktop and add /home/user5145/Desktop to $LD_LIBRARY_PATH . it crashes so seems like it is broken or those libraries are too new. My intention is only to improve flatpak'ed steam so i don't mind closing this issue and thanks for trying to fix it :) |
I suspect that failure yet again is bogus, the dump might produce some useful output. I don't really see this game working out of the box with something that could be considered as low-risk for other games currently. Maybe if we had some facility to punch per-game preloads |
i will send that crash if it matters but i made it to work :), i found out that libpng isn't in ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu but in ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu and their start.sh overrides LD_LIBRARY_PATH=./steamIntegration/64 so steam-runtimes cannot be loaded that allows to launch it but if i change their start.sh from LD_LIBRARY_PATH=./steamIntegration/64 to LD_LIBRARY_PATH=./steamIntegration/64:$LD_LIBRARY_PATH then it works too even via steam edit: typo |
Yeah, that's the exact fix they should do. It would allow everything to work. It's not really feasible to workaround from our side |
Same for 32bit probably |
so should I close it? |
That's fine too. As long as these are all labeled correctly, I can always find them even if closed in case we get stronger magic from library loading side for handling these things |
32 bit doesn't work :< and it's because steam runtime has only steam-runtime/i386/lib/i386-linux-gnu/libudev.so.0 |
Ah. Well, I suppose it won't hurt us any since this application only runs as 64bit |
now i see that their start.sh does something weird with it works only for 64bit but i don't know why as it should fail too edit: and there are some permissions problems |
Dbus looks likely caused by us blocking that call |
it precedes it |
I suspect the point is inhibiting sleep while the game is running. This might well be more widely used |
Btw building a custom client with gtk2 and libdbus gets the game to work nicely (ignore the permission change) |
This seems to be working fine after the latest game update from October 2021:
|
Flatpak version 1.0.1
driver: nvidia 396.54
I bought it today, so I don't know if it has worked before, but i works without a sandbox.
The text was updated successfully, but these errors were encountered: