28 March 2021

Cyberpunk 2077

Cyberpunk 2077 on Arch Linux (an image of V leaving Night City)

The 28th of March 2021 is a good day for Cyberpunk 2077 and Arch Linux. It’s the day Mesa 21 got from testing Arch Linux repositories into regular extra. It means that everything we need to play is finally available without any extra hustle, if you are rocking an AMD GPU. Mesa is something like the userspace part of a video card driver and it was the last piece of the puzzle.

Cyberpunk 2077 itself is a controversial topic. I know some people who dislike and it’s alright, tastes differ. Especially with the game came out with a plethora of bugs and some mechanics unfinished or broken. A lot of hyped expectations were broken. It’s not a GTA 5 in cyberpunk future, not a good shooter (especially at the beginning of the game). We can go through many genres to figure out that Cyberpunk 2077 is not the best in there but it’s not meant to be. What I can’t understand is the overall amount of hatred towards the game. So I’d like to devote the next part of this post to some love towards this awesome adventure.

It’s a game I’ve enjoyed since the release and up to the completion of the game(for two times). Furthermore, I plead guilty to preordering it and excited to get DLCs. Let’s take a quick look at the reasons I like it so much. There is a technique of creating an illusion of well thought out world: you go into extreme details from the get-go, then you’re free to go below average. This works because first encounter matters and you can nail it. Players, readers or viewers get so impressed with the amount of effort and love that you’ve put into the first part of your creation, that they assume that it’s true for the whole thing. It sometimes works but occasionally we can figure out the unfortunate truth. Superliminal is a good example. The first part of the game keeps you entertained by regularly breaking expectations, sneaking jokes (smile cursor, mini soda) and puzzles. Closer to the end it changes. Partly it’s motivated by the main character getting into a darker place but, as I see it, the game just got considerably less interesting. I’ve struggled to finish it. With all of this said, Superliminal is an interesting game that’s definitely worth a try. I just regret that it’s not awesome all the way through.

Back to the main hero of this post - Cyberpunk 2077. It’s an awesome blend of many different things but the reason why this game is soooo good - all of those things are made with love and care. The amount of details is beyond anything I’ve expected. A great deal of them is easy to miss because they are not the “in you face” type. Some are just there in case you’ve decided to turn your head away from the main action. Some hidden deep underwater. Some you just accidentally eavesdrop. And the list can go on and on.

The whole playable world is tightly connected with materials you can read. Cyberpunk 2077 is full of this stuff. Messages on your phone, articles and notes on shards, messages on other NPC computers. Drama, humor and just Night City, all can be found there.

Interactions with NPCs aren’t meaningless. It’s questionable, how much they impact the story in general, but they definitely feel like genuine human relationships. For example, if you mention the death of a close friend to Panam, she’ll raise a toast for this person much later in the game, when an opportunity comes. It hits home hard because by that point both of them are in your heart.

All of this sums up into a believable story, characters and the world. Isn’t it the most important part of a Role Play game?

I have no regrets of playing two weeks straight and more later. It’s not perfect, but it’s most definitely a masterpiece.

Thanks to youtuber CROWNED we can check out how beautiful it can be: {{ blog_youtube(id=“Vv110C3olIk”) }}

Relationship with Linux

Cyberpunk is available on PC and Stadia. Looks somewhat great! Unfortunately, PC means Windows in this case and while Stadia is running Linux under the hood, there is no native Linux build publicly available. There are reasons for it. Linux is not only an ever-moving target, there is no well knows target for developers to follow. Every distribution is different and it’s beautiful! Stadia on the other hand provides a very particular set of libraries and the rest of the underlying stuff. So here we are with a Linux build only up there, in the clouds.

How bad is it? It’s rather good, actually! Turns out Proton is a good target for developers. More so if developers are aware of it.

Cyberpunk 2077 was not possible with Proton and Mesa we had. Usually, it means that after release community has to step up and figure out, what’s wrong and fix it on our side. This time things were different! On release day we had a new version of Proton (thanks to Andrew Eikum from CodeWeavers) and all necessary changes in the development branch of Mesa. It means release day Linux support for such a huge title! Not the easiest one, but it was there. For the platform CDPR doesn’t support. It’s a contribution well outside their responsibility even if it’s not code directly.

The fact of going this far and doing so before release shows how much the team cares about this project. Now we can easily enjoy it in Steam on Arch Linux. As a cherry on the top, Cyberpunk 2077 recognises my DualShock 4 and renders relevant UI.

Photo mode

Photo mode in this game is awesome, but it’s a bit tricky to find your screenshots in Linux version. Since we are running the Windows version of the game, it thinks in Windows terms. By default, it saves screenshots in C:/Users/%user%/Pictures/Cyberpunk 2077/. All we have to do is find where it is in our setup. Unfortunately, it’s not ~/Pictures/Cyberpunk 2077, because there is no mapping of disk C used by proton to your home directory. Let’s find this C disk. I’m using a version of Proton provided by Steam and there is a special place for proton files inside Steam file tree. For me it’s:

~/.local/share/Steam/steamapps/compatdata/1091500/pfx/drive_c/users/steamuser/My\ Pictures/Cyberpunk\ 2077/`

The game ID, a number between comatdata and pfx, may be different for you. To be sure that it’s the correct directory create some screenshots prior to the search.

We can make working with screenshots a bit by creating a symlink, that leads the game to our desired location for screenshots. First, we need to save existing screenshots in some other location, then create a destination directory & delete the one used by the game. I’ve achieved this by a simple move: mv ~/.local/share/Steam/steamapps/compatdata/1091500/pfx/drive_c/users/steamuser/My\ Pictures/Cyberpunk\ 2077 ~/Pictures/

The only thing left is to create a symlink: ln -s ~/Pictures/Cyberpunk\ 2077 ~/.local/share/Steam/steamapps/compatdata/1091500/pfx/drive_c/users/steamuser/My\ Pictures/Cyberpunk\ 2077

From now on your in-game masterpieces are going to be conveniently stored in a comfort of a home directory.