qubes-issues icon indicating copy to clipboard operation
qubes-issues copied to clipboard

qubes-windows-tools: Support for Windows 10/11

Open caschulz88 opened this issue 8 years ago • 63 comments

Latest updates

Alright, since I (@omeg) have been working on this for a while now and finally it's in a state that will allow for user testing soon, here is the current status of Windows 10/11 support. More items might be added in case I forgot something.

All of the current code is here: https://github.com/omeg/qubes-installer-windows-tools/tree/omeg/win10 Don't use on production VMs, it's not ready yet. Make sure to set the default-user property for the qube manually as appropriate (https://github.com/QubesOS/qubes-issues/issues/9020).

TODO:

  • Core
    • Xen PV drivers
      • [x] Core drivers (xenbus/xeniface)
      • [x] Additional drivers (disk/network for performance)
    • Integration
      • [x] Core services (qrexec agent, qubesdb)
      • [x] qvm-run with passthrough i/o
      • [x] AppIcon extraction
      • [x] Clipboard integration
      • [x] File receiving
      • [x] File sending
      • [x] Shell context menus for file sending and editing in other VMs
      • [x] Initializing the private disk volume
      • [x] Moving user profile to the private disk volume (https://github.com/QubesOS/qubes-issues/issues/5916)
  • GUI agent
    • [x] Secure attention sequence (CTRL-ALT-DEL) simulation
    • Fullscreen mode
      • [x] Basic functionality
      • [x] Resolution change on resize (limited by the basic display driver's hardcoded list of supported resolutions)
    • Seamless mode
      • [x] Basic functionality
      • [x] User account control (UAC) popups (desktop switch)
      • [x] Capturing Start Menu and notifications
      • [ ] A way to interact with the tray notification area
  • Installer
    • [x] Component selection
    • [x] PV drivers component(s)
    • [x] Core component
    • [x] GUI component
    • [x] Proper versioning
    • [x] Installing prerequisites (MSVC runtime)
  • Building (no cross build on Linux possible anymore due to building Xen PV drivers from source)
    • [x] Visual Studio build
    • [x] Standalone build
    • [ ] Integration with Qubes builder

Nice to have (will most likely be done after an initial release):

  • Release-signing for PV drivers (https://github.com/QubesOS/qubes-issues/issues/9019)
  • Performance-enhancing OS tuning
  • Windows 7/11 compatibility (11 seems to mostly work without issues)
  • Seamless mode optimization (moving windows looks laggy)
  • A GUI utility for various settings that are configurable via registry
  • Custom WDDM GPU driver (for better performance and easier access to DWM-managed window surfaces)

Known issues (will be added to github once the code is merged):

  • Stubdomain memory may need to be increased if you encounter Qemu being oom-killed (https://github.com/QubesOS/qubes-issues/issues/3821)
  • NTFS symlinks are not handled correctly by file sender
  • Rarely some framebuffer changes seem not to be detected correctly in fullscreen mode
Original issue text Hi,

I was wasn't able to find any already opened issue about this topic so I'm creating one right now. In all documentation on qubes-windows-tools there is always only the information that newer Windows versions than Windows 7 are in development.

Can anyone please clarify what exactly this means? Do we have a roadmap or special features, which are missing at the moment? Because the MSI installer has a hard check for Windows 7 version in it I wasn't able to run the installer on Windows 8 and Windows 10 in comatibility mode (as the user cannot specify a specific Windows version in compatibility mode as he could do when running some executable file). I bet there are some reasons to include such a check there.

Would be great to have this list posted here. I'm also willing to help to get support for Windows 8 and 10 of course!

caschulz88 avatar Mar 21 '16 07:03 caschulz88

Indeed there is no open issue for that, but this is exactly what @omeg is doing right now. The most challenging is totally different graphics drivers framework (or more precise: removal of the old, simpler one).

marmarek avatar Mar 21 '16 15:03 marmarek

Any updates on the current progress of the Windows 10 support? It would be very nice to be able to run Windows 10 VM in a resolution higher than default 1024x1024.

8tt avatar Sep 25 '16 08:09 8tt

Not sure about details, but drivers for running Windows 10 in non-seamless mode are almost complete. Seamless mode will not happen anytime soon (if ever...).

@omeg can provide more details.

Best Regards, Marek Marczykowski-Górecki Invisible Things Lab A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing?

marmarek avatar Sep 25 '16 12:09 marmarek

Since it has been 18 days since the last update: @omeg, do you have an indication when Win 8+ support will be ready? And just out of curiosity: what does in mean that seamless mode will probably never happen in Win 10? And does this also apply to Win 8(.1)?

sveeke avatar Oct 13 '16 20:10 sveeke

@sveeke - seamless mode is when you can control an application window from a VM on the host destkop. It is sort of like "Unity" from VMware. I am guessing the graphics drivers framework that @marmarek mentioned are making it difficult to implement seamless mode.

Non-seamless mode is fine with me!

schnbrg avatar Nov 03 '16 14:11 schnbrg

Without any intention to add pressure to an awesome project I can get for free (Thank you!), and just with the intention so I can prepare myself to the vague date: @omeg How complete do you think this ticket is and when does it seem this can be completed (even if you fail at it by a long shot)?

brunoais avatar Mar 06 '17 13:03 brunoais

@brunoais: No one is currently working on this (hence the help wanted label), so the answer to your second question is: If/when we receive patches from the community, or if/when the Qubes team has time to resume work on this, whichever (if either) comes first.

andrewdavidwong avatar Mar 07 '17 00:03 andrewdavidwong

@andrewdavidwong Oh! I didn't know those tags were because there's no one working on it. In that case, any ETA question makes no sense. Thank you for that 2nd part of the answer, though. Even through it didn't make sense after knowing no one is actually working on it ATM.

brunoais avatar Mar 07 '17 09:03 brunoais

I didn't know those tags were because there's no one working on it.

In this case, yes.

Thank you for that 2nd part of the answer, though. Even through it didn't make sense after knowing no one is actually working on it ATM.

I'm not sure what you mean.

andrewdavidwong avatar Mar 08 '17 00:03 andrewdavidwong

I'm not sure what you mean.

As there is no one working on this, it doesn't make sense to have an ETA in a project such as this. Thought that, you still tried to get me an answer. I appreciate it. Do you understand now?

brunoais avatar Mar 08 '17 13:03 brunoais

As there is no one working on this, it doesn't make sense to have an ETA in a project such as this. Thought that, you still tried to get me an answer. I appreciate it. Do you understand now?

Yes. :)

andrewdavidwong avatar Mar 08 '17 22:03 andrewdavidwong

(As noted before, I've no intention to add pressure and thanks for the great work!) The following may help prioritization, now that development funding is available.

I argue that supporting newer windows is important for two reasons that have not been mentioned before:

  • There is currently no way to run any version of properly-supported MS Windows for free. For occasional users of Windows, who may not want to pay for a full license for each VM, the only legal and free option is the MS Edge evaluation VMs that MS provides for free. Unfortunately, they only provide x86 Windows 7, which is not compatible with Qubes's guest tools. It would be great if we could get the tools working on Win10 since Microsoft provides an x64 version for free.
  • Windows 7 will go out of extended support in about 2.5 years (January 14, 2020). It would be best if we have time to test guest tools on Win8+ before having to rely on them as the only option.

cmavr8 avatar Jun 30 '17 16:06 cmavr8

If at any point a tester who tends to work >4 hours per day in a windows VM and is willing to "get dangerous" is needed for this, hit me up :)

tonsimple avatar Oct 22 '17 18:10 tonsimple

Let's get dangerous @tonsimple :-)

anodium avatar Oct 22 '17 18:10 anodium

@tonsimple how can I help?

Yethal avatar Oct 22 '17 20:10 Yethal

@Yethal haha, I meant that I'm ready to test win10 tools as soon as they are ready ))

I use windows in qubes a huge lot (as evidenced with really obscure windows-on-qubes bugs I've managed to run into and submit) so I decided it may be neat to notify the developers that I am ready to be the guinea pig for the Win10 tools when the time is right

tonsimple avatar Oct 22 '17 21:10 tonsimple

Oh well, that's a shame. Anyway, if anybody needs a second pair of hands to help I'm here. I have a spare physical machine I can reinstall Qubes on over and over if needed.

Yethal avatar Oct 22 '17 21:10 Yethal

[Off-topic] For those desperate to use Windows 10 on Qubes, there is a (less secure?) alternative to qubes-windows-tools. As you know, Windows 10 installs and runs fine as an HVM on Qubes. Inter-VM interaction can be achieved using freerdp, which implements shared clipboard, shared folders, and seamless windows (via remote-apps). If your Windows VM is running on a separate HyperV host, you can have a fully functional, gpu-accelerated Windows 10 VM on your Qubes machine (via RemoteFX).

entr0py avatar Oct 23 '17 00:10 entr0py

@3n7r0p1 Do you have any pointers to pages on that? Most of what I turn up that deals with windows in Qubes is an after thought, old, or both.

Don't get me wrong, Qubes still absolutely rules and I hope someday it'll show windows how to actually do windows right.

krzivn avatar Oct 24 '17 23:10 krzivn

@krzivn Sorry to keep you in suspense. Discussion here: https://groups.google.com/forum/#!topic/qubes-users/dB_OU87dJWA

entr0py avatar Nov 09 '17 22:11 entr0py

Is there any update on this feature? I want to get involved in Ethical Hacking, but I also work as a Front End Developer, so I need access to some Windows software.

My question is the following, if I buy my own Windows 10 license, will I be able to run in within a QubesOS VM?

papaponmx avatar Dec 01 '17 16:12 papaponmx

@papaponmx I don't speak from experience, but as far as I understand how it works, if it can run under xen, you should be able to run it. See the comment of user:entr0py. However you won't get the qubes tools that make sure the clipboard and other stuff integrate with qubes (the qubes guest additions are missing if you will).

najamelan avatar Dec 27 '17 04:12 najamelan

In this day and age where crowfunding campaigns are started for stranded cats and what not...

Can we have an estimate budget on how much it would cost to hire devs who could start working on the win10 VM so we can start testing? I'll happily be the first to contribute.

Thank you for the great software you provide us!

estrella159 avatar Feb 09 '18 19:02 estrella159

In this day and age where crowfunding campaigns are started for stranded cats and what not...

Can we have an estimate budget on how much it would cost to hire devs who could start working on the win10 VM so we can start testing? I'll happily be the first to contribute.

Thank you for the great software you provide us!

Thanks for your willingness to contribute! You can read more about donating to the Qubes OS Project here:

https://www.qubes-os.org/donate/

However, please note that we do not implement specific features based on donations:

https://www.qubes-os.org/donate/#do-donors-get-personalized-support-or-special-feature-requests

andrewdavidwong avatar Feb 10 '18 04:02 andrewdavidwong

Recent thread: https://groups.google.com/d/topic/qubes-devel/tBqwJmOAJ94/discussion

andrewdavidwong avatar Mar 01 '18 04:03 andrewdavidwong

Any progress?

Dreamurrrr avatar Sep 23 '19 05:09 Dreamurrrr

Windows 7 End of Life is in less than 2 months.

tmaxxer avatar Nov 24 '19 20:11 tmaxxer

I'm not aware of anyone currently working on this. It has the help wanted label, which indicates that it will probably not get done without help from community contributors. If anyone is willing to work on this, please reply here.

andrewdavidwong avatar Nov 25 '19 07:11 andrewdavidwong

tried to install qubes-windows-tools in Windows 10 and got "another version of this is already installed". I know AppVMs will not work but I guesses I could use PV drivers and shared clipboard and send/copy to VMs. No way for Windows 10? Windows 7 is out of support and I really need Windows 10.

lattice0 avatar Mar 15 '20 06:03 lattice0

try https://github.com/elliotkillick/qvm-create-windows-qube

0spinboson avatar Mar 15 '20 06:03 0spinboson