-
Notifications
You must be signed in to change notification settings - Fork 190
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
gamemodeauto: dlopen failed #345
Comments
I'm getting this on games launched with
Since my version is one behind yours, and 1.6.1 is from Feburary anyway, might it be an issue with Proton or Steam? System Info
|
I'm getting these messages too with Proton 6.3-8. That said, gamemode works as expected. This seems to be a harmless message, akin to |
I'm getting it in every game but when I run |
Interesting, I see that ysblokje didnt include any reference or details about requiring the libgamemode0 in the PKGBUILD. I do see a seperate PKGBUILD that seems to only include the 32 bit libraries. In Summary(Using opensuse as an example): In opensuse make sure you install the libgamemode0 and libgamemodeauto0 for both 64 and 32 bit. Make sure the daemon is running Run the gamemode tests to make sure you are good If using gnome, I recommend you install and turn on the gamemode extension Set your game launcher option Additonal lib information(information, listing, etc) from a rpm perspective of where the libs should be installed. |
The Arch repo packages definitely include libgamemodeauto.so.
Same for
|
🤔 Interesting Would a soft link solve the issue then? And then the same for each lib that is missing if it works. The rpm package has the following in opensuse:: |
I guess Fedora is different but on Linux /usr/lib64 is a symlink already to /usr/lib.So those files already exist in both places.
See:
There's no symlinking to be done. |
No, every modern distribution has lib and lib64 symlinked. Old 32-bit applications will look for /lib which is the same as /lib64 for 64 applications. Not different, it's a standard defined in the FHS. At this point @GottaSlay already distro hopped, gave up or found the solution. Hopefully this issue helps anyone else that runs into this. |
It seems to be an issue with steam because running gamemode outside it doesn't have this problem. |
Not an issue with Steam. Either you are running isolated (snap, flatpak) or your environment variable is not setup on your host. |
Then care to explain why it works outside Steam and not inside it? The package has been installed through Gentoo's emerge. |
@Giovani1906 are you sure gamemode doesn't work with Steam? The error message should be harmless. See if it takes effect while your game is running, check the CPU governor and process niceness, or whichever options you have enabled. |
I would worry about error messages. Once that's done, then make sure that systemd from the user scope is running gamemoded. Running All those are requirements to make sure that gamemoded is really running on your system. No errors should be output when running it manually or trough steam. |
That's not how it works. The example @Lahvuun gave:
Which is 100% confirmed by Valve themselves to be a harmless error. DXVK and vkd3d-proton (as well as wine) also give harmless/expected error messages that don't mean anything (and are actually expected/normal behavior). You worry about error messages like these when they coincide with something not working. If gamemode is working despite those errors (which is easy to confirm), then yes, the errors are meaningless. |
There is something called log levels, trace, debug, info, warning, error and fatal. If the developer considered that to be an error and is harmless than Feral/Valve/Others in this case should log this as a warning, not an ERROR. Very basic stuff for devs when using a logging system. I would still pay attention as to why this is an error and make sure this is not affecting performance and in this case. ld.so is supposed to be substituting a library, so yes, I would 100% investigate why the ELF class is not being properly loaded in this case this is documented here. Always, always look at errors and don't tell people to ignore them unless there is documentation on it. The error could be related to something else like in this case (going back to the main issue) dlopen failed. |
The The amount of headspace taken up by the confusion is immeasurable though, I've probably had to explain this more than a few hundred times. |
Yeah, but that was a really bad example and a very standard one. Nothing to do with the issue opened here to begin with and bad practice and/or not good from a logging standard perspective. We are looking into why gamemoded is not running and is missing the libgamemode.so lib, not why a linker is not able to open a 32/64 library which is a known error. This is why we ask for logs in the first place to analyze the entire process since gamemoded is a different process and has nothing to do with how the game launches. |
sigh TL;DR: this isn't an issue. You have nothing to worry about, gamemode functions as you expect it to, despite these errors. You don't need the
It is running: gamemode.mp4
From the dlopen manpage:
There are two calls to libgamemode = dlopen("libgamemode.so.0", RTLD_NOW); and libgamemode = dlopen("libgamemode.so", RTLD_NOW); Neither pass NULL or a filename with a slash, therefore the dynamic linker has to search for the object. Going through these locations one by one:
So, there is only one way for the dynamic linker to find
For whatever reason Valve, in their infinite wisdom, made it so Proton startup process ignores And now about the so-called "fix" of It doesn't accomplish much. All that does is make gamemode active for every process that Steam starts when you click "PLAY", which is not something you necessarily want, because not every process that Steam runs is a game. Some things are better off with a priority that is lower than the game's, such as, oddly enough, the wineserver. In this particular case the only difference are a few short-lived processes that during Proton's startup. They are the source of the errors. By using Anyway, if you were to check which processes gamemode affects with and without that "fix", you'd see the exact same list of:
plus the game process. |
Could the error be somehow like hidden? It has been confused with gamemode "not working" on some thread on reddit and Lutris forums? Like at least add an FAQ or something about when troubleshooting saying "this is not an issue" and link to this issue?? |
Describe the bug
I am using
gamemoderun %command%
to initiate gamemode when launching a steam game. However according to Proton Log, gamemode isn't functioning properly. The log has several lines ofgamemodeauto: dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory
To Reproduce
Launch a game on steam using startup command
gamemoderun %command%
Expected behavior
Log should tell that gamemode was initiated successfully.
System Info
Additional context
I have tried building gamemode myself from source as well as using pamac with both resulting in the same outcome.
gamemoded -s
suggests that gamemode is active when the game is running.gamemoded -t
gets stuck on "Supervisor tests" and spams...Waiting for child to quit...
The text was updated successfully, but these errors were encountered: