UTM icon indicating copy to clipboard operation
UTM copied to clipboard

Windows 11 ARM 2D Graphics Acceleration not working (Virtio-GPU driver)

Open daniyalw opened this issue 4 years ago • 43 comments

When I open an app in Windows 11, there is no rounded borders (they're square). I think Windows 11 has rounded corners, but I'm not sure whether this is UTM's fault or Windows 11. Why aren't the borders round? Is this UTM's fault or Windows 11's fault?

daniyalw avatar Nov 08 '21 04:11 daniyalw

And I now know for sure that Windows 11 has round borders.

daniyalw avatar Nov 08 '21 15:11 daniyalw

Windows 11 requires display drivers to be installed for the new visual effects like rounded window corners. Please install "SPICE Guest Tools and QEMU Drivers" from the Support page, then shut down your VM and change its graphics card to qxl-vga or virtio-gpu-pci.

conath avatar Nov 08 '21 21:11 conath

This doesn't work. It's stuck here screenshot :

daniyalw avatar Nov 08 '21 21:11 daniyalw

You'll need to provide more information so I can understand what is going on. Please add debug log and steps you did to get to the screenshot.

conath avatar Nov 08 '21 21:11 conath

Config:

  • CPU: Default
  • CPU cores: 3
  • QEMU Machine Properties: highmem=off,virtualization=on
  • Memory: 3GB
  • Arch: ARM64
  • System: QEMU 6.1
  • Graphics card: virtio-gpu-pci

Basically the same config, except for the graphics card. debug.log

daniyalw avatar Nov 08 '21 22:11 daniyalw

Config looks good. What's supposed to happen with a virtio-gpu-pci + Windows guest is this: (VM start)

  1. EFI with UTM logo
  2. EFI has some text on it briefly
  3. "Display output is not active"
  4. Login screen appears

If this doesn't work, the drivers are not installed correctly.

conath avatar Nov 08 '21 22:11 conath

K, so I'm back at the 'Display output is not active' part. How long is this supposed to last before the login screen?

daniyalw avatar Nov 08 '21 22:11 daniyalw

It lasts as long as your VM takes to boot to the login screen - maybe five seconds on my machine. If it doesn't switch from that, the driver is not loading. You'll need to switch back to the previous graphics card you were using and re-install the driver.

conath avatar Nov 08 '21 23:11 conath

I probably do need to reinstall the driver, since after one hour it's not loading.

daniyalw avatar Nov 08 '21 23:11 daniyalw

I'm still not getting the rounded corners.

daniyalw avatar Nov 09 '21 03:11 daniyalw

I've tested this now with Windows 11 ARM as well and am also not seeing the rounded corners. I believe it is related to #3291 and it should work with x86 guest.

conath avatar Nov 11 '21 10:11 conath

Here's what my dxdiag looks like when running Windows 11 ARM with the spice tools version 164.2. Screen Shot 2021-11-11 at 11 13 39

It seems all the acceleration is enabled except "DirectX 12 Ultimate". Still, no rounded corners except the start menu.

conath avatar Nov 11 '21 10:11 conath

I uninstalled & deleted the VirtIO driver using Device Manager and shut down the VM, changed from virtio-gpu-pci to virtio-ramfb and started the VM again. Now it uses "Microsoft Basic Display Driver" and has the same acceleration properties displayed in the dxdiag. Screen Shot 2021-11-11 at 11 21 48

conath avatar Nov 11 '21 10:11 conath

Oh.

daniyalw avatar Nov 11 '21 16:11 daniyalw

I do know another thing: in Parallels (I tried the 14 days free), there were rounded corners for the apps.

daniyalw avatar Nov 12 '21 19:11 daniyalw

@Daniyal-Warraich Parallels have their own closed source backend and both 2D and 3D graphics acceleration. UTM / QEMU on Mac doesn't have this (yet) in a way that works with Windows guests. We already have great 2D and 3D OpenGL acceleration available for Linux guests.

conath avatar Nov 12 '21 19:11 conath

I've tested Windows 11 x64 now and it also has no rounded corners. Tested with virtio-vga, virtio-ramfb and virtio-gpu-pci display card options, with the spice-guest-tools-0.164.2.iso drivers.

When using anything but virtio-vga, resolution changes with window resize and manual both stop working. Possibly related to #3291 however the virtio-vga doesn't work with ARM guest.

conath avatar Nov 12 '21 19:11 conath

I do know another thing: in Parallels (I tried the 14 days free), there were rounded corners for the apps.

a bit off topic I know, but: Have you tried VMWare Fusion Technology Preview? It's not officially supported, but it can run Windows 11 ARM64, even though it's without their tools. I wanted to know if the apps are running normally there, as opposed to QEMU & Parallels.

brunocastello avatar Nov 18 '21 01:11 brunocastello

@brunocastello don't you need to sign up for it, like give your home address and such?

daniyalw avatar Nov 18 '21 18:11 daniyalw

@brunocastello don't you need to sign up for it, like give your home address and such?

I did sign up, but I did not provide real data for my profile. Anyway, the Fusion Tech Preview (for M1) is free to try out. Before I moved to a M1 Mac, I was using a free VMware Fusion version on my Intel Mac, for which I also signed up.

brunocastello avatar Nov 18 '21 22:11 brunocastello

I'll do that (fake data).

daniyalw avatar Nov 18 '21 22:11 daniyalw

K so there is still no rounded borders on VMware Fusion Windows 11.

daniyalw avatar Nov 22 '21 18:11 daniyalw

Well... are the native apps running as well? Calculator, Microsoft Store... ?

brunocastello avatar Nov 22 '21 19:11 brunocastello

Oh yeah, they are.

daniyalw avatar Nov 23 '21 00:11 daniyalw

Do we have any development status of Windows 11 ARM side with UTM as of now?

Last time I tried, It did boot successfully, but I had no use for it because all the default apps (including Microsoft Store) were refusing to open and run. And then there is the rounded corners missing.

brunocastello avatar Dec 08 '21 18:12 brunocastello

@Daniyal-Warraich which version of Windows 11 Pro you used for that?

brunocastello avatar Dec 11 '21 00:12 brunocastello

@brunocastello I don't actually remember, since I deleted the VM to save some space.

daniyalw avatar Dec 11 '21 00:12 daniyalw

Sorry for hijacking this issue but is there an open issue where I can follow the progress on bringing DirectX accelerated graphics on Windows 10 or 11 when running on an arm64 host?

sebdanielsson avatar Dec 14 '21 14:12 sebdanielsson

No, there is no way, nor any work to bring DirectX accelerated graphics to it being made. It is what it is. Sorry to put down your hopes for it.

Upstream QEMU (outside of UTM scope) needs to bring Virgl3D support for Windows (currently only Linux) and write windows drivers for it to happen. And AFAIK there is no work from them being made for it, or else I'd have read about it on phoronix or reddit.

brunocastello avatar Dec 14 '21 17:12 brunocastello

No, there is no way, nor any work to bring DirectX accelerated graphics to it being made. It is what it is. Sorry to put down your hopes for it.

Upstream QEMU (outside of UTM scope) needs to bring Virgl3D support for Windows (currently only Linux) and write windows drivers for it to happen. And AFAIK there is no work from them being made for it, or else I'd have read about it on phoronix or reddit.

Thanks for your quick reply. Then it's UTM for Linux and Parallels for Windows I guess☺️

sebdanielsson avatar Dec 14 '21 17:12 sebdanielsson