Facing rising demand for high-end Linux boxes but also issues supporting the software on its high-end kit, HP is trying solve the problem for customers by using Windows as a universal shim.
That is, it enables Microsoft’s Windows Subsystem for Linux 2 (WSL2) out of the box on some of its own high-end Z workstations, boosted by Nvidia graphics processors.
GPU pass-through features in modern hypervisors, such as Microsoft Hyper-V, make it possible to use GPU-accelerated applications in Linux VMs. This feature extends to Redmond’s WSL2. HP is using this to enable customers who want to do fancy GPU-accelerated stuff with Linux apps on the more familiar (familiar to HP, that is) basis of Windows.
What does this really mean? There are two explanations. One is the simple, take-it-at-face-value one. The other needs a bit of knowledge of history.
Nice easy simple we’re-all-friends-now, let’s-let-bygones-be-bygones explanation
If you want to build or run complex GPU-accelerated computational applications on Linux, using high-end workstations and high-end graphics cards, it can be tricky. For instance, Nvidia cards need a proprietary binary driver from their creator. Some Linux vendors now include this in their distros, and you can install it using their tools – here’s how to do it on openSUSE and here on Ubuntu. On Fedora, it’s a bit more complicated.
If the driver version you need isn’t there, or your distro is too new, it gets harder. You have to get the drivers directly from Nvidia and install them yourself.
The driver has to be linked against your current kernel, so you need the kernel headers installed. Then you need the correct compiler tools installed.
If your kernel is too new, the drivers won’t build. If the card is too old, then the drivers don’t support current kernel versions, and the drivers won’t build. Oh, and you have to deny-list the FOSS Nouveau driver so that it doesn’t grab the hardware first and leave the Nvidia drivers unable to control it. Which is fine, the Nvidia installer driver does that for you automatically – but then if the proprietary driver doesn’t work and you remove it again, the free driver no longer works and it’s 1987 and you’re back in VGAville.
Even if a friendly Linux vendor directly supports your kit, this stuff can still be a nightmare. Someone, somewhere, will need it on some distro you’ve never heard of and if it doesn’t work they’ll complain in some comments board and it’ll be there forever.
So, if there’s a way that you can achieve happy contented customers by using some new features of an industry-mainstream OS, then you’d be fools not to use it. Ever since Windows NT, the basis of modern Windows today, came out in 1993, it had a feature called POSIX compatibility.
Originally this gave NT a UNIX-like personality you could recompile your UNIX apps to run on. That turned into the more fully-fledged Windows NT Services for Unix. In the Windows 10 Anniversary Update, it metamorphosed into the Windows Subsystem for Linux: something compatible enough with the Linux kernel that the non-kernel bits of a Linux distro (called the “userland” in the trade) could run on top of it.
But WSL was not actual Linux; it was more like a sophisticated Linux emulator, like WINE in reverse, making it possible to run Linux binaries on Windows, without any trace of an actual Linux kernel. But that doesn’t let you run Linux drivers, so it led to WSL2: a dedicated Hyper-V VM with a real Linux kernel inside, meaning real Linux apps on the Windows desktop. And with GPU pass-through, the guest kernel inside the VM can use a real physical graphics card, meaning GPU acceleration for WSL2.
Without the complexity nightmare of supporting dozens of Linux distros.
If you are a friendly sympathetic understanding person who hates cynicism, you might not like the next bit.
Jaded, cynical, embittered explanation with historical context
One of Microsoft’s oldest tactics is a move known as “embrace and extend” – or the longer version, “embrace, extend and extinguish.” It tried with Java. It tried with HTML. It’s tried many times and sometimes it worked.
WSL and WSL2 can be seen as Microsoft attempting to embrace and extend Linux: first by making Linux apps into citizens of the Microsoft ecosystem, and second by using Hyper-V to do the same with the Linux kernel itself. If this allows Microsoft partners to simplify their support offerings, it’s a strong selling advantage.
HP has been a close Microsoft partner for decades, but it has also, at points, been a competitor: it sold its own processors, PA-RISC, with its own UNIX for them, HP-UX. It used to sell a high-performance email server called HP OpenMail which was a highly compatible direct competitor of Microsoft Exchange.
Another rival was DEC, which made the first mass-produced 64-bit RISC microprocessor in the business, the Alpha, and had its own UNIX for that, too – DEC OSF/1, later renamed Tru64. And DEC had its own OS, OpenVMS, which ran on the Alpha. By the turn of the century, Alpha was the arch-rival to Intel’s 64-bit CPU, the Itanium – co-developed with HP.
But OG PC cloner Compaq bought DEC. Compaq cancelled a 128-bit version of Alpha and then killed the whole Alpha line, subsequently selling the IP to arch-rival Intel.
Then HP bought Compaq, becoming one of the biggest PC vendors around.
Soon afterwards, HP cancelled OpenMail, to customers’ surprise and some commentators’ suspicion. HP did release some more Alpha machines but decided to cancel efforts to merge Tru64 and HP/UX and just killed off Tru64. To customers’ chagrin, little tech made it out. HP also killed off OpenVMS, although it changed its mind and sold it off instead, as it earlier had sold licences to OpenMail.
Bundling WSL2 with Windows, and more to the point supporting it, is good for customers, it’s good for HP, and it’s good for Microsoft. And it’s entirely on-brand for HP, which as you can see from the preceding few paragraphs, has a long history of moves that are good for Microsoft – and as a major partner, that’s good for HP, too.
I’m sure it’s entirely coincidental that it’s not so great for the credibility of desktop Linux. Right? ®