Linux Archive
Linux Mint 19.1: a sneaky popular distro skips upheaval, offers small upgrades
Linux kernel developers discuss dropping x32 support
It was just several years ago that the open-source ecosystem began supporting the x32 ABI, but already kernel developers are talking of potentially deprecating the support and for it to be ultimately removed.
The Linux x32 ABI as a reminder requires x86_64 processors and is engineered to support the modern x86_64 features but with using 32-bit pointers rather than 64-bit pointers. The x32 ABI allows for making use of the additional registers and other features of x86_64 but with just 32-bit pointers in order to provide faster performance when 64-bit pointers are unnecessary.
This headline confused me for a second, because at first I thought the Linux team was removing 32 bit support - which obviously made little sense to me. As the quoted blurb explains, that's not the case.
Bringing the Android kernel back to the mainline
Android devices are based on the Linux kernel but, since the beginning, those devices have not run mainline kernels. The amount of out-of-tree code shipped on those devices has been seen as a problem for most of this time, and significant resources have been dedicated to reducing it. At the 2018 Linux Plumbers Conference, Sandeep Patil talked about this problem and what is being done to address it. The dream of running mainline kernels on Android devices has not yet been achieved, but it may be closer than many people think.
As I always say - Android is the most popular Linux distribution of all time, and by a huge, huge margin. This often makes a lot of people very angry, as they come up with all sorts of additional random imaginary requirements as to what constitutes a Linux distribution. If they manage to get the Android version of the Linux kernel back into mainline, these discussions will probably become even more nebulous - and entertaining.
Samsung’s Linux on DeX turns your phone into a Linux PC
Samsung debuted DeX last year to make your phone behave a bit more like a computer when plugged into a monitor. This year, DeX functionality has improved so you don't need to expensive custom dock, just a video cable. At Samsung's developer conference last week, it announced DeX would also get full Linux support. It's only officially available to those in the beta program, but we've got the APK.
I remain convinced that this is eventually what all our phones will be able to do - adapt to whatever input method and/or display you hook up to it. We're in the early stages today, with lots of rough edges, performance hiccups, and other issues, but eventually, we won't bat an eye at walking into our homes and without us doing anything, our phone wirelessly hooks up to all displays in our house. Want to work on that presentation for tomorrow? Walk into your office, sit down, and your phone automatically wirelessly connects to the mouse, keyboard, and display on your desk. Want to watch Netflix? Just yell a command at your TV, and your phone plays season 7 of Game of Thrones: The Next Generation on your TV. And so on.
This is still a long way off, and it requires serious advances in wireless transmission and latency, but this is the future I want.
System76 unveils Thelio, a custom Linux workstation
System76, the company making and selling Linux laptops, has unveiled the Thelio, a fully custom designed and built desktop machine. Everything about the machine is custom - from the case to the special IO board that monitors temperatures all across the case and optimizes airflow accordingly. This IO board and the case design are fully open source, so anyone can improve upon the designs or tinker with them.
The Thelios comes in three sizes, and can be specced with anything from basic Ryzen or Core CPUs all the way to Threadripper and dual Xeon processors, accompanied by the usual assortment of Radeon or GeForce video cards. You can add multiple video cards, including the brand new RTX cards. The biggest machine goes up to 768 GB of ECC memory, and if you add all the most expensive bells and whistles, the Thelio Massive will go beyond the €80,000 price point. Luckily, the smallest model starts at a more reasonable €1099.
I like this. This goes way beyond just slapping a few standard components in an off-the-shelf box - this is actually designing a beautiful and airflow-optimized computer running Linux, and that's exactly what we need more of. I'm keeping an eye on this machine, because even though I have no intention of replacing my current workstation, I have to say I am very much tempted by what System76 has done here.
Nitrux: Linux, KDE Plasma 5, Qt and Nomad Desktop
Nitrux is a Linux distribution based on Ubuntu suitable for laptops and desktop computers. Nitrux provides all the benefits of the Ubuntu operating system combined with a focus on portable, redistributable application formats like AppImages. Nitrux uses the LTS branch of Ubuntu as a basis using only the core system and then slowly building up to ensure a clean user experience. Nitrux is suitable for newcomers to Linux as well as *nix experienced users. Nitrux uses KDE Plasma 5 and KDE Applications; we also use our in-house software suite Nomad Desktop adding to the user experience.
This sounds very similar to Elementary OS, but instead of Gnome and Gtk+-oriented, it's built around Qt and KDE technologies. I like distributions that try to do something more interesting than being just another random Gnome or KDE distribution, and I especially like how the open source Linux community seems to be focusing more and more on polish, design, and simplicity lately. Very welcome additions to the Linux world.
Linux 4.19 released
Linux 4.19 has been released. This release adds support for the CAKE network queue management to fight bufferbloat, support for guaranteeing minimum I/O latency targets for cgroups, experimental support for the future Wi-Fi 6 (802.11ax-drafts), memory usage for overlayfs users has been improved, a experimental EROFS file system optimized for read-only use, a new asynchronous I/O polling interface, support for avoiding unintentional writes to an attacker-controlled FIFO or regular files in world writable sticky directories, support for a Intel feature that locks part of the CPU cache for an application, and many other improvements and new drivers. For more details, see the complete changelog.
elementary OS 5 Juno released
Elementary OS, a rather interesting Linux distribution with a very heavy focus on usability, has released its latest release.
elementary OS is made up of two main parts: the "desktop" which includes the core user experience, look and feel, and system pieces; and the apps that come with the OS out of the box. elementary OS 5 Juno includes major updates across several of these core apps.
Elementary OS is sometimes regarded as the macOS of the Linux world, as it aims to pretty much streamline and hide all the less user friendly aspects of using Linux to higher degree than even systems like Ubuntu or Linux Mint. They also consider design a central aspect, which does seem to bear fruit - Elementary looks incredibly attractive.
Snap, Flatpak and AppImage, package formats compared
In recent years, three different distribution independent package formats have gained a lot of popularity. There are already a few Linux distributions like Endless OS and Fedora Silverblue that depend solely on distribution independent packages to run desktop applications. Are these package formats ready to become main packages formats for Linux distributions?
In this article we will take a look at the advantages and disadvantages of each package format individually, and of distribution independent package formats in general.
I haven't really been keeping up with this relatively recent development of new distribution-independent package formats, so I was unpleasantly surprised when, after installing Linux Mint on my laptop, I would often find two different installable packages of the same program in the software manager. Often, these would have different versions.
Regardless of technical merit, that's not exactly a friendly user experience.
What’s a CPU to do when it has nothing to do?
It would be reasonable to expect doing nothing to be an easy, simple task for a kernel, but it isn't. At Kernel Recipes 2018, Rafael Wysocki discussed what CPUs do when they don't have anything to do, how the kernel handles this, problems inherent in the current strategy, and how his recent rework of the kernel's idle loop has improved power consumption on systems that aren't doing anything.
I had no idea doing nothing was this complex.
Killing processes that don’t want to die
Suppose you have a program running on your system that you don't quite trust. Maybe it's a program submitted by a student to an automated grading system. Or maybe it's a QEMU device model running in a Xen control domain ("domain 0" or "dom0"), and you want to make sure that even if an attacker from a rogue virtual machine manages to take over the QEMU process, they can't do any further harm. There are many things you want to do as far as restricting its ability to do mischief. But one thing in particular you probably want to do is to be able to reliably kill the process once you think it should be done. This turns out to be quite a bit more tricky than you'd think.
Linus apologises for his years of abrasive behaviour
This is my reality. I am not an emotionally empathetic kind of person and that probably doesn't come as a big surprise to anybody. Least of all me. The fact that I then misread people and don't realize (for years) how badly I've judged a situation and contributed to an unprofessional environment is not good.
This week people in our community confronted me about my lifetime of not understanding emotions. My flippant attacks in emails have been both unprofessional and uncalled for. Especially at times when I made it personal. In my quest for a better patch, this made sense to me. I know now this was not OK and I am truly sorry.
The above is basically a long-winded way to get to the somewhat painful personal admission that hey, I need to change some of my behavior, and I want to apologize to the people that my personal behavior hurt and possibly drove away from kernel development entirely.
I am going to take time off and get some assistance on how to understand people’s emotions and respond appropriately.
Actions speak louder than words, so we'll see if this sudden realisation will lead to anything tangible.
PowerShell launches as a snap
PowerShell Core from Microsoft is now available for Linux as a Snap. Built on the .NET Framework, PowerShell is an open source task-based command-line shell and scripting language with the goal of being the ubiquitous language for managing hybrid cloud assets. It is designed specifically for system administrators and power-users to rapidly automate the administration of multiple operating systems and the processes related to the applications that run on those operating systems.
Linux Mint 19 released
Linux Mint 19 is a long term support release which will be supported until 2023. It comes with updated software and brings refinements and many new features to make your desktop experience more comfortable.
In Linux Mint 19, the star of the show is Timeshift. Although it was introduced in Linux Mint 18.3 and backported to all Linux Mint releases, it is now at the center of Linux Mint's update strategy and communication.
Thanks to Timeshift you can go back in time and restore your computer to the last functional system snapshot. If anything breaks, you can go back to the previous snapshot and it's as if the problem never happened.
This new release is jampacked with new features and improvements, and I must say this looks mightily intriguing.
A broad overview of how modern Linux systems boot
For reasons beyond the scope of this entry, today I feel like writing down a broad and simplified overview of how modern Linux systems boot. Due to being a sysadmin who has stubbed his toe here repeatedly, I'm going to especially focus on points of failure.
I always find it fascinating to read about how computers boot - it's often a very intricate process, built atop decades of backwards compatibility.
C gfx library for the Linux framebuffer with parallelism support
FBGraphics was made to produce fullscreen pixels effects easily with non-accelerated framebuffer by leveraging multi-core processors, it is a bit like a software GPU (much less complex and featured!), the initial target platform is a Raspberry PI 3B and extend to the NanoPI (and many others embedded devices), the library should just work with many others devices with a Linux framebuffer altough there is at the moment some restrictions on the supported framebuffer format (24 bits).
FBGraphics is lightweight and does not intend to be a fully featured graphics library, it provide a limited set of graphics primitive and a small set of useful functions to start doing framebuffer graphics right away with or without multi-core support.
Neat project.
The real power of Linux executables
What happens when a file gets executed in Linux? What does it mean that a file is executable? Can we only execute compiled binaries? What about shell scripts then? If I can execute shell scripts, what else can I execute? In this article we will try to answer those questions.
There’s real reasons for Linux to replace ifconfig, netstat, et al.
One of the ongoing system administration controversies in Linux is that there is an ongoing effort to obsolete the old, cross-Unix standard network administration and diagnosis commands of ifconfig, netstat and the like and replace them with fresh new Linux specific things like ss and the ip suite. Old sysadmins are generally grumpy about this; they consider it yet another sign of Linux's 'not invented here' attitude that sees Linux breaking from well-established Unix norms to go its own way. Although I'm an old sysadmin myself, I don't have this reaction. Instead, I think that it might be both sensible and honest for Linux to go off in this direction. There are two reasons for this, one ostensible and one subtle.
Living in a Docker world
Have you ever tried to install Minecraft and seen an error message like, "This application requires a Java Runtime Environment 1.6.0"? Or you try to install something on Windows, and you get an error that says some .NET framework is missing? Or, as a more basic example, have you ever spent a couple hours setting up a new computer with all your applications and preferences?
Those are the kinds of problems Docker, and "containers" more broadly (Docker is kind of the Kleenex of containers), are meant to solve. Docker makes it easy to install Linux applications on servers, along with their required dependencies and whatever preferences you might have for those applications. And, as an added bonus, conflicting dependencies between applications (maybe one app relies on Python 2, and another app relies on Python 3) aren't an issue, because everything is isolated in different containers.