• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

Satcharna

Corporal
45 Badges
Sep 30, 2015
44
4
  • Crusader Kings II: Charlemagne
  • Stellaris: Synthetic Dawn
  • Crusader Kings II
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Republic
  • Stellaris: Nemesis
  • Cities: Skylines - Green Cities
  • Crusader Kings II: Jade Dragon
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Stellaris: Distant Stars
  • Cities: Skylines Industries
  • Crusader Kings II: Holy Fury
  • Cities: Skylines - Campus
  • Stellaris: Ancient Relics
  • Stellaris: Lithoids
  • Stellaris: Federations
  • Crusader Kings III
  • Crusader Kings III: Royal Edition
  • Stellaris: Necroids
  • Hearts of Iron IV: Colonel
  • Cities: Skylines
  • Crusader Kings II: Way of Life
  • Crusader Kings II: Horse Lords
  • Cities: Skylines - After Dark
  • Crusader Kings II: Conclave
  • Cities: Skylines - Snowfall
  • Stellaris
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Death or Dishonor
  • Crusader Kings II: Reapers Due
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Hearts of Iron IV: Together for Victory
  • Crusader Kings II: Monks and Mystics
  • Cities: Skylines - Mass Transit
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Megacorp
  • Stellaris - Path to Destruction bundle
Short summary of your issue
Game refuses to launch with Steam Runtime Environment on Linux (1.8.0)

Game Version
1.8.0

What OS are you playing on?
Linux

What platform are you using?
Steam

What DLC do you have installed?
Royal Court,

Do you have mods enabled?
No

Have you tried verifying your game files (Steam only)?
Yes

How much "pain" is this causing you?
10

Please explain the issue you experienced in the most condensed way possible
When pressing Play in the launcher, the only result is an error message:
ERROR: ld.so: object '/home/nixos/.applications/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/nixos/.applications/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
./ck3: error while loading shared libraries: libtinfo.so.6: cannot open shared object file: No such file or directory

Please explain how to reproduce the issue
Install CK3 version 1.8.0 on Linux via Steam.
Open the game launcher.
Press Play.

Issue occurs on a fresh install where I have deleted all folders related to the game from the steam library as well as .local/share/Paradox Interactive, and when "playset" is set to "disable all".

Is there anything else you think could help us identify/replicate the issue?
Game will launch if run with Proton or an older version (tested 1.7.2).
libtinfo.so.6 is generally distributed as part of the ncurses package

Attached portrait of Stalin to satisfy the form's requirement for an attachment, please enjoy it.

I have attached a save game
No

Upload Attachment
File(s) attached
 

Attachments

  • сталин.jpg
    сталин.jpg
    96,9 KB · Views: 0
Heya @Satcharna and thank you for your report.
As I am currently investigating this issue, may I ask what version of Ubuntu you are currently running?
I am not running Ubuntu, this is NixOS Unstable (23.05pre). Steam Runtime is ubuntu-based, which is presumably where that part of the error comes from, but I've no idea what version it uses.

The concept is that packages like ncurses are included in the Steam runtime, so that it won't matter that I'm on a rolling release distro that likely has a much newer version of these libraries than Steam does.
The line to focus on, I think, is the last one. Even if the steam overlay is broken it's not something I actually care about. If I try steam-run ck3 instead of going through the launcher, I get another message but the content is the same (no libtinfo.so.6). The nix store ncurses (6.3) does contain the file and I can call it from my $PATH, so the issue is probably on the Steam Runtime side. Maybe your compiler is linking against your distro ncurses instead of the steam ncurses? In that case it may use a path that isn't going to work on other installs.
 
You definitely have the right idea that the missing library was the critical issue here. The library is part of Ubuntu 20.06 LTS so if your distribution doesn't contain then it's the right call that it's a required install. Weird to hear that it took some attempts for it to actually work properly. Did you perhaps reboot Steam and/or your machine at any point between it not working and when it started to work properly?
 
You definitely have the right idea that the missing library was the critical issue here. The library is part of Ubuntu 20.06 LTS so if your distribution doesn't contain then it's the right call that it's a required install. Weird to hear that it took some attempts for it to actually work properly. Did you perhaps reboot Steam and/or your machine at any point between it not working and when it started to work properly?
I restarted Steam when I did the full reinstall of the game, but it did not help at the time. I have not rebooted my machine. The library is part of every distro and included in almost all actual installs, including mine. Nix calls Steam with an FHS-compatible environment, which does have access to the system's version of the library. The issue seems to have been that the Steam Runtime did not initially contain it. I guess at some point Steam verified it and redownloaded/updated, but ZFS did not register a data fault so I don't know what may have caused that.
What's strange is that 1.8.0 did not work while 1.7.2 did. It's unlikely that Valve would add a core library to Steam Runtime mere hours after you release a patch that adds a requirement for that library. The only thing I can guess is that the Steam Runtime path for some reason did not initially include it for 1.8.0. I've no idea why that would be the case.
 
Hmm I can't really explain it either but I did find this:

Yesterday Steam actually did a client update with the following line in their changelog.
Linux
  • Fixed overlay causing crashes on some native games (Borderlands 2)
It's still unlikely but not impossible that we started to call something more from the Steamlib (perhaps from changes in our engine) that caused us to get the same issue that Borderlands 2 had. Which was then resolved by Steam yesterday after some hours of overlap in between these events.
 
  • 1
Reactions:
Launching the game on a fresh install on my laptop saw this happen again. Switching compatibility mode to Proton then back to Steam Runtime fixed it immediately this time. It looks like Steam doesn't apply Steam Runtime correctly unless it's turned off and back on again, so even though it appears set to on it actually isn't. It should still have launched because the system's version of the library is still accessible, but whatever.

Unfortunately performance on integrated graphics even with the new Vulkan renderer and lowest settings isn't playable at any decent resolution, so I'll have to stick with streaming the game from my home computer.
 
Interesting use-case with the fresh-install. Might be something we can look into in the future if we have any way of resolving from our side.

Unfortunately integrated graphics are likely going to struggle with the newer PDS games because of our heavy priority of CPU-time for gameplay logic calculations and heavier resource usage overall than older PDS games.
 
  • 1
Reactions:
Same log here on NixOS, game version 1.8.2, but switching proton on (also tried launching it once in proton, works fine) and turning it back off does not fix the issue.
 
Last edited:
I have the same problem on NixOS. Until that is fixed upstream however, you can add the ncurses 6 package to the steam-fhs environment, so the library lives in the expected fhs compliant paths.
Just add the following overlay to your nixpkgs:

Code:
final: prev: {
  steam = prev.steam.override {
    extraPkgs = pkgs: [ pkgs.ncurses6 ];
  };
}
 
  • 1
Reactions: