PC Gaming on a PS4 via Linux

Hello there. Time for a little adventure. If you want the short and sweet of it, continue following along, but I have a more scatterbrained story over here. Again, none of this would be possible without the reverse-engineering efforts of Marcan and the Devs helping out at SCE Party.

Having had a long history of working with more-savvy-than-I people in the community to get various forms of Linux running on things in the past, I’ve wanted to repurpose my PS4 that is no longer seeing any action.

My original Wii, that “OG” Nintendo DS, my original PSP and my prior Xbox 360 were all given the same homebrew treatment in the past, so why not the PS4 I no longer use? The upside to the PS4 is that it has the guts of a PC compared to the custom stuff of the past. Now, the adventure begins….

Note, for this guide I am using the original 2013 CUH100C1 PS4 model on firmware 7.00, and I will be connected to the internet via a wired Ethernet cable. Your model may differ, but the guide remains the same. For PS4 Pro owners and more recent models, follow the videos of this youtuber to stay up to date on jailbreaks.

The first thing I did, upon finding my old ps4, was get into settings and check out the firmware version. You can view this by going to Settings -> System -> System Information. At the time of my writing this, on Jan 4 2020, only systems running 7.02 or earlier firmware are jailbreak-able. Luckily, having not touched this machine in over a year, it is still on 7.00.

Next, we’ll want to head to our PC of choice, with a flash drive or external hard drive of 128gb minimum at the ready. I only recommend 128gb minimum if you wish to install PC games from Steam on there going forward- 64gb drives work just as well. My daily driver is my Thinkpad P51 running Fedora Linux, but your operating system doesn’t really matter for this part. Go grab the PS4 Gentoo image (this is the January 2020 update) compiled by Marcan and then download Etcher. Etcher has had the highest success rate amongst those I’ve talked to over Telegram and in Youtube comments thus far, so it’s a safe and easy choice. Next, take that Gentoo Image and extract it with 7Zip or gunzip until you have just the file ending in .img. Now, open Etcher, select your flash drive and then your .img file and flash away!

Once Etcher has completed flashing the image to the drive, close it, eject the drive in your OS of choice, and insert it into a free usb port on your PS4. It may be late in this article, but I also recommend having a USB 2.0 or 3.0 hub such as this cheapo one, so that you can have a mouse and keyboard plugged into one port with your drive plugged into the other. My PS4 only had two ports on the front.

Before we jump into the fun Linux-booting times, it is recommended to change some video settings for your PS4 so that the screen won’t turn black. Head over to Settings, and go to Sound and Screen, then Video Output Settings. Then set Resolution to 1080p instead of Automatic or prior settings. Next, turn off HDR from the same menu. Then, back out to the Settings screen again and head to System and disable HDCP! You should be good to go from there.

Now, with the drive inserted, open your built-in Web Browser on the PS4. Close any pages currently loaded and open a new one. Navigate to the Hakku Raifu Exploit Host at this address. Going forward, I’ll be referring to this as HL to keep things simple. Once you’ve reached the page, you should find a menu such as the below image…

Once you are at this menu, select the available exploits for your firmware version. Since my firmware version is closest to 7.02, I’ll select that option. Note that if you don’t want to keep getting nagged by the PS4 trying to update, run the Disable-Updates exploit until it successfully finishes- there will be a pop-up letting you know- in order to make sure you aren’t patched automatically.

For the Linux options in the 7.02 Exploit HL menu, I’ll select the Linux-3GBVRAM option, since I’ve had issues using the 1GBVRAM loader in the past. Note that newer consoles might not have issues using the 1GBVRAM exploit, however my console is apparently only able to load the Linux-3GBVRAM option. The good news here is that the GPU part of your PS4’s processor will gain more memory, allowing for smoother gameplay in Steam games and retro ROMs you load.

ps4linuxexploit.jpg

Note that you may need to leave the webpage open and let it re-run a few times, as it is common to get “not enough system memory” errors when running it. My suggestion here is to hit the Options button, go to Settings and “Clear Website Data” as well as “Delete Cookies” every time you get an out of memory error. Deleting browsing history from the main Options menu can help as well. Eventually, you’ll see the above page and that slide-in notification will let you know the exploit has taken off.

Now, if you have retained that patience, we wait! Eventually the screen will go black and your monitor or TV may complain of the lack of an input. This is totally normal! Just wait for a minute or two. Eventually you’ll be greeted by a screen with penguins at the top and various information scrolling vertically. After that, you should load into a screen that looks like the following…

Hello, Gentoo!

Once you’ve got to this step, congratulations! You’ve succesfully booted to the Linux image on the drive you’ve plugged in! Steam, Retroarch and various other programs have already been installed to this by Marcan, so we just need to do some minor logins and adding roms and we’re good to go!

If you want to know about the rom side of things, Modded Warfare covers that in detail, but I’m just interested in some PC gaming on the PS4 for now, so that’s what I’ll go over next.

Move your mouse down to the hidden dock at the bottom of the screen and click the Playstation icon on the far left.

