-
Notifications
You must be signed in to change notification settings - Fork 387
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
viogpudo /virtio-vga broken in recent Windows builds #1102
Comments
@kroese Please provide QEMU CLI, QE can't reproduce this issue. |
Hi @kroese, could you please provide more details like when you installed the driver? during the installation of system or installed virtio-vga after installing system. And yes, please provide us the qemu-cli. Thanks |
@6-dehan The commandline is:
it happens when the driver is installed during the setup (automaticly via unattended install, or when loading it manually when windows asks for boot-critical drivers).
|
Thanks @kroese , |
@6-dehan Thanks! But it is on purpose that I did not enable Secure Boot ( I am using these drivers in my project ( https://github.com/dockur/windows ) which has a large userbase, so I cannot just switch the whole project to |
Problem still present in v0.1.262 @6-dehan Also it does not seem to be related to having The only new thing I discovered is that if you just wait a couple minutes with the black screen, the image comes back and the installation will actually proceed. |
Hi @kroese,
scenario:
|
Do we have a Jira issue for tracing this problem? |
@vrozenfe , yeah, I'll paste issue here later. I was testing for more details update. |
Update: |
@6-dehan Is there anywhere I can download that ISO to confirm if it solves the problem? |
@6-dehan Since a couple of weeks have passed without new ISO, out of curiosity I tried it with the But I still got the black screen both with Server 2025 (and the W11 driver) and Windows 11 24H2 IoT (with the W11 driver). So either the 1.9.40 drivers in the ISO from RockyLinux/CentOS are not signed?? Or your test was not correct? |
@kroese |
strange, I can get installation pass for both of them with signed iso without black screen, even yours |
@6-dehan But are you installing them AFTER Windows is already installed? Because it looks that way from your screenshot? My whole issue is when installing them DURING the Windows installation (unattendedly), not when manually installing them afterwards. |
Surely I installed the driver during the Windows installation. I just provided you with a screenshot of the successful installation. |
@6-dehan From the screenshot it appears to be Windows Server 2025. Currently I also cannot reproduce it with Server 2025 anymore. Maybe I was confused (because I have some other issues with 2025 like the scsi driver failing) but all my testing recently was with: Windows 11 24H2 (IoT Enterprise LTSC). And there I can reproduce the issue 100 percent of the time, and with every version of the driver (0.1.262, 1.9.43, the .zip Vadim send me, etc). So if its not too much to ask, could you please repeat your test with Win11 IoT / LTSC. |
No problem, I'd like to reproduce it on Win11. I'll update results later. |
Hi @kroese, |
@6-dehan Yes!! |
@6-dehan A few days ago, Microsoft released the final release of Windows 11 LTSC: Is the LTSC ISO in your matrix now, and did you already find the cause for the black screen? It also happens on non-LTSC builds, like the official 24H2: And also on some Windows Server 2025 builds, like: https://dl.bobpony.com/windows/server/2025/en-us_windows_server_2025_preview_x64_dvd_ce9eb1a5.iso So that are already three different Windows editions that are affected. |
@6-dehan Did you see this issue during certification for Server 2025? |
@kroese All the best, |
@vrozenfe These images are not insider/beta builds? The 24H2 is the official release that you get as a consumer when you go to: https://www.microsoft.com/en-us/software-download/windows11 The LTSC is also the official/final release. If this issue only happened on previews/betas, I would have understand that it would get little priority. But 24H2 is officially released, and its the only version you can download as a consumer from the Microsoft site right now. |
Let me check it on IoT LTSC image 26100.1.240331-1435.ge_release_CLIENT_IOT_LTSC_EVAL_x64FRE_en-us.iso available from MSDN subscription download first. Best, |
Didn't have any problem installing viogpudo driver on (qemu) info version [vrozenfe@milly tmp]$ uname -a [vrozenfe@milly tmp]$ sudo ps -aux | grep qemu Going to check https://www.microsoft.com/en-us/software-download/windows11 now. |
@vrozenfe The issue is when the GPU driver is installed automaticly (unattendly) during installation (via an XML answer file or in the |
I installed it manually. I will probably not try unattended installation but I can try ADK 10.1.26100.1 to inject virtio drivers into 26100.1.240331-1435.ge_release_CLIENT_IOT_LTSC_EVAL_x64FRE_en-us.iso image. Best, |
@vrozenfe Yes, injecting them via ADK should also produce the issue. As far as I know there are 3 methods to inject drivers:
In the last two cases the problem appears, so I am pretty sure it will also happen when using ADK. Also another very easy way to reproduce the issue is to just run my container: https://github.com/dockur/windows It will automaticly download Windows 11 from the Microsoft website, automaticly add the drivers to the ISO and launch QEMU, and show the VNC screen in the webbrowser. It just takes one click to show the problem. |
@vrozenfe Did you try ADK already? |
I didn't try it yet. But I see some issue when trying to resume Win11 24H2 from sleep even on a VM with a properly installed WHQL signed driver. Not sure yet if it is a driver or my own setup problem. Still trying to check different configurations. Btw, when the screen turns black on your setup is it just black or with a message saying that "Display output is not active" ? Thanks, |
@vrozenfe No, it is just black, without the message about the display output. And when you wait about 10 minutes, until the setup reaches the next stage and reboots, the screen comes back and is visible again. And the driver is correctly installed. So the whole issue is just that the screen goes black. I had a very similar issue with Windows XP that I reported to QEMU ( https://gitlab.com/qemu-project/qemu/-/issues/2608 ) and in that case it had something to do with the VRAM at 0xa0000 becoming hidden. I think its not related, but the symptoms are almost identical (black screen during first stage of setup until videomodes are switched). |
@kroese Thanks, |
@vrozenfe No, there is no response to ping requests, but that seems normal because Setup is in the WinPE (PreInstallation) phase. So it has just loaded the NetKVM driver around that time, that will be way to early. I do not get response to ping until Windows loads the desktop after installation. And that is the same wether I load the |
@6-dehan Thanks, |
Yeah @vrozenfe , I tried Win11 IoT / LTSC. and I'm going to try this one: |
@vrozenfe @kroese @kostyanf14 |
@kroese Hi, There is one different configuration for iso between you and our internal. We will apply patches from https://www.catalog.update.microsoft.com/Home.aspx. and then make our iso. That's all what I can recall. maybe the problem is caused by this difference I guess. Thanks |
Can you share this image with me internally? And the command line as well? Best, |
I used the Windows11_InsiderPreview_Client_x64_en-gb_26100.1150.iso and when I attempted to manually install the latest version of virtio 0.1.262, specifically viogpudo, I got a black screen. I allowed 10 minutes to pass before rebooting and whenever the OS tried to start up it would again show a black screen. To resolve, I booted into safe mode and removed the driver. |
Dehan shared with me all the scripts that he uses. |
@kroese Best, |
@vrozenfe I just tried the Win10 drivers, but it has the same black screen. |
Issue still present in v0.1.266 |
I don't know if this is related but there was another issue that has been bothering me for a long time (as in years) which is that the viogpudo driver doesn't inhibit the Microsoft Basic Display on arm64. On x86_64 builds, when viogpudo gets loaded, Microsoft Basic Display gets disabled and only one display shows up in settings. However, on arm64, when viogpudo gets loaded, there are two displays because the boot display (Microsoft Basic Display attached to the UEFI initialized framebuffer) isn't disabled. I've tried all sorts of ways to try to get Windows to hide Microsoft Basic Display but in the end I used a registry hack to manually disable it. What's the point of this story? I think it might be related because it's possible that this strange behaviour that I only observed on arm64 is now showing up on x86_64 as well because if you try to render to the boot display, you will get a black screen. I'm not a windows debugging expert, but can someone check if it goes to a black screen how many display devices does windows think is there and which one it thinks is the primary video device? |
@osy I suggest opening a separate issue so it can be tracked properly |
In recent Windows versions, like Windows 11 IoT 24H2, when using the
virtio-vga
graphics device, the screen turns black when installing theviogpudo
driver and stays black until the next reboot.Using the
std
VGA device everything works.The problem even exists with the new beta drivers, version
0.1.258
.The text was updated successfully, but these errors were encountered: