Lavender OS
Lavender OS is an operating system for the RG35XX, a retro gaming handheld meant to run emulators. It's by no means finished or even close to finished, but I've made a lot of progress on the development environment, particularly building a cross compiler and libraries I'm going to depend on, and making my own ramdisk I can boot from and debug with. Currently I'm working on making my own video, audio, and input protocols. (It's probably overengineered, but I want it to be MY OS that I designed MYSELF)
There are several reasons why I'm making my own OS:
- Existing operating systems for it are okay in my opinion, but they lack quite a few features I would like that I know I can implement. Particularly:
- Disk encryption
- Multiple users/profiles with passwords
- USB file transfer (on the existing OS's, you technically can with ADB, but what nobody realized is that direct USB file transfer is quite simple to implement, using the very same script that they used to set up ADB in the first place)
- Internet connectivity using a USB wifi dongle
- Ability to background and switch between applications, on a similar level to smartphones
- An app manager that lets you install and uninstall extra apps
- Virtual keyboards that can be summoned for any reason
- A browser for downloading files from the internet
- A more integrated file manager
- A media player for viewing images, listening to audio, and playing video
- Screen capture for recording videos
- I want a nicer UI. What I have in mind is the interface that was on my 3DS. I remember it feeling pretty polished and easy to navigate, without feeling too minimalist. That's what I want for the OS I game on.
- The existing operating systems are no longer being actively developed for the pre-2024 version of the RG35XX, and that's the one I'm stuck with for now. I got it for christmas at the end of 2023, and was disappointed to find out it's stuck with an old 3.10 linux kernel with no way to recompile it, and with newer editions that have the kernel source available and better features in general, developers seem to be moving on from the original RG35XX, leaving me in the dust. But I don't want to just toss it out and get a newer version, turning a perfectly good device into e-waste; I want to make the most of it.
This tangentally related to the OS, but I have a bit of a theory as to why the 2024 edition replaced the previous version. The SoC in the original one is the ATM7039S, produced by Actions Semiconductor and released way back in 2013. That's probably why the only kernel we have for it is the 3.10 kernel, which was released around the same time as the chip; Actions probably made the modifications to the kernel in-house and released that kernel at the time, and they never did any further development to make it compatible with new kernel releases because it's a really old chip. It was apparently originally intended to be used in multimedia devices like tablets and media players, but it doesn't come up frequently in search results, so it likely wasn't a very popular chip at the time of release. My theory is that Actions ended up with a lot of leftover stock, and so Anberic (the RG35XX producer) likely got a really good deal for these chips. But at this point Actions is probably running out of stock and not producing more of that chip, and Anberic wants to keep producing more RG35XX's, so they decide to upgrade to a more modern chip now that they have the funds.