Open caschulz88 opened 8 years ago
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).
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.
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?
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 - 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!
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: 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 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.
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.
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?
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. :)
(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:
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 :)
Let's get dangerous @tonsimple :-)
@tonsimple how can I help?
@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
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.
[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).
@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 Sorry to keep you in suspense. Discussion here: https://groups.google.com/forum/#!topic/qubes-users/dB_OU87dJWA
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 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).
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!
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
Any progress?
Windows 7 End of Life is in less than 2 months.
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.
tried to install qubes-windows-tools in Windows 10 and got "another version of this
@b4b857f6ee opened a bountysource: https://www.bountysource.com/issues/95242068-qwt-qubes-windows10-tools-r4-1
Because it was a duplicate i bounty this issues : https://www.bountysource.com/issues/32090963-qubes-windows-tools-support-for-windows-8-8-1-10
What's the known complications of implementing a WDDM Display Only Driver? Qubes doesn't officially support GFX acceleration/passthrough, so a full-blown driver wouldn't be immediately necessary.
Perhaps spice-qxl-wddm-dod
and the sample KMDOD driver from Microsoft might be a good starting point here.
What's the known complications of implementing a WDDM Display Only Driver?
I think this is a good compromise right now. The disadvantage is that you'd (still) need to cut windows areas out of full screen capture, with all its consequences (unable to display window obscured by something else, lagging while moving windows etc). But, this is how the current gui-agent-windows works, so it wont be worse. Having full-blown driver would allow to pick up individual windows, but also it is waaaay more complex.
What's the known complications of implementing a WDDM Display Only Driver?
I think this is a good compromise right now. The disadvantage is that you'd (still) need to cut windows areas out of full screen capture, with all its consequences (unable to display window obscured by something else, lagging while moving windows etc). But, this is how the current gui-agent-windows works, so it wont be worse. Having full-blown driver would allow to pick up individual windows, but also it is waaaay more complex.
Could we borrow code from similar projects?
The real question is.... how many? :D €€€€€€€€€ (kidding)
It would be nice if Desktop Duplication API can be used both with and without a full-blown driver, but I'm not sure if this is the case.
Could we use RDP over a vchan?
@DemiMarie Possibly, since RDP multiplexes multiple (virtual) channels onto a single TCP connection. I don't see how RDP would be useful here, though, since it doesn't support seamless desktop AFAICT.
Excuse my previous comment—RDP seems to be actually in use as a workaround for Windows seamless support: #6256
I am also eagerly waiting to see seamless support for Windows applications in Qubes. Imho this is really a feature of not too small importance as it allows to work on a free + secure operating system even though there might be these 1-2 applications where no Linux alternative is available (yet of course).
I would like to point towards the Cassowary project. Maybe Qubes can borrow some things from there concerning the seamless integration? It is again FreeRDP in the RemoteApp format.
Cheers!
Peter
I've updated the issue description with the current status.
I updated the title to reflect @omeg’s changes.
For resizing support, the qemu drivers support this for qemu guests While I recognize that the integration work itself may not be portable, the way qemu handles changing resolution is by adding a resolution option to the list that changes dynamically. Maybe that's useful to implement?
[ ] Building (no cross build on Linux possible anymore)
- [x] Visual Studio build
- [x] Standalone build
- [ ] Integration with Qubes builder
Is this because the new Xen PV drivers cannot be cross-built?
Is this because the new Xen PV drivers cannot be cross-built?
Yes. Previously they were not built either because we used binaries provided by upstream (and they no longer provide that). It's probably possible to make them build with Linux toolset, but that seemed like a significant effort when I tried.
For resizing support, the qemu drivers support this for qemu guests While I recognize that the integration work itself may not be portable, the way qemu handles changing resolution is by adding a resolution option to the list that changes dynamically. Maybe that's useful to implement?
Yes, that's the "custom WDDM video driver" option. It was infeasible a few years ago when I first looked into this, but now there are some available examples like the virtio drivers that can be adapted. I'll look into that after the basic functionality works well enough.
- [ ] Capturing Start Menu and notifications (partial - works, but those windows have weirdly huge transparent areas that need to be detected and discarded)
Do you expect this to be a performance problem in practice? This is a great candidate for SIMD acceleration.
Is this because the new Xen PV drivers cannot be cross-built?
Yes. Previously they were not built either because we used binaries provided by upstream (and they no longer provide that). It's probably possible to make them build with Linux toolset, but that seemed like a significant effort when I tried.
What about clang in MSVC emulation mode? Clang’s SEH implementation is only partial, and that’s a severe problem for kernel-mode drivers. So I think using MSVC is absolutely the right thing to do here.
I am curious if one could (both legally and technically) run MSVC on Wine.
- [ ] Capturing Start Menu and notifications (partial - works, but those windows have weirdly huge transparent areas that need to be detected and discarded)
Do you expect this to be a performance problem in practice? This is a great candidate for SIMD acceleration.
At least the start menu should be negligible, since it occupies a fixed space on the screen. The values for that can be hardcoded (boundaries of the visible window), no detection required.
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:
qvm-run
with passthrough i/oNice to have (will most likely be done after an initial release):
Known issues (will be added to github once the code is merged):
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!