reported on news of a Steam PS4 Linux demo video, and today OsirisX returns with a guide on how to install Steam (not SteamOS) on PlayStation 4 Linux for those interested!
You can find it below, to quote: Installing Steam on PS4 Linux
This guide is WIP and more pics will follow.
You may have seen my video running Steam on the PS4 and this tutorial will explain the procedure. Originally I intended to use Ubuntu for this guide since there's already a tutorial for that but I was having problems enabling graphics acceleration. Instead I chose Fedora which seems to work fine.
1. PS4 with FW 1.76
2. USB disk with at least 8 GB
3. bZimage & initramfs.cpio.gz
Boot up Fedora using VirtualBox (with your usb disk attached) and wait until it reaches the welcome screen.
Before we actually install Fedora, we need to partition the usb disk. Open up a terminal and type the following the commands.
Find your usb disk location (Ex: /dev/sda) and use parted to partition it.Code:su fdisk -l
Code:parted /dev/sda mklabel msdos mkpart primary fat32 1MiB 513MiB mkpart primary ext4 513MiB 100% quit mkfs.fat -F32 /dev/sda1 mkfs.ext4 /dev/sda2
Keeping the terminal open, go back to the welcome screen and click “Install to Hard Drive”. Click on “Installation Destination” once the summary page comes up.
Select your disk and click on “I will configure partitioning” under storage options. Then click “Done”.
Once the next screen comes up, select /dev/sda2 partition on the left. Use the mount point root “/” and select “Reformat” next to File System. Then click on “Update Settings”
Click on “Done” and then “Accept Changes” when the change summary page comes up.
Finally, click on “Begin Installation” when we’re back at the summary page. At this point, you should configure your root password and user.
Before shutting down Fedora, we need to install the ps4 Radeon drivers.
Go back to the open terminal and mount the partition that you just installed Fedora to.
Enable ssh server.Code:mount /dev/sda2 /mnt
Find the ip address of your VM.Code:systemctl restart sshd
Use WinSCP or Filezilla from your host to transfer over ps4-radeon-rpm.zip to /mnt/tmp. (Note: If you get connection errors, you may need to set your network adapter to bridged in VirtualBox network settings)
Go back to the VM’s terminal and chroot into installed Fedora.
Now we can install the patched Radeon drivers.Code:cd /mnt mount -t proc proc proc/ mount -t sysfs sys sys/ mount -o bind /dev dev/ chroot /mnt
If you get an error with drm-utils, doCode:cd /tmp unzip ps4-radeon-rpms.zip cd ps4-radeon-rpms dnf install --nogpgcheck *.rpm
Gnome desktop can be too heavy for the ps4 to handle. I recommend installing something lighter such as “awesome”. Others may work as well but haven’t tested.Code:rm -rf drm-utils-2.4.65-1.fc23.i686.rpm dnf install --nogpgcheck *.rpm
Edit /home/<user>/.xinitrc and addCode:dnf install awesome
Disable gdm at startup:Code:exec awesome
We should also disable vsync to reduce graphical errors. Edit /home/<user>/.drirc and addCode:ln -sf /usr/lib/systemd/system/multi-user.target /etc/systemd/system/default.target
Enable ssh server at startup if you like.Code:<device screen="0" driver="dri2"> <application name="Default"> <option name="vblank_mode" value="0"/> </application> </device>
Finally install Steam.Code:systemctl enable sshd
Exit out of chroot, unmount your drive and power down VirtualBox.Code:dnf install http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm dnf install --nogpgcheck steam
Copy over bZimage & initramfs.cpio.gz to the fat32 partition of your drive if you haven’t done so already.Code:exit cd / umount -R /mnt poweroff
Startup your PS4 with your usb drive in and boot up Linux with PS4 Playground. Once you get to the init screen, type:
Find your Fedora partition and mount it.Code:fdisk -l
Start up FedoraCode:mount /dev/sda2 /newroot
You should then get a login screen. Login and typeCode:exec switch_root /newroot /newroot/sbin/init
This will boot up your DM.Code:startx
Open up a terminal and type:
You should have a line saying “AMD LIVERPOOL”. This means graphics acceleration is working.Code:glxinfo | grep vendor
Finally open up a terminal and start Steam. Because Steam comes shipped with it's own shared objects, we need to add LD_PRELOAD path before calling steam otherwise it will load older libs.
Code:LD_PRELOAD='/usr/$LIB/libstdc++.so.6 /usr/$LIB/libgcc_s.so.1 /usr/$LIB/libxcb.so.1' steam &
To launch apps from remote computer through ssh, we can just add DISPLAY=:0
To restart UI based login, you can do:Code:DISPLAY=:0 LD_PRELOAD='/usr/$LIB/libstdc++.so.6 /usr/$LIB/libgcc_s.so.1 /usr/$LIB/libxcb.so.1' steam -bigpicture &
And make it permanent byCode:systemctl restart gdm
Recommended Software:Code:systemctl enable gdm
Code:dnf install kodi kodi-standalone
What's not working?
Sound over hdmi (sound over spdif works), wifi is slow, ethernet (only gigabit works)
Usb sound card, usb wifi, usb bluetooth, etc.
Whenever updating packages with dnf, remember to exclude Radeon lib updates as they are unpatched for the PS4.
Thanks to the fantastic @toni1988 for sharing the news in our Shoutbox!Code:dnf upgrade --exclude=libdrm*,mesa*,xorg-x11-drv-ati