Required Hardware:
1. PS4 with FW 1.76
2. USB disk with at least 8 GB
Required Downloads:
1. Fedora-Live-Workstation-x86_64-23-10.iso
2. ps4-radeon-rpms.zip
3. bZimage & initramfs.cpio.gz (Use my bZimage & sdhci-pci.ko for wifi & bluetooth support)
4. VirtualBox
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.
Code: Select all
su
fdisk -l
Code: Select all
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.
Code: Select all
mount /dev/sda2 /mnt
Code: Select all
systemctl restart sshd
Code: Select all
ifconfig
We also need to set a password for root to do file transfer with ssh.
Code: Select all
passwd root
(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.
Code: Select all
cd /mnt
mount -t proc proc proc/
mount -t sysfs sys sys/
mount -o bind /dev dev/
chroot /mnt
Code: Select all
cd /tmp
unzip ps4-radeon-rpms.zip
cd ps4-radeon-rpms
dnf install --nogpgcheck *.rpm
Code: Select all
rm -rf drm-utils-2.4.65-1.fc23.i686.rpm
dnf install --nogpgcheck *.rpm
Code: Select all
rpm -ivp --replacefiles --replacepkgs *.rpm
Code: Select all
dnf install awesome
Code: Select all
exec awesome
Code: Select all
ln -sf /usr/lib/systemd/system/multi-user.target /etc/systemd/system/default.target
Edit /home/<user>/.drirc and add: (Create .drirc file if not present)
Code: Select all
<device screen="0" driver="dri2">
<application name="Default">
<option name="vblank_mode" value="0"/>
</application>
</device>
Code: Select all
systemctl enable sshd
Code: Select all
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
Code: Select all
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:
Code: Select all
fdisk -l
Code: Select all
mount /dev/sda2 /newroot
Code: Select all
exec switch_root /newroot /newroot/sbin/init
Code: Select all
startx
Open up a terminal and type:
Code: Select all
glxinfo | grep renderer
You can also verify through Xorg.0.log file.
Code: Select all
cat /home/<user>/.local/share/xorg/Xorg.0.log | grep -e Chipset -e Acceleration
Code: Select all
[ 98.745] (--) RADEON(0): Chipset: "LIVERPOOL" (ChipID = 0x9920)
[ 100.806] (II) RADEON(0): Acceleration enabled
Code: Select all
LD_PRELOAD='/usr/$LIB/libstdc++.so.6 /usr/$LIB/libgcc_s.so.1 /usr/$LIB/libxcb.so.1' steam &
Tips:
To launch apps from remote computer through ssh, we can just add DISPLAY=:0
Code: Select all
DISPLAY=:0 LD_PRELOAD='/usr/$LIB/libstdc++.so.6 /usr/$LIB/libgcc_s.so.1 /usr/$LIB/libxcb.so.1' steam -bigpicture &
Code: Select all
systemctl restart gdm
Code: Select all
systemctl enable gdm
(Note: Wifi module is WIP and you may experience slow connection speeds)
You will need my patched my bZimage & sdhci-pci.ko kernel module. The driver has trouble loading when compiled as a built-in kernel module. Therefore we need to load it manually.
Replace previous bZimage with this one if you were using kernel by kR105. Copy sdhci-pci.ko to your Fedora's partion to /etc/modulefiles/sdhci-pci.ko.
Create the file /etc/sysconfig/sdhci.modules and add this line:
Code: Select all
exec insmod /etc/modulefiles/sdhci-pci.ko
Code: Select all
chmod +x /etc/sysconfig/modules/sdhci.modules
Code: Select all
ip addr
Code: Select all
nmcli device wifi list
nmcli device wifi connect <SSID|BSSID> password <password>
Code: Select all
systemctl start bluetooth
bluetoothctl
power on
agent on
default-agent
scan on
connect <Device BDADDR>
Kodi
Code: Select all
dnf install kodi
kodi-standalone
What's not working?
Sound over hdmi (sound over spdif works), wifi is slow, ethernet(only gigabit works)
Workarounds?
Usb sound card, usb wifi, usb bluetooth, etc.
Notes:
Whenever updating packages with dnf, remember to exclude Radeon lib updates as they are unpatched for the PS4.
Code: Select all
dnf upgrade --exclude=libdrm*,mesa*,xorg-x11-drv-ati