Type in Gparted in this menu and click the only result. If it asks for a pasword, the default password for this should be “ps4". Click the drop down menu in the top right of this program and select your flash drive or hard drive you are booting from- in my case I’m booting from a 256gb flash drive, so I will choose that, as seen below.

After choosing the ext4 partition, you will want to extend it to fill the rest of the drive, so you have space to install games or download roms etc.

Make sure to drag the arrow to the end of the right side in the menu that follows.

After that, let’s open up Steam!

Click the playstation icon in the bottom dock again and search “steam”. Steam should come up, though it may need to update after getting clicked. Let it update, and then sign into your Steam account , if you have one! I’ve been playing PC games via this service for a few years, so there’s a good library I’ll get to testing soon.

As shown in the screenshot above, I recommend enabling the Proton compatibility layer before you start installing PC games. To do this, click Steam in the top left of the window, then Settings -> Steam Play -> Enable Steam Play For All Other Titles. You will likely have to restart Steam after clicking OK. That’s fine.

At the time of writing this, Proton Experimental should be available, so feel free to test out that option for more recent PC games, but I’m using proton 5.13 for my testing of Hades and Risk of Rain 2….although it seems Risk of Rain 2 may have some issues with the graphical hardware here as it doesn’t open…

But hey! I got Hades to run fine! Had to black out a friend messaging me in the below screenshot. Go ahead and play your Steam games to your heart’s content! ProtonDB can be a valuable resource for getting other Steam games to run…though I highly recommend playing games that are a Platinum rating, as the other rating tiers can require a bit more “hands-on” work to get things running.

Enjoy!

Hades is copyrighted by SuperGiant games, and I’m just using this to prove it will load.

Short Update: M1 Linux excitement, PS4 Future Project

Hello there again!

I’m waiting on some parts to come in for my Linux Gaming project on the PS4. Thankfully, many out there have already made some videos on how to run tethered exploits for the PS4, so it looks like getting Gentoo or Arch running won’t be that difficult. Looking forward to having a spare “gaming pc” sitting around for when people can visit again.

In other exciting news, Marcan, known for his Playstation reverse-engineering in the past, is going to wholly devote himself to working on getting Linux distros running on the new M1 Macs. The target of his project is initially the M1 Mac Mini, and then to support further laptops etc from there. From his Community Stream, he mentioned he intends on having this be a full-time effort he can devote himself to. My knowledge barely scratches the surface of the reverse-engineering and exploits he’s worked on in the past, but it appears the M1 Macs can run alternate kernels other than macOS, so it’ll be interesting to see what work he does there.

I’ve been working on some Raspberry Pi-powered retro consoles and little mini Nextcloud servers for friends, amongst fun handheld terminals, for xmas. We’ll see how everyone likes their little custom projects as presents. I love building little things :)

I’ll update this blog more, and likely have a timestamped dedicated project page, when I have more to report regarding a PS4 running Steam in Linux and am excited for what the future holds! I may be going more mobile in the future, with all the layoffs and economic disasters that have been happening in my country this year, so we’ll have to see.

Have a happy 2021!

My Journey With Gaming on Linux in 2020

Having used various Linux distros on and off since around Fedora Core 2, I started using Linux daily around Q4 2018. 2020 man, what a year for Linux gaming!

I remember back when Valve first worked with various community members to get Proton (SteamPlay) up and running to the point that you could play Windows games on Linux with a fairly button-press solution…then came the GloriousEggroll community releases in years to come, following Valve’s official releases (5.13) with big changes to how containerizing games are handled etc. Needless to say, a lot has happened in the WINE, Proton and Lutris worlds since I first started slowly moving all my games to a Linux install in 2018.

A few friends, such as my buddy Jason, have been posting about gaming on Linux in 2020. These publications inspired me to write my own post about my experiences this year. Believe it or not, excepting Genshin Impact and one other, I haven’t had to use Windows to play any games this year! Such a freeing feeling.

I’ll go into a little more detail on the playability and ease of getting into the games I’ve been playing on Linux this year. I’ll make sure each title name is clickable to send peeps to the associated storefronts or websites as well.


