Items tagged with: postmarketOS

Search

Items tagged with: postmarketOS


Media playback tablet running GNOME and postmarketOS


A couple of years ago I set up a simple and independent media streaming server for my Bandcamp music collection using a Raspberry Pi 4, Fedora IoT and Jellyfin. It works nicely and I don’t have to play any cloud rent to Spotify to listen to music at home.

But it’s annoying having the music playback controls buried in my phone or laptop. How many times do you go to play a song and get distracted by a WhatsApp message instead?

So I started thinking about a tablet that would just control media playback. A tablet running a non-corporate operating system, because music is too important to allow Google to stick AI and adverts in the middle of it. Last month Pablo told me that postmarketOS had pretty decent support for a specific mainstream tablet and so I couldn’t reset buying one second-hand and trying to set up GNOME there for media playback.

Read on and I will tell you how the setup procedure went, what is working nicely and what we could still improve.

What is the Xiaomi Pad 5 Pro tablet like?


I’ve never owned a tablet so all I can tell you is this: it looks like a shiny black mirror. I couldn’t find the power button at first, but it turns out to be on the top.

The device specs claim that it has an analog headphone output, which is not true. It does come with a USB-C to headphone adapter in the box, though.

It comes with an antagonistic Android-based OS that seems to constantly prompt you to sign in to things and accept various terms and conditions. I guess they really want to get to know you.

I paid 240€ for it second hand. The seller didn’t do a factory reset before posting it to me, but I’m a good citizen so I wiped it for them, before anyone could try to commit online fraud using their digital identity.

How easy is it to install postmarketOS + GNOME on the Xiaomi Pad 5 Pro?


I work on systems software but I prefer to stay away from the hardware side of things. Give me a computer that at least can boot to a shell, please. I am not an expert in this stuff. So how did I do at installing a custom OS on an Android tablet?

Figuring out the display model


The hardest part of the process was actually the first step: getting root access on the device so that I could see what type of display panel it has.

Xiaomi tablets have some sort of “bootloader lock”, but thankfully this device was already unlocked. If you ever look at purchasing a Xiaomi device, be very wary that Xiaomi might have locked the bootloader such that you can’t run custom software on your device. Unlocking a locked bootloader seems to require their permission. This kind of thing is a big red flag when buying computers.

One popular tool to root an Android device is Team Win’s TWRP. However it didn’t have support for the Pad 5 Pro, so instead I used Magisk.

I found rooting process with Magisck complicated. The only instructions I could find were in this video named “Xiaomi Pad 5 Rooting without the Use of TWRP | Magisk Manager” from Simply Tech-Key (Cris Apolinar). This gives you a two step process, which requires a PC with the Android debugging tools ‘adb’ and ‘fastboot’ installed and set up.

Step 1: Download and patch the boot.img file


  1. On the PC, download the boot.img file from the stock firmware. (See below).
  2. Copy it onto the tablet.
  3. On the tablet, download and install the Magisk Manager app from the Magisck Github Releases page.
  4. Open the Magisk app and select “Install” to patch the boot.img file.
  5. Copy the patched boot.img off the tablet back to your PC and rename it to patched_boot.img.

The boot.img linked from the video didn’t work for me. Instead I searched online for “xiaomi pad 5 pro stock firmware rom” and found one that worked that way.

It’s important to remember that downloading and running random binaries off the internet is very dangerous. It’s possible that someone pretends the file is one thing, when it’s actually malware that will help them steal your digital identity. The best defence is to factory reset the tablet before you start, so that there’s nothing on there to steal in the first place.

Step 2: Boot the patched boot.img on the tablet


  1. Ensure developer mode is enabled on the tablet: go to “About this Device” and tap the box that shows the OS version 7 times.
  2. Ensure USB debugging is enabled: find the “Developer settings” dialog in the settings window and enable if needed.
  3. On the PC, run adb reboot fastboot to reboot the tablet and reach the bootloader menu.
  4. Run fastboot flash boot patched_boot.img to boot the patched boot image.

At this point, if the boot.img file was good, you should see the device boot back to Android and it’ll now be “rooted”. So you can follow the instructions in the postmarketOS wiki page to figure out if your device has the BOE or the CSOT display. What a ride!

Install postmarketOS


If we can find a way to figure out the display without needing root access, it’ll make the process substantially easier, because the remaining steps worked like a charm.

Following the wiki page, you first install pmbootstrap and run pmbootstrap init to configure the OS image.
Laptop running pmbootstrap
A note for Fedora Silverblue users: the bootstrap process doesn’t work inside a Toolbx container. At some point it tries to create /dev in the rootfs using mknod and fails. You’ll have to install pmbootstrap on the host and run it there.

Next you use pmbootstrap flasher to install the OS image to the correct partition.

I wanted to install to the system_b partition but I seemed to get an ‘out of disk space’ error. The partition is 3.14 GiB in size. So I flashed the OS to the userdata partition.

The build and flashing process worked really well and I was surprised to see the postmarketOS boot screen so quickly.

Tablet showing postmarketOS boot screen

How well does GNOME work as a tablet interface?


The design side of GNOME have thought carefully about making GNOME work well on touch-screen devices. This doesn’t mean specifically optimising it for touch-screen use, it’s more about avoiding a hard requirement on you having a two-button mouse available.

To my knowledge, nobody is paying to optimise the “GNOME on tablets” experience right now. So it’s certainly lacking in polish. In case it wasn’t clear, this one is for the real headz.

Login to the machine was tricky because there’s no on-screen keyboard on the GDM screen. You can work around that by SSH’ing to the machine directly and creating a GDM config file to automatically log in:
$ cat /etc/gdm/custom.conf # GDM configuration storage[daemon]AutomaticLogin=mediaAutomaticLoginEnable=True
It wasn’t possible to push the “Skip” button in initial setup, for whatever reason. But I just rebooted the system to get round that.
Tablet showing GNOME Shell with "welcome to postmarketOS edge" popup
Enough things work that I can already use the tablet for my purposes of playing back music from Jellyfin, from Bandcamp and from elsewhere on the web.

The built-in speakers audio output doesn’t work, and connecting a USB-to-headphone adapter doesn’t work either. What does work is Bluetooth audio, so I can play music that way already. [Update: as of 2025-03-07, built-in audio also works. I haven’t investigated what changed]

I disabled the automatic screen lock, as this device is never leaving my house anyway. The screen seems to stay on and burn power quickly, which isn’t great. I set the screen blank interval to 1 minute, which should save power, but I haven’t found a nice way to “un-blank” the screen again. Touch events don’t seem to do anything. At present I work around by pressing the power button (which suspends the device and stops audio), then pressing it again to resume, at which point the display comes back. [Update: see the comments; it’s possible to reconfigure the power button so that it doesn’t suspend the device].

Apart from this, everything works surprisingly great. Wi-fi and Bluetooth are reliable. The display sometimes glitches when resuming from suspend but mostly works fine. Multitouch gestures work perfectly — this is first time I’ve ever used GNOME with a touch screen and it’s clear that there’s a lot of polish. The system is fast. The Alpine + postmarketOS teams have done a great job packaging GNOME, which is commendable given that they had to literally port systemd.

What’s next?


I’d like to figure out how un-blank the screen without suspending and resuming the device.

It might be nice to fix audio output via the USB-C port. But more likely I might set up a DIY “smart speaker” network around the house, using single-board computers with decent DAC chips connected to real amplifiers. Then the tablet would become more of a remote control.

I already donate to postmarketOS on Opencollective.com, and I might increase the amount as I am really impressed by how well all of this has come together.

Maenwhile I’m finally able to hang out with my cat listening to my favourite Vladimir Chicken songs.

Updates:

  • See the comments for a way to reconfigure the power button so that it unblanks the screen instead of suspending the device.
  • After updating to latest (2025-03-07) postmarketOS edge, the built-in speakers now work and they sound pretty OK. Not sure what changed but that’s very nice to have.

#gnome #postmarketos


What if someone instead modified an existing Linux distribution to make it run on smartphones, and made sure that each phone only need one unique package so that the rest can be shared and upstreamed? This could extend the life of countless phones around the world.

And it is exactly what the folks at #PostmarketOS are doing!


I just sent patches to port #COSMIC to #AlpineLinux[1], so it'll soon[2] be possible to install this promising new DE on a few of the hundreds of ARM and x86 things that #postmarketos supports!

1) gitlab.alpinelinux.org/alpine/…

2) gitlab.postmarketos.org/postma…



And it looks like my #Linux phone with #PostMarketOS is borked. Broken HomeAssistant update yesterday, now this. What a way to start the year!


Transnational hacking and FOSS bonding in action! Family trip brought me across the Atlantic, but got a chance to meet @pan and bring a FairPhone for development. It's amazing when we can not only hack, but also meet and enjoy the human part of it :)

#FOSS #postmarketOS




One more GNOME development and socializing meetup in Hamburg with @camelCaseNick and @FineFindus ! Today was a really productive day. @FineFindus created a libadwaita MR for some API we also want in Papers, and merged a locatization MR in udisks-rs. And @camelCaseNick and Ihelped debugging the libadwaita code and got 5 MRs in Papers in! As always, send us a message if you come around!

#GNOME #Papers #postmarketOS #Hamburg





Some impressions from Boiling The Ocean yesterday and today! Lots of productive planning and hacking including on postmarketOS, GNOME OS, Papers, eSIM settings, local-first plans, and much more :)

#gnome #berlin #postmarketOS #boilingTheOcean


We finally have a schedule for the event this weekend in Berlin!

Come join us if you're interested in mobile Linux, image-based OSes, local-first, GNOME app design, and everything in between 🪴

#gnome #postmarketos #localfirst #berlin




As I have abandoned Android and am now daily-driving Gnome mobile / PostmarketOS on my OnePlus 6, I feel the urge to contribute to filling the app gap. Nobody seems to have asked for an app to record push ups and track progress, but that's what I want to accomplish now. Here are some first impressions of my Libadwaita app, which I call "Pushup Sessions":

#Oneplus6 #linuxmobile #PostmarketOS #GnomeMobile


Important for me: the front camera should already work and for the back one there are WIP patches that work, meaning this device will probably be the first Android device with both cameras being supported (and most other thing as well!).

Sure, we're still very far away from what even a super outdated Android can offer. I for one am super eager and motivated to see if we can make #linuxmobile (upstream!) a somewhat reasonably alternative though - and make #postmarketos live up to its name :)


Just got me a #pixel3a - used, cheap and in surprisingly good condition. The updater of the stock rom tells me that the device is EOL - and indeed, according to endoflife.date/pixel it was EOLed over two years ago, despite being released only some 5/6 years ago. The kernel version starts with 4.x.

Well, tomorrow pre-build #postmarketos images should appear on postmarketos.org/install/, the next weekly should have it promoted from "testing" to "community" and the kernel is at 6.10.x.


So thanks to @rmader@mastodon.social we managed to get the front camera in the Pixel 3a working with a libcamera/pipewire stack 🥳 Thanks to @flamingradian for the work on the whole port!

EDIT: The driver does not properly release the camera when closing the app, so it only works once per boot. It would be lovely if anybody with the skills would like to contribute to improve it!

gitlab.com/sdm670-mainline/lin…

#postmarketOS #LinuxMobile #Pixel3a #Snapshot #GNOME #GUADEC


ok but why is this on #postmarketOS ? If they were at least a non-profit maybe I'd respect the double meaning 😭


Is there anyone in the #linuxmobile community with some experience in (or motivation to learn) #openmp (or something similar) who'd be willing to help a bit with a patch of mine for the #libcamera softwareISP? It's an important piece of sw that allows us to use "complex" cameras even when we don't have ISP drivers.

The patch I started already shows promising results on e.g. the #librem5, however I could use some help getting it into a mergable state :)

gitlab.freedesktop.org/rmader/…

#postmarketos


There's been recently some confusion in #postmarketOS as GNOME Software is still on version 45. The main reason is that the simple plugin: github.com/Cogitri/gnome-softw… we use for APK has not been updated to follow GNOME Software's library changes. If anybody is interested in helping with maintenance for that project, I can provide guidance and reviews, and we will all be very pleased!

#GNOME #gnomesoftware


Hey folks, we're going to be at @allsystemsgo in Berlin later this year. @cas and @craftyguy will be talking about how #postmarketOS has evolved over the last few years, our experiences with #systemd, and our plans for an #immutable postmarketOS that doesn't restrict user freedom.

If you're into low level Linux userspace and middleware definitely come along :D


I'm happy to announce the availability of my new app "eSIM Manager" on postmarketOS! With it you can manage and install eSIMs on your phone running postmarketOS! No more need to boot into Android to do the same!

lucaweiss.eu/post/2024-06-24-e…

#postmarketOS #MobileLinux #LinuxMobile #eSIM #eUICC


I met with @pabloyoyoista today. We talked, amongst other, about the directions of Papers. As part of my #GSoC project, for example, I'm tackling gestures. It'll be a clean-up as much as will enable touchscreen users, who currently cannot select text, nor add annotations.
Yes, the pizza at the end is obligatory. (Would've been a boring picture otherwise, right?) And yes, they were paid for from a #postmarketOS running device.



Interested in tooling for development and QA on immutable / image based Linux?

Checkout discourse.gnome.org/t/towards-… by @tchx84

Feedback welcome ! This is a collaboration between @gnome @codethink and @sovtechfund ❤️

#Linux #systemd #Silverblue #GNOME #freedesktop #KDE #Ubuntu #SUSE #Fedora #NixOS #postmarketOS


@gnome Very nice guide, going to try on my 2nd #oneplus6 soon. Have you managed to get the OSK working in Telegram? If so, how? I am having problems with the OSK not activating in several apps, including TG Desktop, but so far I only tried #postmarketos edge with #gnome-mobile. #mobilelinux