Pretty looking, useless stuff removed DX90 firmware based on 2.1.0, International version
Brief description:
- The two fonts used by iBasso are replaced with one, which is Roboto Condensed, with the missing characters merged from Arial Unicode MS.
- Useless background services are removed from the startup procedure.
Benefits over the stock firmware:
- More informative display due to semi-bold condensed font (European languages), and correct character widths used (any language).
- Slightly faster ready from power on.
- Less RAM and CPU usage (does it really matter? See below).
- Theoretically, less battery consumption (can it even be measured?).
Download link
Detailed description
1. Fonts
iBasso uses Microsoft YaHei for Latin-based and Chinese characters, and Nimbus Sans Global Bold for the rest (Cyrillic, Japanese, Korean, Thai etc). It also uses pre-calculated character width tables, which (confirmed by calculations!) do not correspond to any, or any combination, of those fonts. Regardless of the reason iBasso went this way, the resulting texts look awful for me, and it was the primary reason for the firmware modification.
Note: still sometimes character spacing may look odd, but this is due to character widths are rounded to integer number of pixels, and because iBasso does not use kerning in text rendering.
2. Useless services
The full list is:
- netd (internet servers and services).
- debuggerd (gdb debugger interface, also creates crash logs of native applications).
- rild (controls wireless hardware).
- rild3 (controls wireless hardware).
- mediaserver (indexes media files, provides access to them for Android applications).
- installd (required to install Android applications from APK).
- servicemanager (Android applications interface to hardware and resources).
It is obvious that none of them have any use in DX90. Note for the last two items: DX90 has removed Dalvik JVM, so there is no a way to install and run Android apps!
Speculations
It should be obvious that none of changes made may impact on sound streams. That's why I, like iBasso programmers, claim that there are no changes made sound wise.
But some of you claim that you hear the difference between different firmware versions, and even iBasso confirmed that there is a "sound signature" of each and every change of the software. From this point of view, you may notice a difference with this build as well.
Please note, that, although the listed services almost do nothing, OS kernel wastes CPU ticks on serving them, and, which is more important, OS kernel does this small additional job with interrupts disabled. The latter mean, those changes
may reduce number of dropouts, which may be caused by sound output buffer underruns.
Anyway, I feel much better when I look into the list of running processes and see only MangoPlayer, along with a few system processes I know exactly why are they needed