Monthly Archive:: November 2020

GhostBSD 20.11.28 released

This release comes with a new live system that leverages ZFS, compression, and replication first introduced in FuryBSD by Joe Maloney. The 20.11.28 release contains numerous improvements, including OS fixes for linuxulator to improve Linux Steam performance, an updated kernel, and GhostBSD userland updates. Userland updates include a MATE desktop upgrade to version 1.24.1, Software Station performance improvements, and numerous application updates. Does anybody have any experiences with Linuxulator? I’m quite curious about its performance compared to running the same binaries on Linux, and just how easy it is to use.

Why is Apple’s M1 chip so fast?

On Youtube I watched a Mac user who had bought an iMac last year. It was maxed out with 40 GB of RAM costing him about $4000. He watched in disbelief how his hyper expensive iMac was being demolished by his new M1 Mac Mini, which he had paid a measly $700 for. In real world test after test, the M1 Macs are not merely inching past top of the line Intel Macs, they are destroying them. In disbelief people have started asking how on earth this is possible? If you are one of those people, you have come to the right place. Here I plan to break it down into digestible pieces exactly what it is that Apple has done with the M1. It’s exciting to see x86 receive such a major kick in the butt, but it’s sad that the M1 is locked away and only a very, very small number of people will get to see its benefits.

Little things that made Amiga great

In a time when home PC’s were single tasking DOS boxes with 8 character file names and Ataris and Macs were single tasking GUI boxes, hampering any hacker with their glaring lack of a CLI, the Amiga was a champion of both worlds: It combined the CLI and GUI, leveraging both their strengths. But there was more to it than that, something that’s hard to convey in so many words. A long list of little things that the author believes made the Amiga great. There’s some interesting touches in there, but personally, the Amiga OS and its derivatives just do not click with me – and I’ve extensively used all of them. Not that it matters, though – there’s more than enough love for the Amiga to go around.

Genode OS Framework 20.11 released

With Genode 20.11, we focused on the scalability of real-world application workloads, and nurtured Genode’s support for 64-bit ARM hardware. We thereby follow the overarching goal to run highly sophisticated Genode-based systems on devices of various form factors. The release notes are detailed and informative as always – a huge benefit of being a project born at and run in a university environment.

Apple Silicon M1: a developer’s perspective

The new M1 MacBooks are fast, beautiful and silent and the hype is absolutely justified. There’s still a lot to do on the software-front to catch up, and the bugs around older iOS Simulators are especially problematic. All of that can be fixed in software and the whole industry is currently working on making the experience better, so by next year, when Apple updates the 16-inch MacBook Pro and releases the next generation of their M chip line, it should be absolutely possible to use a M1 Mac as main dev machine. For the vast majority of people, it’s going to be very hard to resist these new Macs. They’re just so far ahead of the competition in performance, power draw, battery life, and noise (or lack thereof) that any x86-based laptop just can’t compete, unless they go hardcore in on price. I’d love to have one to test and review here for OSNews, but financially that’s not in the cards for now.

ELKS, the Embeddeable Linux Kernel Subset, 0.4 released

This is a project providing a Linux-like OS for systems based on the Intel IA16 architecture (16-bit processors: 8086, 8088, 80188, 80186, 80286, NEC V20, V30, and compatibles). Such systems are ancient computers (IBM-PC XT/AT and clones), or more recent SBC/SoC/FPGA that reuse the huge hardware & software legacy from that popular platform. Definitely an interesting and impressive project.

Developer successfully virtualizes ARM Windows on Apple Silicon

A developer has successfully been able to virtualize the ARM version of Windows on Apple Silicon using the QEMU virtualizer. Apple’s M1 MacBooks have proved their worth when it comes to performance and battery efficiency. But, since these run on a custom ARM chip, it’s not yet possible to install, dual boot, or emulate Windows; which is in popular demand. Developer Alexander Graf, however, took to Twitter today to share his achievement: successfully being able to virtualize ARM Windows on Apple Silicon. Nothing too surprising, of course, but the real barrier to Windows on ARM running on M1-equipped Macs is not running Windows on M1 Macs, but Microsoft actually making the ARM version of Windows available for this very purpose.

