Confused on Steam Play and Proton? Be sure to check out our guide.
Getting PixelJunk Shooter to run natively on a modern (AMD) system
Dysomnia Sep 17

We've started to play this game on a Linux laptop with an nvidia GPU:

While it crashed a few time it was overall playable. As with a lot of Linux games of that time period (~10 years old), it shipped with its own version of libSDL2 which has to be deleted because it's incompatible with modern systems.

However, when trying to run the game on my main PC with an AMD GPU, that's not enough. While the game starts, it only shows a black screen, even though audio and control responsiveness suggest that the game itself should be working. If you wait for a bit, the game goes into "preview" mode, showing a few of the levels - which are very broken, entire sections of the map (rock, fluids, enemies) have vanished, the game is cleary missing some resources. According to the internet, the game uses the GPU for parts of the game logic, and apparently on nvidia hardware this still works, not so much on the AMD side. Which is weird, because it's OpenGL and hence should behave the same on both?

There are a two obvious solutions:

- Just continue playing on the laptop (valid, it's probably what we'll be doing)
- Use Proton

The weird thing with Proton is that while it runs flawlessly, the savegames don't seem to be cross platform. They have the same name and size and look identical on Linux and "Windows", but they are just not recognized in their counterpart versions, even after double and triple checking their correct save locations.

In any case, this has become more of a "science project" because it'd be really interesting to find out what causes this behavior. Not expecting a lot of answers because this a bit of an oddity, but wanted to try anhow, so thanks for anyone reading this and maybe dropping a few hints
This topic has an answer marked - jump to answer.
Dysomnia Sep 17
... are you a wizard

That actually works, thanks!

So the game just doesn't like multi-threaded rendering. Was expecting something more complicated, but I'm certainly not complaining .
whizse Sep 17
Quoting: DysomniaSo the game just doesn't like multi-threaded rendering. Was expecting something more complicated, but I'm certainly not complaining .
Yes, it should probably be reported to Mesa so a work around can be added for this game, but no sweat if you don't have the time to do so!
Grogan Sep 17
Yes, mesa_glthread still shouldn't be enabled by default. I thought that was an arsehole move, because it is detrimental to some games and applications. Not on my system they don't. (I patch gallium/drivers/radeonsi/driinfo_radeonsi.h)

That is almost always detrimental on my hardware. Even in the eON port of Bioshock Infinite where it's purported to improve performance significantly. It's worse with it enabled for me.

Mozilla still unconditionally disables that at launch (even if you push mesa_glthread=true lol), no matter what driver you are using because it's bad juju.
Dysomnia Sep 17
I unfortunately have to backtrack a little

While the game now starts with menus, level select screen etc. loading correctly, when I actually try to play a level it's absolute chaos. The player ship skips all over the place and everything pertaining to the game logic seems completely broken, for example fluid / smoke behaviour, collision detection...

This has been discussed on the Steam forums: (#6)

and doesn't seem to have a solution for AMD cards.

Smells a bit like the game is using old proprietary nvidia stuff like PhysX
Grogan Sep 18
Quoting: DysomniaSmells a bit like the game is using old proprietary nvidia stuff like PhysX

Forced hardware PhysX would make the game unplayable for a lot of people, it would be very foolish. It would pretty much be an Nvidia exclusive game.

It's more likely that it's just foolish OpenGL programming. Trial and error programming on Nvidia. It's quite common, unfortunately.

You may have better luck running the Windows version, but if it's using the same OpenGL renderer, you may have the very same problems there too.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone with no article paywalls. We also don't have tons of adverts, there's also no tracking and we respect your privacy. Just good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register

Or login with...
Sign in with Steam Sign in with Google
Social logins require cookies to stay logged in.