Note that I’ve been running all of these on Fedora 33 on an original Corsair One Pro with 16gb RAM, 1tb SSD, 7th gen Core i7 and GTX 1080 as well as my Thinkpad P51 with 48gb of RAM, Core i7 7th gen and Quadro M1200 4GB.

  • Starcraft II

    • Install Lutris, run the install script, sign into Battle.net afterwards to install it and you’re good to go! Runs fine on my Corsair One Pro and Thinkpad P51

  • Minecraft Java

    • I just install the flatpak that Mojang apparently contributes to, sign in and play the game from there! Flawless on the C1P and Thinkpad.

    • Note that you can also install the Technic Launcher, if you want to play modded installs of Minecraft etc, you just have to download the .jar and then open it in terminal with “java -jar TechnicLauncher.jar” and it will install. Note if you want a desktop shortcut, see here.

  • Oblivion

    • I have the GOTY version of Oblivion from a huge sale on GOG, so I just sign into my GOG account on Lutris, run the install script and I’m good to go! Alternatively, I’ve heard some people enjoy using the community-built Minigalaxy client to install GOG games.

  • Risk of Rain 2

    • This is probably one of my favorite games that released this year. I was looking forward to this and Borderlands 3, but since I’ve had too many glitches and hangs in Borderlands 3 I’ve given up on it and have mainly been playing this. This is a PERFECT 3D roguelike in my opinion!

    • Once you enable SteamPlay (Proton) for all titles in the Settings menu of Steam, you just install this title and you’re good to go! I highly recommend a nvidia 10xx series/Vega 64 or higher GPU for this title though, as it can get pretty heavy when you have a ton of enemies on your screen! The best part of how fun and replayable this title is, is that it’s a one-click install once you have SteamPlay enabled! Just see all the positive Linux feedback on it here!

  • Astroneer

    • Another fun exploration/crafting title on Steam! This game ran for me fine before Valve released Proton 5.13 for some reason, so I’ve been using an older version of Proton from GloriousEggroll that has this game running fine! I just extracted the .tar file with “tar -xvf” and then moved the extracted folder to ~/.steam/root/compatibilitytools.d/ and restarted Steam. Maybe in 2021 I’ll see a Proton release that has it running fine again with no need for older versions!

    • Note that after restarting steam, as of the date of this post, you have to go into game properties and force the older Proton version to get it running.

  • Littlewood

    • This game has a native release for Linux on Steam! Just install and run with no issues! This felt like a fun, peaceful mashup between Stardew Valley, Legend of Zelda and Terraria.

  • Veloren

    • Yet another Linux-native game! This game, which is still in active development, can be installed via Airshipper/flatpak/snap or other methods as listed on their install page! I’ve been using the flatpak with no issues at all. Note that this is a lovely, open source title! It kind of feels like older Legend of Zelda games meet a Minecraft graphics style.

    • Note that while an account is required to keep your save data consistent in the game, they don’t track or mine any of your data, as they wouldn’t want that either.

  • Empire Earth II

    • An oldie but goodie! I have this through GOG so I mainly just run the installer, follow the steps and jump into a game! I’ve also had LAN games with my buddies work fine.

    • Alternatively, I’ve heard some people enjoy using the community-built Minigalaxy client to install GOG games like this one as well.

  • Halo: The Master Chief Collection

    • I have this through Steam as well! I’m once again using the older version of Proton from GloriousEggroll, extracted and moved to the ~/.steam/root/compatibilitytools.d/ directory. This had some problems on 5.13 or newer for me for some reason. I love jumping into some classic Halo 3 and Reach games, though!

    • Note that, for multiplayer, you’ll have to choose to disable EAC when opening the game…as of the time of this writing, you can only play private games with friends. Also you’ll need a Microsoft account to sign in on first launch.

  • Satisfactory

    • Another title through Steam, once again using the older version of Proton from GloriousEggroll, extracted and moved to the ~/.steam/root/compatibilitytools.d/ directory. Runs fine! This game definitely requires a beefy GPU for the textures and the like though, so I’ve only been able to run this on my C1P, as the Thinkpad suffers from loading all the textures.

    • Though this game initially released on Epic Games, I have some problems with the way they run their company, so I waited for release on Steam. You can use your Steam account to “sign into epic games” and play this game on launch.

  • Void Bastards

  • Battlefield 2142 (via Reclamation Project)

    • This game has recently been re-awakened by the community! I’m so happy to see one of my earlier ahead-of-its-time first person shooters get some support from the community! I have no idea how to get this running on Linux yet, so stay tuned for news on that! I might need to install it via the Origin launcher using a CD key purchased off a third-party site….and then add some stuff via the Reclamation project…


Automated GPD Win Max Firmware

Hello there! I finally sort-of-automated the firmware fix for the GPD WIn Max screen!

All you have to do after an install of Fedora Linux, is run my script here and then reboot! One annoying thing is that I found that sudo couldn’t access /lib/firmware so I found that root was needed for the script.

That’s all for now. Maybe I’ll automate some more things in the future!

Fedora Install Script, GeForce Now on Win Max, etc

Just a sweet and short update.

I forked a post-install fedora setup script from a redditor on the fedora reddit.

You can find my script here. I try to keep the good stuff merged in my fork, but this is mainly for setting up a gaming/daily driver laptop with Fedora 32 or newer…though I’m sure it would work on older releases as well. It’s pretty straightforward.

Also found out GeForce Now runs well on the GPD Win Max, due to Wifi 6, so long as your router supports it! Our router is a bit aged so there seem to be intermittent lags, but sadly that’s out of my control so long as I share a residence.

Still working on the GamerOS PC, as the Dell 3020 is having some configuration issues with outputting on the GT 1030 that replaced the RX 550 LP I had laying around. Also, still waiting on the Argon40 M.2 case to properly cool an overclock on my pi 4 8gb model so I can start testing the newest improvements to box86 via TwisterOS!

Also it looks like my buddy Jason will be taking a look at the new all-in-one Raspberry Pi 400 keyboard-based pi computer in the future! Looking forward to that.