Linux Archive
Flakes also are a symptom or cause of much intra-community strife between “pro-flakes” and “anti-flakes” factions, but this situation is at some level a sign of broken consensus processes and various actors trying to sidestep them, an assumption by many people that the docs are “outdated” for not using flakes, and the bizarre proliferation of flakes everywhere in blog posts or tutorials leading to a belief that they are required for everything. This post is about how to architect Nix projects in general, with a special eye on how to do so with flakes while avoiding their limitations. It tries to dispel misconceptions that can develop in such a monoculture. ↫ Jade Every time I hear about Nix and Flakes I feel like I understand all of it a little less.
systemd, as a service manager, is not actually a bad piece of software by itself. The fact it can act as both a service manager and an inetd(8) replacement is really cool. The unit file format is very nice and expressive. Defining mechanism and leaving policy to the administrator is a good design. Of course, nothing exists in a vacuum. I don’t like the encouragement to link daemons to libsystemd for better integration – all of the useful integrations can be done with more portable measures. And I really don’t like the fact they consider glibc to be “the Linux API” when musl, Bionic, and other libcs exist. I’d like to dive into detail on the good and the bad of systemd, as seen through my eyes as all of: end user, administrator, and developer. ↫ awilfox awilfox is a maintainer of Adélie Linux, which does not use systemd, but this blog post is one of the few reasonable, well-written, and substantiated critiques of systemd – as opposed to the usual mindless screeching you usually hear about systemd. A great read.
Linux 6.7 has many exciting features including initial support for the Bcachefs file-system, Intel Meteor Lake graphics are stable as is the rest of the MTL platform support, initial NVIDIA GSP firmware support with the Nouveau driver, retiring of Intel Itanium support, and other new features with Linux 6.7. ↫ Michael Larabel The end of Itanium support is unforgivable. Itanium is the future, and Linux will miss the boat.
SteamOS 3 (“Holo”) is the Arch-based Linux distribution built for the Steam Deck, Valve Software’s portable PC gaming device. It’s a very interesting Linux distribution even when you only focus on how it updates itself: updates are performed atomically by downloading a new read-only root filesystem to an inactive partition, then rebooting into that partition. But consumers can also run steamos-devmode to unlock the root filesystem, put the pacman database in working order, and give them a working Linux distro with a normal package manager. This A/B atomic updates system is pretty standard for OSes these days, but there’s a lot going on in SteamOS that makes them work even with heavy customization by the end-user. I wanted to explore that while still being able to make changes to the root filesystem images. steamos-devmode is the easy way out; I wanted to make a proper fork. Here’s how I did it. ↫ iliana etaoin This article has sparked my interest to build a living room PC for Steam gaming for my wife and I, so we can play couch coop Steam games on an actual couch instead of behind our PC desk. Very detailed and in-depth, this article also teaches a lot about how SteamOS works under the hood.
systemd 255 has been released, and it contains one particular new feature I want to highlight. A new component “systemd-bsod” has been added to show logged error messages full-screen if they have a “LOG_EMERG” log level. This is intended as a tool for displaying emergency log messages full-screen on boot failures. Yes, BSOD in this case short for “Blue Screen of Death”. This was worked on as part of Outreachy 2023. The systemd-bsod will also display a QR code for getting more information on the error causing the boot failure. ↫ Michael Larabel at Phoronix I like this. Operating systems usually have excellent logging capabilities, but getting to these logs and making sense of them isn’t always easy, especially if you’re not elbow-deep in the weeds of how your operating system of choice works. Giving a useful error screen when things really hit a brick wall at 200 km/h is a good thing, and will make at least some troubleshooting easier.
PipeWire 1.0 now has all the features that are expected to move media streams inside a system. It takes advantage of advanced features of the Linux kernel to provide low latency, low footprint, and high performance while being secure. It is the perfect tool to build an embedded system or to securely share streams between containers. Linux audio and video has come a long way, and PipeWire is part of that. Excellent work.
Phoronix listed some of the major work happening in 6.7 for the RISC-V architecture: Merged last week was support for cbo.zero in user-space, support for CBOs on ACPI-based RISC-V systems, support for software shadow call stacks, improvements for the T-Head cache flushing operations, and other clean-ups and fixes. Meanwhile sent out today was a secondary pull request of more RISC-V changes for Linux 6.7. This latest pull has support for handling misaligned accesses in S-mode, performance improvements for TLB flushing, support for many new relocations in the module loader, and other enhancements. Momentum is definitely going for RISC-V.
Remember when we linked to David Revoy’s story about how his drawing pen’s buttons stopped working properly due to a Linux kernel update? Well, it turns out that Linux kernel developers took this one up, and a fix is already being tested. This solution is still W.I.P. and I still have some homework to send more data about my tablets after this blog post, but in overall I’m already using a newer kernel (Linux workstation 6.5.10-200.fc38.x86_64) and I don’t have the problem with the eraser mode on the top button of my XPPen Artist 24 Pro and XPPen Artist 16 Pro Gen2 styluses. The buttons are also now perfectly customisable via xsetwacom CLI tool. Yay! That’s why I wanted to share this blog-post as soon as possible. Be sure to read the whole article for an in-depth explanation of what’s being done to fix this.
Some of the x86 microcode loading improvements in Linux 6.7 include not loading microcode on 32-bit before paging has been enabled to avoid a variety of issues, reworked late-loading of CPU microcode, late-loading microcode is now CPU hotplug safe, and the notion of a minimum microcode revision for determining when late microcode loading is deemed safe. Considering how crucial microcode loading is, it makes sense to improve it as much as possible.
Amazon has been working on a new operating system to replace Android on Fire TVs, smart displays and other connected devices, I have learned from talking to multiple sources with knowledge of these plans, as well as job listings and other materials referencing these efforts. Development of the new operating system, which is internally known as Vega, appears fairly advanced . The system has already been tested on Fire TV streaming adapters, and Amazon has told select partners about its plans to transition to a new application framework in the near future. A source with knowledge of the company’s plans suggested that it could start shipping Vega on select Fire TV devices as early as next year. Is it a Linux distribution? Amazon’s new operating system is also based on a flavor of Linux, and is using a more web-forward application model. App developers are being told to use React Native as an application framework, which allows them to build native apps with Javascript-powered interfaces. Of course it’s a Linux distribution.
In recent years the Itanium support in the Linux kernel has went downhill with not many users left testing new kernels on aging Itanium servers. There also hasn’t been any major active contributors to the Itanium code for keeping it maintained and making any serious improvements to the architecture code. On and off for months there’s been talk of retiring Itanium from the Linux kernel and now it’s finally happened. With Linux 6.6 expected to be this year’s Long-Term Support (LTS) kernel version, there was the proposal recently to drop Itanium in Linux 6.7 and indeed it’s successfully happened. This is a complete outrage, and a sign Torvalds has completely lost the plot. Itanium is the future, and dropping it from the Linux kernel will be its death knell. I’m going back to DOS.
In short, after a Linux kernel update (6.5.8-200.fc.x86_64 on Fedora KDE), I can’t use the top button of my pen on my tablet. This is really affecting my digital painting workflow! Right-clicking on the pen is an essential part of my workflow. Right-click on a layer in Krita to get the menu, right-click while using the Transform tool to get the transformation options, right-click on the canvas to get the pop-up palette! …And I’m not even talking about how difficult it is to handle files and the D.E. without right-clicking. And if that makes you smile, imagine someone hardcoding the behaviour of your main device like the right-click on your mouse or touchpad (or anything else you have been using for more than 20 years) to something completely useless, and pushing it through kernel updates. And the icing on the cake, they left you with no user tool to change it back. I now have that same feeling or rage mixed with hopelessness that you feel when dealing with pointless government bureaucracy.
Lennart Poettering has been working on a new systemd feature called systemd-storagetm that is inspired by the Apple macOS “Target Disk Mode” feature. This is similar to Apple’s Target Disk Mode as a boot option on Macs that allows other systems to then easily access it as an external device. The systemd intent with this Storage Target Mode is to make it easier to debug a broken system with very few dependencies while being able to access the raw block device of the broken system via the network. This may also make it easier to migrate from one system to the next. By having access to the raw block device via NVMe-TCP, it can be easy to use the “dd” command or similar for copying the drive. Target Disk Mode has long been one of those amazing Mac features that should’ve come to PCs decades ago, so I’m incredibly glad Poettering is working on it. This will make it so much easier to troubleshoot, get files off a broken system, and so on, without having to move hard drives around or boot into live CDs.
The initial support was posted on October 25th 2023 on the Linux kernel mailing lists for review by the Linux developers community. With the set of patches released by Linaro engineers, it is also possible to boot an AOSP image with Graphics Software Rendering using Google’s SwiftShader. Since 2014, Linaro Engineers have been working closely with Qualcomm Engineers to enable Snapdragon platforms to work with Mainline Linux. Running a recent upstream Linux kernel immediately after the announcement of a new SoC is a significant achievement, and is a testimony to the close working partnership between Qualcomm and Linaro. Interestingly enough, during the recent announcement of the PC-focused X Elite SoC, Qualcomm also highlighted that Linux will be fully supported by the platform, and to underline that point, the company showed off X Elite laptops running both Windows and Linux. While it’ll take more to convince me that Qualcomm now actually cares about properly supporting its SoCs and the open source community, they’re at least positive signs.
The Linux Mint project has announced that they’re finally working on bringing the Cinnamon desktop environment over to Wayland. The work started on Wayland. As mentioned earlier this year, this was identified as one of the major challenges our project had to tackle in the mid to long term. Priority had been given to ISO tools and Secureboot over new features for 21.3 already, we felt it was time to invest some resources into Wayland as well. We wanted to have a clear picture of the work involved, so we wanted to start now. In terms of timing we don’t think we need Wayland support to be fully ready (i.e. to be a better Cinnamon option for most people) before 2026 (Mint 23.x). That leaves us 2 years to identify and to fix all the issues. It’s something we’ll continue to work on. Whenever it happens, assuming it does, we’ll consider switching defaults. We’ll use the best tools to do the job and provide the best experience. Today that means Xorg. Tomorrow it might mean Wayland. We’ll be ready and compatible with both. I respect this position. Linux Mint has always been just a bit more conservative than many of the other desktop-focused distributions, and this has earned it a well-deserved reputation for being stable and reliable. I use Linux Mint on my gaming PC for that very reason (albeit with the Xanmod kernel) – during the little time I have to play games, I don’t want to deal with issues arising from using bleeding edge software.
Google is proposing a new mseal() memory sealing system call for the Linux kernel. Google intends for this architecture independent system call to be initially used by the Google Chrome web browser on Chrome OS while experiments are underway for use by Glibc in the dynamic linker to seal all non-writable segments at startup. The discussion is ongoing, so you can read the original proposed patchset and go from there.
Linux is an operating system, similar to Windows, but with many different versions due to the nature of being open source and fully customizable. To install Linux, you must choose an install method and choose a Linux distribution. So that’s a thing.
Debian Bookworm itself is mostly made up of incremental updates of the software that was in the previous Debian Bullseye release. There are a few small changes — have a look here for the list — but they mostly won’t affect Raspberry Pi users. So Bookworm itself really hasn’t resulted in many changes. However, for the last year or so we have been working on some major architectural changes to the Raspberry Pi Desktop, and these are launched for the first time in the Bookworm release. And this is where you might notice some differences. With this new release, Raspberry Pi OS moves to Wayland and a Wayfire desktop, but it looks and feels exactly the same as what came before with X.Org. It now also comes with Pipewire, as well as an up-to-date version of Firefox that has been modified in cooperation with Mozilla to make better use of the hardware features found in the Pi.
Nightcap lets you run old Windows screensavers under XScreenSaver, using wine. That’s it. That’s the Github description.
In this guide, we’ll build a very tiny Linux kernel, weighing in at 789 K, and requiring no MMU support. We’ll write some userspace code and this will be deployed on a virtual RISC-V 64-bit machine, without MMU, and we’ll run some tiny programs of our own. As a reminder, please go through the guide for a micro Linux distro to understand the concepts behind what we’re doing today: building the kernel, initramfs, etc. This guide is basically a continuation of that one and an exercise in making an absolutely minimal Linux deployment for (in theory) extremely cheap hardware. This follows up on the mentioned earlier article.