Thought "isn't that just Wine" but no! They are virtualizing it! And integrating them seamlessly with Linux desktop somehow!
Looks pretty cool. I remember playing with something similar in Virtualbox, it had a seamless mode too. It was a bit janky, and I think they removed it recently.
I used it in the old days, to have MSN messenger on Ubuntu :)
This system works by launching an official Windows image in Docker and then making an RDP connection to it. There are a couple of others too now like WinBoat
What all of them avoid mentioning is that the images were intended by Microsoft for test and development purposes on Windows and the license clearly states you need a valid Windows license to use them: https://hub.docker.com/r/microsoft/windows#license
I wonder if Microsoft will take some action to enforce this if these projects become popular.
Edit: This comment is incorrect, see below comment from
doctorpangloss
Is this a new thing? That windows docker images can run a UI? It's been a while since I looked at them (we're talking 2017-2018?), but back then, one was limited to CLI/Server apps without any windows graphical interface.
I'm wondering when it changed? (or perhaps I missed something back then)
I really liked using parallels, but when I got my apple silicon MacBook it was too much headache trying to get apps to compile on ARM. I meant to look into x86 VMs but it was experimental last I looked.
I've had mixed results with this, recent versions of Adobe in particular gave me trouble.
I've been meaning to try WinBoat, but it's based on the same underlying technology (docker+RDP) so I'm guessing I'll hit the same bugs. I was thinking maybe i could alter the code to launch a different RDP client instead of the default.
Still, if you just need Office, it's a much more integrated setup than you can easily achieve with VMs.
I would be looking for a solution to run Minecraft official launcher in Linux. It is heavily integrated with Windows extras such as the Microsoft Store.
This is the last holdout to get my children on Linux.
This is cool, When i looked at this i thought it was just WinBoat, Turn's out, it's not
But of course there isn't a way to run it at the same performance as if windows was installed as the main OS. You would always need some kind of virtualization. Anyways, This is a very cool project. Good luck!
How good is it in practice? I've found windows VMs under a Linux host to be frustrating to use, and get poor performances no matter how much resources I throw at it. The clock keeps getting messed up all the time. UI is sluggish.
I now use a dedicated windows laptop in RDP and it is such a better experience better than a VM.
I see it's time for the bimonthly reinvention of VirtualBox and VMWare's seamless modes from a few faceless techies on GitHub and designed for people who can't be bothered to use WINE or VirtualBox.
Let's assume good intent and that the problem came up without foreknowledge of the solution (which I think is endemic whether or not it is the case here)
How would you reccomend someone discover/decide is faster to learn/learn/implement existing solutions?
I'm asking because I'm currently in my "cambrian explosion" phase of homelabbing, so implementing that loop for myself personally will pay dividends.
I'm kind of surprised you can "run Windows" in a Docker container at all. Isn't the fundamental restriction of Docker that all containers share the same (linux) kernel? Is there a way for docker to inject a "translation layer" somehow that makes it look like an NT kernel for the Windows processes?
Trying to pull mcr.microsoft.com/windows:ltsc2019...
Error: choosing an image from manifest list docker://mcr.microsoft.com/windows:ltsc2019: no image found in manifest list for architecture amd64, variant "", OS linux
Does anyone know if its possible to get shell integration working?
The sole app keeping me on windows is tortoisegit: you right click, and get a bunch of git commands on your context menu. If there was any way to get this running in linux, I'd swap
It's funny because I remember in 2014 before WSL, certain hypervisors like VMWare Player had the ability to run Linux apps in Windows using "unity" mode allowing Linux apps to be seamlessly blended in as regular Windows windows, complete with window decorations, alt tab, shortcuts, etc.. It worked well for what it did, I ran Sublime Text 2 back then in that way and other tools.
This looks like an evolution of that, but in reverse.
I wonder what the performance is like. Has anyone tried it on CPU / GPU intensive apps like video editing tools?
Then my kids can stop complaining and I can stop worrying about supporting Windows. They are happy as clams with Roblox and Minecraft on Ubuntu, and that makes me happy.
I don't see anything mentioned in the issues/discussions nor on the upstream project.
If this works as expect, I love it. I'm assuming the user doesn't need to manually configure the containers etc; it sounds like from the Readme it's low-friction. From a performance and disk space perspective, I'm not thrilled about containers. I think their existence here and in general cuts to a deeper concern we can fix.
Here's what I'd like to see for GPOS software in general. (Win, Linux, Mac, any new ones we get) Minimal or no ABI barriers. You compile software for a given CPU architecture, and it just works on all suitable operating systems. No barriers; no friction. There are some OS specific things people use like file systems, threads, and allocators, but these are usually somewhat general, and are abstracted over by the programming language's standard libraries.
This is a worthwhile goal, and technically is feasible. Within Windows, this generally works pretty well; I think a reasonable goal is to get this working within Linux as a whole. Then cross Win/Linux, and maybe even Mac. OSs should be making our lives easier; not putting up barriers. Especially with the Linux free/OSS mindset. I wish UX and Compatibility were part of the ethos too; I think it's relevant.
31 comments
[ 431 ms ] story [ 1251 ms ] threadLooks pretty cool. I remember playing with something similar in Virtualbox, it had a seamless mode too. It was a bit janky, and I think they removed it recently.
I used it in the old days, to have MSN messenger on Ubuntu :)
What all of them avoid mentioning is that the images were intended by Microsoft for test and development purposes on Windows and the license clearly states you need a valid Windows license to use them: https://hub.docker.com/r/microsoft/windows#license
I wonder if Microsoft will take some action to enforce this if these projects become popular.
Edit: This comment is incorrect, see below comment from doctorpangloss
https://dev.azure.com/massgrave/Microsoft-Activation-Scripts......
I'm wondering when it changed? (or perhaps I missed something back then)
You can't re-create an icon to circumvent trademark law.
Using icon to refer to an application is fair use.
I am not sure what's the point of having a public domain icon.
I've been meaning to try WinBoat, but it's based on the same underlying technology (docker+RDP) so I'm guessing I'll hit the same bugs. I was thinking maybe i could alter the code to launch a different RDP client instead of the default.
Still, if you just need Office, it's a much more integrated setup than you can easily achieve with VMs.
This is the last holdout to get my children on Linux.
This popped into my head before I had a second to do a double take.
I now use a dedicated windows laptop in RDP and it is such a better experience better than a VM.
How would you reccomend someone discover/decide is faster to learn/learn/implement existing solutions?
I'm asking because I'm currently in my "cambrian explosion" phase of homelabbing, so implementing that loop for myself personally will pay dividends.
at some point in the future, Your OS wouldnt matters because all OS is reaching feature parity
I'm kind of surprised you can "run Windows" in a Docker container at all. Isn't the fundamental restriction of Docker that all containers share the same (linux) kernel? Is there a way for docker to inject a "translation layer" somehow that makes it look like an NT kernel for the Windows processes?
Just no cross Kernel Linux on Windows (Unless passing over WSL) or Windows On Linux (Unless you virtualize in other ways and use that)
https://hub.docker.com/r/microsoft/windows#:~:text=How%20to%...
podman run mcr.microsoft.com/windows:ltsc2019
Trying to pull mcr.microsoft.com/windows:ltsc2019...
Error: choosing an image from manifest list docker://mcr.microsoft.com/windows:ltsc2019: no image found in manifest list for architecture amd64, variant "", OS linux
The sole app keeping me on windows is tortoisegit: you right click, and get a bunch of git commands on your context menu. If there was any way to get this running in linux, I'd swap
This looks like an evolution of that, but in reverse.
I wonder what the performance is like. Has anyone tried it on CPU / GPU intensive apps like video editing tools?
Then my kids can stop complaining and I can stop worrying about supporting Windows. They are happy as clams with Roblox and Minecraft on Ubuntu, and that makes me happy.
I don't see anything mentioned in the issues/discussions nor on the upstream project.
What is the threshold where you are basically running Windows, and you have Linux installed just for some internet vanity?
Play games? Run Windows games with Wine/Proton Coding? VSCode App? This thing...
But at least I don't own Windows, sheej!
Here's what I'd like to see for GPOS software in general. (Win, Linux, Mac, any new ones we get) Minimal or no ABI barriers. You compile software for a given CPU architecture, and it just works on all suitable operating systems. No barriers; no friction. There are some OS specific things people use like file systems, threads, and allocators, but these are usually somewhat general, and are abstracted over by the programming language's standard libraries.
This is a worthwhile goal, and technically is feasible. Within Windows, this generally works pretty well; I think a reasonable goal is to get this working within Linux as a whole. Then cross Win/Linux, and maybe even Mac. OSs should be making our lives easier; not putting up barriers. Especially with the Linux free/OSS mindset. I wish UX and Compatibility were part of the ethos too; I think it's relevant.
My setup used a qemu vm with gpu passthrough. I set the correct group policy settings to force the RDP host to use the vfio gpu.
Compared to looking glass (looking-glass.io), winapps was unusably slow. Beyond that, I experienced app-breaking UI glitches in the Adobe CC tools.
Love the concept, but in my experience this needs some more time to bake.