Today, we are very excited to announce a new open source project which enables interaction with traditional desktop environments, such as GNOME and KDE, in VR. Sponsored by Valve, xrdesktop makes window managers aware of VR and is able to use VR runtimes to render desktop windows in 3D space, with the ability of manipulating them with VR controllers and generating mouse and keyboard input from VR. At least the time Valve isn’t spending on making the Steam client not suck or, you know, games, is spent on something worthwhile – improving often neglected aspects of the Linux world.
Linux kernel headers are the unstable, constantly-changing, internal API of the kernel. This includes internal kernel structures (for example, task_struct) as well as helper macros and functions. Unlike the UAPI headers used to build userspace programs that are stable and backward-compatible, the internal kernel headers can change at any time and any release. While this allows the kernel unlimited flexibility to evolve and change, it presents some difficulties for code that needs to be loaded into the kernel at runtime and executed in kernel context. My solution to the problem is to embed the kernel headers within the kernel image itself and make it available through the sysfs virtual filesystem (usually mounted at /sys) as a compressed archive file (/sys/kernel/kheaders.tar.xz). This archive can be uncompressed as needed to a temporary directory. This simple change guarantees that the headers are always shipped with the running kernel. This change has been added to version 5.2 of the Linux kernel.
Unikernels have demonstrated enormous advantages over Linux in many important domains, causing some to propose that the days of Linux’s dominance may be coming to an end. On the contrary, we believe that unikernels’ advantages represent the next natural evolution for Linux, as it can adopt the best ideas from the unikernel approach and, along with its battle-tested codebase and large open source community, continue to dominate. In this paper, we posit that an up-streamable unikernel target is achievable from the Linux kernel, and, through an early Linux unikernel prototype, demonstrate that some simple changes can bring dramatic performance advantages. A scientific paper on the subject.
ZFS on Linux 0.8 (ZoL) brought tons of new features and performance improvements when it was released on May 23. They came after Delphix announced that it was migrating its own product to Linux back in March 2018. We’ll go over some of the most exciting May features (like ZFS native encryption) here today. For the full list—including both new features and performance improvements not covered here—you can visit the ZoL 0.8.0 release on Github. (Note that ZoL 0.8.1 was released last week, but since ZFS on Linux follows semantic versioning, it’s a bugfix release only.)
In an interesting video interview, Canonical founder Mark Shuttleworth shares his thoughts on desktop Linux. Some of his most prominent statements include: “I think the bigger challenge has been that we haven’t invented anything in the Linux that was like deeply, powerfully ahead of its time” and, “if in the free software community we only allow ourselves to talk about things that look like something that already exists, then we’re sort of defining ourselves as a series of forks and fragmentations.”
If you are reading this post you’re very much likely not a fan of systemd already. So we won’t preach on why systemd is bad, but today we’ll focus more on what are the alternatives out there. Our approach is obviously not for settling for less but for changing things for the better. We have started the world after systemd project some time ago and the search isn’t over. So what are the non-systemd distros out there? I’ll be honest and say that I completely missed the systemd controversy back when it happened, and while I’ve tried reading up on the criticism of systemd, I clearly lack the technical acumen to say anything meaningful about it either way. But hey, for those of you out there who don’t like systemd – this one’s for you.
Some of the true craftsmanship in the world we take for granted. One of these things is the common tools on Linux, like ps and ls. Even though the commands might be perceived as simple, there is more to it when looking under the hood. This is where ELF or the Executable and Linkable Format comes in. A file format that used a lot, yet truly understood by only a few. Let’s get this understanding with this introduction tutorial! Some light reading for the weekend.
At Google I/O, Google quietly announced that “all devices launched this year will be Linux-ready right out of the box.” A ZDNet article has more details. Earlier, you could run Debian, Ubuntu and Kali Linux on Chrome OS using the open-source Crouton program in a chroot container. Or, you could run Gallium OS, a third-party, Xubuntu Chromebook-specific Linux variant. But it wasn’t easy. Now? It’s as simple as simple can be. Just open the Chrome OS app switcher by pressing the Search/Launcher key and then type “Terminal”. This launches the Termina VM, which will start running a Debian 9.0 Stretch Linux container.
Linux 5.1 released has just been released. The main feature in this release is io_uring, a high-performance interface for asynchronous I/O. There are also improvements in fanotify to provide a scalable way of watching changes on large file systems, and it adds a method to allow safe delivery of signals in presence of PID reuse. Persistent memory can be used now as hot-plugabble RAM, Zstd compression levels have been made configurable in Btrfs, and there is a new cpuidle governor that makes better power management decisions than the menu governor. In addition, all 32 bit architectures have added the necessary syscalls to deal with the y2038 problem; and live patching has added support for creating cumulative patches. There are many other features and new drivers in the KernelNewbies changelog.
Had enough of Windows 10’s hassles? Unless you plan to install Windows 7, which is going to lose support from Microsoft on January 14, 2020, or have the cash to spare for an Apple device, there aren’t many other options for a computer operating system except some flavor of Linux. Although you can expect a learning curve when changing platforms, Windows users who are curious about the state of Linux for mainstream computing might come away surprisingly satisfied after finding a suitable distribution for their machine and spending time getting familiar with the new environment. Here are five-plus reasons why you could easily wind up preferring Linux instead of Windows as the default operating system on your desktop or laptop. Regardless of any preferences you think you might have, assuming you have the means to do so, it is always a good idea set some time apart every now and then and take a good look at the system you’re using, possible alternatives, and how difficult it would be to switch. This fosters the kind of thinking that prevents you from being locked into a platform or ecosystem too easily.
My software setup has been surprisingly constant over the last decade, after a few years of experimentation since I initially switched to Linux in 2006. It might be interesting to look back in another 10 years and see what changed. A quick overview of what’s running as I’m writing this post. A detailed overview of a terminal-oriented Linux software setup. There’s obviously countless setups like this, but this post is quite detailed and possibly contains some ideas for others.
Late last year, Linux OEM System76 unveiled the Thelio, its custom Linux-focused workstation. The computer is now shipping to consumers, meaning the first reviews are starting to roll in. Leonora Tindall wrote up her experience with System76’s latest workstation, concluding: System76’s new “open hardware” desktop, is a small, beautiful, and powerful desktop computer that hits every high point anyone could have expected, faltering only in the inherent limitations of its small size. It’s pretty, it’s tiny, it’s fast, it’s well cooled, and the software support is top-tier. Despite being somewhat noisy and lacking front I/O, it’s certainly a good machine for any Linux user who can swallow the 18% – 22% upcharge for assembly and custom engineering. It must be difficult to sell highly customisable Linux workstations like these, since virtually anyone using Linux is most likely more than capable and willing to build their own computer. Still, I commend the effort, and it can serve as a halo product for System76’s Linux laptops, which probably cover a wider net of possible consumers.
We are no longer in control of our home directories. My own home directory contains 25 ordinary files and 144 hidden files. The dotfiles contain data that doesn’t belong to me: it belongs to the programmers whose programs decided to hijack the primary location designed as a storage for my personal files. I can’t place those dotfiles anywhere else and they will appear again if I try to delete them. All I can do is sit here knowing that in the darkness, behind the scenes, they are there. Waiting in silence. Some of those programmers decided to additionally place some normal files and directories in the same place. Those are clearly visible every time I execute ls in my home directory. It is beyond me why my home directory ended up up containing a node_modules directory, package-lock.json, a yarn.lock file (I have never even consciously used yarn!), some 2 strange log files origination from some Java software clearly using an H2 database, and a Desktop directory. That last one has been created by Steam, which is quite unfortunate as I simply do not have a desktop or a desktop environment on my machine. I dread the day in which I will hear a loud knock on my door and one of those programmers will barge in informing me that he is going to store a piece of his furniture in the middle of my living room, If I don’t mind. The way Linux distributions handle the directory structuce in general is deeply broken and inconcistent – trying to cram a modern desktop operating system in a directory structure designed for punch card machines is lunacy – and this is yet another example of that. It’s not just developers being lazy; it’s also developers simply being unable to count on distributions making sane choices and following the FHS to begin with. UNIX-based operating systems are an outdated mess under the hood, and developers are trying to work around that mess by making an even bigger mess using hidden files and random directories all over the place. Of course, saying this is considered sacrilege, as an operating system designed for mainframes in the ’60s is clearly perfect, and never needs to change or alter or improve its underpinnings in any way, shape, or form.
While Ubuntu and Red Hat grabbed most of the Linux headlines last year, Linux Mint, once the darling of the tech press, had a relatively quiet year. Perhaps that’s understandable with IBM buying Red Hat and Canonical moving back to the GNOME desktop. For the most part Linux Mint and its developers seemed to keep their heads down, working away while others enjoyed the limelight. Still, the Linux Mint team did churn out version 19, which brought the distro up to the Ubuntu 18.04 base. While the new release may not have garnered mass attention, and probably isn’t anyone’s top pick for “the cloud,” Linux Mint nevertheless remains the distro I see most frequently in the real world. When I watch a Linux tutorial or screen cast on YouTube, odds are I’ll see the Linux Mint logo in the toolbar. When I see someone using Linux at the coffee shop, it usually turns out to be Linux Mint. When I ask fellow Linux users which distro they use, the main answers are Ubuntu… And Linux Mint. All of that is anecdotal, but it still points to a simple truth. For a distro, that has seen little press lately, Linux Mint manages to remain popular with users. Linux Mint is definitely my distribution of choice – they don’t try to change the world, and just want to develop a solid, fairly traditional desktop-oriented distribution, and they’re damn good at it. It’s on my laptop, and the fact I barely even realise I’m using Linux while using Mint tells you all you need to know.
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.
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 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, 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 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 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.