-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Windows 11 ARM 2D Graphics Acceleration not working (Virtio-GPU driver) #3293
Comments
And I now know for sure that Windows 11 has round borders. |
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 |
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. |
Config:
Basically the same config, except for the graphics card. |
Config looks good. What's supposed to happen with a virtio-gpu-pci + Windows guest is this: (VM start)
If this doesn't work, the drivers are not installed correctly. |
K, so I'm back at the 'Display output is not active' part. How long is this supposed to last before the login screen? |
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. |
I probably do need to reinstall the driver, since after one hour it's not loading. |
I'm still not getting the rounded corners. |
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. |
Oh. |
I do know another thing: in Parallels (I tried the 14 days free), there were rounded corners for the apps. |
@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. |
I've tested Windows 11 x64 now and it also has no rounded corners. Tested with When using anything but |
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 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. |
I'll do that (fake data). |
K so there is still no rounded borders on VMware Fusion Windows 11. |
Well... are the native apps running as well? Calculator, Microsoft Store... ? |
Oh yeah, they are. |
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. |
@Daniyal-Warraich which version of Windows 11 Pro you used for that? |
@brunocastello I don't actually remember, since I deleted the VM to save some space. |
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? |
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 |
You can do both on Parallels, but Parallels is not cheap either. I am sticking with UTM for now, because my needs are different (I do not have any modern game that requires such power to play, like F1 2017 or NBA 2K22 for example). Also, I have tried Parallels Desktop trial version + PD Runner and albeit I was able to run Windows 11 ARM in full glory, the workarounds provided by PD Runner weren't working THAT well, plus for the long run in future this solution may not be permanent (Parallels can close this loophole, for example). So I am sticking with the most sensible and legal option for now, UTM. There's VMware Fusion for M1, but no Windows support at all, because Michael Roy thinks Parallels are sailing in a grey area with regards to Windows licenses (even though 11 ARM is still Insider Preview), and Microsoft has a "secret" deal with Qualcomm, for exclusive license of Windows 11 with their ARM processors - which is supposed to be set to expire soon, but I wouldn't hold any high hopes for Microsoft to support M1 with any Bootcamp version. The M1 performance is so good that letting it run Windows 11 ARM natively would TRASH completely their Surface devices. Maybe Microsoft should just stick their business (and nose) with software only, instead of hardware, unlike Apple, who has the expertise to do both after several transitions... |
I've found out that a Windows 11 Pro ARM64 VM on UTM and virtio-ramfb-gl (GPU Supported) can run a x86 game like Grand Prix 4, since dxdiag reports it has D3D and DDraw support (?!?!?!?!) after installing the SPICE Guest Tools. However, it's not 3D in full glory as one would expect, just a very basic one, 2D Graphics Acceleration. I suspect it could play 20+ years old games from late 90's like the one I mentioned, 2D Graphics Accel is enough for them, but I faced one issue, the VM was crashing on me several times. I load the game, it asks for graphics calibration and it does, I can see the race in near full glory, pretty good race speed, but after calibration, back to the main menu, a few seconds later the machine just froze and rebooted. I am yet to try out Grand Prix 3 (older version) and dgVoodoo 2. I was really surprised to see that GP4 emulation under a W11 ARM64 VM in QEMU worked until that point. I also suspected about something wrong with the emulation for GP4. Need to figure out what is happening and if there is any setting that I could configure to improve its emulation. But anyway, in a few occasions while using the system (not gaming) it also froze and rebooted. Most of the time I have a pretty stable system for long periods. Sometimes I don't. The Microsoft Store is still auto updating itself every time I power on the machine, and I am forced to reinstall it when I want to use it. |
Using the same VM, without dgvoodoo2 (not really needed for this game anyway), I was able to play a quickrace in a Grand Prix 4 vanilla state game. However, since I am using a M1 Air, as expected, the computer was too hot. I should have looked after a M1 Macbook Pro instead of a M1 MacBook Air. Well, it is what it is. But I have proof that Grand Prix 4 is playable. Much of it is possible because of virtio-ramfb gpu emulated card, too bad we only have drivers for Windows 10+. I am wondering if we had the same drivers for at least Windows XP, then maybe the performance/thermals would be so much better. |
Any news on the front regarding the lack of rounded corners on Windows 11? |
Using the latest Windows SPICE guest tools version 0.164.3 that include updated graphics drivers (fixes resolution change and cursor) the window corners are still square. |
I found the solution
The regedit hack after a reboot works and I now have rounded corners. |
Neat, I can confirm that registry "hack" works. Just have to log out and log back in, no reboot necessary. However I would call this a workaround and not an actual solution. We do have a graphics driver, but Windows seems to not like its driving style. |
Going a bit off topic here... Now UTM just needs (along with an ability to save the VMs to an external storage) a way to shrink machine size after its usage to keep them tidy, just like VMware does present that option in Machine configuration. This would be perfect; then I think that VMware would have (it already does have) a fine competitor here with UTM. Basically you'd need to script something that would "convert" your current qcow2 image to a new qcow2 image, and this process actually does shrink a bit the machine. Say you used +6GB of your 15GB machine, but decided to delete these files, but how to claim the 6GB back? I usually proceed to a command line qemu-img argument where I can "convert" the same image to another qcow2 image. This reduces somewhat the image size. And I can reclaim back nearly 6GB. However, this process does take some time (Well, VMware also does, even more on Linux distributions). |
Yeah, its actually a workaround. I have just found it with a bit of googling. I couldnt believe how easy it was. Still, it's something that should be put forward to the devs of SPICE to find out how to make it happen natively instead of a registry hack. |
This is a great idea! I believe it is feasible to add this to UTM. Please open a new "feature request" issue describing how you would like the feature to work in UTM, including what you already wrote above. |
Why is WDDM 1.3? That is from Windows 8. |
Hi @conath, do you know what is difference between ARM64 virtio-gpu driver within spice tools and kvm guest drivers windows (https://github.com/virtio-win/kvm-guest-drivers-windows/tree/master/viogpu) ? |
@bryantclcqq AFAIK the KVM and SPICE "backends" are not compatible, so the KVM driver wouldn't work. |
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?
The text was updated successfully, but these errors were encountered: