Chinese Loongson CPU takes on AMD’s Zen 3 in benchmarks

Tom’s Hardware reports: MyDrivers has published a review of Loongson’s 3A6000 quad-core CPU, confirming that the chip’s IPC improvements are real. Benchmarks reveal that the 3A6000 enjoys an impressive 60% performance uplift in single-core performance and an even more impressive 2x performance multiplier in multi-core performance over its 3A5000 predecessor. With these improvements, the 3A6000 features performance comparable to a Core i3-10100F, with the IPC performance of a Zen 3 chip. Of course, both Intel’s Comet Lake 10th Gen architecture and AMD’s Zen 3 architecture are now coming up on three years old. They’re nowhere near the top of our list of the best CPUs for gaming or other purposes. But it still represents a step in the right direction. Chinese chipmakers are improving quite fast, but unless they can somehow get access to the latest machinery from the Dutch company ASML, which makes virtually all of the machines capable of producing the chips with the smallest nanometers and is the linchpin in the entire semiconductor industry, they won’t be able to overtake or even match what TSMC and Intel are doing. That being said, I love weird processors, and I’d love to get my hands on one of these to play around with.

Setting up a board farm for postmarketOS

I’ve recently been working on putting together a CI system for postmarketOS that will allow us to do proper automated integration testing. That is to say – when someone opens a merge request that modifies our initramfs (for example), we should be able to click a button and some minutes later know that this change doesn’t break any of our important usecases. QEMU absolutely can (and will) get us most of the way there, but at some point we need to just run the same software that we’re running on end user devices. Furthermore, QEMU can’t tell us anything about changes in the kernel that might affect our devices, and manually testing during kernel upgrades, frankly, sucks. So we need a fancy board farm, this is one of those things where folks with the right technical background could build something over the course of a week. But for someone like me it’s full of trial and error and hidden complexity… It’s easy enough to do this with one device – just hack something together, but to be successful we need something reliable and adaptable, that we can adjust to fit our needs in the future, and the wide range of devices we support. Now this is an article you won’t come across very often, as the number of people setting up something like this who can actually talk openly about it – someone doing this for a closed company probably can’t – is probably quite small. A great read.

Systemd working on “storage target mode” feature

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 beauty of finished software

In a world where constant change is the norm, finished software provides a breath of fresh air. It’s a reminder that reliability, consistency, and user satisfaction can coexist in the realm of software development. So the next time you find yourself yearning for the latest update, remember that sometimes, the best software is the one that doesn’t change at all. While this is a nice sentiment, the reality is that software has become so complex, competition to cutthroat, and operating systems so changeful, that “finishing” software just doesn’t seem like a realistic and attainable goal anymore. The example used in the article, WordStar 4.0 for DOS, can only be “finished” because DOS doesn’t change anymore.

Android and RISC-V: what you need to know to be ready

Support for RISC-V in Android is taking another step forward. The latest update that we have is that now not only are we accepting patches, but we have begun to mature support for RISC-V in Android. RISC-V is a modular ISA, meaning that there are a large number of optional extensions. We have also determined an initial set that we feel is critical to ensure that any CPU running RISC-V will have all of the features we expect to achieve high performance. This set includes the rva22 profile as well as the vector and vector crypto extensions. Excellent news.

Upstream Linux support now available for the the Qualcomm Snapdragon 8 Gen 3

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.

MicroTCP: a minimal TCP/IP stack

MicroTCP is a TCP/IP network stack I started building as a learning exercise while attending the Computer Networking course at the Università degli Studi di Napoli Federico II. It’s just a hobby project and is intended to just be a minimal, yet complete, implementation. At this moment MicroTCP implements ARP (RFC 826, complete), IPv4 (no fragmentation), ICMP (minimum necessary to reply to pings) and TCP (complete but not stress-tested). Note that “complete” should not be intended as “fully compliant” but just as a measure of progress on all of the major features. For instance, it’s complete enough to handle HTTP traffic on a local network. People like this usually end up writing a simple operating system, so it’s interesting to see a TCP/IP stack instead. While clearly a hobby project, small, portable TCP/IP stacks can potentially be useful for very specific use cases, like bringing connectivity to ancient operating systems or other small hobby projects.

Windows CE, Microsoft’s stunted middle child, reaches end of support at 26 years

We’ve already covered the end of life of Windows CE, but Ars has a short but interesting look back at the history of this undeservedly unloved operating system. It was a proto-netbook, it was a palmtop, it was a PDA, it was Windows Phone 7 but not Windows Phone 8, and then it was an embedded ghost. It parents never seemed to know what to do with it after it grew up, beyond offer it up for anybody to shape in their own image. And then, earlier this month, with little notice, Windows CE was no more, at least as a supported operating system. I will never forget Windows CE.

