kvm-guest-drivers-windows icon indicating copy to clipboard operation
kvm-guest-drivers-windows copied to clipboard

Add VirtIO-GPU full graphics driver (with DirectX support)

Open matheuswillder opened this issue 2 years ago • 14 comments

As commented in: https://github.com/virtio-win/kvm-guest-drivers-windows/issues/668#issuecomment-1139595028

matheuswillder avatar May 27 '22 20:05 matheuswillder

You might want to take a look at https://github.com/Arc-Compute/LibVF.IO

fubar-1 avatar Jun 02 '22 04:06 fubar-1

You might want to take a look at https://github.com/Arc-Compute/LibVF.IO

Thank you! I think I've already read before about this project but I can't test it on my current computer (it's an old 2th Generation Intel with integrated GPU, so unsupported).

I've opened this issue here just to follow up when there's progress on this. The prices for CPUs and GPUs are currently extremely expensive in my country, so there's not much I can do.

But thank you anyway.

matheuswillder avatar Jun 02 '22 09:06 matheuswillder

Should it fix https://gitlab.com/qemu-project/qemu/-/issues/1610 please? @matheuswillder

gogo2464 avatar Apr 23 '23 19:04 gogo2464

Sorry for the late I've been busy lately. If I understand correctly there is plans to document (and implement?) DirectX acceleration through QEMU but on Windows builds, correct? In this case I don't believe it should fix this issue as we were talking (in the comment linked above) about Linux hosts and Windows guests.

matheuswillder avatar Apr 25 '23 13:04 matheuswillder

I am very very confused. I openned a very very general issue on how to run direct x on qemu.

An accelerator does the trick on Linux but not on windows.

I was asking, could virtio-win replace the qemu PR about to handle directX11 support please?

best regards @matheuswillder !

gogo2464 avatar Apr 25 '23 16:04 gogo2464

QEMU PR handles the 'engine' DirectX support. You still need to 'teach' Windows to use the acceleration made available by the 'engine', which is what this ticket is about. TL;DR: both tickets are required, and this one we're commenting on is non-trivial to implement.

Segment0895 avatar Apr 25 '23 17:04 Segment0895

Should we start with virtio-win? If we finish virtio-win directX support, qemu with handle directx11. After we will need an accelerator for perf...

gogo2464 avatar Apr 25 '23 17:04 gogo2464

I've no clue how it's made. Assuming you have 100+ hours you can use, my somewhat not very well founded suggestion would be to pickup the old GSoC project made in 2017 [1], be able to replicate and iterate from there. Interfaces probably changed a bit, you'll have to be stubborn.

[1] https://www.phoronix.com/news/QEMU-3D-Windows-Guests

Segment0895 avatar Apr 25 '23 17:04 Segment0895

Related: #841.

matheuswillder avatar Apr 25 '23 19:04 matheuswillder

Pull request: https://github.com/virtio-win/kvm-guest-drivers-windows/pull/943

matheuswillder avatar Aug 05 '23 23:08 matheuswillder

https://github.com/tenclass/mvisor-win-vgpu-driver I have implemented it for win10 guest with opengl4.2 support. For directx, maybe you can translate it to opengl?

nooodles2023 avatar Dec 22 '23 02:12 nooodles2023

https://github.com/tenclass/mvisor-win-vgpu-driver I have implemented it for win10 guest with opengl4.2 support. For directx, maybe you can translate it to opengl?

I never had heard of mvisor project before, it sounds interesting. I'll test it later when I have some free time. Thanks for indication!

matheuswillder avatar Dec 22 '23 11:12 matheuswillder

https://github.com/tenclass/mvisor-win-vgpu-driver I have implemented it for win10 guest with opengl4.2 support. For directx, maybe you can translate it to opengl?

I never had heard of mvisor project before, it sounds interesting. I'll test it later when I have some free time. Thanks for indication!

It's my pleasure. Mvisor is a mini virtual machine that is based on KVM. We built it using C++ instead of C, and we have been using Mvisor in our production for 2 years.

nooodles2023 avatar Dec 22 '23 11:12 nooodles2023

It's my pleasure. Mvisor is a mini virtual machine that is based on KVM. We built it using C++ instead of C, and we have been using Mvisor in our production for 2 years.

I'll take a look soon, thanks again! If you can, I suggest you make a post announcing the project in places like r/linux and r/opensource on Reddit, there are certainly other users there that may be interested in using or even contributing to it. You can make announcements of new versions there too. But this is just a suggestion to make the project better known.

matheuswillder avatar Dec 22 '23 11:12 matheuswillder