Onion OS

The de facto choice of OS for the Miyoo line of handhelds.

Convo pulled from Discord...

1. How did you came up with the idea for this project?
2. Is OnionOS build completly from scratch starting with GNU/Linux kernel or is it a fork of a known lightweight distro?
3. What were the biggest challenges during development?
4. How many daemons/programms were created/added to the OnionOS from open sources?
5. Where can anyone view the OnionOS source code?
6. How long did it take to finish a first stable version of OnionOS
7. What does the future look like for OnionOS and what are you and your team looking forward to with this project?
Replies from Totofaki
	1. The project we envisioned at the beginning and the current state of the project are quite different, but they both share the common goal of enhancing the stock OS. Initially, the OS had good ideas but was subpar on a lot of things (Retroarch for example ran at a resolution of 320x200 with no good scaling filters) resulting in a slow, buggy, and unoptimized experience. Our initial objective in creating Onion was to fine-tune various settings (such as screen ratio, video, audio, and control settings) to enhance the user experience. Subsequently, we updated emulator cores and introduced new ones to support new consoles. Over time, we started to significantly modify the existing OS experience. It began with the idea of automatically launching games without losing progress, inspired by Funkey OS. This started as a simple script and evolved into coding in C to develop new user interfaces, sometimes involving hacking the existing one. With the V3 release, we introduced features that will become the game switcher, activity tracker, package manager, screen/battery daemon, and a custom charging screen. Some of these implementations were driven by user requests, while others aimed to avoid using the closed-source Miyoo's daemon. We also added Eggs's keymon. Eggs was there in all the process, kindly helping us with any technical question we had. He also made the fantastic retroarch port we use today. Perfectly optimized thanks to the CPU documentation that leaked somehow. The V4, thanks to Aemiii91 and Schmurtz, was essentially rebuilt from scratch while retaining its core logic. During this process, fundamental features like the search panel and the ports section were added, along with numerous other enhancements (GLO, collections etc) that we know today.
	2. Finally, with the arrival of the Miyoo mini plus, XK and Tgecko joined the team, enabling the implementation of the network features we now have. In summary, Onion's current form is the result of a gradual evolution driven by a combination of individuals loving the harware, the need to move away from the closed-source Miyoo daemon, changes in hardware, interest in hacking, (Shauninman and of course Eggs) community requests/help/wiki/bug track, (Olywa, T1000, and Jim to mention only them, check https://onionui.github.io/about for a more exhaustive list) I believe @Aemii91 is better than me to answer this question.
	3. For me, my main difficulty was implementing a relatively small feature: displaying the battery percentage. It took me approximately 20 hours to accomplish this by utilizing a hack that involved hex-modifying the mainUI to display the desired battery icons. In our specific context, dealing with the closed-source menu proved to be the most significant challenge. Fortunately, Miyoo has become more receptive to our feedback and is willing to collaborate to meet our requirements.
	4. All the open-source binaries we compile for Onion can be found here: https://github.com/OnionUI/Onion/tree/main/src Additionally, we compile RetroArch from this source: https://github.com/OnionUI/RetroArch
	5. see 4.
	6. Onion has been a gradual process, and I would consider the first substantial Onion version to be V3. At that time, the COVID-19 pandemic struck, and I had more time to dedicate to the project. It took approximately two months for the V3 to be released.
	7. The team is currently fine-tuning version 4.2 to prepare it for a stable release. Simultaneously, we have exciting new features planned for version 4.3, which some can be found here: https://github.com/orgs/OnionUI/projects/1/views/11. This roadmap outlines our future plans, although new features are incorporated as they emerge and motivate one or more team members.