9

I purchased a system76 Thelio Mira Elite With a AMD Radeon RX 7900 XT. I kinda regret not going with Nvidia at this point but it is what it is. I primarily use it as a developer workstation, but want to play games on it as well so I can be rid of my windows box.

I didn't expect it to be able to play the latest and greatest games but I did expect it to be able to play older titles reasonably well. Games launch from steam and seem to work, but I'm getting between 0 and 10 fps on the title screen of Kerbal Space Program. Other games are similarly functional but poorly performing.

Where do I start? How can I ensure my GPU is being leveraged? Is this as good as it gets?

you are viewing a single comment's thread
view the rest of the comments
[-] FauxLiving@lemmy.world 1 points 6 months ago* (last edited 6 months ago)

Stay with experimental for now.

Do other games show a similar behavior or is it limited to KSP?

BG3 should work fine (was just playing it on Linux about 30m ago, but Arch, btw, etc).

You can get some extra logging from steam, if you exit completely and the, in a terminal, run:

steam -d

It'll start Steam but output a lot of info to the terminal. The bit we're interested in isn't the stuff that it generates while Steam is starting. We want the bit that happens when you press play on a game. It'll output the information about the important bits (like the Vulkan device, driver versions, monitors, etc )

Make sure there's no obvious account info in the logs (there shouldn't be, but always check) and post that.

I'm off to bed but I'll check in with you tomorrow

[-] zamithal@programming.dev 1 points 6 months ago

Well I've installed BG3 just for the sake of testing and the DX11 launch results in a black screen. The Vulkan launch options crashing immediately...

Here is my steam logs when launching KSP I think the only thing of interest is this:

pressure-vessel-wrap[42106]: W: "opt/amdgpu/share/libdrm" is unlikely to appear in "/run/host"
pressure-vessel-wrap[42106]: W: "opt/amdgpu/share/drirc.d" is unlikely to appear in "/run/host"
Adding process 42106 for gameID 220200
Adding process 42107 for gameID 220200
pressure-vessel-wrap[42106]: I: pv_runtime_provide_container_access: Setting up runtime without using bwrap
pressure-vessel-wrap[42106]: I: EGL ICD #0 at /usr/share/glvnd/egl_vendor.d/50_mesa.json: libEGL_mesa.so.0
pressure-vessel-wrap[42106]: I: Vulkan ICD #0 at /usr/share/vulkan/icd.d/intel_hasvk_icd.i686.json: /usr/lib/i386-linux-gnu/libvulkan_intel_hasvk.so
pressure-vessel-wrap[42106]: I: Vulkan ICD #1 at /usr/share/vulkan/icd.d/radeon_icd.x86_64.json: /usr/lib/x86_64-linux-gnu/libvulkan_radeon.so
pressure-vessel-wrap[42106]: I: Vulkan ICD #2 at /usr/share/vulkan/icd.d/intel_icd.x86_64.json: /usr/lib/x86_64-linux-gnu/libvulkan_intel.so
pressure-vessel-wrap[42106]: I: Vulkan ICD #3 at /usr/share/vulkan/icd.d/virtio_icd.i686.json: /usr/lib/i386-linux-gnu/libvulkan_virtio.so
pressure-vessel-wrap[42106]: I: Vulkan ICD #4 at /usr/share/vulkan/icd.d/intel_icd.i686.json: /usr/lib/i386-linux-gnu/libvulkan_intel.so
pressure-vessel-wrap[42106]: I: Vulkan ICD #5 at /usr/share/vulkan/icd.d/radeon_icd.i686.json: /usr/lib/i386-linux-gnu/libvulkan_radeon.so
pressure-vessel-wrap[42106]: I: Vulkan ICD #6 at /usr/share/vulkan/icd.d/intel_hasvk_icd.x86_64.json: /usr/lib/x86_64-linux-gnu/libvulkan_intel_hasvk.so
pressure-vessel-wrap[42106]: I: Vulkan ICD #7 at /usr/share/vulkan/icd.d/lvp_icd.i686.json: /usr/lib/i386-linux-gnu/libvulkan_lvp.so
pressure-vessel-wrap[42106]: I: Vulkan ICD #8 at /usr/share/vulkan/icd.d/virtio_icd.x86_64.json: /usr/lib/x86_64-linux-gnu/libvulkan_virtio.so
pressure-vessel-wrap[42106]: I: Vulkan ICD #9 at /usr/share/vulkan/icd.d/lvp_icd.x86_64.json: /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
pressure-vessel-wrap[42106]: I: Vulkan explicit layer #0 at /usr/share/vulkan/explicit_layer.d/VkLayer_INTEL_nullhw.json: libVkLayer_INTEL_nullhw.so
pressure-vessel-wrap[42106]: I: Vulkan explicit layer #1 at /usr/share/vulkan/explicit_layer.d/VkLayer_MESA_overlay.json: libVkLayer_MESA_overlay.so
pressure-vessel-wrap[42106]: I: Vulkan implicit layer #0 at /home/zamithal/.local/share/vulkan/implicit_layer.d/steamfossilize_i386.json: /home/zamithal/.steam/debian-installation/ubuntu12_32/libVkLayer_steam_fossilize.so
pressure-vessel-wrap[42106]: I: Vulkan implicit layer #1 at /home/zamithal/.local/share/vulkan/implicit_layer.d/steamfossilize_x86_64.json: /home/zamithal/.steam/debian-installation/ubuntu12_64/libVkLayer_steam_fossilize.so
pressure-vessel-wrap[42106]: I: Vulkan implicit layer #2 at /home/zamithal/.local/share/vulkan/implicit_layer.d/steamoverlay_i386.json: /home/zamithal/.steam/debian-installation/ubuntu12_32/steamoverlayvulkanlayer.so
pressure-vessel-wrap[42106]: I: Vulkan implicit layer #3 at /home/zamithal/.local/share/vulkan/implicit_layer.d/steamoverlay_x86_64.json: /home/zamithal/.steam/debian-installation/ubuntu12_64/steamoverlayvulkanlayer.so
pressure-vessel-wrap[42106]: I: Vulkan implicit layer #4 at /usr/share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json: libVkLayer_MESA_device_select.so
pressure-vessel-wrap[42106]: I: Capturing glvnd loadable module #0: /usr/share/glvnd/egl_vendor.d/50_mesa.json
pressure-vessel-wrap[42106]: I: Checking for implementation on x86_64-linux-gnu: libEGL_mesa.so.0
pressure-vessel-wrap[42106]: I: Captured glvnd loadable module #0: /usr/share/glvnd/egl_vendor.d/50_mesa.json
pressure-vessel-wrap[42106]: I: Implementation on x86_64-linux-gnu: SONAME
pressure-vessel-wrap[42106]: I: Capturing vulkan loadable module #0: /usr/share/vulkan/icd.d/intel_hasvk_icd.i686.json
pressure-vessel-wrap[42106]: I: Checking for implementation on x86_64-linux-gnu: /usr/lib/i386-linux-gnu/libvulkan_intel_hasvk.so
pressure-vessel-wrap[42106]: I: Capturing vulkan loadable module #1: /usr/share/vulkan/icd.d/radeon_icd.x86_64.json
pressure-vessel-wrap[42106]: I: Checking for implementation on x86_64-linux-gnu: /usr/lib/x86_64-linux-gnu/libvulkan_radeon.so
pressure-vessel-wrap[42106]: I: Capturing vulkan loadable module #2: /usr/share/vulkan/icd.d/intel_icd.x86_64.json
pressure-vessel-wrap[42106]: I: Checking for implementation on x86_64-linux-gnu: /usr/lib/x86_64-linux-gnu/libvulkan_intel.so
pressure-vessel-wrap[42106]: I: Capturing vulkan loadable module #3: /usr/share/vulkan/icd.d/virtio_icd.i686.json
pressure-vessel-wrap[42106]: I: Checking for implementation on x86_64-linux-gnu: /usr/lib/i386-linux-gnu/libvulkan_virtio.so
pressure-vessel-wrap[42106]: I: Capturing vulkan loadable module #4: /usr/share/vulkan/icd.d/intel_icd.i686.json
pressure-vessel-wrap[42106]: I: Checking for implementation on x86_64-linux-gnu: /usr/lib/i386-linux-gnu/libvulkan_intel.so
pressure-vessel-wrap[42106]: I: Capturing vulkan loadable module #5: /usr/share/vulkan/icd.d/radeon_icd.i686.json
pressure-vessel-wrap[42106]: I: Checking for implementation on x86_64-linux-gnu: /usr/lib/i386-linux-gnu/libvulkan_radeon.so
pressure-vessel-wrap[42106]: I: Capturing vulkan loadable module #6: /usr/share/vulkan/icd.d/intel_hasvk_icd.x86_64.json
pressure-vessel-wrap[42106]: I: Checking for implementation on x86_64-linux-gnu: /usr/lib/x86_64-linux-gnu/libvulkan_intel_hasvk.so
[-] FauxLiving@lemmy.world 1 points 6 months ago

No errors, that's good and also not useful :/

As an aside, this is likely not the problem, but a good tip in general, is to use protonup to install GE-Proton (https://github.com/GloriousEggroll/proton-ge-custom). It is a community fork which essentially Proton Experimental + community fixes. The System76 article I linked above has the instructions (TL;DR, install protonup (terminal) or protonup-qt (GUI) and they'll grab it for you and put it in the right directory, restart Steam and select the new version from the Compatibility menu either globally or per-game).

You essentially always want to be using the latest version of Proton unless something that was working breaks in a newer version.

So, next step, more logs:

You can enable proton logging by setting PROTON_LOG=1 as an environmental variable. You can do this per-game by right clicking a game -> Properties -> General and editing the launch options to say

PROTON_LOG=1 %command%

Launch the game and let it crash or whatever. There will be a steam-$APPID.log in your home directory.

this post was submitted on 16 Feb 2025
9 points (100.0% liked)

Linux Gaming

20740 readers
324 users here now

Discussions and news about gaming on the GNU/Linux family of operating systems (including the Steam Deck). Potentially a $HOME away from home for disgruntled /r/linux_gaming denizens of the redditarian demesne.

This page can be subscribed to via RSS.

Original /r/linux_gaming pengwing by uoou.

No memes/shitposts/low-effort posts, please.

Resources

WWW:

Discord:

IRC:

Matrix:

Telegram:

founded 2 years ago
MODERATORS