DistroWatch Weekly |
| DistroWatch Weekly, Issue 948, 20 December 2021 |
|
Welcome to this year's 50th issue of DistroWatch Weekly!
Linux is virtually everywhere these days. It's in most smart phones, single board computers, a vast number of servers, and millions of desktop machines. In this week's Feature Story we focus on mobile Linux, taking the open hardware PinePhone device for a spin with its default operating system: Manjaro Linux. Read on to hear about Jesse Smith's first impressions of the PinePhone. This time of year a lot of families are getting new personal computing devices and also have small children at home. Mixing the two can be a dangerous combination and, in our Questions and Answers column, we talk about how to protect computers being used by the whole family from data loss. Do you use a shared family computer? Let us know your approach to locking it down in this week's Opinion Poll and in the comments below. This week we are also pleased to talk about how well Wayland works for gaming compared to X.Org display servers. Plus we discuss work progressing on bringing Linux distributions to Apple M1 ARM computers and link to a talk on what it is like to hunt and fix bugs on Ubuntu. Plus we are pleased to share the releases of the past week and list the torrents we are seeding. We will be on holiday next Monday and DistroWatch Weekly will return on January 3, 2022. We wish you all a wonderful week and, for those of you who celebrate this time of year, enjoy your holiday!
Content:
|
| Feature Story (by Jesse Smith) |
The PinePhone running Manjaro and Plasma Mobile
The PinePhone is an open source hardware device created by PINE64. While the PINE64 team has a number of successful creations in their portfolio, the PinePhone is probably the one which has gained the most attention in recent years.
The PinePhone is an inexpensive ($149.99 USD), low-end phone which can be used to run a number of operating systems, including several flavours of mobile Linux distributions. Through most of the PinePhone's life it has shown up as being out-of-stock when I've visited the PINE64 website, but for a brief window last month there were units available and I happily got my hands on one.
The PinePhone took about two weeks to arrive and came in a small, white box with the slogan "Open. Friendly. Community Driven." on the cover. The box contains a user manual, a getting started guide, a USB C charging cable and, of course, the PinePhone. The phone boasts a modest set of specifications. It has a quad-core 1.1GHz CPU, 2GB of RAM, and 14GB of storage space. 4.7GB of that storage is consumed by the default operating system, Manjaro Linux running the Plasma Mobile interface. Of the 2GB of RAM available, around 850MB is taken up by the operating system. The device is about six inches long and around three inches wide, making it almost exactly the same size as my Galaxy S9, though the PinePhone is a few millimetres thicker.
Getting started
I'm getting ahead of myself. The getting started guide let's us know that we need to pop the back off the phone and remove the plastic between the phone's body and the battery. We're also told which software the phone runs by default (Manjaro Linux running Plasma Mobile) and where to find more information about Plasma Mobile, PINE64, and where to find the PinePhone wiki.
Opening up the back of the phone reveals two card slots, one for a SIM card and another for an SD card. One nice feature of the PinePhone is we can copy an operating system image to an SD card and plug it into the phone to boot from it. We do not need to overwrite the internal storage of the device in order to try booting alternative operating systems.
Turning on the PinePhone for the first time brings up a first-run wizard which welcomes us and asks us to select our time zone from a list. We're also given the chance to connect to local wireless networks. The final screen asks us to make up a username and password for ourselves. The password may contain numbers only. I discovered later this password is used to unlock the device each time we want to use it, so I recommend making up a short passcode.

The Plasma Mobile home screen with dark theme
(full image size: 899kB, resolution: 720x1440 pixels)
With these steps completed we are presented with the Plasma Mobile interface. The main screen is mostly blank. The background is made up of tiny, geometric shapes. Near the bottom of the screen we find an Up arrow and three icons labelled: Phone, Phone Book, and Angelfish. For those, like me, who were not aware of Angelfish, it's a web browser.
There are three buttons placed at the very bottom of the display. A square button accesses a list of open applications, a small version of Plasma's logo brings up the Home screen, and an X closes the current application.
Swiping up from the bottom of the screen opens a drawer of application launchers. This drawer mostly fills the screen. Most of the icons have labels I was not familiar with, though with many of them I could guess their purpose just by looking at the icons. For example, I could figure out Discover (the software centre), Index (the file manager), and Wave (the audio player) fairly easily. But I had no idea what Angelfish, Buho, Nota, Kongress or Spacebar were. Most of the default applications present are listed with a short description on the Plasma Mobile website, though some are missing, so there is trial and error involved in exploring the available software.

Using Angelfish to learn about available applications
(full image size: 161kB, resolution: 720x1440 pixels)
We can also swipe down from the top of the Plasma Mobile interface to access a group of buttons and toggles for commonly used settings. These provide quick access to wireless networks, the Flashlight feature, the settings panel, taking a screenshot, and toggling Bluetooth.
Early impressions
One issue I ran into early on was that the phone's screen tended to go to sleep, even sometimes while I was using it. Each time the device went to sleep and I woke it again the phone would prompt me for my PIN, something I don't have enabled on any of my other mobile devices. At first I tried increasing the screen sleep delay, but even with it set to being five minutes, the screen still shut off after ten seconds of inactivity. It would also occasionally shut off while I was interacting with it.
I went into the settings panel and brought up the PIN module and found that it would allow me to set a new PIN, but not remove my PIN entirely. My PIN had to be at least one digit in length. As I often do when trouble-shooting Linux issues, I turned to the terminal application which is very slow and tended to lock-up while I was using it. However, I was able to disable the password on my account using the passwd command. Unfortunately, even with no PIN or password set, I'd still see the PIN prompt each time I picked up the phone. I could simply press Enter to gain access the device, but this is an extra (and unnecessary) step which I have not been able to find a way to skip despite browsing the PinePhone and Plasma Mobile documentation.

The Plasma Mobile settings panel
(full image size: 165kB, resolution: 720x1440 pixels)
The Plasma Mobile interface is slow and not particularly responsive. This is probably the most sluggish mobile experience I've had to date. It feels as though Plasma Mobile is too heavy for the PinePhone's hardware. There's often a second or two of delay between typing a key on the virtual keyboard and getting a response. Dragging the settings panel down or the apps drawer up feels choppy. Taking a screenshot takes three or four seconds. Sometimes the device seems to lock up and not respond to any input for a few seconds. Typically getting around this requires turning off the screen, turning it back on, then going through the PIN unlock screen.
Included software
The Manjaro mobile platform ships with several applications. Earlier I mentioned the Angelfish web browser, which seems to work well enough for some basic browsing, though I struggled to find a way to type in specific URLs I wanted to visit. Alternative browsers are available in the Discover software centre which I'll talk about later in this review. The Buho note taking and task list app is included along with the Calindori calendar app. Calindori will display a calendar and it seems to be designed to show tasks and events on the calendar. I was unable to find a way to add events to the calendar so perhaps it is meant to offer a read-only view of existing shared calendars.

Adjusting audio settings
(full image size: 182kB, resolution: 720x1440 pixels)
The KDE Connect application is present. This program makes it easy to connect with desktop Linux systems and share files, remotely control media players, and share clipboard information. I like KDE Connect and it is one of the few programs included which feels like it has a truly polished and mobile-friendly design.
There is an app called Keysmith which appears to be a password generator, but its purpose isn't explicitly stated. Likewise the Kongress app doesn't have a clear purpose. It seems to be designed to keep track of meetings or presentations, though without any clear source of information or an indication of what assistance it provides.
There is an app for planning trips around European public transit systems called Ktrip and the mpv media player is included. There is a Matrix client called Neochat and a camera application called Megapixels. The cameras are relatively low-resolution by modern standards, but they exist and can be used to take front-facing or back-facing snapshots.
Digging through the list I found the Okular document viewer, a contact editor called Phone Book, and the Koko photo manager. There is a simple text editor called Nota, and a dialer which is plainly called Phone.
Something that took me a while to get accustomed to is different applications use different methods for navigating the interface and accessing features. The Plasma Mobile interface doesn't have a Back button the way some other mobile platforms, such as Android, do. Most native members of the Plasma Mobile family use breadcrumb navigation at the top of the window. For instance, if I'm in the Settings panel and select the Audio module, the top of the screen will read "Settings > Audio" and I can return to the top level of the panel by tapping the word Settings.

The Plasma Mobile settings panel with breadcrumb navigation
(full image size: 155kB, resolution: 720x1440 pixels)
Navigation is sometimes complicated by the fact some apps will hide the Home button along with the Open Windows and Close buttons at the bottom of the screen. This means if a full screen app locks up it can be hard to get rid of it. We usually need to open the settings drawer and launch something which will take over the screen and restore the navigation buttons.
Another curious quirk is that many applications have multiple menus. One will be represented by three dashes and another by three dots. These buttons are usually placed near the bottom of the app window. Often both menus only have a few entries and it's usually not clear which of the two menus I want to use to find a particular option. Maybe there is a pattern to what goes into each menu, but it wasn't clear. Some menus are really sparse, for example the camera tool simply has a menu which says "Settings aren't functional yet."
To make matters more unusual, a lot of the applications we can install from the software centre use classic, desktop style menu bars across the top of the window rather than the three dash/dot style menus. This means we're regularly switching between navigation approaches, menu styles, and menu locations since the desktop menu bars are placed at the top of windows and the dot/dash menus are typically placed at the bottom.
I think the dot/dash menus are placed lower down on the display to make accessing the menu with a thumb easier and I'd say this approach mostly works. However, some app interfaces are not well designed for the layout. As an example, the calendar app looks (at first) as though it doesn't have a zero button. The "0" is mostly covered by a menu button.
Earlier I mentioned Plasma Mobile ships with the Angelfish browser. This browser is functional for simple browsing, but doesn't have many features and it's on the slow side. I tried some alternative browsers I found through Discover. They offered more features, but were also slow and tended to flicker while displaying content. Browsing was sometimes made harder because the PinePhone seemed to drop its network connection whenever its screen was off. The device would automatically reconnect to my wireless network, but it caused a hiccup in connectivity.
Software management
Earlier I mentioned the Plasma Mobile interface uses Discover as its software manager. Discover looks and works the same on mobile as it does on the desktop. It's a bit complicated in its approach for a mobile app store. For instance, if we want to browse for a new program we first need to filter our searches based on whether the item we want is an application, an application add-on, or a Plasma add-on. We can search for items by name, but this doesn't always seem to be accurate and I got a lot of search results where I think the word I was looking for must have been in the program's detailed description as it didn't match the program's name or short description.