GhostBSD 23.10.1 released

In this release, the FreeBSD base system and kernel have been updated to 1302508, and it contains software updates, some improvements to Update Station, and new features to NetworkMgr. Also, os-generic-userland-devtools has been removed from the default installation to downsize the live system image. GhostBSD is an excellent option if you want a more turnkey FreeBSD-based desktop.

Swift, meet WinRT

The goal of this post is to share how we, at the Browser Company, have made it possible to use Swift to build a modern Windows application. There is no UI framework for Windows written in Swift, and Windows itself is written in C++ – so that may leave you wondering, “how can I build my app on Windows”?  Modern Windows applications use WinRT, a technology built on top of COM, which can interop really well with Swift, as we presented in our previous post. To be able to build idiomatic UI for Windows in Swift, we have built a language projection tool which creates idiomatic Swift language bindings for WinRT, and today we are open sourcing it at https://github.com/thebrowsercompany/swift-winrt. Swift/Winrt is based on Microsoft’s code generators for C++ (github.com/microsoft/cppwinrt) and C# (github.com/microsoft/cswinrt), and thus is written in C++. Cool stuff.

Youtube’s anti-adblock and uBlock Origin

Since May, uBO has been in a cat-and-mouse game with YouTube. And they’ve shown incredible resilience, especially when you consider that there are only two people on the uBO team dealing with YouTube. The uBO team members are all volunteers. They’ve gone above and beyond to meet every little request from their users. But there’s a limit to how much they can take. At some point, the constant demands become too much, and they will leave uBO for good. It’s one thing to play cat and mouse with YouTube. It’s quite another to deal with a wave of angry users. Maybe that’s how YouTube will win this war of attrition. If you use YouTube enough, YouTube Premium is a great deal – albeit it a deal that’s steadily getting worse as Google increases its price.

Quicktake 100 for Apple II

Apple released their first Quicktake camera, the Quicktake 100, in 1994, ten years after the Apple //c. On the box, they very boldly wrote: “Requirements: 386, 486 or superior; 2MB of RAM, 10MB of free hard disk space; an 1.44MB floppy drive; a VGA, SVGA or superior card”. But was this true? No. They were just being lazy, or trying to get you to upgrade a perfectly functional 8-bit, 1MHz computer with 128kB of RAM and 140kB floppies. In fact, it was absolutely possible to do digital photography on an Apple //c. Useless projects are the best projects.

Sculpt OS release 23.10 available

Modern PCs provide plenty of metering and power-management options. Version 23.10 of the Genode-based Sculpt operating system makes these features available via an interactive user interface. One can watch the temperature of each CPU core, monitor the individual CPU frequencies, switch between power profiles, and reveal details about power draw. Go to the download page to get started with Sculpt OS. It’s used as the day-to-day operating system by Genode developers, so it’s quite capable.

TDE R14.1.1 released

The Trinity Desktop Environment, the KDE 3 fork, has released a new version. R14.1.1 comes with the ability to drag and tile windows to the display’s borders and corners, adds several improvements to keyboard shortcuts settings, a few new wallpapers, better support in SunOS/Illumos/DilOS and support for libxine2’s logarithmic volume settings. It also has some important fixes for tdepowersave’s display brightness control, arts sound server start up crash, TQt3’s recursive mutexes and for the high CPU usage detected on some RPM distros with R14.1.0. Behind the scenes, an effort to clean up and enhance TQt3 and tqtinterface code has started and will be going on across multiple releases. You can update to the latest version through your package manager, or install TDE for the first time using the project’s instructions.

I’m totally blind. Artificial intelligence is helping me rediscover the world.