Geeking out with UEFI, again

A few weeks ago, we linked to an article that went in-depth into UEFI, and today, we have a follow-up. But the recent activity reminded me that there was one thing I couldn’t figure out how to do at the time: Enumerate all the available UEFI variables from within Windows. If you remember, Windows has API calls to get and set UEFI variable values, but not to enumerate them. So I started doing some more research to see if there was any way to do that – it’s obviously possible as the UEFI specs describe it, a UEFI shell can easily do it, and Linux does it (via a file system). My research took me to a place I wouldn’t have expected. We can always go deeper.

v7/x86: the last true UNIX, ported to x86

V7/x86 is a port of the Seventh Edition of the UNIX operating system to the x86 (i386) based PC. UNIX V7 was the last general distribution (around 1979) to come from the Research group at Bell Labs, the original home of UNIX. The port was done mostly around 1999 when “Ancient UNIX” source code licenses first became available, and was revised for release, with some enhancements, during 2006-7. The distribution includes the full UNIX Version 7 operating system, with source code, pre-built binaries, man pages, and original Version 7 documentation. Also included are a custom UNIX-style x86 assembler, an ACK-based C compiler, and several key early UCB software components such as the C shell, the editors ex and vi, and the pager more. I’m inclined to try and run this virtually, to see just how bastardised and messy UNIX has become in our current UNIX derivatives.

The FreeBSD desktop series

The FreeBSD Desktop series are about creating efficient desktop environment on the FreeBSD system. Why such series? Because telling someone who wants FreeBSD desktop to buy Mac instead is like telling someone who wants Linux desktop to buy Windows because it has WSL (Windows Subsystem for Linux) inside. This is one hell of a detailed and long series of articles – 21 of them. I’m not very well-versed in the world of BSD, and this series is making me want to give the world thing a go – just to learn and expand my horizons.

European Parliament votes for right to repair

In a landmark move, the European Parliament voted today to support consumers’ Right to Repair. The resolution was adopted with 395 in favour and just 94 against, with 207 abstentions. The vote calls for the EU Commission to “develop and introduce mandatory labelling, to provide clear, immediately visible and easy-to-understand information to consumers on the estimated lifetime and reparability of a product at the time of purchase.” Good.

Before the BSD kernel starts

In this article, I will walk through the early kernel initialization process, defining the meaning of this term. System initialization is a broad topic that ranges from the platform’s hardware design all the way up to typical functions of an operating system such as handling I/O operations. It is not possible to cover the entire topic adequately within the scope of an article. In this first part I will describe the well-known AMD64: 64-bit platform. I am going to highlight a very interesting part of the initialization process the early initialization of the kernel. Later, I will compare it with ARM64. In both cases I will discuss the topic in the context of NetBSD, the operating system known for its portability. Some light reading.

Booting from a vinyl record

Most PCs tend to boot from a primary media storage, be it a hard disk drive, or a solid-state drive, perhaps from a network, or – if all else fails – the USB stick or the boot DVD comes to the rescue… Fun, eh? Boring! Why don’t we try to boot from a record player for a change? I hope he’s using gold-plated triple-insulated Monster cables with diamond tips and uranium signal repeaters, because otherwise the superior quality of the vinyl will get lost. Would be a shame.

Review: System76’s Bonobo WS

