View previous topic :: View next topic |
Author |
Message |
krumpf Apprentice
Joined: 15 Jul 2018 Posts: 191
|
Posted: Fri Sep 27, 2024 9:52 am Post subject: Question about llvm profile and games |
|
|
Hi all,
I'm getting curious about the llvm/clang profile, and how does it fare for games. I was wondering :
- does wine work well with modern (64 bits) games such as Cyberpunk2077, Witcher 3 nextgen, etc... ?
- does it work well with older (32 bits) games ? Like the first Deus Ex, Thief 1 & 2, etc... ?
- what about Linux native games ? For example, Necrodancer is linked to libstdc++.so.6, libgcc_s.so.1 and others. Would the game work on a llvm profile using musl and libc++ instead of glibc ?
Code: | krumpf@fractal /mnt/games/Crypt of the NecroDancer/game/NecroDancer64
$ file NecroDancer.x64
NecroDancer.x64: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, not stripped
krumpf@fractal /mnt/games/Crypt of the NecroDancer/game/NecroDancer64
$ ldd NecroDancer.x64
linux-vdso.so.1 (0x00007ffcd2ff5000)
libnecrolevel.so => lib/libnecrolevel.so (0x00007f9bb8400000)
libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007f9bb8dc3000)
libsfml-graphics.so.2.5 => lib/libsfml-graphics.so.2.5 (0x00007f9bb8000000)
libsfml-audio.so.2.5 => lib/libsfml-audio.so.2.5 (0x00007f9bb7c00000)
libsfml-network.so.2.5 => lib/libsfml-network.so.2.5 (0x00007f9bb7800000)
libluajit-5.1.so.2 => lib/libluajit-5.1.so.2 (0x00007f9bb7400000)
libGalaxy64.so => lib/libGalaxy64.so (0x00007f9bb6400000)
libdiscord_game_sdk.so => lib/libdiscord_game_sdk.so (0x00007f9bb5e00000)
libuuid.so.1 => /usr/lib64/libuuid.so.1 (0x00007f9bb8db7000)
libcap.so.2 => /usr/lib64/libcap.so.2 (0x00007f9bb8daa000)
libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x00007f9bb83f2000)
libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x00007f9bb83ea000)
libXcursor.so.1 => /usr/lib64/libXcursor.so.1 (0x00007f9bb83dd000)
libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007f9bb83c8000)
libXi.so.6 => /usr/lib64/libXi.so.6 (0x00007f9bb83b5000)
libXinerama.so.1 => /usr/lib64/libXinerama.so.1 (0x00007f9bb8da3000)
libXxf86vm.so.1 => /usr/lib64/libXxf86vm.so.1 (0x00007f9bb83ab000)
libXss.so.1 => /usr/lib64/libXss.so.1 (0x00007f9bb83a5000)
libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007f9bb7ab6000)
librt.so.1 => /usr/lib64/librt.so.1 (0x00007f9bb83a0000)
libdl.so.2 => /usr/lib64/libdl.so.2 (0x00007f9bb839b000)
libGL.so.1 => /usr/lib64/libGL.so.1 (0x00007f9bb8322000)
libsfml-window.so.2.5 => lib/libsfml-window.so.2.5 (0x00007f9bb5a00000)
libsfml-system.so.2.5 => lib/libsfml-system.so.2.5 (0x00007f9bb5600000)
libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x00007f9bb831b000)
libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/13/libstdc++.so.6 (0x00007f9bb5200000)
libm.so.6 => /usr/lib64/libm.so.6 (0x00007f9bb7f53000)
libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/13/libgcc_s.so.1 (0x00007f9bb82f3000)
libc.so.6 => /usr/lib64/libc.so.6 (0x00007f9bb5c33000)
libz.so.1 => /usr/lib64/libz.so.1 (0x00007f9bb82d9000)
libbz2.so.1 => /usr/lib64/libbz2.so.1 (0x00007f9bb82c4000)
libpng16.so.16 => /usr/lib64/libpng16.so.16 (0x00007f9bb828b000)
libopenal.so.1 => /usr/lib64/libopenal.so.1 (0x00007f9bb769c000)
/lib64/ld-linux-x86-64.so.2 (0x00007f9bb8ea7000)
libFLAC.so.8 => not found
libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007f9bb827c000)
libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007f9bb7f26000)
libGLdispatch.so.0 => /usr/lib64/libGLdispatch.so.0 (0x00007f9bb7a3d000)
libGLX.so.0 => /usr/lib64/libGLX.so.0 (0x00007f9bb73cd000)
libudev.so.1 => /usr/lib64/libudev.so.1 (0x00007f9bb739a000)
libSDL2-2.0.so.0 => /usr/lib64/libSDL2-2.0.so.0 (0x00007f9bb5854000)
libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007f9bb8274000)
libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x00007f9bb7f1e000)
libasound.so.2 => /usr/lib64/libasound.so.2 (0x00007f9bb5511000)
libsamplerate.so.0 => /usr/lib64/libsamplerate.so.0 (0x00007f9bb5091000)
libwayland-egl.so.1 => /usr/lib64/libwayland-egl.so.1 (0x00007f9bb7f1a000)
libwayland-client.so.0 => /usr/lib64/libwayland-client.so.0 (0x00007f9bb7a2a000)
libwayland-cursor.so.0 => /usr/lib64/libwayland-cursor.so.0 (0x00007f9bb7f10000)
libxkbcommon.so.0 => /usr/lib64/libxkbcommon.so.0 (0x00007f9bb7350000)
libdecor-0.so.0 => /usr/lib64/libdecor-0.so.0 (0x00007f9bb7a20000)
libffi.so.8 => /usr/lib64/libffi.so.8 (0x00007f9bb768f000)
|
_________________ Dragon Princess Music Games Heroes and villains |
|
Back to top |
|
|
Ralphred l33t
Joined: 31 Dec 2013 Posts: 668
|
Posted: Sat Sep 28, 2024 6:20 am Post subject: Re: Question about llvm profile and games |
|
|
krumpf wrote: | - does wine work well with modern (64 bits) games such as Cyberpunk2077, Witcher 3 nextgen, etc... ? | Yes; CP2077 is "under optimised" in any environment, wine actually helps to mitigate this. Whislt I get lower (like under 80) FPS in Gentoo through wine with CP2077, it's a smoother experience with more predictable frametimes - a plus in my book.
krumpf wrote: | - does it work well with older (32 bits) games ? Like the first Deus Ex, Thief 1 & 2, etc... ? | I don't have a huge variety of 32bit games to test with, and steam shits the bed if you let it "background" compile the vulkan shader cache for 32bit games, but aside from that they work.
krumpf wrote: | - what about Linux native games ? For example, Necrodancer is linked to libstdc++.so.6, libgcc_s.so.1 and others. Would the game work on a llvm profile using musl and libc++ instead of glibc | I don't know about llvm, but there comes a point at which trying to maintain a "static system" for native becomes more of a chore than losing a few fps and just letting them run through an ancient version of proton/wine - it's much easier to keep them around than an old glibc. I recently just ticked the box for "run via steam play" on my Tomb Raider back catalogue, because the Feral Interactive native versions no longer "work OotB" like they used to.
I think llvm/musl is going to very much be a "suck it and see" situation, sorry, but technically if you can recompile wine/proton in that environment then they should "just work". |
|
Back to top |
|
|
Naib Watchman
Joined: 21 May 2004 Posts: 6069 Location: Removed by Neddy
|
Posted: Sun Sep 29, 2024 1:01 am Post subject: |
|
|
my system is almost llvm compiled and some llvm release in the past caused major issues with STEAM games. unfortunate but it is why started using flatpak since it resolves this conflict _________________ #define HelloWorld int
#define Int main()
#define Return printf
#define Print return
#include <stdio>
HelloWorld Int {
Return("Hello, world!\n");
Print 0; |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|