WinApps: Run Windows apps as if they were a part of the native Linux OS

github.com

341 points by klaussilveira 8 days ago


jonp888 - 4 days ago

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

GaryBluto - 4 days ago

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.

nickjj - 4 days ago

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?

andai - 4 days ago

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 :)

phito - 4 days ago

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.

BlaDeKke - 4 days ago

I tried this method for my wife. So she could use ms office in Linux. This isn’t an elegant solution. She’s back to windows 11. We tried…

xg15 - 4 days ago

So essentially the WSL in reverse?

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?

j16sdiz - 4 days ago

> Icon in the Public Domain.

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.

hcurtiss - 4 days ago

Parallels coherence mode in MacOS is similar.

Yehia_loay - 4 days ago

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!

xrd - 4 days ago

Fortnite?

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.

20k - 4 days ago

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

exceptione - 3 days ago

Note that it currently only works with xfreerdp¹, so that means you share the X11 socket with this program. Although freerdp is also available for Wayland, the single app mode (aka RemoteApp aka RAILS) reportedly has not been implemented yet on the SDL port.

1. https://github.com/winapps-org/winapps/issues/779

queenkjuul - 4 days ago

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.

vecdot - 3 days ago

Just some anecdata, I had a poor experience with this project.

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.

the__alchemist - 4 days ago

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.

cromka - 4 days ago

How about GPU acceleration, for e.g. Affinity?

mathfailure - 4 days ago

Does this even work?

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

cyberax - 4 days ago

Ok. Can you run WSL inside of it?

terra_nera - 4 days ago

It really whips the llamas ass ....

This popped into my head before I had a second to do a double take.

runsonrum - 4 days ago

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.

jxdxbx - 4 days ago

I tried to get it set up so I could boot into my Windows partition natively and also boot it in a VM in Qemu on Linux and, what a nightmare.

shlip - 4 days ago

Well it will work nicely if you have a decently modern setup I guess. But I suspect the experience on a 10+ yo laptop would not be that great.

tonyhart7 - 4 days ago

Windows have wsl and linux have wine,winapps etc

at some point in the future, Your OS wouldnt matters because all OS is reaching feature parity

b3ing - 4 days ago

I wish VMware ThinApp was still around

BrouteMinou - 4 days ago

Lol, at that point I would just run Windows...

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!