Hopefully this proves useful as a reference for those installing stock
or custom firmware
,
and Custom Kernel [by jkbuha & prispewnic] for your very own FiiO X5iii / 3rd Generation !
See
here for more info on how to support the developers of this custom kernel, or in hopes for future kernel development(s).
Links to anything you need are provided within. This set of instructions goes for anyone with a windows home computer. To get firmware restores or TWRP installation to work on MacOS see
this post and then refer back to this one when applicable.
Best of luck!
-it is recommended for best performance with custom kernel to have external storages formatted as exfat. they may already be formatted as such from the factory if larger than 32gb, but please check before continuing.
I do
not recommend using the Fidelizer ROMs
without your knowledge that it will prevent proper TWRP / Custom Recovery backups of the system partition from being made. If you experiment with the Fidelizer ROMs, you acknowledge this and recognize you’ll have to use firmware upgrade tool all over again and start from a clean slate every time you encounter something problematic.
Stock is the way to go (first time around, at least).
Here's links for Firmware Upgrade Tool with stock 1.2.1 and 1.2.3 ROMS:
1.2.1 and
1.2.3
It's not strictly necessary to install 1.2.5 stock zip afterwards.
One
could get the 1.2.5 purist rom as well as the FiiO firmware upgrade tool from this link:
Fidelizer ROM 1.2.5 (July 2021)
Whether or not you're installing custom firmware, I stand by using the firmware upgrade tool to reinstall the stock update.img that comes with it, then installing newer firmware 1.2.X variant afterwards, if you wish. (1.2.3 through 1.2.5 are superfluous...only changes seem to be relegated to FiiO music app and nothing else)
-
If going Stock route, Once stock 1.2.X is reinstalled, you can opt to install the X5-ota-1.2.5.zip found here:
http://www.mediafire.com/file/qf3x2cf2io6wp97/X5-ota-1.2.5.zip/file via the technical support application. Then perform a factory data reset (in the Settings App) w/ internal storage wipe. Again though, 1.2.3 is adequate.
Note: I again recommend Stock over Fidelizer if this is your first rodeo.
-If going Fidelizer route, Once stock 1.2.X is reinstalled, repeat steps but replace the update.img as described below.
Begin by installing the latest usb drivers:
http://fiio-file.fiio.net/FiiO_USB_DAC_Driver-V4.47.0.zip
Then run the RKDriverInstall.exe from the firmware upgrade tool folder.
(Fidelizer Step Only: Delete or remove the ‘update’ disc image file from the firmware upgrade tool folder, and replace it with the ‘update’ disc image extracted from WindowsXPurist1.2.5 zip. The purist disc image will be the smaller of the two.
)
Hold down the “Previous Track” rocker button (the one closest to the volume dial) with your player powered down and connect the micro USB cable from your computer to your player.
-You should have heard a connection chime, and your player's screen and blue LED should both remain off. The player is now in the "bootloader" mode
-
If holding the Previous Track rocker button has not achieved desired effect, please re-attempt but instead hold the Pause Button when connection to USB cable. If then successful, use this method on subsequent steps requiring bootloader mode.
Right click on the firmware upgrade tool exe in the firmware upgrade tool folder and run as administrator.
With ‘√ Device Connected’ showing, click the green ‘Upgrade Now’ button ONLY ONCE.
-Wait patiently.
-The progress bar will move along, and in the process you will hear several connection chimes.
-
STOCK: It is done when your player has booted up to the language selection screen.
-
FIDELIZER: It is done when you see the white battery icon on your player's screen, and the blue LED power indicator illuminated.
-You can disconnect USB from player at this time.
-Hold down your player's power button and allow it to boot up/initialize, etc.
From the settings app, scroll to 'System', then hit 'Factory data reset', scroll down and check the 'Erase internal storage' box, hit the grey 'RESET DEVICE' button.
-Let this do its thing and wait for the player to reboot.
- END OF FIRMWARE STEPS -
******************************************************************************************************
Next we've got to install the TWRP (Custom Recovery) loader.
-found here:
https://www.androidfilehost.com/?fid=1395089523397899882
-unzip this to your desktop or wherever.
Power off your player again, and put it in bootloader mode by connecting to USB holding down the previous track button.
Open AndroidTool.exe from the loader folder.
- 'One Loader Device Found' should be displayed.
-Make sure that checkbox #2 'boot.img' & #3 'Image\recovery_twrp.img' are checked.
Press 'Run' and wait until the loader operation is completed.
Go to 'Advanced Function' and click "Reset Device".
-You should have heard a connection chime, and your player is released to a powered off and charging state, like when you installed the Fidelizer firmware.
-Go ahead and disconnect your player from USB cable.
Power on your player, allow it to boot up/initialize, etc.
Download the kernel+optimization scripts by jkbuha.
-links hosted by jkbuha found here (3.41 is latest):
https://androidfilehost.com/?fid=4349826312261607091
Download SuperSU (root).
-found here:
http://www.mediafire.com/file/976u3lvrqjjw5pi/SuperSU_PRO_v2.79SR4.zip/file
It is recommended at this point to turn off the lock screen, changed under Settings app, Device, Security, then Screen Security, set screen lock to none.
Also in Settings app, Device, Display, Sleep After, set to 10 or 30 minutes.
-this will help to make sure you don't miss vital prompts down the line confirming successful kernel optimizations.
-once successful feel free to set these back to your preferred options.
Plug USB back into your player, and mount its internal storage.
-Without being too verbose, you should see the green android guy and a "turn on usb storage" button and click ok
-Once you see the internal storage as a volume on your computer, you're going to want to drag the two zips to an easy to access location, like the 'Download' folder on the X5's internal storage.
-Once that's copied go ahead and safely eject / unmount the X5 volume from your computer
-Click "turn off usb storage" button on your X5
-Power down your X5
To enter TWRP custom recovery, power off your player then simultaneously hold down the following three buttons:
-Play/Pause (Remain pressed until you see blue TWRP splash screen)
-Previous Track (Remain pressed until you see blue TWRP splash screen)
-Power (Release when FiiO ‘Welcome’ logo appears)
You should now be at the home page in TWRP
Just so you have a clean slate to come back to if needed, you can make backups in TWRP. Now is a good time to start.
-Click ’Backup’ Tile
-Select
Kernel, Boot, Recovery, Data, & System check-boxes, and Enable Compression
-Swipe to Back Up
-This will be saved under
/sdcard/TWRP/BACKUPS/X5/ with an auto-generated title based on when you made the backup.
This backup folder can be copied to your computer (while in TWRP)
-by connecting USB cable
-click the ‘Mount’ Tile from TWRP home menu -de-select all except
Internal SD
-click ‘Mount USB Storage’
-do your copying business on computer
-safely eject on computer
-click Un-Mount in TWRP
With a backup made and safely stored, we can get underway...
Go to Home in TWRP
Press 'Install' Tile
-navigate to sdcard/Downloads
-select the SuperSU zip
-swipe to install
-then hit 'wipe dalvik/cache'
Go back home in TWRP
-Go to advanced 'Fix Permissions' then 'Reboot System' (do not check any SE Linux options here)
-If done right you should not see the 'It appears your device is not rooted, would you like to install SuperSU' notice.
-If it does appear, player will hang on reboot.
-Remedy this by doing the SuperSU swipe to install & dalvik/cache wipe TWICE. Then fix permissions (Do both twice, i.e. Install->wipe->Install->wipe->fix permissions)
Let your player reboot and initialize, etc.
Open SuperSU app on your device before you flash the kernel and turn off all logging. ‘Logging Access’ set to ‘None’, ‘Clear Logs’ set to ‘1 Day’ & hit ‘Clear All Logs Now’
Re-enter TWRP Recovery
Press 'Install'
-navigate to sdcard/Downloads
-Select the jkbuha 3.41 multi zip
-swipe to install
-AROMA installer should begin, go through prompts (preferably custom install)
-Select 1416, 1704, or 2016 MHz,
recommended to begin with 1416 for stability and move up from there, if your device can handle them.
-
disconnect your player from any microUSB connection before clicking
Finish
-your player will then automatically reboot.
Depending on the number of applications installed on your device, this app optimization step can take up to 5 minutes or so, but stay vigilant.
-once you get to home screen observe bottom of the display for prompts for user to reboot device.
-these typically show up within 1-2 minutes.
-if user does not manually reboot (hold down power button, reboot) scripts will countdown to an automatic reboot of player (done in about 15-20 minutes)
Upon reboot observe bottom of the display for "Kernel 3.4: All Optimizations Done"
At this point you should have the Fidelizer 1.2.X firmware (if applied) and the latest kernel, scripts, boot optimizations, etc. installed.
Extra stuff:
With root access, you can use a kernel manager (
SmartPackKernelManager), as well as an application like Titanium Backup Pro (about $6 on google play store) to freeze applications (like google play services or google services framework).
With root access and a file explorer, by changing the following folders' permissions:
/data/data/com.android.providers.downloads/cache
/data/data/com.android.providers.downloads/files
from
771 (-rwxrwx--x) to 551 (-r-xr-x--x), Google Play store and Google Play services can be forced to NOT update themselves. To download any application updates from Play store you need to change these back momentarily to 771 (and then back to 551 before it gets wise and tries to download Play store updates). The stock GP Store and Services are far more lightweight compared to the updated ones. Note with those folder's permissions set to 551 you can still download files from any other browser application.
If you get a permissions error (installer code: 7) during AROMA installer process, install kernel version 2.8 first:
https://androidfilehost.com/?fid=1395089523397926869, this will properly set up init.d scripts. Once you get optimizations done prompt with this kernel version, proceed with the 3.41 installer again.
If you get "low system memory" error upon boot, return to TWRP, select 3.41 installer zip again, this time use "Restore" and select only the last option, which will remove the junk application backups (from where they were saved in /system/app/X-Backup and /system/priv-app/X-Backup directories).
Some additional (but recommended) .apk‘s that you will find useful:
Flux (Requires Root)
NewPipe (Lightweight YouTube client)
Root Explorer (Requires Root)
Rotation Control
Simple Keyboard
Simple Reboot (Requires Root)
Via (Lightweight Web Browser)
Optional (but recommended) package(s?) to flash in TWRP:
Migabit’s UI Mod - mirrored from
4PDA - Use this version
only if you have removed default FiiO Music Player, as this version assumes the ‘Pure Music Mode’ Drop-Down Menu Tile is gone.
Migabit's UI Mod - Use this version if you've kept FiiO Music Player.
Galleries of screenshots showing my installed apps & whatnot:
System Apps
Neutron Music Player
USB Audio Player Pro (UAPP)
PowerAmp
See
here for more info on how to support the developers of this custom kernel, or in hopes for future kernel development(s).