Earlier this year, we reviewed System76’s Lemur Pro, a laptop designed for portability and long battery life. This time around, we’re going entirely the opposite direction with the System76 Bonobo WS – a mobile workstation that looks like a laptop (if you squint), but packs some of the fastest desktop-grade hardware available on the market. Specifications System76 sent us the latest version of the Bonobo WS, with some truly bonkers specifications for what is, technically, a laptop (sort of), at a total price of $4315.22. This mobile workstation comes with an Intel Core i9-10900K, which has 10 cores and 20 threads and runs at 5.3 Ghz – and this is not a constrained mobile chip, but the full desktop processor. It’s paired with an 8GB RTX 2080 Super graphics card – which, again, is the desktop part, not the mobile version. It has 32 GB of RAM configured in dual-channel at 3200 Mhz. To top it off, I configured it with a 250 GB NVMe drive for the operating system, and an additional 1 TB NVME drive for storage and other stuff. Both of these drives have a theoretical sequential read and write speeds of 3500 MB/s and 2300 MB/s respectively. The Bonobo WS comes with a 17.3″ display, and I opted for the 1080p 144Hz version, since the 4K option was not yet available at the time of setting up the review unit. The 4K option, which I would normally recommend on a display of this size, might not make a lot of sense here since most people interested in a niche mobile workstation like this will most likely be using external displays anyway, making the splurge for the 4K option a bit moot, especially since it’s a mere 60 Hz panel. There’s a few other specifications we need to mention – specifically the weight and battery life of a massive computer like this one. The base weight is roughly 3.8 kg, and its dimensions are 43.43 × 399.03 × 319.02 mm (height × width × depth). While this machine can technically be classified as a laptop, the mobile workstation moniker is a far more apt description. This is not a machine for carrying from classroom to classroom – this is a machine that most users will use in just two, possible three places, and don’t move very often. Another reason for that is battery life. A machine with this much power requires a lot of juice, and the 97 Wh battery isn’t going to give you a lot of unplugged time to work. You’ll spend all of your time plugged into not one, but two power sockets, as this machine requires two huge power bricks. It even comes with an adorable rubber thing that ties the two power bricks together in a way that maintains some space between them for cooling and safety purposes. So not only do you have to lug around the massive machine itself, but also the two giant power bricks. As this is a mobile workstation, the ports situation is excellent. It has a USB 3.2 Gen 2×2 (ugh)/Thunderbolt 3 port (type C), 3 USB 3.2 Gen 2 (type A) ports, and a MicroSD card slot. For your external display needs, we’ve got a full-size HDMI port, 2 mini DisplayPorts (1.4) and a DisplayPort (1.4) over USB type C. Furthermore, there’s an Ethernet port, the usual audio jacks (microphone and headphones, and one also has an optical connection), and the obligatory Kensington lock. Of course, there’s wireless networking support through an Intel dual-band WiFi 6 chip, as well as Bluetooth support. Hardware The hardware of this machine is entirely dictated by its internals, since cramming this much desktop power in a computer that weighs less than 4 kg doesn’t leave you with much room to mess around. The entire design is dictated by the required cooling, and there are vents all over the place. This is not a pretty or attractive machine – but it doesn’t need to be. People who need this much mobile power to lug around don’t care about what it looks like, how thin it is, or how aluminium the aluminium is – they need this power to be properly cooled, and if that means more thickness or more vents, then please don’t skimp. If you care about form over function – which is an entirely legitimate criterion, by the way, and don’t let anybody tell you otherwise – there are other devices to choose from. While the laptop does have some RGB flourishes here and there, they’re not overly present or distracting, and the ability to switch between several colours for the keyboard lighting is very nice to have, since I find the generic white light most laptops use to not always be ideal. You can cycle through the various lighting options with a key combination. The keyboard has a little bit more key travel than I’m used to from most laptops, probably owed to its chunky size leaving more room for the keys to travel. The keys have a bit of wobble, but not enough to cause me to miss keystrokes. I am not a fan of the font used on the keyboard, but that’s a mere matter of taste. The trackpad is decent, feels fine enough, and works great with Linux (obviously). In what I first thought was a blast from the past, the laptop has physical buttons for right and left click underneath the trackpad. However, after a little bit of use, I realised just how nice it was to have actual, physical buttons, and not a diving board or – god forbid – a trackpad that only supports tapping. Of course, it’s not nearly as good as Apple’s force touch trackpad that simulates an eerily realistic click wherever you press, but it does the job just fine. That being said, though, much like with the display, I doubt many people who need a machine like this will really care. They’ll most likely not only have

Sega VR revived: emulating an unreleased Genesis/Mega Drive accessory

