Phantasy Star Online 2 New Genesis

Phantasy Star Online 2 New Genesis

Not enough ratings
Playing PSO2(NGS) on Linux Without Stuttering
By easthighNerd
Wanna play PSO2(NGS) on Linux? There's a bit that needs to be done ahead of time, but it's actually pretty easy! Allow me to show you how!
2
   
Award
Favorite
Favorited
Unfavorite
[0] A Little Bit of Upfront Information
Okay, so you're gonna need a couple of things before we can get underway here:

  • At least 200GiB of free space on whatever drive you plan to install PSO2 onto
  • Access to a terminal/command line (commands here can be copy/pasted, so don't worry)
  • An empty or nonexistant PHANTASYSTARONLINE2_NA_STEAM folder
  • The ability to use sudo

So, (at least) most file systems on Linux (i.e. ext4, btrfs) are case sensitive file systems, which means that if you have a file called foo and another called Foo, they are completely different files

This is in contrast to Windows and it's NTFS file system, which is case insensitive, which means that foo and Foo would be the same file (and only one could exist)

The way that Proton and PSO2 do their file loading (which to my knowledge traces back to how WINE handles it) it ends up taking forever on a case sensitive file system, and as a result causes a rather noticable stuttering, and causes the frame rate and loading times of assets (models, maps, etc.) to tank

So what can we do here?

Well, read on to find out!
[1] Creating/Emptying the PHANTASYSTARONLINE2_NA_STEAM Folder
Alright, so first thing's first, we're gonna need an empty PHANTASYSTARONLINE2_NA_STEAM folder

If you've already installed PSO2, go ahead and delete EVERYTHING inside of the PHANTASYSTARONLINE2_NA_STEAM folder (or just delete the folder itself)

If you haven't installed PSO2 yet (or deleted the folder for it) you're gonna need to create it

The location for the folder will be inside your .steam folder, the exact path being /home/{YOUR_USER_NAME}/.steam/steam/steamapps/common/ (if Steam's installed via Flatpak, .steam should be in /home/{YOUR_USER_NAME}/.var/app/com.valvesoftware.Steam/)

Go ahead and create a folder in there named PHANTASYSTARONLINE2_NA_STEAM (this can be done in a terminal via the below command)
mkdir -p ${HOME}/.steam/steam/steamapps/common/PHANTASYSTARONLINE2_NA_STEAM
[2] Creating the File to House PSO2
Next up, you're gonna need to allocate a 110-150GiB file to keep PSO2 housed in (hence why at least 200GiB free space is needed)

Simply run
fallocate -l 150GiB ${HOME}/.steam/steam/steamapps/common/PSO2
and that'll create a file of the specified size in the designated location
[3] Formatting the PSO2 File
Okay, now that we've created a file to keep PSO2 in, now it's time to format it

The file will be formatted as ext4 with strict case folding

Go ahead and run
sudo mkfs.ext4 -O casefold -E encoding_flags=strict ${HOME}/.steam/steam/steamapps/common/PSO2

Since the command above is being run with sudo, you'll need to enter your password at the prompt
[4] Mounting the PSO2 File
Okay, now that the file's been created, and you've formated it, now it's time to mount it to the PHANTASYSTARONLINE2_NA_STEAM folder

Go ahead and run
sudo mount ${HOME}/.steam/steam/steamapps/common/PSO2 ${HOME}/.steam/steam/steamapps/common/PHANTASYSTARONLINE2_NA_STEAM

Since the command above is being run with sudo, you'll need to enter your password at the prompt

Whenever you reboot your machine or logout, the file will be unmounted from the folder, so you'll need to either manually remount it everytime you log into your machine, edit your /etc/fstab file, or setup a script or a systemd service to auto mount it for you (all of which I will not be going over in this guide)
[5] Changing Ownership of the PSO2 Folder
Alrighty, now that the PSO2 file has been mounted, you'll need to change ownership of it and everything that is/will be inside it to yourself

This can be done by running
sudo chown -R ${USER}:${USER} ${HOME}/.steam/steam/steamapps/common/PHANTASYSTARONLINE2_NA_STEAM

Since the command above is being run with sudo, you'll need to enter your password at the prompt
[6] Enabling Case Insensitivity
Okay, now that you actually have permission to access and modify the PHANTASYSTARONLINE2_NA_STEAM folder, now we need to actually enable the case insensitivity for it (because it's not auto enabled for some reason)

Go ahead and run
chattr -R +F ${HOME}/.steam/steam/steamapps/common/PHANTASYSTARONLINE2_NA_STEAM

If it gives you an error about the directory not being empty (which is more than likely due to the default existence of the lost+found folder), run this instead
mkdir -p ${HOME}/.steam/steam/steamapps/common/PHANTASYSTARONLINE2_NA_STEAM/pso2_bin && chattr -R +F ${HOME}/.steam/steam/steamapps/common/PHANTASYSTARONLINE2_NA_STEAM/pso2_bin
[7] Install Phantasy Star Online 2 New Genesis
You're all done with the tinkering!

Now you can go ahead and install PSO2! (or if you already had and nuked everything in the PHANTASYSTARONLINE2_NA_STEAM folder in step one, do a local file integrity check on the game via Steam)

I am located on Ship (server) 3 "Thorn", so if you choose to play on that ship you might just run into me someday!

I hope you enjoy playing PSO2!
[EXTRA] Setup Your PSO2 Account Name
I recommend setting up a proper account name in PSO2 (this is different from your character's name)

This can be done after logging into the server you chose, select Support Menu > Change Player ID Name

The first time you do this, it is free of charge
7 Comments
Matt 12 Apr @ 5:31pm 
Fantastic! I have the game running like a dream now. Much appreciated!
easthighNerd  [author] 15 Jun, 2023 @ 3:12pm 
@Dr. Shenanigans
Much appreciated for the extra info!
Dr. Shenanigans 13 Jun, 2023 @ 6:58pm 
Just adding this in for anyone else wandering into this guide.

If the chown command doesn't work, you can run id in the terminal to get your user account's id group number. replace the ${USER}:${USER} part of the line with the number you want to associate the write privileges with.

For example:

sudo chown -R 1000:1000 ${HOME}/.steam/steam/steamapps/common/PHANTASYSTARONLINE2_NA_STEAM

And by any chance you're on a distro that doesn't allow sudoers to use chown or mkfs, you can use su - to log into the admin account. Every line on this guide can be run here, but you'll need to replace ${HOME} with /home/YOUR_USERNAME_HERE/ for each line.
Audzuki 25 Apr, 2023 @ 4:23pm 
This guide was IMMENSELY helpful!!!
easthighNerd  [author] 28 Oct, 2022 @ 3:23pm 
@Infamous Geezer
Just change the ${HOME}/.steam bits to point to your preferred location instead (in your case /mnt/SSD-2)
junkers 28 Oct, 2022 @ 2:45am 
+1 to sunofpearl89! I don't remember installing it, but I had the option of Proton-GE in compatibility options, and the game works pretty much fine now :steamhappy:
Infamous Geezer 26 Oct, 2022 @ 8:42am 
All my installed games are at /mnt/SSD-2/steam/steamapps/common/

That location above is automatically mounted on system boot. How should I amend this to work in my preferred directory? I know how to fstab it once I have the correct commands.