Monthly Archive:: February 2022
If you’ve already installed Windows 11 on unsupported devices, you might soon notice a new watermark on the desktop. The watermark, which appears above the taskbar clock, is similar to the “Windows is not activated” error, but it won’t affect apps, windows or web browsers. The desktop watermark simply states “system requirements not met” and it may irritate some users, but it should not come as too much of a surprise, as Microsoft previously warned users of possible ‘damage’. You have to feel sad for Windows users. Windows 7 really seems to have been the high point of Windows – ever since then it’s been one mess after another.
Linux themes and icon sets, inspired by other operating systems, have been around for as long as Linux has had a GUI. Some times those themes get pretty close to looking like the original. But… What if — what if — you could make your Linux desktop look almost exactly like Windows 95? It’s damn headerbars in GNOME (and now also Xfce) that mess this utopia up. They looks preposterously bad using these classic operating systems skins.
This blog series creates a small operating system in the Rust programming language. Each post is a small tutorial and includes all needed code, so you can follow along if you like. The source code is also available in the corresponding Github repository. A great way to learn Rust.
Now, a black screen could have multiple causes. The video driver may have crashed. Or the video driver could be working fine, but the compositor has crashed, so that nothing is being given to the video driver. Or the compositor could be working fine, but the shell has crashed, so the compositor has nothing to render. Or the shell could be running, but it simply forgot to put something on the screen. For that last case, the Windows 8 shell created a backstop window that sat at a layer below all of the other layers. If none of the other layers were present, then at least you got a backstop window. And in early debug builds, that backstop window contained an ASCII drawing of cats. That way, if you saw cats, you knew that you were in that last failure case: The shell is running but forgot to put something on the screen. Why cats? I approve of cats.
Neptune OS is a Windows NT personality of the seL4 microkernel. It implements what Microsoft calls the “NT Executive”, the upper layer of the Windows kernel NTOSKRNL.EXE, as a user process under the seL4 microkernel. The NT Executive implements the so-called NT Native API, the native system call interface of Windows upon which the more familiar Win32 API is built. These are exposed to the user mode via stub functions in NTDLL.DLL (a somewhat redundant name if you ask me) with names such as NtCreateProcess. The NT Executive is also responsible for the Windows kernel driver interface (known as the Windows driver model), which includes functions like IoConnectInterrupt and IoCallDriver. On Windows these are loaded into kernel mode and linked with the NTOSKRNL.EXE image. On Neptune OS, we run all the Windows kernel driver in user mode and they communicate with the NT Executive process via standard seL4 IPC primitives. The eventual goal of the Neptune OS project is to implement enough NT semantics such that a ReactOS user land can be ported under Neptune OS, as well as most ReactOS kernel drivers. In theory we should be able to achieve binary compatibility with native Windows executables provided that our implementation of the NT Native API is sufficiently faithful. We should also be able to achieve a high degree of source code compatibility with Windows kernel drivers. The main obstacle of achieving binary compatibility of kernel drivers is that many Windows kernel drivers do not follow the standard Windows driver communication protocol (ie. passing IRPs when you need to call another driver) and instead just pass pointers around and call into other drivers directly. In Neptune OS unless it’s a driver-minidriver pair we always run “kernel” drivers in their separate processes so it is not possible to do that. Very cool idea for a project, and awesome to see that they plan on integrating the work done by the ReactOS team.
Submitted by Mark Dastmalchi-Round
2022-02-24
Hardware
We’re fast approaching the 40th birthday of the Sinclair Spectrum in 2022, and to keep myself occupied during COVID lockdowns I decided it would be a lot of fun to go back and re-visit the computer that started it all for me. I set about coding and building the infrastructure for a Spectrum-based community project (website at tnfs.markround.com) incorporating my current-day tools and knowledge, hence the title of this series of posts. The enterprise grew into a curious mix of old and new: Container-based pipelines with Ruby server-side components, all interacting with Spectrum BASIC and z80 assembly code, running on real 1980s hardware with a TCP/IP connection. If you’ve ever wondered how to unit-test Sinclair BASIC programs in GitOps pipelines running on Kubernetes clusters, this is the set of articles for you. I love it when people push these old machines to their limits with modern knowledge.
Late last year, we reviewed Slimbook’s KDE Slimbook, a special version of the Spanish’ Linux OEM’s 15″ laptop made in collaboration with the KDE project. I found it to be an excellent laptop, which left little to be desired for anyone in the market for a laptop of that size. It came with tons of power, unobtrusive fans, a great design, and a fair price tag. That being said – personally, I prefer smaller laptops. The KDE Slimbook’s 15 inches is just a bit too wide for me to be comfortable, and I’d much rather have something in the area of 13-14 inches. Luckily, Slimbook has an offering in this segment too: the Slimbook Executive. I’ve been using and testing one for the last few months, and I can confidently say the KDE Slimbook was not a fluke. Slimbook is running a special deal just for OSNews readers! When ordering your Slimbook Executive, use the promo code executive-laptop-osnews for a €150 discount!Note: OSNews does not receive any percentage of the sales using this promo code (or sales not using this promo code for that matter). The Slimbook Executive is 14″ ultrabook weighing in at a mere 1kg. Like the KDE Slimbook, it is also made from magnesium, which I find much more pleasant to handle than aluminium. I find magnesium more pleasant to touch and hold – it’s not as cold and harsh as aluminium, and it’s lighter too, which makes sense for an ultraportable laptop like this one. Instead of AMD, the Executive is powered by Intel’s Core i7-1165G7, with 4 cores and 8 threads, paired with Intel’s Iris Xe integrated graphics. It has two RAM slots for a maximum total of 64GB of RAM; my review unit was configured with 16GB of RAM, which is more than enough for a modern Linux distribution on such a portable machine. Despite being relatively small, the laptop has ample room for storage – it comes with two M.2 slots, one at PCIe 4x and one at PCIe 2x, for an out-of-factory configurable total of 4TB of storage. Unlike some of the competition from more established, larger OEMs, there’s no shortage of ports here. It has two USB-A 3.2 Gen1 ports, 1 USB-C 3.2 Gen2 port (with video-out through DisplayPort 1.4), one Thunderbolt 4 port (also with video-out through DisplayPort 1.4a, as well as charging support at 90+W) an SD card reader, a full-size HDMI port, and the usual Kensington lock, barrel plug, and headphone jack. The keyboard is more of a standard affair than the fancy, unique keyboard design found on the KDE Slimbook. This time around, it’s a regular chicklet-style keyboard in its magnesium frame, entirely familiar to anyone who has used an ultrabook in the past five to ten years. It’s excellently boring and familiar, just as you want a keyboard to be. It’s of course also backlit, and luckily does not have the readability issues some of the keys on the KDE Slimbook had. The touchpad feels great, has support for multitouch gestures, but it is of the common diving board design, meaning clicking gets progressively harder the higher you go on the trackpad. I really wish Apple’s fancy force touch trackpads made their way to othe rmanufacturers, too, since it feels nicer to have the same click feeling no matter where you click. The trackpad is huge, but not as over-the-top as Apple’s recent touchpads. The design of the laptop itself is very generic – unlike the KDE Slimbook, there are no flourishes here that set it apart from the rest of the competition (aside from the Slimbook logo, of course). I don’t think that’s necessarily a bad thing – this segment of the market is very mature, and this general design popularised by the MacBook Air is popular for a reason. Crazy and unique design makes sense on a gaming laptop, but on a small ultrabook, I prefer to keep it simple. The display is the real star of the show. It’s a 14″ screen with a resolution of 2880×1800 (Slimbook calls it 3K), and a refresh rate of 90Hz. Between 4K at 60Hz and 1080p at 144Hz, I think this is an excellent middle ground that avoids the pixelated look of 1080p at 14″, while still giving a decently smooth refresh rate. I definitely prefer this display over the 4K 60Hz panel on my Dell XPS 13, which is saying a lot, since that panel is one of the very best you could get at the time. There is one issue with the display I need to talk about. As it turns out, as soon as you try to install a kernel newer than roughly 5.11 or so, you’re going to see major screen flickering and corruption. After talking to Slimbook about this, it turns out this is because of an issue with panel self-refresh, a powersaving feature in Intel’s driver. This is known to cause issues in some cases, and the solution is to disable the feature using GRUB2 (add i915.enable_psr=0 to the kernel parameters). It’s important to note that you only have to apply this fix if you install a Linux distribution by yourself; the preinstalled Slimbook OS – a slightly modified version of Ubuntu – did not experience this problem, and I’m sure if you select any of the other preinstalled Linux distributions during the order process, Slimbook will also make sure the issue is handled before shipping. Slimbook has also told me they are currently beta testing a BIOS update that will fix this problem at the BIOS level, so once that update is released and installed, this issue will disappear. The battery life is exactly as you’d expect – I’m getting about 8 hours with office-type work, video watching, and some browsing. Using Slimbook’s own applications for managing the battery and processor states, you get some decent control over your performance and battery life, but a Debian-based distribution is required to make installation as easy as possible, since otherwise you’ll
The new FreeDOS 1.3 is now available for download! This contains a bunch of great new features and improvements since the 1.2 release, including: new FreeCOM 0.85a, new Kernel 2043 and an 8086 version with FAT32 support, floppy Edition now uses compression and requires about half as many diskettes, the return of networking, some new programs and games, many many many package updates, some updates and improvements to NLS, improved install process, especially with the MBR, some support to automatically set the COUNTRY.SYS information, improved CD initialization for the boot media and installed system… And much, much more! There’s lot of changes, fixes, and improvements in here, so go get it and play with it.
They hid it very well, two-thirds down a long list of changes and screenshots, but what was already inevitable is now reality. Similar to Windows 11 Home edition, Windows 11 Pro edition now requires internet connectivity during the initial device setup (OOBE) only. If you choose to setup device for personal use, MSA will be required for setup as well. You can expect Microsoft Account to be required in subsequent WIP flights. In other words, installing Windows 11 Pro will now, just like 11 Home, also require a Microsoft Account and thus an internet connection. You didn’t think pro users would be safe from big tech’s data hunger, now, did you?
After writing about the likely origins of IBM code page 852, I thought I should revisit the homegrown Czech alternative solution, the Kamenický brothers encoding and their keyboard driver. Its existence is well documented, and the so-called (somewhat misnamed) KEYBCS2 encoding even has its own Wikipedia article. The encoding itself lives on in various conversion tables, and utilities to convert text to or from the Kamenický encoding are easy enough to locate. But finding the actual KEYBCS2 utility turned out to be ridiculously difficult. I scoured the Internet for it. I could not find it. At all. I found a fair amount of text talking about it, but not the actual utility. A nice investigation into the past for a Sunday.
At the end of 2008, Firefox was flying high. Twenty percent of the 1.5 billion people online were using Mozilla’s browser to navigate the web. In Indonesia, Macedonia, and Slovenia, more than half of everyone going online was using Firefox. “Our market share in the regions above has been growing like crazy,” Ken Kovash, Mozilla’s president at the time, wrote in a blog post. Almost 15 years later, things aren’t so rosy. Across all devices, the browser has slid to less than 4 percent of the market—on mobile it’s a measly half a percent. “Looking back five years and looking at our market share and our own numbers that we publish, there’s no denying the decline,” says Selena Deckelmann, senior vice president of Firefox. Mozilla’s own statistics show a drop of around 30 million monthly active users from the start of 2019 to the start of 2022. “In the last couple years, what we’ve seen is actually a pretty substantial flattening,” Deckelmann adds. The decline and potential demise of Firefox is a massive problem that everybody seems to be kind of tiptoeing around, too afraid to acknowledge that if Firefox were indeed to disappear, we’d be royally screwed. We’d end up right back where we started 20 years ago, with Chrome being the new IE6, but with the big difference that Chrome isn’t bad enough yet for people to care. The situation is especially dire for the Linux world, and I feel like a lot of Linux users, developers, and distribution makers simply aren’t thinking about or preparing for a future where they can’t rely on Firefox anymore. Aside from Firefox, there really isn’t any browser out there that takes Linux seriously, and this is a big problem. Chrome is a disaster on Linux – it doesn’t even do something as basic as video acceleration unless you use one of the third party, custom maintained versions of Chromium, and, of course, it’s a vessel for Google’s advertising business. Things like the Gnome Browser or KDE’s Falkon can barely be taken seriously, and on top of that, are based on Apple’s WebKit, which isn’t a great position to be in either – and that’s it. There’s nothing else. The desktop Linux world is playing with fire by being so reliant on Firefox, and now that Firefox and Mozilla seem to be in some serious dire straits, I’m dumbfounded by the fact nobody seems to be at all preparing for what happens if Mozilla ever truly goes down.
Today, we’re announcing a multi-year initiative to build the Privacy Sandbox on Android, with the goal of introducing new, more private advertising solutions. Specifically, these solutions will limit sharing of user data with third parties and operate without cross-app identifiers, including advertising ID. We’re also exploring technologies that reduce the potential for covert data collection, including safer ways for apps to integrate with advertising SDKs. The Privacy Sandbox on Android builds on our existing efforts on the web, providing a clear path forward to improve user privacy without putting access to free content and services at risk. A plan for a plan that aims to please the advertising industry, an industry which at this point means Google, all built by Google. I might be mildly skeptical.
A few years ago, I got the crazy idea to try porting the Commodore 64 KERNAL and BASIC ROMs to the NES, since their CPUs are mostly the same. But I gave up when things got complicated with the PPU. Then a couple weeks ago, I saw that someone ported it to the Atari 1200XL, so I decided I’d give it another shot. This time, I was able to make a (mostly) working system. Quite impressive.
Today, we’re excited to announce early access to a new version of Chrome OS bringing the benefits of Chrome OS to PCs and Macs. Chrome OS Flex is the cloud-first, fast, easy-to manage, and secure operating system for PCs and Macs. Learn more below, try it out, and share your feedback to help us shape this product. It’s basically Chrome OS for any PC or Mac you might have lying around. Other parties offered similar Chrome OS-based systems for non-Chromebook hardware, but this is the first time Google itself offers it as a first-class citizen of the Chrome OS ecosystem.
Chrome and Firefox will reach version 100 in a couple of months. This has the potential to cause breakage on sites that rely on identifying the browser version to perform business logic. This post covers the timeline of events, the strategies that Chrome and Firefox are taking to mitigate the impact, and how you can help. Just skip 9.
Haiku’s latest activity report is here, and while there’s a lot of stuff in there – as usual – I think the Gtk work stands out this month. After all that work, GTK3 worked “well enough” that it seemed ready for general consumption (or at least testing), so waddlesplash committed the necessary changes to HaikuPorts for Xlibe to be packaged, and then GTK3, and then finally the first GTK3 application: Inkscape. Already, GIMP has followed closely on its tail thanks to 3dEyes (with some quick fixes to Xlibe done by waddlesplash for it), and more GTK3 applications are sure to follow once the HaikuPorts team gets caught up to speed on things. You can find screenshots on the forums of both GIMP and Inkscape running on Haiku. With that, waddlesplash has deemed the “GTK3 porting adventure” complete, and has returned to development work on Haiku’s core for this coming month. That’s a lot of progress, and two great applications to have running on Haiku.
Development and testing of Arca Noae’s support for UEFI continues. Here’s a brief recap of how this will work in ArcaOS 5.1: When the installation media boots, if the system is determined to be in “UEFI mode” as opposed to “Legacy mode” (“Legacy” here refers to the configuration which presents a traditional PC BIOS), ArcaOS will begin the preboot process using its compatibility system. Essentially, this is a 64-bit environment which will provide a rather complete BIOS emulation for the ArcaOS kernel, including VGA services for video display. I often wonder just how hard it must be for the ArcaOS developers to work within the confines of OS/2 and what must be stringent licensing agreements and NDAs with IBM. This kind of low-level programming on OS/2 can’t be easy.
Attribution is how advertisers know if their advertising campaigns are working. Attribution generates metrics that allow advertisers to understand how their advertising campaigns are performing. Related measurement techniques also help publishers understand how they are helping advertisers. Though attribution is crucial to advertising, current attribution practices have terrible privacy properties. For the last few months we have been working with a team from Meta (formerly Facebook) on a new proposal that aims to enable conversion measurement – or attribution – for advertising called Interoperable Private Attribution, or IPA. Mozilla working together with Facebook on a privacy feature. How desperate is Mozilla, exactly?
Today, we’re sharing a first look at the next release of Android, with the Android 13 Developer Preview 1. With Android 13 we’re continuing some important themes: privacy and security, as well as developer productivity. We’ll also build on some of the newer updates we made in 12L to help you take advantage of the 250+ million large screen Android devices currently running. There’s actually quite a few cool features in here, some of which are long overdue – like a standard, system-wide photo and video picker for sharing. Share sheets in Android have become an utter mess, so any cleanup is very welcome here.
Today the KDE Community releases Plasma 5.24, a Long Term Support (LTS) release that will receive updates and bugfixes until the final Plasma 5 version, before we transition to Plasma 6. This new Plasma release focuses on smoothing out wrinkles, evolving the design, and improving the overall feel and usability of the environment. Highlights for this release include: a new overview effect for managing all your desktops and application windows (similar to the overview in GNOME), easy discovery of KRunner features with the help assistant, and unlocking screen and authentication using fingerprint reader. You will also notice a new Honeywave wallpaper, the ability to pick any color for UI accents, and critically important Plasma notifications now come with an orange strip on the side to visually distinguish them from less urgent messages.