Hacker News new | ask | show | jobs
by oneplane 260 days ago
This is just a Windows VM with extra tooling. Makes it look slick, doesn't make it "Windows apps on Linux".

Similar projects exist for gaming for example Looking Glass, which also uses a Windows VM on KVM (the "Windows in Docker" thing is a bit of a lie, Windows doesn't run in the container, Windows runs on KVM on the host kernel).

UX wise, this is similar to RAIL.

That's not to say that this isn't neat, but it's also not something new (we still have two flavours: API simulation/re-implementation and running the OS [windows]). If this was a new, third flavour, that would be quite the news (in-place ABI translation?).

6 comments

And I had to come here to find out what it actually was. Why don't project pages ever actually tell you what it is, what it does and how it does it?

Half the time it's something like "Plorglewurzle leverages your big data block chain to provide sublinear microservices to Azure Cloud infrastructures"

At least this one kind of shows you having to install Windows.

I call this the "marketing website problem".

Unfortunately many companies have realized that engineers don't make purchasing decisions. (Mearly suggestions) Rather, C-Suite, who knows nothing about the technical side of things, and everything about the buzzword side, makes the decisions. As a result, companies know that if they just throw a bunch of inflated marketing mumbo-jumbo at the user, while it will turn off every engineer asking "WTF does this actually do and how does it work", some C-Suite will run out and purchase it without asking, then force their entire team to use it because it "produces synergy of the AI block chain and big data cloud APIs while enhancing productivity". Then us Engineers are stuck using it, whether we wanted it or not.

Agree. Have even seen too many companies whose main product completely avoids such questions. I don’t get it.

Must be why I’m not wealthy. I always figured one would have to show people a reason why they should give boat loads of money…

> Must be why I’m not wealthy. I always figured one would have to show people a reason why they should give boat loads of money…

This one hit hard. It turns out Phineas Barnum was right this whole time.

> Why don't project pages ever actually tell you what it is

If it's a good thing with substance, they do.

If they don't, don't use it. This usually hints at a broken culture/missing substance. It _can_ also be ineptitude, but that too is not your problem but theirs.

You woke up this morning not having the problem this sets out to solve. You can go to sleep and rest easily this night, knowing that you still don't have whatever problem this sets out to solve.

If you should one day wake up and notice that you have a problem this could solve, you will find yourself googling for a solution, again side-stepping this whole marketing nonsense.

Agreed, a lot of product pages read like Rick & Morty's interdimensional cable.
I was complaining about this sort of thing in another thread.
Missed opportunity to call it "Linux Subsystem for Windows", or LSW in short.
I think this name would be confusing. For one - it is for linux, not windows.And it is a subsystem running Windows. So, it should be called Windows Subsystem for Linux, or WSL.
You might be missing context here.

There is a feature of Windows called “Windows Subsystem for Linux (WSL)” already that basically does the inverse of this (windows host, Linux VM).

https://github.com/microsoft/WSL

The feature is a windows subsystem (for running Linux).

I think this may be a woosh moment where they're saying the Microsoft version should be called LSW because it's for Windows. Probably sounds more obvious with a more sarcastic tone
The concept of a "subsystem" in Windows has evolved since the operating system's inception when Windows NT was designed to support multiple operating system environments through distinct subsystems. Win32 subsystem, which features case-insensitive filenames and device files in every directory, and the POSIX subsystem, which supports case-sensitive filenames and centralized device files: Windows subsystem, the Subsystem for Unix-based Applications (SUA), and the Native subsystem for kernel-mode code were the main subsystems at first.

/SUBSYSTEM linker switch was used to specify the target subsystem at compile time, enabling applications to be compiled for different environments such as console applications, EFI boot environments, or native system processes.

In this nomenclature, WSL follows the original naming conventions (although SUA should have been called WSUA).

Watch out. You are explaining serious stuff under a comment that was essentially "watch out, your parent comment was sarcasm".
Except WSL doesn't actually use any of the nt subsystem machinery in either of its incarnations.

And also, it doesn't really follow that nomenclature. Those all follow "user code target" Subsystem. Windows Subsystem, OS/2 Subsystem, Posix Subsystem, etc.

that's the joke!
Jokes are supposed to be funny.
Not everybody can afford a humour bypass, good surgeons are hard to come by.
If wine was LSW1 than this is LSW2
I think this is accurate. WSL v1 did not use a VM, just like Wine. However both WSL v1 and Wine struggled with compatibility issues. WSL 2 gave up and used a VM instead. You pay a performance penalty but compatibility issues mostly go away.
Well, I discrepe a lot with the "compatibility issues" of Wine... Essentially when sometimes can run better and with less issues legacy software that modern Windows.
Example: My company uses MS Teams for meetings. Wine cannot run it reliably.
Counter example: my windows 10 machine can't play my copy of crysis, but my Ubuntu machine can under wine.
To be fair. Neither can my MacBook, and that is an official release.
It's literally just dockur/windows:latest + FreeRDP rootless mode + a small daemon that runs in the VM that tells you what apps are installed via an API.

If you don't want the latter part, you'd be better served with the dockur/windows image + FreeRDP

I believe Cassowary (https://github.com/casualsnek/cassowary) is an older tool that does pretty much this.

My experience with it is that FreeRDP in rootless mode isn't very good for Windows applications that do anything special with window borders. Using Office and many other programs became a pain.

When it worked, it worked really well, though. Reminds me of the same feature that VMWare used to offer many years ago for running XP/Vista programs on Windows 7 through a VM.

can you do "pass a single window" with freeRDP? I haven't actually seen that before so forgive me for asking.

This project looks like it does that, but I could be wrong.

Yes, it's rootless mode. FreeRDP only works with X11, so it runs in Xwayland and the integration isn't as smooth as it could be.

It's reminiscent of rootless mode in Parallels, just as janky, too.

This is incorrect. FreeRDP has supported Wayland since a long time via their `wlfreerdp` client - which is now deprecated, Wayland support is now available via their `sdl3-freerdp` client. The SDL client was alpha quality a couple of years ago, but as of the last couple of recent releases, it's been pretty decent. I'm unsure though if its reached full feature parity yet with the X11 client.
Thanks for pointing this out, you have just made my life easier
Spoke a little too soon, can't seem to get rootless mode working with sdl-freerdp3 in the latest kwin_wayland, but desktop mode works
> can you do "pass a single window" with freeRDP?

That's what "rootless" mode does.

and with MS making sure you have to sign in with a MS account... i dont really see the point of this.
> MS making sure you have to sign in with a MS account

if you are capable of running linux, you're capable of working out the various ways to bypass that sign-in "requirement".

But if using hello@example.com as the email, and using F10 and oobe or whateve command you pulled off Google stop working, and then you have to move to more exotic options, like downloading programs to modify disk images to prepare a USB drive to install an LTSP or IoT copy of windows 10 it's all just such a waste of time to do something that should be easy all because someone at Microsoft got on this kick that what they want is more important than what the customer wants. It's so frustrating!
You basically need to do that anyway, because defaults are janky.
As a non-coder/engineer Linux user…I’ll admit that’s actually not obvious to me. Linux is trivially easy to run these days.

I could probably drop my dad in Mint and he’d assume windows just looks different. Maybe that’s a tad facetious but also ehhhh I could maybe get away with it

Only the home version has that issue.
Exactly the same thing of WSL2
In-place ABI translation is how wine works, what do you mean?