Monthly Archive:: November 2023
Does anyone here remember Cosmoe? Cosmoe was an attempt to combine Haiku’s API with the Linux kernel and related tools, started in the early 2000s. The project eventually fizzled out, now only an obscure footnote for BeOS diehards such as myself. It seems, though, that the idea of combining the Haiku API with a mature UNIX-like operating system refuses to die, and a few days ago, on the NetBSD Users’s Discussion List, a developer by the name of Stephan picked up the baton. Some years ago I already started to work on a compatibility layer for NetBSD and resumed working on it recently. I think a compatibility layer would mostly consist of kernel components and a custom libroot.so. I have created a libroot that provides functionality missing in libc and it should behave like the original one. It makes use of libc and libpthread at the moment as well as syscalls of the kernel components. The source can be found on Github. This is clearly an experimental project, but Stephan does note he has had success running the Haiku IPC test programs, so it’s definitely more than scribbles on a napkin. The attraction of this idea is clear, too – Haiku API, but on a stable kernel with vastly superior hardware and device support. I’m not entirely sure if it’s got life in it, but even if it doesn’t – it’s amazing work, and that in an of itself makes it a success.
Cinnamon, the desktop environment mostly associated with Linux Mint, has released its sixth version. It also adds support for AVIF images, a new option for notification screen selection, a new gesture for desktop zoom, a new menu details option, color picker support in the screenshot service, and an xdg-portal configuration file. Various improvements are present as well to fix missing thumbnails for windows that are created while the Menu applet is open, enable window resizing in the Cinnamon Menu Editor, fix a bug causing the Menu applet to be partly behind the panel, fix the Power applet’s battery status, fix reloading of desklets after an update when multiple instances are running, and ensure the Settings window fits the toolbar when expanded. Cinnamon 6.0’s biggest new feature is an experimental Wayland session, marking the first steps towards fully supporting Wayland in the near future.
This ambition to escape dependence on foreign technology rests on the shoulders of Huawei and SMIC. The successful launch of the Kirin 9000S injected new vigor into the semiconductor industry, with executives reporting that chip start-ups are seeing a surge in funding. But Huawei’s long-term ambitions are not limited to the markets in China’s orbit. The original nickname for the Kirin 9000S—Charlotte—is a symbol of these hopes. It was named not for an individual, but for the city in North Carolina. Other mobile semiconductors in development are also named internally for US cities, insiders say. Using American names, says one Huawei employee, reflects “our desire to one day reclaim our place in the global supply chain.” It’s amazing how without any official support and using cobbled-together outdated lithography machines, Huawei and SMIC have managed to make a reasonably competitive smartphone SoC. As I keep saying – Chinese chip makers have the full financial might of the Chinese state behind them, and they’ll stop at nothing to reduce their dependence on ASML, TSMC, Intel, AMD, and so on. And they’re making progress.
Our nightly example browser, servoshell, is now easier to navigate, accepting URLs without http:// or https:// both in the location bar and on the command line, and should no longer lock up when run with --no-minibrowser. Local paths can also be given on the command line, and are still preferred when the path points to a file that exists. Work is now underway to improve our embedding story and prepare Servo for integration with Tauri, starting with precompiled ANGLE for faster initial builds, better support for offscreen rendering, and support for multiple webviews. These changes haven’t landed yet, but once they do, apps will be able to open, move, resize, and interleave Servo with other widgets. I’m curious what the future will bring to Servo. It seems under very active development, but it’s not part of any of the main browser projects. Let’s hope they can keep up the momentum so that it can grow into a viable alternative. Because lord do we need one.
Evaluating the performance of CPUs with identical cores is relatively straightforward, and they’re easy to compare using single- and multi-core benchmarks. When there are two different types of core, one designed primarily for energy efficiency (E), the other for maximum performance (P), traditional benchmarks can readily mislead. Multi-core results are dominated by the ratio of P to E cores, and variable frequency confounds further. In this series of articles, I set out to disentangle these when comparing core performance between Apple’s original M1 Pro and its third-generation M3 Pro chips. This first article explains why and how I am investigating this, and shows overall results for performance and power use under a range of loads. Articles like these will help you make an informed decision about whether or not your workloads can benefit from moving from an M1/M2 to an M3.
Reading the story of how Windows NT came to be was entertaining, as it is a story of the system itself and the dynamics between Dave Cutler, the original designer and lead for NT, and the other people involved in the project. I was shy of being 10 years old when Windows NT launched and I didn’t comprehend what was going on in the operating systems world and why this release was such a big deal. Reading the book made me learn various new things about the development process, the role of Microsoft in that era, and allowed me to settle some questions I’ve had over the years. This article is a mixture of a book review and a collection of thoughts and reflections that the book evoked. Let’s begin because we have a lot of ground to cover. Dave Cutler’s impact on the word of computing really can’t be understated. I often wonder how he truly feels about what his and his team’s creation turned into today – does he like what Windows NT has become? Does he consider Windows 11 worthy of carrying on the torch of NT? As Cutler still works at Microsoft, we won’t get an answer any time soon, but I sure do hope he intends to write down his memoirs in a tell-all book about his life and career, because I’d be down for reading that.
We’re pleased to share an important update regarding Azure RTOS – an embedded development suite with the ThreadX real-time operating system that has been deployed on more than 12 billion devices worldwide. Reinforcing our commitment to innovation and community collaboration, Azure RTOS will be transitioning to an open-source model under the stewardship of the Eclipse Foundation, a recognized leader in hosting open-source IoT projects. With Eclipse Foundation as the new home, Azure RTOS becomes Eclipse ThreadX – a comprehensive embedded development suite including a small but powerful real-time operating system that provides reliable, ultra-fast performance for resource-constrained devices. It’s easy-to-use, market proven, and trusted by developers and manufacturers for over two decades. It also supports the most popular 32-bit microcontrollers and embedded development tools so teams can make the most of their existing skills. The Eclipse’s Foundation announcement post has more details.
Chinese chip designer Loongson has finally launched its loong teased “next-generation” 3A6000-series processors based on the LoongArch microarchitecture. IPC tests showed the 3A6000 matching Intel’s Raptor Lake i5-14600K in IPC (instructions per clock), with both chips clocked at 2.5GHz. As well as the headlining x86 compatible processor came the announcement of numerous partner desktop, laptop, and all-in-one machines — plus a consumer-grade motherboard from Asus. It was also entertaining to see a recorded overclocking session, which took an LN2-cooled 3A6000 chip to the current maximum 3 GHz. Many of us are being dismissive now, but give it a few more generations and Chinese PC users won’t be depending on Intel or AMD anymore – and that’s pretty impressive.
I got my hands on a Monoprice Blackbird 4K Pro HDCP 2.2 to 1.4 Converter. According to the marketing copy it “is the definitive solution for playback of new 4K HDCP 2.2 encoded content on 4K displays with the old HDCP 1.4 standard.” Stuffed after a delicious Thanksgiving meal, I decided to take it apart after the guests had left. It’s a simple single-function device, so I didn’t expect much, but maybe there’s some things to be learned? Turns out there’s a lot to learn, and it’s also incredibly interesting. The note at the end about the legality of this device is also interesting.
With this, we’ve decided to remove Xorg server and other X servers (except Xwayland) from RHEL 10 and the following releases. Xwayland should be able to handle most X11 clients that won’t immediately be ported to Wayland, and if needed, our customers will be able to stay on RHEL 9 for its full life cycle while resolving the specifics needed for transitioning to a Wayland ecosystem. It’s important to note that “Xorg Server” and “X11” are not synonymous, X11 is a protocol that will continue to be supported through Xwayland, while the Xorg Server is one of the implementations of the X11 protocol. While we recognize the energy behind some distributions and Fedora spins moving towards a similar future, this decision is limited to RHEL 10—we recognize other Linux distributions have different needs and decision structures, and additionally we are not aware of plans for similar efforts in Fedora, nor are we involved in similar efforts besides sharing our knowledge. A sensible move, now that X.org is no longer really maintained and considered legacy software by everyone who has the skillset and knowledge to actually maintain it in the first place. I know a number of people are very upset about the move to Wayland, but with nobody left willing to work on X.org because it’s effectively unmaintainable, there’s really no other way to go. If you really want X.org to continue – perhaps you should channel the energy spent on writing angry online comments towards contributing to X.org. However, with even the most knowledgeable and capable X.org developers no longer wanting to have anything to do with X.org, you’re going to be in for a rough ride.
FreeBSD has supported nesting of jails natively since version 8.0, which dates back to 2009. Looking at the jail(8) man page, there is an entire paragraph named Hierarchical Jails that explains the concept of jail hierarchy well. It’s one of the many gems of FreeBSD that, although not widely known or used, is, in my opinion, extremely useful. BastilleBSD plays a central role in this article, and that’s a project I’ve been hearing a lot about recently. I feel like the various BSDs are currently hitting a stride, and there seems to be a lot of movement from Linux to BSD at the moment.
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.
Frore Systems is a startup with $116 million in funding, and I’ve shown you its first product before: the AirJet Mini is a piezoelectric cooling chip that weighs just nine grams and is thinner than two US quarters stacked together. Each nominally consumes one watt and can remove 4.25 additional watts of heat. Here’s the question: what would happen if Frore used those AirJets to cool a laptop that normally doesn’t have a fan at all? What the company discovered — and I saw firsthand — is that Apple’s M2 chip can run faster, for longer, with Frore’s tech on board. Without it, a 15-inch M2 MacBook Air was like a runner that can’t sprint indefinitely without running out of breath. But with three AirJet Minis, the same laptop got a permanent second wind. Frore’s AirJet coolers have been featured on YouTube channels like LTT as well, and there’s no doubt in my mind these will be the future of laptop cooling, especially in the thinner segment of the laptop market. At least in thin laptops, AirJets are better in virtually every way than fans, and provide far superior cooling compared to fanless designs without adding bulk or noise. The only thing that sucks as an enthusiast is that you can’t really modify an existing laptop yourself. Either this company gets gobbled up by an OEM, or their products will make their way in almost every thin laptop.
App developer Elias Saba has had some bad luck with Digital Millennium Copyright Act (DMCA) takedowns. His Android TV app Downloader, which combines a web browser with a file manager, was suspended by Google Play in May after several Israeli TV companies complained that the app could be used to load a pirate website. Google reversed that suspension after three weeks. But Downloader has been suspended by Google Play again, and this time the reason is even harder to understand. Based on a vague DMCA notice, it appears that Downloader was suspended simply because it can load the Warner Bros. website. Application stores are basically random number generators. The worst possible applications, from non-functional garbage to ad-ridden gambling games designed to prey on children, make up the bulk of what’s on offer, but functional, useful applications spiral into Kafkaesque bureaucratic dark holes. Being a mobile developer in 2023 is a nightmare.
When I used OpenBSD, I was a big fan of bsd.rd: a kernel that includes a root file system with an installer and a few tools. When I invariably did something bad to my root file system, I could use that to repair things. bsd.rd is also helpful for OS updates. And there is only a single file involved. On NetBSD however, there is usually no netbsd.rd kernel installed, or even available by default. The facility is there, it’s just not standard. To be fair, there are a number of architectures that use kernels with a ramdisk for installation. Recently, I have been toying with NetBSD on an Orange Pi 5. This is a 64-bit ARM board, using the evbarm-aarch64 architecture. I am booting from an SD card (details in a followup post) but once booted, the kernel does not see the card any more, only the NVMe SSD. So my thoughts went back to bsd.rd and I decided that I want one! Such a kernel seems like a very useful tool to have, so if you’re running NetBSD – this guide will help you add it to your toolbox.
NTDEV, the developer behind Tiny11, has released a new update for its miniature Windows 11 operating system, called Tiny11 2311, that adds Microsoft’s latest feature update, 23H2, into the OS and introduces a plethora of bug fixes addressing issues in the outgoing version of Tiny11. On top of this, the new update also shrinks Tiny11’s install size by a whopping 20%, making Tiny11’s renowned footprint even smaller. There is absolutely no need for Windows 11 to be as big and invasive as it is, and it feels like such a shame and missed opportunity to burden an otherwise good and capable operating system with such cruft and useless junk.
After I wrote about the possibility of programmable Mac ROM SIMMs in Quadras a couple of months ago, I suspected that there had been a way for developers at Apple in the 68k Mac era to reflash the ROM in their Macs during development, just like BIOS updates on PCs. The reason I believed this is because the ROM SIMM socket in the Quadras brought out pins for 12V (VPP) and write enable (/WE). I had verified that the write enable pin was going into the memory controller chip in several Mac models, so I was pretty confident that in-system programming was possible. As luck would have it, multiple people pointed out to me that an Apple internal utility used for ROM flashing had been uploaded to the Macintosh Garden. It was recovered from a prototype PowerBook 520 purchased in 2020. Of course, I had to download this utility and figure out how it works. I honestly cannot believe it’s taken this long for such a tool to become available one way or the other. Classic Macs are incredibly popular in the retro community, and being able to reflash the ROMs like this is incredibly useful. It took some work and disassembly, but Doug Brown got it working.
Debian’s MIPS64EL that is a 64-bit little endian port using the N64 ABI is at risk due to declining access for building the Debian 64-bit MIPS packages. MIPS64EL is now being treated as an “out of sync” architecture due to lacking sufficient build daemon resources for timely building new packages and if the situation doesn’t improve, it may not be suitable as a release architecture for Debian 13 “Trixie”. Not all architectures last forever, and as time goes on, more and more of these once promising architectures will simply no longer be part of the modern Linux world. It makes sense – but it’s still sad.
Ironically, the second commercial game that Microsoft published, after Microsoft Adventure in 1979, was an attempt at a sports game sim. It was called Microsoft Olympic Decathlon, and like Microsoft Adventure, it was first launched as a TRS-80 PC game, this time in 1980. Microsoft has so many unexpected products in its long history.
Sunway’s new supercomputer therefore feels like a system designed with the goal of landing high on some TOP500 lists. For that purpose, it’s perfect, providing a lot of throughput without wasting money on pesky things like cache, out-of-order execution, and high bandwidth memory. But from the perspective of solving a nation’s problems, I feel like Sunway is chasing a metric. A nation doing well in advanced technology might have a lot of supercomputer throughput, but more supercomputer throughput doesn’t necessarily mean you’ll solve technological problems faster. A detailed look at China’s new supercomputer. The conclusion quoted above is very well supported by the data and research concerning this new supercomputer, and the article is a great read.