Pocketblue – Fedora Atomic for mobile devices

1 day ago (github.com)

This is a really cool project, and IMHO the most important new-comer in the #MobileLinux distro space in a long time, as it takes a model proven on desktop, building upon a well-run distribution (Fedora) and applies it to mobile.

I have yet to attempt daily-driving it, but just trying it and easily switching mobile shells (e.g., from Plasma Mobile to Phosh) so easily[0] without have weird side-effects from the previous environment has been quite exciting!

[0]: https://pocketblue.github.io/devices/oneplus-sdm845/#images-...

  • Updating without worries has made it much more daily-drivable for me on a Oneplus 6 (ie. it has rollbacks and image-based updates), despite being so new. It's fun that image-based OSs - which were arguably popularlized by phones - are now coming back to phones on the Linux side too.

This is based on bootc (bootable containers), so note that the OS build is described in a normal Dockerfile: https://github.com/pocketblue/pocketblue/blob/main/Container... which is then run by the Github action (or locally).

Very similar to how Universal Blue, Bazzite, Bluefin etc. build at https://github.com/ublue-os/bazzite (see their Containerfile), but for mobile.

Has a similar mission to https://postmarketos.org, but with a different build system AFAICT

  •   > Dockerfile
    

    nitpick: Containerfile. I mention it because people still think container==docker. I am sure the Fedora people focus on podman, as part of the Red Hat ecosystem. For a better dev experience they offer podman-bootc¹, which you will miss when using Docker. Personally I am convinced that we should steer people to podman instead of Docker.

    1. https://docs.fedoraproject.org/en-US/bootc/getting-started/

    • Red Hat obviously wants to change people's vocabulary but "Dockerfile" is basically an industry-standard generic term by this point.

      1 reply →

  • Are we really bringing OCI to freaking OS builds? Nothing about OCI is pleasant. A list of Tarballs is the most backwards boot format I can think of. Terrible for reproducibility. Terrible for security.

    Boot images should be Dm-verity protected EROFS images. We should not be building new things on OCI. It's really mind-blowing to me that this is a new direction people who are supposed to be top of class OS builders are moving to as a direction.

    They took the CoreOS dream and threw everything in the trash

    • How is OCI terrible for reproducibility and security? They are certainly more reproducible than what we had before. I haven't heard "Works on my machine for a long time". If you're talking about reproducible builds, there aren't any hard issues either that are directly caused by OCI images - except setting the clock correctly.

      > Boot images should be Dm-verity protected EROFS images

      Maybe I'm misunderstanding you - I gather that you think the boot images are distributed as OCI images? That's not the case, bootc is more about building the image, updating it and the overall structure. Booting an image built with bootc does not involve any container infrastructure (unless you start services that depend on containers, I guess - but that's deep in userspace). There's technically nothing preventing this from using verified read-only images.

This is good to see. The concept of immutable OS and fallback boots is going to be much more common. I think there are similar concepts being explored in postmarketOS such as https://gitlab.postmarketos.org/postmarketOS/duranium

I've tried the silverblue desktop version of this and while I'm not convinced that a mix of OS/Brew/Flatpak/Containers is making things more approachable it's interesting to see these concepts progress and the tools improve.

I'm surprised anyone would launch a mobile GNU/Linux distro without support for the Pinephone.

How well does it work on the supported devices, including for things like calls, SMS, GPS, camera, bluetooth etc? The OnePlus 6/6T is in the "community" category of supported devices for postmarketOS and (like most devices in that category) has a laundry list of issues with hardware support that either need workarounds or just don't work at the moment. Does Pocketblue have the same limitations?

Mobile Linux is a super interesting but difficult area so always good to see another effort in the space, hopefully Pocketblue and postmarketOS can benefit from each other.

  • The reason most of these projects target OnePlus 6 as their flagship is that this device is fully upstreamed to the Linux mainline.

  • > Mobile Linux is a super interesting but difficult area so always good to see another effort in the space, hopefully Pocketblue and postmarketOS can benefit from each other.

    Yea. I hope the same thing. I just wish that a defacto affordable device can finally emerge and the whole process can just be made easier and people might even base their hardware decisions on top of it.

    A lot of the times I find Mobile Linux un-approachable because a lot of essential features only work in phones which are extremely expensive with less specs compared to its peers and in normal phones, half the features might not work (which is understandable given they are community efforts but still)

    I just hope that the community/such-projects can decide on one single affordable phone and then make it feature complete and maybe even recommend people to use it as well imo.

This is very interesting. I'm dying for a decent Linux-native, ARM-based laptop which can double as a tablet for casual use.

My eyes are currently on the Lenovo IdeaPad Duet 3 as it seems to tick most boxes on PMOS' compatibility matrix.

Oh, Linux on mobile. My cynic take:

- only works with very few phone models

- battery doesn’t last long

- bad UI with tiny elements.

- not managing a smooth refresh rate

- no apps

That‘s the pattern we‘ve seen over and over again. The only approach that has worked better is to base things on AOSP.

  • Very unhelpful comment. Some people don't want to run on anything AOSP. Being able to manage the device with standard linux tooling is a major plus for some people.

  • I feel like taking the approach of ramming the entire current desktop userspace into a phone is a misguided one. I can fully see now why Android reinvented the wheel across the board.

    If I were to do a Linux Phone platform, I'd be targeting feature phone levels of functionality to begin with, with a focus on battery life and actually working telephony. I'd be aggressively throwing Wayland/GTK and all that nonsense in the bin just to get something basic working well. Draw straight to the framebuffer if you have to. This doesn't help with the app problem, but it sets a tide mark for quality & performance, and it can be iterated on.

    • With not-quite current hardware as supported by Pocketblue, performance is not that much of an issue, despite the OnePlus 6 being introduced in 2018. GNOME Shell mobile is quite smooth on it.

      That said, if you want to start without the entire Linux desktop stack, you can, and there's even a project that already does something like that IIUC: https://sr.ht/~mil/framebufferphone/

It doesn't look like there's anything in the way of information posted that includes screenshots or what apps are included or available? Am I missing the link?

Supported devices:

Xiaomi pad 5/6

Oneplus 6/6T

... That's it.

Does anyone know if there's plans for more? Is this project in very early stages, or is it going to be another Graphene OS with an extremely limited device support?

  • There's also Poco F1, we just haven't released it yet, and I am yet to add it to the docs (we'll have a single common image for both op6(t) and beryllium soon)

    There's also a person working on a Fairphone 5 support and I think someone was going to work on a PinePhone port

    Contributions are always welome, we need more devices!

    • No shade meant by the way, I fully understand how difficult it must be to support devices. Good luck!

  • GrapheneOS has such low count of devices due to strict support for security features reasons.

    These projects (Linux on mobile) are even more limited due to very poor support from the manufacturer for anything more than OEM and device specific build of Android, with lack of standards in mobile platforms. Every device support is reverse engineering effort. See https://wiki.postmarketos.org/wiki/Devices for the status of this effort.

This looks really cool!

Can this run Distrobox https://distrobox.it/ ?

It would be cool to have say debian packages or even arch packages while the base os is rock-solid in an Mobile Device while being pure Linux!

I hope more devices can be added along the way. Can the community have one cheap device and make it the standard de-facto where affordability can thus be achieved?

To me, I don't really care about specs of such phone. I just want a linux phone which can just run good enough and have such features

- Cheap to Buy

- Easy to boot Linux in

- Has calling functionalities

- 5G support (sort of optional but would be nice to have)

- Software Side: Flatpak is good enough for me with distrobox on the side. It can finally be an os where you don't need java sprinkled everywhere for it to work :D

Is there any particular phone brand which is available now for this? or can the community take such feedback and look at any such hardware and do the following and then be able to give a definitive answer to my query.

Maybe even in future, you can make a single guide for people like me who just want linux phones for affordable-pricing where I can read it and run this project!

I have been thinking more and more about using handhelds for such purpose or a rasp pi phone (there is a guy I know who is working on it) & I hope he succeeds as well.

Recently, a rasp pi laptop was launched, jeff geerling made a vid about it but because of the inflation of prices, that idea is sort of dusty right now (also with the lack of sleep mode)

So I feel like for affordable Linux phones, right now with the current AI bubble. Projects like these who can bring Stable Linux into Android phones are the best and this is a unique concept of adding atomic in Android phones which is so cool!

I really want this, I can't explain how much if it can be brought to a level which is simple. For some reason Rooting phones feels hell even though I have played/tinkered with so many os in PC's.

I wish you good luck in your project & if you have any suggestions for a cheap phone then let me know as in the future, I would love to playtest fedora atomic a lot.

I have used dumb phones a lot and to be honest the reason why I don't like SmartPhones is that I find them to be restricting & at times addicting. Its too easy to scroll youtube shorts in phone then try to create an application which is helpful unless you write it in java and just a very lack of customization. I want phones where I can develop applications in any lang I want without too much PITA. Linux is it!

Also maybe this can also be used waydroid to run android applications natively too. It would be interesting to have that possibility as well where I might still need android apps :D

how does something like this not support pinephone and librem5 from day 1?

  • Its just that none of the maintainers has a pinephone

    Though it would probably be trivial to just copy what the non-atomic Fedora Mobility does for pinephones, I might as well do this in the future and just ask someone with a pinephone to test

    • I have a PinePhone (original KDE Community Edition, convergence variant). I'd be more than happy to test for you! Email address in my profile :)

  • They have PRs for Nothing and Fairphone, and an Issue opened for Pinephone. Give it time.