Until now, most of what we know about Sega VR comes from trade show appearances, marketing materials, patent documents, and firsthand accounts. This has meant that many of unit’s the technical details have remained speculative or completely unknown. When looking back and studying hardware that pushed so many of the technical boundaries of its time, however, those details are important! Whether Sega VR achieved its many ambitious goals or not, it remains a fascinating and notable entry in VR history. In order to study hardware of this nature, if you don’t have access to the hardware or its implementation details, access to the software is often the next best thing. The software will tell you exactly what it expects of the hardware, and given those expectations, you might find that you have enough information to emulate the hardware. At the very least, you’ll have enough information to emulate a version of the hardware that conforms to the software’s expectations, and that’s exactly where we’re headed! Rebuilding the announced, but never shipped Sega VR from the early ’90s. What an effort.

Windows Subsystem for Linux: the lost potential

If you have followed Windows 10 at all during the last few years, you know that the Windows Subsystem for Linux, or WSL for short, is the hot topic among developers. You can finally run your Linux tooling on Windows as a first class citizen, which means you no longer have to learn PowerShell or, god forbid, suffer through the ancient CMD.EXE console. Unfortunately, not everything is as rosy as it sounds. I now have to do development on Windows for Windows as part of my new role within Azure… and the fact that WSL continues to be separate from the native Windows environment shows. Even though I was quite hopeful, I cannot use WSL as my daily driver because I need to interact with “native” Windows tooling. I believe things needn’t be this way, but with the recent push for WSL 2, I think that the potential of an alternate world is now gone. But what do I mean with this? For that, we must first understand the differences between WSL 1 and WSL 2 and how the push for WSL 2 may shut some interesting paths. I was only vaguely aware of the fact WSL 2 switched to using a virtual machine instead of being an NT subsystem as WSL 1 was. There’s arguments to be made for and against either approach, but the NT subsystem approach just feels nice, more holistic to me – even if it is way more work to keep it in step with Linux.

Developing Wayland color management and HDR

Wayland (the protocol and architecture) is still lacking proper consideration for color management. Wayland also lacks support for high dynamic range (HDR) imagery which has been around in movie and broadcasting industry for a while now (e.g. Netflix HDR UI). While there are well established tools and workflows for how to do color management on X11, even X11 has not gained support for HDR. There were plans for it (Alex Goins, DeepColor Visuals), but as far as I know nothing really materialized from them. Right now, the only way to watch HDR content on a HDR monitor in Linux is to use the DRM KMS API directly, in other words, not use any window system, which means not using any desktop environment. Kodi is one of the very few applications that can do this at all. This is a story about starting the efforts to fix the situation on Wayland. This is a great article to read – and an important topic, too. Colour management and HDR should be a core aspect of Wayland, and these people are making it happen.

Microsoft unveils Pluton security processor

Today, Microsoft alongside our biggest silicon partners are announcing a new vision for Windows security to help ensure our customers are protected today and in the future. In collaboration with leading silicon partners AMD, Intel, and Qualcomm Technologies, Inc., we are announcing the Microsoft Pluton security processor. This chip-to-cloud security technology, pioneered in Xbox and Azure Sphere, will bring even more security advancements to future Windows PCs and signals the beginning of a journey with ecosystem and OEM partners. Pluton immediately rings a ton of alarm bells, since initiatives like this tend to not be a good thing for alternative platforms. There’s good news, though, too – Pluton will take care of firmware updates for your motherboard, which I welcome with open arms, since the current state of firmware updates where you have to use garbage OEM applications is dreadful.

WinUI 3 Preview 3 is out with ARM64 support

Today, Microsoft is releasing the third preview of WinUI 3, and among the new features is native support for ARM64 PCs. If you’re not familiar with WinUI, you might remember it from Microsoft’s Build conference this year when the company announced Project Reunion. This is part of the firm’s plan to bring Win32 and UWP together, and do so without requiring a feature update to Windows 10. WinUI is the most important building block for an upcoming update to Windows 10 where things like Explorer and other Win32 applications will get a ‘modern’ makeover.