How to Seamlessly run Windows 10 apps in a VM in Linux

I was really in to trying to get this to work a couple of years ago. I got as far as getting my NVidia GPU to work on both the host and guest via NVidia’s vGPU feature. It worked so long as the host and guest OS were running the exact same driver version, which could be quite difficult since Windows and Linux OS’s have a tendency to take updates at different rates. None the less, it worked, and I arrived at the same conclusion, I was using the vGPU to let the Windows guest get 3D rendering, but not running that guest with a connected display in any way(not even to a QEMU/Spice display.

Instead, I just let the graphics get rendered in the VM, and passed over streaming RDP back to my primary display. Sad thing though, the glitchyness of XFreeRDP2 at the time was too much for me. Windows didn’t just look janky when I dragged them, half the time they snapped back to where they started, and then the guest didn’t agree on their location. Eventually they would only work on one of my two monitors, resizing windows was garbage, etc etc.

And at this point, I can’t even seem to get XFreeRDP2 to work with RDApps most of the time, and have fallen back to just using Reminna. Basically, I threw in the towel on seamless mode, having seen it dropped by pretty much every VM option out there, I took the hint, just give up.

But this has revived my interest in making it happen again, so let me know how I can help. Even if that involved the pain of pulling the source code for XFreeRDP2 getting it to compile, and working on it myself. If there is a scene of interested people, maybe it’s worth my time to try.

1 Like

This is a problem we can fix with money, though, I just need to figure out how to get it to the right people… hmmmmm

3 Likes

Thank you. Setting a password solved it ^o^

1 Like

I’ve been running a similar setup for a while. One thing I noticed in the video Wendell said he would like the start menu on your screen. I have been taking a more linux-y approach and having my apps display in the linux (gnome in my case) app picker. While my setup does use a full fledged remote app server I think it might be possible to replicate it with the method outlined in the video.

A few months ago I made an outline of the process for a friend. It is a very rough and dirty manual approach. But it is on my GitHub page if anyone wants to take a crack at scripting and streamlining this process.

github — yegoryeliz/RemoteApps-Linux

4 Likes

Thanks for sharing the link! Good stuff

1 Like

Sorry to repeat the question but had anyone tried to run the entire adobe suite on a windows vm with a second gpu? Specifically After Effects. I can’t find the answer anywhere

I just want to know if there’s something else that’s going to be troublesome before buying another gpu and finding out that these glitches that are tolerable on office and similar apps, are really not acceptable in a vfx workflow

1 Like

I’d suggest using looking glass and not doing the ‘remote app’ thing or use a second display attached to the virtual gpu. The adobe suite needs a lot of horsepower. So it’s going to be something to invest time/resources into.

the adobe suite can use all your bare metal, too, so its def. not an ideal situation wrt programs that heavy.

1 Like

Thank you. I’m gonna take a look into it and see the performance penalty

Would love the start menu but could not figure it out :frowning:
I have now installed RocketDock and configured it as a remote app and I’m happy. It’s probably even better than the start menu because my host os is already windows.

1 Like

I think the RDP session here will always be separate from the locally logged in one, and since you’re limited to 1 session unless you use Windows Server or RDPWrap to bypass RDP limitations that local session will be logged out when you connect via RDP, which isn’t great if you want to use this in combination with something like Looking Glass.
And either way since it’s a separate session, apps in the guest won’t always interact the way you’d expect with those in the local session.

An alternative I found that doesn’t use a separate session is Virtual Display Manager.
It needs to be run under Wine to work, and it has its own set of problems, but it is open source so maybe it could be improved.
I just wanted to mention it since I think it’s not widely known about, and maybe someone finds it useful.

2 Likes

Huh?

When I log on “locally” it disconnects from rdp but I don’t have to close or reopen programs.

It works the same as desktop windows 10 where if I have say word open with a document then rdp in from elsewhere there all my stuff is including that word doc. If I then log back on locally it works fine. It’s all still there. It’ll spaz out and rearrange the windows but there’s no log on/off mechanic

This is using the same user account locally and via rdp …

1 Like

I end up having enough challenges with remote app working properly with a Windows to Windows config, even moving Windows around doesn’t always work properly. Might be because I’m connecting to a Windows VM on a proxmox host though.

1 Like

It’s possible without needing to set a PW via a group policy change. See the answer here: RDP (Remote Desktop) to Windows 10 without passwords not possible anymore. Bug o

1 Like

I’ve now setup a seamless MS Office experience where I pass specific office application (and explorer) to my Linux “work” VM.
Using desktop entries (.desktop files) to make the experience more seamless and even have protocol handlers like mailto: work with outlook from Linux (xdg-open mailto:[email protected] opens outlook with that addres in the To field).

For example via an explorer desktop entry using this definition and helper script:

Desktop Entry
[Desktop Entry]
Name=File Manager (win10amd)
Comment=RDP for explorer.exe
Keywords=GNOME;GTK;FileTools;commandline;FileManager;remote desktop;rdp;Microsoft Word;Document;docx;
Exec=explorer %u
Icon=system-file-manager
Terminal=false
MimeType=inode/directory;x-scheme-handler/mailto;
Type=Application
StartupWMClass=xfreerdp
Categories=Application;GNOME;GTK;Utility;Network;FileSystem;RemoteAccess;Email;WordProcessor;
StartupNotify=false
Actions=Outlook;Word;Excel;

[Desktop Action Outlook]
Name=Launch Outlook
Icon=applications-mail
Exec=explorer "C:\\\\Program Files (x86)\\\\Microsoft Office\\\\root\\\\Office16\\\\OUTLOOK.EXE"

[Desktop Action Word]
Name=Launch Word
Icon=libreoffice-writer
Exec=explorer "C:\\\\Program Files (x86)\\\\Microsoft Office\\\\root\\\\Office16\\\\WINWORD.EXE"

[Desktop Action Excel]
Name=Launch Excel
Icon=libreoffice-calc
Exec=explorer "C:\\\\Program Files (x86)\\\\Microsoft Office\\\\root\\\\Office16\\\\EXCEL.EXE"
wrapper script
#!/bin/sh
if [ -z "$1" ]; then 
    exec xfreerdp /cert:ignore -p: /u:win10amd /v:10.0.1.10 -compression /scale:140 -grab-keyboard "/t:File Explorer" "/app:%windir%\\explorer.exe" >"$XDG_RUNTIME_DIR/explorer.rdp.log" >&1
else
    exec xfreerdp /cert:ignore -p: /u:win10amd /v:10.0.1.10 -compression /scale:140 -grab-keyboard "/t:File Explorer" "/app:%windir%\\explorer.exe" "/app-cmd:$1" >"$XDG_RUNTIME_DIR/explorer.rdp.log" >&1
fi

Also have made a few desktop entries for the various MS Office applications (word, excel, outlook) which may be registered as handlers for files/mime types but passing a file name/opening a file using this launcher would require it to exist on the Windows side (matching path). Using “actions” for right-click on the desktop entry I’ve added “launch app” in the right-click menu for my explorer entry. Though opening a specific application via that desktop entry re-establishes the RDP connection the previously opened windows are remembered and therefore re-opened.

Shown here using the "tiled menu" in KDE

Via window rules in KDE the desktop icon is always assigned properly and it integrated well into my window manager. As an example the window switcher (alt-tab) is shown:

In Future I’m looking into adapting paths that I open these launchers with so I can open files from the Linux side (and have its file system passed via sshfs or similar to Windows). Then I can have recent files used with that application shown up via my DE as well and make it behave just like a local application.

5 Likes

Anyone else having issues copying text from RemoteApp into the Clipboard on the Linux side? The other way works just fine. Tried explicitly adding the +clipboard option for xfreerdp too without luck.

1 Like

I usually have to hit ctrl c twice when it’s in a weird state fwiw

1 Like

I did try spamming Ctrl+C and also Right-click → copy. Pasting the copied text from the RemoteApp within itself works too so it’s like it just doesn’t synchronize the clipboard back. Perhaps it’s something on the Linux side blocking it (clipboard manager in KDE maybe?)

2 Likes


erm @wendell im not sure i should be allowed this functionality :smiley:
im a troll at best so dont give me this kind of power :smiley:

but seriously… i think somethings gone wrong with the permissions coz users shouldnt be able to edit the admins posts… :wink:

4 Likes

We can if the poster sets it as a wiki; in fact, that’s kinda the point :slight_smile:

I think it needs a minimum trust level, but if you see some way to improve, have at it

(Presuming you were talking about the top, main post)

3 Likes

Can the VM run remotely on a server? If so that would be really cool

1 Like