PS4 - Remote play without a PSN account
For whatever reason, some genius at Sony thought it would make sense to make having an activated PSN account mandatory in order to be able to use remote play.
Since firmware 7.0, you must provide your PSN account ID, which is a unique 8 bytes identifier tied to your PSN account.
I don't want to offer Sony my private data just for the privilege to use remote play on my lan, so I was glad to find that you can avoid creating a PSN account and still be able to register new devices.
It does need your PS4 to be jailbroken for at least a few minutes though, and generating a fake account ID, which I guess if you ever plan on using a real PSN account, could have unforeseen consequences. You've been warned.
Steps
- Jailbreak your PS4
- Install Apollo Save Tool (also available via the HB store
- Open 'Apollo Save Tool', then go to 'User tools', 'Activate fake account'. You should see something like :
Activate Offline Account YourUserName (0000000000000000)
- Close then re-open 'Apollo', go back to 'User tools' and write down the generated ID (the hexadecimal string between the parenthesis)
- You then have to convert this 16 characters hexadecimal string to int, then to base64. Here is a python one liner :
python -c 'import base64;print( "Your 8 bytes, base64 encoded account ID is : " + base64.b64encode(int( "1a2b3c4d5e6f7a8b", 16 ).to_bytes(8, "little")).decode())'
Make sure to replace 1a2b3c4d5e6f7a8b
with your generated ID
The base64 ID will look like that : i3pvXk08Kxo=
. Alternatively, use the following script :
https://gist.github.com/ABelliqueux/30f03a6bd8dcc087c4319a529d934b1b
or run it online:
https://trinket.io/python3/352d094d9c
- Install and launch Chiaki
- On your PS4, go to Settings > Remote play connection settings > Add device
- Back in chiaki, connec to your PS4, and when asked to register, enter the base64 account ID you found earlier and the 8 digits PIN number that's displayed by your PS4.
- Enjoy.
Bonus : Fix Android's broken Dualshock 4 layout
What I wanted to achieve was use the libre software chiaki on my old android tablet. While the client works great, it looks like the default layout for the Dualshock 4 on android is sub-optimal, not to say sucky. At least you can connect your DS4 via bluetooth as a regular gamepad, and not need a 3rd party app like for the DS3, so there's progress there.
To fix the layout, you need to own your hardware, which means it has to be rooted, since we'll be accessing some system files.
You also have to enable developer mode and USB debugging, and install ADB on your computer.
You then have to put a file with the correct layout in /system/usr/keylayout
.
Steps
- Download the layout file from here and extract the two kl layout files it contains.
- Connect your android device to your computer
- Copy the .kl files from your computer to your device with your file browser, for example in your download folder ;
/storage/emulated/0/Download
- In a terminal/cmd, launch and ADB shell on your device with :
adb shell
- Switch to super user by typing:
su
- Remount
/system
with read-write permissions :mount -o remount,rw /system
- Copy the new layout files to the
/system/usr/keylayout
folder :cp /storage/emulated/0/Download/*.kl /system/usr/keylayout/
- Make sure the permissions on the files are correct :
chmod 644 /system/usr/keylayout/Vendor_054c*.kl
- Reboot your device
reboot
Your DS4 should now be mapped correctly.
Sources & More
Pics : https://www.digitaltrends.com/gaming/how-to-stream-from-your-ps4-to-your-pc/
Android keylayout : https://forum.xda-developers.com/t/root-dualshock-4-correct-keymaps-controller-bug-fix-kl-file.2817223/page-2
MODDED WARFARE's tutorial series on PS4 jailbreak : https://invidious.fdn.fr/playlist?list=PLn7ji3VsPy3Gryq_sCOMp6H87jXywCMPI
Real PSN account ID script : https://github.com/thestr4ng3r/chiaki/issues/158