Browsing software categories in Discover
(full image size: 207kB, resolution: 720x1440 pixels)
Whether we browse for items in categories (and sub-categories) or search for key words, available programs are listed along with their name, icon, and a short description. A download button is placed to the right of the program's entry. Sometimes the download button is disabled and I think this indicates a program is available for other architectures (such as x86_64), but not ARM. For instance, I was unable to install the Signal client or Firefox. When an entry has already been installed the download button turns into a trash button, allowing us to remove the item.
Discover, as awkward as I found it to navigate at times, worked as expected. Newly installed applications were added to my application drawer on the home screen. One of the few serious problems I ran into came when I tried to check for updates. Discover seemed to lock up for a while after showing me an update was available. After several seconds it resumed working and I suspect it had been calculating the size of the available updates. These turned out to be one single bundle of many packages that was presented as a 1.1GB download (about a quarter of the size of the entire operating system). Given the performance issues I'd experienced I decided to put off applying this update for a few days. When I did try to fetch the update, Discover immediately reported an error saying "Dependency resolution failed: libcanberra." Unfortunately until this is resolved I'll be stuck with the existing versions of packages since Discover takes an "all or nothing" approach to updating the base system.
Running Android applications
One of the most common questions I hear when people talk about GNU/Linux distributions running on mobile devices is "Can it run Android applications?" Many people, perhaps even most people, feel locked into their existing iOS and Android ecosystems and are hesitant to migrate to another platform which doesn't provide the same apps.
In theory it is possible to run Android applications on GNU/Linux systems using software called Waydroid. I reviewed Waydroid running on desktop distributions in an earlier article. The Plasma Mobile interface reports it is running a Wayland session and so I checked for Waydroid in the Discover software centre. I found it and was able to install the Waydroid package.
Once Waydroid was installed its icon was added to my app drawer. Trying to launch Waydroid simply brought up the Waydroid logo and then the app locked up. Even after waiting several minutes, nothing happened. I tried launching Waydroid a few more times, but nothing happened apart from seeing the project's logo. It seems there is still a ways to go before Waydroid will make it possible for users to easily access and run Android applications.
Other observations
After a while I started getting used to the way Plasma Mobile handled on the PinePhone. The interaction was a little jerky, but I got into a rhythm with it on the second day. The device sometimes locked up, especially when running two or more applications, and this usually required turning off the screen and turning it back on. Getting the phone to wake up sometimes required pressing the power button two or three times.
The battery indicator doesn't seem to work. While the phone was charging it stayed at 65% for about an hour, then suddenly jumped to 73%, then up to 94%. When I unplugged the phone it almost immediately fell to 68% battery, then back up to 74% (without being plugged back in). I'm guessing this is a software bug coupled with a slow refresh rate on the status bar.
I want to give special credit to the Weather app. This program worked well, automatically detected its location and has a polished look above and beyond what most of the other pre-installed apps offer.
Earlier I mentioned the camera app works, though the images it takes are lower resolution and tend to look unusually dark. Despite this limitation, the Megapixel camera application worked as well as can expected with the available hardware and has a more familiar style to it than most of the programs available.
I usually use a wireless charging pad for my phone. This doesn't work with the PinePhone and it required I plug it into a charge block or the USB port on my computer to recharge the battery.
Also on the subject of the battery, the PinePhone sometimes reported its battery was running low when the charge was over 80%. When this would happen it would regularly send "low battery" notifications via KDE Connect and refuse to turn on the display for more than two seconds at a time. This generally required either a restart or leaving the phone plugged in until it stopped reporting its low battery status.
Hardware switches
The PinePhone's documentation mentions there are hardware switches which will toggle key components on/off. The camera, microphone, headphone jack, modem, Bluetooth, and wireless card can all be toggled with these switches. It took me a minute to find them. These are very tiny switches located under the back cover, just above the SIM card slot. Given their small size, I needed a tool (like a set of tweezers or pocket knife) to toggle the switches. Once toggled this should prevent software from enabling the camera, wi-fi, etc in order to provide better privacy.
Conclusions
A thought which kept coming to mind while using the PinePhone with its default operating system was that the experience feels really rough, like an early beta. Which, upon reflection, is appropriate since that's exactly what it is. I was running what's essentially a beta platform with young software on it and the mixed experience is to be expected. These are still early days for the PinePhone and for mobile branches of distributions such as Manjaro. Plasma Mobile has only been running on the PinePhone for about a year and I was running a version which, since I was unable to install updates, was out of date.
With all of this in mind I'd like to say that I don't think Manjaro and Plasma Mobile running on the PinePhone is a good experience yet - it's not something I'd use on a daily basis like I have /e/ OS or UBports. But the pieces are all there. Plasma Mobile on Manjaro has a phone, text messaging, an app store with most of the same software we can run on desktop distributions, a minimal yet functional settings panel, and similar key features. At the moment this combination (Plasma Mobile and the PinePhone) is probably only going to appeal to Linux enthusiasts who want to tinker, who want to push the limits of the hardware, who want to set up hobbyist projects to see if they can run a web server on the device, or who want to help polish open source solutions.
This is all fine and good. This is an early offering and a modest one and it's paving the way for more polished and more advanced options down the road. As I said, right now it isn't ready to replace my existing phone, but all the right pieces are present and, with slightly better performance and a little more RAM, I could see the next generation of PinePhones running Plasma Mobile being suitable as a daily device.
I'd also like to acknowledge there are other Linux distributions which can run on the PinePhone. The PINE64 wiki lists over 20 flavours of Linux which can run on this device and I'm eager to try out the alternatives.
* * * * *
Have questions about the PinePhone running Manjaro? Let us know via e-mail or in the comments. Queries will be answered in our next issue of DistroWatch Weekly.
|
| Miscellaneous News (by Jesse Smith) |
How good is Wayland for gaming, running Linux on Apple M1 computers, finding and fixing bugs on Ubuntu, Debian updates Bullseye media
Last week we reported the Fedora Workstation distribution will begin using Wayland as the default display software for all video cards, including NVIDIA cards. This has raised some questions about how effective Wayland is, particularly in situations which require low latency, like gaming. Xaver's blog has a detailed look at Wayland and X.Org with a special focus on gaming. "A considerable amount of people assume Wayland isn't particularly suitable for gaming, usually because you can't turn off the compositor. This post will challenge that assumption and see how the current state of gaming on Wayland is, with a focus on KWin, KDE's compositor."
* * * * *
The arrival of Apple's M1 class of computers last year sparked a lot of interest in tech circles. Though Linux was not supported when the M1 series arrived, work has been progressing on getting the Linux kernel (and related components) running on the new Mac hardware. The Asahi Linux project has been making progress in this regard and have published an update: "Over the past year, we've seen lots of development happening in separate kernel branches, but there wasn't any 'official' kernel branch collecting work before it is upstreamed. Now that many drivers are landing upstream and platform device trees are settling down, it's time to start collecting our ongoing work into a common branch. Say hi to the linux-asahi kernel branch!" Details on the history and progress of the project can be found in the Asahi Linux progress report.
* * * * *
Finding and fixing bugs is an important part of software development. Sometimes issues can be mysterious, even for the people who are accustomed to exploiting and patching bugs. Kevin Backhouse shares a look inside the process of working with software vulnerabilities, using an unusual example of an unexpected bug in Ubuntu. "As a general rule, you would expect the author of an exploit to understand how it works, even if it might seem like magic to everybody else. Well, not this time. This is the story of how I successfully exploited CVE-2021-3939 in Ubuntu's accountsservice, then spent the next two weeks trying to figure out how my own exploit worked. It seemed like magic, even to me!" The full write-up can be found in Backhouse's explanation of the issue.
* * * * *
The Debian project is publishing refreshed media for Debian 11 "Bullseye". The new media carries the version number 11.2. "The Debian project is pleased to announce the second update of its stable distribution Debian 11 (codename Bullseye). This point release mainly adds corrections for security issues, along with a few adjustments for serious problems. Security advisories have already been published separately and are referenced where available. Please note that the point release does not constitute a new version of Debian 11 but only updates some of the packages included. There is no need to throw away old bullseye media. After installation, packages can be upgraded to the current versions using an up-to-date Debian mirror."
* * * * *
These and other news stories can be found on our Headlines page.
|
| Questions and Answers (by Jesse Smith) |
Protecting our computers from children
Kids-in-the-machine asks: Is there a distribution I can use that will protect the operating system from my kids if they use the command line? I'd like to be able to restore the system if they break anything.
DistroWatch answers: The good news, in your situation, is that you can use virtually any mainstream distribution for this task. Almost all Linux distributions are designed to be multi-user systems, which means it's fairly easy to set up the operating system to survive accidents and mischief from its users.
The easiest approach to take is to give each person in your family their own user account. Then make one user account (yours) the administrator. This should be the only user who can perform significant changes on the system and run commands through privilege-raising tools such as sudo. Every other user account you create (for your kids or friends) should be regular user accounts. These are user accounts which can be used to create documents, browse the Internet, play media files, and so on. However, they cannot install new packages, delete important system files, or otherwise cause havoc for other users. Creating users is handled a little differently on each distribution, but the Ubuntu family makes this fairly easy and the steps are documented in the Ubuntu Help pages.
Simply making separate accounts for your kids will do most of the work required to protect your operating system from their actions. There are a few other security steps you might want to consider. One is locking down the permissions for each user's home directory. Many modern Linux distributions make it possible for other users to view the files of other users, probably in an effort to make collaboration and document sharing easier. However, this also raises the issue of privacy. You can check to see what the home directories on your system are using for permissions by running the ls command as follows:
$ ls -l /home
drwxr-xr-x 44 jesse jesse 4096 Nov 6 11:04 jesse
In the above example we can see that the jesse directory is owned by the jesse account, which is good. However, there are a lot of permissions applied to the directory we do not want. These are represented by the "rwxr-xr-x" series of characters. I won't go into the details here, but this string of letters means that the user has full access, referred to as "read, write, and execute" (or simply rwx) for their own directory. Other users have read and execute permission (r-x). Ideally we don't want other users to have any access to our home directory and its files. We can lock things down by using the chmod command:
chmod 700 /home/jesse
The above command gives the directory owner ( | | |