3 ms·
I'm making a smartphone OS for my personal use. Gonna opensource under GPLv2 once ready. OS kernel is Alpine Linux from https://postmarketos.org/ https://postm
by Const-me 5y ago
I'm making a smartphone OS for my personal use. Gonna opensource under GPLv2 once ready.
OS kernel is Alpine Linux from https://postmarketos.org/ https://postmarketos.org/ The entire userland is custom: graphics is on top of drm, kms, gles2, FreeType. Audio is on top of ASIO with just a few third party libraries like soxr, fdk-aac, minimp3. IPC is mostly domain sockets, input is raw input, wifi is controlled through wpa_supplicant.
Most of the code is in C#, .NET 5. Only 25% of code in C++, either SIMD heavy math like vector spline tessellation, or to consume libraries like FreeType designed to only be usable from C.
Got 2 devices to test, ARM64 Pinephone, and ARMv7 LG Hammerhead.
Graphics stack is good by now, works on both. The only large missing piece is accelerated video decoding. The highest level was inspired by MS WPF, with XML instead of XAML, and a variant of CSS for styling. Performance is OK, uses couple percepts CPU while rendering animations at 60Hz, because GPU-centric architecture all the way down. Found a freelancer to help with GUI design, so far so good.
Audio is in progress: mp3 playback works, capture and high-level mixer controls missing. Too bad the LG lacks Linux kernel drivers so I'm only testing these pieces on Pinephone.
After the audio, gonna start integrating GSM modem: being able to call people is one of the use cases I care about.
- CameronNemo 5y agoI hope you mean LTE modem. All major carriers in the US are shutting down 2G and 3G cell towers. Calls won't work without VoLTE in the future.
- Const-me 5y agoIndeed, besides GSM the modem in the PinePhone supports UMTS, HSPA+, and LTE standards: https://www.quectel.com/product/lte-eg25-g https://www.quectel.com/product/lte-eg25-g
- Aeolun 5y agoOh! This sounds like something I wanted to do. Mostly to see if you can actually get decent GUI speed on the Pinephone.
- yjftsjthsd-h 5y ago> if you can actually get decent GUI speed on the Pinephone. Having used sxmo, I promise you can. Whether you can be performant and user friendly is still open.
- emptyparadise 5y agoThis sounds amazing. We really need more homebrew OS projects that focus on userland over the kernel.