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?
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
Launch the game and let it crash or whatever. There will be a steam-$APPID.log in your home directory.
Well, back at it again. Tried ProtonGE with the same results. But the vulkan logs are interesting!
cat ~/steam-220200.log | grep err
err: Presenter: Failed to create Vulkan swapchain: VK_ERROR_INITIALIZATION_FAILED err: Presenter: Failed to create Vulkan swapchain: VK_ERROR_INITIALIZATION_FAILED err: Presenter: Failed to create Vulkan swapchain: VK_ERROR_INITIALIZATION_FAILED err: Presenter: Failed to create Vulkan swapchain: VK_ERROR_INITIALIZATION_FAILED err: Presenter: Failed to create Vulkan swapchain: VK_ERROR_INITIALIZATION_FAILED err: Presenter: Failed to create Vulkan swapchain: VK_ERROR_INITIALIZATION_FAILED
EDIT: more context
info: Presenter: Actual swapchain properties: info: Format: VK_FORMAT_B8G8R8A8_SRGB info: Color space: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR info: Present mode: VK_PRESENT_MODE_IMMEDIATE_KHR (dynamic: no) info: Buffer size: 1920x1080 info: Image count: 4 err: Presenter: Failed to create Vulkan swapchain: VK_ERROR_INITIALIZATION_FAILED
It’s filled with this error. The entire log is massive I cant even upload it to pastebin. If you want me to search for something specific lmk or how I can supply the entire log.
EDIT2: also found:
99664.262:00d4:00d8:err:xrandr:xrandr14_get_adapters Failed to get adapters 99670.682:0180:0184:err:ole:com_get_class_object class {82c5ab54-c92c-4d52-aac5-27e25e22604c} not registered 99670.683:00e8:033c:warn:threadname:NtSetInformationThread Thread renamed to L"wine_rpcrt4_io" 99670.683:0180:0184:err:ole:create_server class {82c5ab54-c92c-4d52-aac5-27e25e22604c} not registered 99670.684:0180:0184:fixme:ole:com_get_class_object CLSCTX_REMOTE_SERVER not supported 99670.684:0180:0184:err:ole:com_get_class_object no class object {82c5ab54-c92c-4d52-aac5-27e25e22604c} could be created for context 0x15
Hmmm, this gets some hits. It seems like it isn’t able to figure out which driver to use.
You can specify the driver that Vulkan should use by adding an environmental variable VK_ICD_FILENAME set the the json file for your card.
Try editing a game and changing the launch options to:
This removes that “Failed to get adapters” error from the proton log but the behavior remains the same and the VK_ERROR_INITIALIZATION_FAILED still persists
I just noticed my reply from my phone didn’t go through x.x
This seems a lot like you’re missing some 32bit libraries. There isn’t a /usr/share/vulkan/icd.d/radeon_icd.i386.json listed in the vulkan logs.
I have no idea how they’d be named in PopOS, but I’d look into vulkan first. You may have the vulkan-radeon 64bit drivers , but not the 32bit. Wine needs the 32bit libraries for the time being.
Check
(or post all of dkpg -l if it isn’t too long)
to see if you have the i386 version of the vulkan radeon drivers (for reference, in arch this is lib32-vulkan-radeon, possibly the same in PopOS)
If not install them (apt search vulkan and look for something with vulkan, radeon and i386 in the file name)
looks like it is.
The whole log is too large for lemmy, but here is a pastebin link: https://pastebin.com/sxU2QYTc
System76 is advising I go full nuclear and reinstall from recovery partition, which I don’t really think would fix anything and I’m hesitant to do.
Yeah, you have Vulkan and Mesa and the GPU drivers are in the kernel. That’s the whole stack (along with Proton).
Before reinstalling completely, run a full system upgrade, I took this from system76s support page:
You’re also likely using some flatpak applications, so:
Then reboot.
They want you to reinstall because walking you through a fresh install is just more time efficient for their support staff than trying to troubleshoot system configuration problems (imagine the possible things a random user could change x.x).
Well, that didn’t work so I proceeded with the fresh install.
It works right out of the box. No strange behavior and it’s lightning fast. I’m both relieved to have it working and a little sad that the answer was “kill it with fire” as I’ve learned nothing.
Anyway, thank you for your help. :) Time to go get everything up again
Dude, the number of times I’ve resorted to a reinstall are innumerable. You know a bit more than you did yesterday and that isn’t nothing.
If you want to try a new project that’ll need tinkering with (but won’t break your existing install) look at gamescope.
Currently it’s the only way to get HDR and variable refresh rate to work. It’s what Valve made to get those features into the Steamdeck.
You just run it with
In your steam launch options. You’ll need to look up the options (otherwise it defaults to 720p@60hz). Ex:
For 4k. There’s a switch for HDR too but I don’t remember it without looking it up. You can use gamescope to enable FSR in any game, it can apply reshade shaders (so, things like anti aliasing in games that don’t have it natively).
Other than that, any issues you have with a particular game can usually be solved by looking at protondb.com
Keep using the GE-Proton builds of proton for best results.
Have fun 🤓