Install Private Internet Access VPN on Stem Deck

I’m trying to install PIA, but the issue I’m running into is Valve has the file system set to Read-only and the install script can’t put a .png file where it wants to. I read that enabling Development Mode would fix this and I found a setting in Steam’s interface, but doesn’t fix my issue. Anyone know a good way to get this to install?

(deck@steamdeck Downloads)$ ./pia-linux-3.3-06906.run
Verifying archive integrity… 100% MD5 checksums are OK. All good.
Uncompressing Private Internet Access 100%

Private Internet Access Installer

Installing PIA for x86_64, system is x86_64
Detected a previous install but no service installed - assuming no service should be configured
[sudo] password for deck:

:check_mark: Copied Private Internet Access files

:check_mark: Allow non-root /opt/piavpn/bin/pia-unbound to bind to privileged ports

:check_mark: Created var folder

cp: cannot create regular file ‘/usr/share/pixmaps/piavpn.png’: Read-only file system

EDIT: I found the command I needed.

steamos-readonly disable

I found this post as I too have had issues installing PIA on Steam Deck. First I tried the installed downloaded from the PIA website…no luck. Then I tried the Konsole/Terminal commands from the PIA website…no luck.

I realise that SteamOS updates seem to bork the PIA install but, honestly, I don’t mind re-installing PIA, as the updates are not super often.

Can anyone please provide a noob like myself a step-by-step installation flow to get this working on the Steam Deck? Thanks!

is pia confirmed working? I disabled readonly as mentioned here but when I launched it, the program just gets stuck on a spinning logo

I figured this out. Just download the individual config files from PIA and use the settings-> add connection → open VPN → load from config file. Then just use your username and password. Not as nice, but it works…
https://helpdesk.privateinternetaccess.com/kb/articles/where-can-i-find-your-ovpn-files

So I got it installed, but it’s kinda…loading forever. Any advice?

For people wondering how to install it first download the latest build second open konsole and disable read only with

sudo steamos-readonly disable

Next
Select the pia.run file click it go properties then permissions and tick is executable then click ok next open fish
Drag and drop the pia.run file in to the fish terminal and enter your password and you are done

Hi could you share a step b y step guide for noobs on how you managed ? I am also trying to install on steam deck but not very good with linux hence I am stuck

Did anyone got this working? I install and run PIA but a small window with the logo and spinning circle appears that spins infinitely; Any ideas?

(I’m aware that it will be wiped after each SteamOS update)

You need to run the script as sudo

Is there a solution yet?

Were you able to run the readonly disable not as root like you line states? It wont let me… and running it as root it still states its in readonly… even though when i run the line again it says its already in read-write

Off the top of my head not sure exactly why you’re getting that issue, but I actually do need to find a different solution because even though I was able to get PIA operating when Valve pushes an update it replaces the system files that PIA had edited and breaks it again.

having the same issue as you. any workarounds?

For those stuck on spinning logo, try the following:

The problem is caused by installing it before you disable the readonly. If you do that and get the error and then disable and then install… it looks like it works, but it doesn’t, and you have the spinning situation.

I’ve had this problem with some other things I’ve installed on my deck. Always disable first, and if you goof it up, make sure you do a clean uninstall of the thing before trying again.

When I try this, I get “missing VPN plug-in”. Any suggestions here?

Hey actually I discovered that when Valve updates it wipes these changes. So, if anyone knows of a way to make non-flatpack applications stick I’d love to know!

Heh, I thought that but then it tells you it has to be run as a normal user.

(deck@steamdeck Downloads)$ sudo ./pia-linux-3.3-06906.run

[sudo] password for deck:

Verifying archive integrity… 100% MD5 checksums are OK. All good.
Uncompressing Private Internet Access 100%

Private Internet Access Installer

This script must be run as a normal user, not root.

i think /usr will still be read-only… i got the same errors when i try to install things via pacman… how to get rid of read only?

This is incorrect: if you run the script as Sudo, the script will give you an error, saying do not run the script as Sudo run it as a standard user. If you run it correctly as a standard user without Sudo, once the script starts to run. It will prompt you for Sudo access to install the service.

Not that I’m aware of because non-flatpack software gets removed on updates. That said I wonder if setting the sticky bit would cause it to persist… May look into that.