When I first heard about Be My AI—a new collaboration between Open AI and Be My Eyes, an app that connects sighted volunteers with blind people who need help via video call—I didn’t let myself get too excited. Be My AI promised to allow blind people to receive an A.I.–generated description of any photo we uploaded. This was a tantalizing prospect, but it wasn’t the first time a tech company had promised to revolutionize the way people with disabilities access visual content. Microsoft had already given us Seeing AI, which in a very rudimentary way provided a rough idea of what was going on in the images we shared, and which allowed us—again, in a fairly basic way—to interact with information contained in written texts. But the details were missing, and in most cases we could know only that there was a person in the picture and what they were doing, nothing more. Be My AI was different. Suddenly, I was in a world where nothing was off limits. By simply waving my cellphone, I could hear, with great detail, what my friends were wearing, read street signs and shop prices, analyze a room without having entered it, and indulge in detailed descriptions of the food—one of my great passions—that I was about to eat. I like to make fun of “AI” – those quotes are there for a reason – but that doesn’t mean it can’t be truly useful. This is a great example of this technology providing a tangible, real, and possibly life-altering benefit to someone with a disability, and that’s just amazing. My only gripe is that, as the author notes, the images have to be uploaded to the service in order to be analysed. Cynical as I tend to be, this was probably the intent of OpenAI’s executives. A ton of blind people and other people with vision issues will be uploading a lot of private data to be sucked up into the Open AI database, for further “AI” training. But that’s easy for me to say, and I think blind people and other people with vision issues will argue that’s a sacrifice they’re totally comfortable making, considering that they’re getting in return.

Android 14 review: there’s always next year

Does anybody care about Android 14? This year’s release of the world’s most popular operating system feels like one of the smallest ever, bringing just a handful of new features. Even during the Android portion of Google’s big I/O keynote, Google spent most of its time showing off a new generative AI feature that creates wallpapers for you, as if there aren’t enough wallpapers in the world. Last year’s Android 13 release felt small, but that was because it was the second major Android OS release that year. Android 12L—the big tablet and foldable release—came out earlier. What’s Android 14’s excuse? We’re not really sure. We still have a few things to go over, though, like new lock screen customizations, genuinely exciting changes to the way the back button works, and a pile of under-the-hood changes. Android 14 is definitely the smallest version number update I remember from Android history. I’m not entirely sure why this wasn’t called Android 13.1.

All GB/s without FLOPS – Nvidia CMP 170HX review, performance lockdown workaround, teardown, watercooling, and repair

In 2021, at the height of cryptocurrency mining, Nvidia released the Nvidia CMP 170HX. Designed as a compute-only card to accelerate Ethereum’s memory-hard Ethash Proof-of-Work mining algorithm with its 1500 GB/s HBM2e memory bus, Nvidia implemented the hardware using the GA100 silicon from their Ampere architecture. Thus, the CMP 170HX is essentially a variant of the all-mighty Nvidia A100, Nvidia’s top-performing datacenter GPU at that time. Naturally, the existence of the CMP 170HX raised many questions, including its potential in applications beyond mining. Today, following the discontinuation of Ethash, these $5000 GPUs from closed mining farms are sold on second-hand markets for $400-$500 in China. It’s time to answer these questions. This article contains a basic performance overview, a hardware teardown, a watercooling installation guide, and a repair log. I’m glad smart people are at least trying to turn otherwise useless hardware designed for one of the most brazenly useless applications in human history into something potentially useful.

A quick look back at the MSX PC platform, including Microsoft’s role, on its 40th birthday

We have written articles in the past year about some of Microsoft’s different product launches, like how its first real hardware device was an add-in card for the Apple II, or its not-so-smartwatch platform, SPOT. However, many people may not be aware that Microsoft had a small involvement in a movement to create a standardized PC platform that evolved into a huge video game platform in Japan. The platform is called MSX, and on October 21, 1983, just over 40 years ago, the first such PC that used the platform went on sale in Japan, the Mitsubishi ML-8000. The launch price for the PC was 59,800 yen or close to $400. One of my oldest computer memories is using an MSX with a friend at his parents’ house. I must’ve been 7 years old or something like that. The MSX was weirdly popular in The Netherlands due to Philips building quite a few of them.

Making music with Google Sheets and Web MIDI API

Do you know that the modern web browser can access real musical instruments? With the help of Web MIDI API, we can create a web application that can access MIDI devices connected to our computer. In this article, I will explain how I use Google Sheets as a music sequencer for composing and playing ambient music with a hardware synthesizer. Next thing you tell me browsers have an API for gamepads and joysticks connected through the game port.

Cortex X2: arm aims high

Arm has traditionally targeted the low end of the power and performance curve, but just as Intel has been looking to expand into the low power market, ARM is looking to expand into higher power and performance segments. The Cortex X series is at the forefront of this effort. Here, we’ll be looking at the Cortex X2 as implemented in the Snapdragon 8+ Gen 1. This SoC features a single X2 core, alongside four Cortex A510 and three Cortex A710 cores. The Cortex X2 in this SoC typically runs at 2.8 GHz, although lscpu indicates its clock speed can range from 787.2 MHz to 3.187 GHz. An in-depth look at this performance ARM core.