Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Question about llvm profile and games
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gamers & Players
View previous topic :: View next topic  
Author Message
krumpf
Apprentice
Apprentice


Joined: 15 Jul 2018
Posts: 184

PostPosted: Fri Sep 27, 2024 9:52 am    Post subject: Question about llvm profile and games Reply with quote

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
View user's profile Send private message
Ralphred
Guru
Guru


Joined: 31 Dec 2013
Posts: 576

PostPosted: Sat Sep 28, 2024 6:20 am    Post subject: Re: Question about llvm profile and games Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gamers & Players All times are GMT
Page 1 of 1

 
Jump to:  
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