virtio-win / kvm-guest-drivers-windows

Windows paravirtualized drivers for QEMU\KVM
https://www.linux-kvm.org/page/WindowsGuestDrivers
BSD 3-Clause "New" or "Revised" License
2.01k stars 385 forks source link

Unable to modeset to 3440x1440 in Windows 11 #1034

Open tranquillity-codes opened 8 months ago

tranquillity-codes commented 8 months ago

Describe the bug When I attempt to modeset to 3440x1440 in Settings, it does not actually do anything. It shows the prompt asking whether to keep the changes or revert the changes, however no changes were made, and clicking revert changes changes the chosen resolution in the field back to the original. Also, if I do not reinstall the driver every reboot, the option to modeset to 3440x1440 disappears at random.

To Reproduce Install Windows 11 Install the guest drivers Try to modeset to 3440x1440 with a 3440x1440 window on a 3440x1440 monitor Observe it failing

Expected behavior Windows will modeset to 3440x1440

Host:

VM:

Additional context The Linux virtio driver has no problems modesetting to 3440x1440 and in fact does so by default, even communicating window sizes and modesetting automatically, using the exact same QEMU command line, just with a Windows guest swapped for a Linux guest.

I am unable to provide more details as I have very little experience with Windows, so I have been unable to discover any kind of logging mechanism or anything to try to obtain more insight.

vrozenfe commented 8 months ago

The latest virtio-gpu dod drive should be able to support resolutions in range from 800X600 up to 5120x2160 Screenshot from 2024-01-24 13-42-34

It will be included in the next virtio-win stable release which planned to be released in February. Vadim.

tranquillity-codes commented 8 months ago

Ah, so the current release of the driver supports only resolutions up-to 2560x1600 ?

Why does the 3440x1440 option show up at all in EDID though?

Should I try to compile the driver from master?

vrozenfe commented 8 months ago

Yeah, that limit was mostly coming from the maximum frame buffer size allocated by driver. I can put attestation signed driver on my public share directory. Just let me know which one do you need Win10/Win11? x86/amd64/arm64?

tranquillity-codes commented 8 months ago

Both Win10 & Win11, amd64, thank you ^^ !

Does it also work on Windows Server?

vrozenfe commented 8 months ago

https://people.redhat.com/vrozenfe/viogpu247.zip Not fully tested yet. Use it on your own risk. It should work on Windows Server. (Actually WDDM Display Only Driver designed to run on the server platforms rather on desktops).

Best, Vadim.

tranquillity-codes commented 8 months ago

Hello, thank you so much! I have little to no experience with Windows (I am setting up a VM to try to learn it), how do I install that? The whole virtio guest drivers package came as an executable installer. I tried clicking Install on the .inf file, which asked for privs then just said "Operation completed successfully", but after reboot the driver is still the same version and maxes out at 2560x1600.

tranquillity-codes commented 8 months ago

I attempted the pnputil steps described too, to no avail. I also tried using pnputil /delete-driver viogpudo.inf before doing pnputil /add-driver viogpudo.inf, also to no avail.

vrozenfe commented 8 months ago

go to "Start"->"Device Manager"->"Display Adaptors" you should see in-box "Microsoft Basic Display Adaptor" driver installed by default. Right click on it and chose "Update Driver" the pop-up menu. Then click on "Browse my computer for drivers" and navigate to the driver directory.

tranquillity-codes commented 8 months ago

I do not see any Microsoft Basic Display Adapter under Display adapters, I only see a Red Hat VirtIO GPU DOD controller

vrozenfe commented 8 months ago

OK, then you can try updating this driver taking the same steps as described before. Or uninstall device including driver. Then go to "Action" -> "Scan for hardware changes" an you should see MSFT driver popping up.

tranquillity-codes commented 8 months ago

Thank you, it seems to have worked! I had to select the topmost directory, it kept failing to find the driver. I also had to reboot for it to show the 3440x1440 resolution. Should I close the issue as it is resolved in master?

I also have another issue, audio seems to not work, though I presume I should open another issue for that.

vrozenfe commented 8 months ago

Technically your issue the same as https://github.com/virtio-win/kvm-guest-drivers-windows/issues/560 So one of them should be closed :)

Cheers, Vadim