Total War: THREE KINGDOMS

Total War: THREE KINGDOMS

View Stats:
terdon Feb 10, 2024 @ 7:05am
Total War Three Kingdoms fails to launch on Linux (vkCreateSwapchainKHR failed: -2)
The game used to run just fine on my machine a few months ago, but for the last couple of months, whenever I try to launch it, it fails to launch and returns a vkCreateSwapchainKHR failed: -2 error.


I have tried running both normal steam and steam runtime with the same behavior. My OS is Arch Linux, with all updates installed. I am running this on a Thinkpad P14s 2nd generation laptop. Hardware info:

$ inxi -CGm Memory: System RAM: total: 32 GiB note: est. available: 31.05 GiB used: 17.19 GiB (55.4%) RAM Report: permissions: Unable to run dmidecode. Root privileges required. CPU: Info: quad core model: 11th Gen Intel Core i7-1165G7 bits: 64 type: MT MCP cache: L2: 5 MiB Speed (MHz): avg: 1047 min/max: 400/4700 cores: 1: 1076 2: 1142 3: 400 4: 1091 5: 1238 6: 1216 7: 1131 8: 1089 Graphics: Device-1: Intel TigerLake-LP GT2 [Iris Xe Graphics] driver: i915 v: kernel Device-2: NVIDIA TU117GLM [Quadro T500 Mobile] driver: nvidia v: 545.29.06 Device-3: Chicony Integrated Camera driver: uvcvideo type: USB Device-4: Logitech Webcam C270 driver: snd-usb-audio,uvcvideo type: USB Display: x11 server: X.Org v: 21.1.11 with: Xwayland v: 23.2.4 driver: X: loaded: nvidia gpu: i915 resolution: 1: 1920x1080~60Hz 2: 1920x1080~60Hz 3: 1920x1080~60Hz API: EGL v: 1.5 drivers: iris,nvidia,swrast platforms: x11,surfaceless,device API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: intel mesa v: 23.3.5-arch1.1 renderer: Mesa Intel Xe Graphics (TGL GT2)

When launching steam from a terminal and then launching the game from within steam, I see the following in the terminal:
/bin/sh\0-c\0RADV_PERFTEST=aco /home/terdon/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=779340 -- /home/terdon/.local/share/Steam/ubuntu12_32/steam-launch-wrapper -- '/home/terdon/.local/share/Steam/steamapps/common/Total War THREE KINGDOMS/ThreeKingdoms.sh'\0 chdir "/home/terdon/.local/share/Steam/steamapps/common/Total War THREE KINGDOMS" ERROR: ld.so: object '/home/terdon/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/terdon/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored. ERROR: ld.so: object '/home/terdon/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/terdon/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/terdon/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/terdon/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. pid 2798749 != 2798745, skipping destruction (fork without exec?) pid 2798748 != 2798745, skipping destruction (fork without exec?) ERROR: ld.so: object '/home/terdon/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/terdon/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/terdon/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/terdon/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/terdon/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ThreeKingdoms: crash reporter initialised with path "/home/terdon/.local/share/feral-interactive/Three Kingdoms/crashes" SDL2 initialised [built against 2.0.9, running with 2.0.9] Setting breakpad minidump AppID = 779340 Steam_SetMinidumpSteamID: Caching Steam ID: 76561197980216737 [API loaded no] Warning: Previous run didn't quit gracefully, attempting to run crash reporter. [0210/142918.977900:ERROR:gpu_process_transport_factory.cc(1026)] Lost UI shared context. Fossilize INFO: Overriding serialization path: "/home/terdon/.local/share/Steam/steamapps/shadercache/779340/fozpipelinesv6/steamapprun_pipeline_cache". vkCreateSwapchainKHR failed: -2 ThreeKingdoms: dumped to "/home/terdon/.local/share/feral-interactive/Three Kingdoms/crashes/44dba32e-bf36-aae7-041d10bb-4b2396cb.dmp" ThreeKingdoms: crash reporter "/home/terdon/.local/share/Steam/steamapps/common/Total War THREE KINGDOMS/bin/feral_linux_crash_reporter" launching ERROR: ld.so: object '/home/terdon/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/terdon/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/terdon/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/terdon/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/terdon/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. Game crashed with signal 6 vkCreateSwapchainKHR failed: -2 You may be able to relaunch the game to send the crash log automatically. You can also contact support@feralinteractive.com directly with details of the crash, Steam System Info, and the dump file: /home/terdon/.local/share/feral-interactive/Three Kingdoms/crashes/44dba32e-bf36-aae7-041d10bb-4b2396cb.dmp pid 2798906 != 2798778, skipping destruction (fork without exec?) ERROR: ld.so: object '/home/terdon/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.

Any ideas how to fix this?
< >
Showing 1-3 of 3 comments
Scruffbeard Feb 19, 2024 @ 4:32pm 
The ELF stuff is usually because you dont have the 32bit files loaded. Try this:
sudo dpkg --add-architecture i386 sudo apt update sudo apt dist-upgrade
You may have to create a 32 bit WINE prefix.
Last edited by Scruffbeard; Feb 19, 2024 @ 4:33pm
terdon Mar 28, 2024 @ 1:27pm 
Sorry, I was never notified of this reply so I just saw it now. I am using Arch, which isn't Debian based so doesn't have apt or dpkg, but I do have the equivalent stuff installed:

$ sudo pacman -Ss lib32-nvidia-utils multilib/lib32-nvidia-utils 550.54.14-1 [installed] NVIDIA drivers utilities (32-bit)

Anyway, those aren't errors, they are warnings and are expected: steam looks for both 32 and 64 bit libraries and loads whichever it finds, and prints that warning for the one it didn't find.

I'm getting the same thing with various Total War games, but Civilization 6 works fine.

By the way, you really don't want to recommend apt dist-upgrade like that, that command will change the version of the operating system! It is a huge change and likely to break things and absolutely not needed here in any way.
Last edited by terdon; Mar 28, 2024 @ 1:30pm
mpmp Mar 28, 2024 @ 1:37pm 
try proton instead of native, every total war works for me in manjaro with it
< >
Showing 1-3 of 3 comments
Per page: 1530 50

Date Posted: Feb 10, 2024 @ 7:05am
Posts: 3