Just wanted to share as it was a learning experience for me and hopefully I can help the next person. Civ 7 has a native Linux build - which I am excited to support companies that build Linux native games! Jury is still out if this game is good mind you - received mixed reviews so far.
Civ 7 expects libraries to be in their “normal” spots - just running the bin Civ7_linux_Vulkan_FinalRelease
wont get us far.
I saw nix-ld
which seemed like a workable solution - but felt a bit messy to install this system wide configuration for one game. After a few min of adding packages I thought there must be a better way.
Stumbled upon steam-run
which was the solution! I modified the wrapper script to use the bash the right way - added steam-run Civ7_linux_Vulkan_FinalRelease
and it launched right away. Played for about an hour last night with no issues.
Just wanted to share as it was something I hadn’t run across before, but could solve with the tools provided in nixos - thanks!
ldd
output in case anyone is curious:
$ steam-run ldd ./Civ7_linux_Vulkan_FinalRelease
linux-vdso.so.1 (0x00007fd4b6e80000)
libc++abi.so.1 => /home/eric/Games/tmp/Sid Meier's Civilization VII/Base/Binaries/linux/./runtime/libc++abi.so.1 (0x00007fd4b6e42000)
libuuid.so.1 => /lib/libuuid.so.1 (0x00007fd4b6e1e000)
libcohtml.so => /home/eric/Games/tmp/Sid Meier's Civilization VII/Base/Binaries/linux/./libcohtml.so (0x00007fd4b6200000)
libRenoirCore.so => /home/eric/Games/tmp/Sid Meier's Civilization VII/Base/Binaries/linux/./libRenoirCore.so (0x00007fd4b5e00000)
libdl.so.2 => /lib/libdl.so.2 (0x00007fd4b6e19000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007fd4b6e12000)
librt.so.1 => /lib/librt.so.1 (0x00007fd4b6e0d000)
libv8.so => /home/eric/Games/tmp/Sid Meier's Civilization VII/Base/Binaries/linux/./libv8.so (0x00007fd4b4c00000)
libv8_libbase.so => /home/eric/Games/tmp/Sid Meier's Civilization VII/Base/Binaries/linux/./libv8_libbase.so (0x00007fd4b6dd6000)
libv8_libplatform.so => /home/eric/Games/tmp/Sid Meier's Civilization VII/Base/Binaries/linux/./libv8_libplatform.so (0x00007fd4b6db3000)
libchrome_zlib.so => /home/eric/Games/tmp/Sid Meier's Civilization VII/Base/Binaries/linux/./libchrome_zlib.so (0x00007fd4b6d92000)
libpulse.so.0 => /lib/libpulse.so.0 (0x00007fd4b6d3a000)
libpulse-simple.so.0 => /lib/libpulse-simple.so.0 (0x00007fd4b6d33000)
libX11.so.6 => /lib/libX11.so.6 (0x00007fd4b4ab4000)
libXext.so.6 => /lib/libXext.so.6 (0x00007fd4b6d1e000)
libXinerama.so.1 => /lib/libXinerama.so.1 (0x00007fd4b6d19000)
libXcursor.so.1 => /lib/libXcursor.so.1 (0x00007fd4b6d0a000)
libXrandr.so.2 => /lib/libXrandr.so.2 (0x00007fd4b6cfd000)
libvulkan.so.1 => /lib/libvulkan.so.1 (0x00007fd4b6181000)
libsteam_api.so => /home/eric/Games/tmp/Sid Meier's Civilization VII/Base/Binaries/linux/./libsteam_api.so (0x00007fd4b5d91000)
libc++.so.1 => /home/eric/Games/tmp/Sid Meier's Civilization VII/Base/Binaries/linux/./runtime/libc++.so.1 (0x00007fd4b49e5000)
libm.so.6 => /lib/libm.so.6 (0x00007fd4b48fe000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007fd4b6cd6000)
libc.so.6 => /lib/libc.so.6 (0x00007fd4b4705000)
/lib64/ld-linux-x86-64.so.2 => /nix/store/8sbzylynzn8swakhfk6a69p8cvi0z4ca-glibc-multi-2.40-36/lib/ld-linux-x86-64.so.2 (0x00007fd4b6e82000)
libHttpServer.so => /home/eric/Games/tmp/Sid Meier's Civilization VII/Base/Binaries/linux/./libHttpServer.so (0x00007fd4b3e00000)
libpulsecommon-17.0.so => /nix/store/jfvppvfqk1bg6pm3dsgypn389wvlq1q2-libpulseaudio-17.0/lib/pulseaudio/libpulsecommon-17.0.so (0x00007fd4b467a000)
libdbus-1.so.3 => /nix/store/la3w078ipfi6l985lrfrgckvx2c4lkff-dbus-1.14.10-lib/lib/libdbus-1.so.3 (0x00007fd4b6128000)
libxcb.so.1 => /nix/store/c25p9xs9n6grwx4i4l4kmz09scgcav4b-libxcb-1.17.0/lib/libxcb.so.1 (0x00007fd4b5d65000)
libXrender.so.1 => /nix/store/bnfmimcfan36gg0g488c5hksg8nyr16y-libXrender-0.9.11/lib/libXrender.so.1 (0x00007fd4b6cc7000)
libXfixes.so.3 => /nix/store/ji427fnv38rcyh2m6z3hl3cc9ygmlhb0-libXfixes-6.0.1/lib/libXfixes.so.3 (0x00007fd4b6120000)
libstdc++.so.6 => /lib/libstdc++.so.6 (0x00007fd4b3a00000)
libatomic.so.1 => /lib/libatomic.so.1 (0x00007fd4b5d5a000)
libsndfile.so.1 => /nix/store/lpdbjki6ssrxg2z2k6bcl9wd87di1vwm-libsndfile-1.2.2/lib/libsndfile.so.1 (0x00007fd4b45ed000)
libsystemd.so.0 => /nix/store/7p0ma0wx3l9ffxdh1zbfn90n2dxazyiq-systemd-minimal-256.10/lib/libsystemd.so.0 (0x00007fd4b3ce8000)
libXau.so.6 => /nix/store/6a49zj2wva8nxw7sidw9j9bp2nifscbw-libXau-1.0.11/lib/libXau.so.6 (0x00007fd4b611b000)
libXdmcp.so.6 => /nix/store/1x0fg2bhf14lk83458c4iir92hc1njjh-libXdmcp-1.1.5/lib/libXdmcp.so.6 (0x00007fd4b5d52000)
libFLAC.so.12 => /nix/store/sklhjxx3i3684xb396hmqydllg0x93lc-flac-1.4.3/lib/libFLAC.so.12 (0x00007fd4b3c66000)
libvorbis.so.0 => /nix/store/n4ma81w9ln2vnpdb0k51r85rbqjg5pdw-libvorbis-1.3.7/lib/libvorbis.so.0 (0x00007fd4b45b2000)
libvorbisenc.so.2 => /nix/store/n4ma81w9ln2vnpdb0k51r85rbqjg5pdw-libvorbis-1.3.7/lib/libvorbisenc.so.2 (0x00007fd4b3954000)
libopus.so.0 => /nix/store/wx88wyz0rzkdpb89b9031bdiq708068q-libopus-1.5.2/lib/libopus.so.0 (0x00007fd4b38ec000)
libogg.so.0 => /nix/store/3q578mzf8nfihvgp2xp3zg8gmajl4whs-libogg-1.3.5/lib/libogg.so.0 (0x00007fd4b45a7000)
libmpg123.so.0 => /nix/store/c8w6papjxdk1ajvlr2qx6sqxgs17v0dr-libmpg123-1.32.9/lib/libmpg123.so.0 (0x00007fd4b388d000)
libmp3lame.so.0 => /nix/store/sdcrlkh3p8n4yvlczl8qqnm0v168gyx4-lame-3.100-lib/lib/libmp3lame.so.0 (0x00007fd4b3813000)
libcap.so.2 => /nix/store/ay424b8c8zv4jviiml73b3qdgv8r83r7-libcap-2.70-lib/lib/libcap.so.2 (0x00007fd4b459b000)
libmvec.so.1 => /nix/store/nqb2ns2d1lahnd5ncwmn6k84qfd7vx2k-glibc-2.40-36/lib/libmvec.so.1 (0x00007fd4b371a000)