This is a solution to the retroid dual screen being 'sideways' on AYN Odin devices. It will perform two seperate patches to SurfaceFlinger
- Force the hardware compositor to report that
OptionalFeature::PhysicalDisplayOrientationis supported - Replace the contents of
getPhysicalDisplayOrientationto always report:- The primary display has a rotation of 0 (no rotation)
- External displays will report a rotation of 270 (configurable, uses the same prop as specfied by Retroid here -
persist.panel.rds.orientation)
All changes are done in-memory, so there is minimal risk to the Android OS. The downside to this is that the root script(s) will need to be re-run after every reboot.
This is the preffered method of using sfrotate - as it requires no PC or commands to be entered over abd.
- Download the latest release from here
- Extract to the root of your Odin sdcard
- You should have
/sdcard/inject.shand/sdcard/sfrotate/now on your sd card
- You should have
- On your device, nativate to
System Settings->Odin Settings->Run script as Root - Select the
inject.shto run it - After the script has completed, disconnect and reconnect the retroid display.
If the inject script has worked as intended, your display should now be correctly rotated. Any changes to the rotation via the prop will also require a disconnect/reconnect to be applied. The inject script does not need to be run a second time.
Frida scripts are no longer recommended for the end-user, and should only be used for development purposes.