[MAGISK] How to Enable PS4 Remote Play on Your Android Device and Play with DualShock 4 + Tips & Opinion
If you are lucky enough to own both a PlayStation 4 console and a Sony Xperia smartphone or tablet, then you might be aware of a service available to you: Remote Play, an app that enables you to play PS4 games on your smartphone by streaming it through your console.
Now, Remote Play on smartphones is kind of a situational feature — it’s extremely bounded by your internet connection speeds on both your console and your smartphone, and setting it up right can be quite a hassle without a gameclip to hold your phone and controller together. Given it “necessitates” WiFi (it can be spoofed, though), it’s also likely you’ll be playing it from home anyway. But it’s still useful as it enables you to continue your videogame even if someone is hoarding the TV, or if you want to game in a different room or while on the toilet. What’s more, you can still reply to texts and such by using Nougat’s multi-window, for example, without interrupting your game. Or, you can display floating videos on top of your game to multi-task while gaming — the opportunities are endless.
While the service is available on Mac and Windows, the Android application is sadly only available to Sony devices when searching for it on the Play Store. What’s more, it will also not run on your non-Sony smartphone even if you manage to get your hands on the APK. Finally, while the DualShock 4 can be natively recognized by Android (bluetooth), driver and compatibility issues might render it obsolete if you even get Remote Play to run on your device anyway! There are some practical workarounds to this problem, though, put forth by forum users at XDA. Specifically, I’ll refer to a short guide by XDA Senior Member leolawliet (thanks a lot!) to which I’ll add some more detail, plus some tips and a short review of the experience. If you have Magisk (root) or are willing to flash Magisk, check out this guide to get your PS4 game on your smartphone!
- First things first, you want to make sure you enable Magisk by flashing it through your Custom Recovery (TWRP). You can find the necessary files plus installation instructions on this thread. Magisk is good to have regardless of whether you want or need this mod, as it’s one of the better systemeless root solutions out there.
- Once you have Magisk set up, go to the “Downloads” tab on the sidemenu, and search for the “Sony Framework” module (v1) by Seyaru. This will install the necessary foundation to use Remote Play as if you had a Sony Android device. After it is done downloading, it will ask to install and enable the module, which needs a reboot. You can either reboot now, or further down this guide as a reboot will be necessary later on as well.
- Now that you have the Sony Framework, you need to check your build.prop in order to make your device compatible with Remote Play version 2.0.0. Sony has made previous versions (which were widely available on our forums, pre-modified) obsolete by prompting the user to update the application before a connection can be established. Luckily, and as found by XDA Senior Member leolawliet, you can remedy this through a build.prop edit: simply add (or replace if you have a similar line with a different value) this line
ro.build.tags=release-keys. Alternatively, you can install the Magisk module provided by leolawliet in order to add it to your build.prop Also, a recent Magisk update has reportedly made it so that no changes are necessary. Either way, and as listed here, there are a couple of ways in which you can approach this should it not work for you from the get go. Regardless of which path you take, be sure to enable the Framework module and that the build.prop change is there, and reboot your device.
- Search the Play Store for “Remote Play” — you should see the application, though you might not be able to install it (results varied for me). If that’s the case, you need to download the APK either through an APK downloader website or browser extension (check MD5 sum to verify the APK’s integrity). Once you have installed Remote Play, go to Magisk again, and under “Settings” enable “Magisk Hide”. After that, a new menu becomes available in the side panel. Go to that menu and then search for your PlayStation apps, then “hide them”. This way, you won’t get a root access prompt when launching Remote Play.
- Now here is where it gets tricky. Depending on your ROM, you might either not be able to send any input through the DualShock 4 at all, or be able to use it as a gamepad but not as a Remote Play controller (as was the case for me on LineageOS). Luckily, there is an (admittedly awkward) universal workaround:
- Make a second PSN account — it doesn’t need to have a subscription, it just needs to be on your PS4
- Make sure Remote Play is configured on your PS4 and on that account (it shouldn’t need extra fidgeting)
- Connect to this new dummy account through Remote Play, while your main PS4 Account is in the foreground
This will make it so that your DualShock 4 will remain connected to the PlayStation 4 and be able to operate it while your screen is casting to your device. The only limitation is, of course, that you’ll be constrained to bluetooth range. I found that the range wasn’t much of a problem, though walls can get in the way and when being two or three rooms and walls apart from the console, microphone input and output would start to stutter and cut out (input lag wouldn’t noticeably vary with changes in distance, though). Hopefully you won’t need this workaround at all.
Tips and Tricks + My Opinion
Once everything is setup, connecting to your PS4 for streaming is as easy as launching the app and pressing the PlayStation button on your controller to ensure that it connects as well. You are able to steam at a standard or high-framerate (30 or 60), with options for resolution including 480p, 540p, 720p, and 1080p. I personally found 720p to work excellently for my usecases, and 1080p also works really well for certain games or scenarios. User reports online also state that playing 30FPS games in high-framerate mode can reduce input lag. If you are playing a simple, indie game like “Risk of Rain”, you can expect smooth and solid gameplay with no input lag and framelosses. I’ve also been able to play titles like Dark Souls III and even Battlefield 1 with no issues (except sub-standard framerate on the latter, as I was playing at 30FPS). I do have a 100mbps download and 20mbps upload connection, though while monitoring my internet I never found the PS4 nor the phone taking up much traffic, not even when prioritizing either device (you should prioritize the PlayStation 4, in this case).
I also use a gameclip to attach my controller on top of my DualShock 4 — the setup is a tad clunky as it is much heavier than your standard joystick setup, though at the right angle the additional weight is very manageable (this, of course, depends on your device). Even at 1080p, graphics fidelity is not quite as sharp as on your regular PS4, but the viewing distance helps hide some of those imperfections. If you have an AMOLED display, you’ll be able to experience dark areas in games like you’ve never been able to before (assuming you don’t have an outstanding OLED TV), something I really appreciate in titles like Bloodborne. Ultimately, though, you want to find the right balance between graphics quality and input lag — with a solid internet connection, you should be able to have unnoticeable delay at 720p, but I’d personally adjust the resolution to make gameplay as responsive as possible. Even 540p on a 5.5-inch display doesn’t look too bad, but at 720p you would be getting more pixels-per-inch than the Nintendo Switch if it wasn’t for the slight compression and artifacts introduced by streaming the game.
Some of my favorite use cases involve playing games while lounging in the kitchen with my girlfriend, when taking a quick break at my office, or while on the toilet (because why not?). I also resort to this when my girlfriend is watching shows our main television. I also really appreciate that I can simply hold the multi-tasking menu and instantly initiate splitscreen to use another app while monitoring the game. This is especially useful during loading screens, or while waiting for a lobby to ready up — if you leave the application without multi-window active, you will have to re-initiate Remote Play, but the game will keep doing it’s thing in the background (your PS4). You can, for example, browse reddit while waiting for your co-operator to join your session, or reply to a quick text on an IM app. Finally, while watching videos on multi-window while playing is impractical, video overlays offered by apps like Twitch will not interrupt Remote Play in any way, allowing you to keep playing videogames while, for instance, watching other people play videogames.
We hope you find this guide useful — once again, huge props to the Sony Framework module and XDA Senior Member leolawliet for his workaround and short guide. See you in The Ringed City!