Friday, January 19, 2018

Fix for Slime Rancher black screen and performance issues on Ubuntu 17.10



Hey all!

Finally posting on the blog again! (Don't expect a weekly post or anything though; I'm mainly going to use this as a platform to share the things I've learned through troubleshooting, etc. I'll post content whenever I feel the need to.)

The Story


I recently bought a game called Slime Rancher on the Steam winter sale for around $13 (here's the link if you're interested). It's got a simple premise, the gameplay is fairly straightforward, it isn't frustrating, and it's a ton of fun to play. Best of all, it's cross-platform, and even has a version for our beloved open-source operating system!

The only problem is that it doesn't actually work properly out of the box.

The Problem


When I started the game, it loaded to a black screen, no matter how many times I retried loading the game or checking the integrity of the game files. I thought originally that there was some sort of runtime issue (as is often the case with games not loading). I ran it in the terminal and didn't see anything weird on the command line, so I took to the web.

And so I stumbled upon a Steam Community post on this very topic. Except you don't need to (and in fact shouldn't) do most of the stuff it tells you to do.

The Solution


Here's the part that's important. You need to go into the game's properties in the Steam client, select "Set Launch Options..." and type in "-screen-fullscreen 0" (without the quotes). That's it. For whatever reason, the game doesn't load properly if it starts in full screen. Once it loads up, it will go into full screen and allow you to set the resolution for the game, etc.

The problem with their solution


In my experience, you don't need to create a desktop shortcut for this to work, and you certainly don't need to have root privileges to create said shortcut. The forum posts suggests that if there is an error creating the desktop shortcut, run chmod 777 / to temporarily elevate root, and then change it back to 755 afterwards (the problem was that he was trying to create a shortcut on the filesystem root). First of all, if you run that command as a normal user, it will throw a permissions error, i.e.:

chmod: changing permissions of '/': Operation not permitted

Second, if you actually do change the permissions of a folder to 777 (or worse, do it recursively), then you are opening up that folder for any user on the system to be able to read or write from it, regardless of whether they own the file or not. If you do that on the filesystem root, the results could be catastrophic. Don't do that to yourself.

The moral of the story is this: don't go blindly copying and pasting commands from the internet without first knowing what the commands are doing to your system. Especially if they have a sudo tacked on the front.

</rant>

Anyhow, I'd also like to mention performance issues on Linux, since no one else seems to be talking about it.

Performance


I'm running Slime Rancher on my strictly Linux gaming rig, based on an Athlon X4 860K and GTX 960 (build log here; updated here if you're interested in the story behind that). I'm currently running Ubuntu Budgie 17.10.

After a couple of performance tweaks, I'm getting around 60 FPS most of the time, with dips down to 45 FPS and minimum tearing, at the highest graphical settings, vsync off, at 1080p.

Seriously, turn off vsync


I normally like to have vsync on wherever I can, because it usually gives me a smoother experience without any of the tearing, and with minimal input lag. However, I cannot recommend having vsync on for this game, as the stuttering and lag that happens when you do have it enabled is absolutely atrocious. Plus, since the game usually hovers around 60 FPS anyway, the screen tearing that results from having vsync off is hardly noticeable.

Disable unredirect (if applicable)


This is an option that will be specific to your desktop environment, but it actually will give you a noticeable uplift in performance. In Budgie, you can find the setting in the Budgie Desktop Settings here, under "Windows":


YMMV on other desktop environments. I know for a fact that Xfce and Cinnamon have options in their respective settings managers to disable compositing for fullscreen windows (in Xfce it should be under "Window Manager Tweaks, then "Compositing"; in Cinnamon it's under "General"). I believe KDE does as well, but I couldn't point you to where it is off the top of my head.

Conclusion


Slime Rancher is a really fun game, and the issues that it has on Linux are fairly minor and can be mitigated easily. Happy gaming!

No comments:

Post a Comment