-
Notifications
You must be signed in to change notification settings - Fork 8
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
AMD Radeon 780M #6
Comments
Hello, I’ve the very same problem with my system. Have you find any solution for this? Thanks in advance. |
Sorry for taking so long. |
Hello, I semi-solved the problem by adding a third device, specifically |
@oznakn that's interesting, what was the device called? I vaguely remember that on my host, (1) GPU device node was duplicated, and maybe (2) there was a separate HDMI audio device node, and I had to passthrough all of them in order to give guest full control over the actual GPU device, instead of splitting it between host and guest. If this is the same for you, then I'll update the readme, this at least won't require PC with VS.NET from me :) |
Let me get back to you about this. However, if I passthrough all GPU devices, the host goes into a bootloop. I tried many combinations, and only one that works is passthrough 3 devices (main gpu, audio, and one more). And also I want to state that even with RadeonResetBugFix rebooting vm does not work. So it's like:
|
Not sure if I understand you correctly. Of course you should not pass through all GPU devices that are there (if you have multiple physical GPUs); you should pass through all device nodes that come from the physical AMD GPU you're trying to passthrough. I can easily imagine that the host doesn't boot if it doesn't have any available GPUs. You'd need to somehow configure your host to boot in headless mode, and I'm not sure that Windows hosts even support this.
What do you mean by "no reboot on VM, but can reboot on host"? |
oh, let me provide more information. I'm using a debian as the host OS. It does not have any graphics output, I just use proxmox using a browser. With this, I don't need any extra GPU. (Btw I'm using the same system as the issue author uses.) When I passthrough only 2 devices I cannot reboot the host computer, with or without RadeonResetBugFix. But, if I passthrough 3 devices I can reboot the host computer. However, It's still problematic to reboot the vm. So what's happening is since the host computer does not use GPU at all, when we try to reboot the Windows VM, GPU got stuck due to the reset bug. However, if I directly reboot the host computer, then it's working (only if I passthrough 3 devices). What I was thinking that is probably like you said GPU itself is not shut down gracefully. And my gut says if RadeonResetBugFix can also reset the third device I passthroughed, probably it will be possible to reboot the windows VM. |
@oznakn so what do you mean by
? This conflicts with your words that the host can be rebooted without any problems if you passthrough three devices. I'm just trying to understand what's going on here. And also, this is a weird behavior you're seeing with passing through two devices, because IIRC the essence of the bug is that trying to initialize the GPU twice in the same host session (unless the GPU was shut down gracefully) causes the host to lock up. But if you just start the VM once and then try to reboot the host, this shouldn't be a problem (as long as it is a full reboot and not just reinit/reroot, not sure what's the right term for Linux). So with "No reboot on both host and vm", what exactly is the problem? When does it hang up? On shutdown, or on the next startup? The only possibility I can think about of why would it hang on shutdown is if for some reason the host tries to use / initialize the GPU after the guest released it. Then it would also hang when you shut down the guest without trying to reboot the host, or when you ungracefully "power off" the guest. Does this match your experience? |
根据你的提示,我在8845HS上测试,win10、win11可以正常开关机、重启,thanks |
Yes, we are begging🙏 |
That wildcards its be ok?
|
@smarticz , I remember that I considered this idea when originally implementing this project, and decided against it; but I don't remember why exactly. Maybe because I didn't want to process any devices besides those that are absolutely necessary for working around the AMD bug. One of the problems with wildcard approach I can see is that It might be a good idea to disable all AMD audio though, regardless of its Unfortunately, being unemployed and searching for a job leaves me with much less free time than an employment would. So I don't know when I'll be able to actually work on this. |
It might actually be the case since there’s an issue with the iGPU, which is integrated into the processor, and that processor would be necessary for the machine to function properly. I think this approach would be more suitable for a solo GPU setup. It seems like a good idea to separate the logic from the settings by moving the settings to a file that could be easily edited without recompiling the program. It’s clear that the guys experimented earlier and came to new conclusions, which personally turned out to be useful for me. I tried to implement this, rewrote the code to use wildcards, and it started nicely catching devices without crashing. However, I’m currently stuck on the logic for disabling, as it appears to be some sort of procedure based on your hardware experience, which is why it works. I’m just wondering about callbacks, as you’re creating mechanisms to disable something, but you’re not actually verifying it; for example, you just initialize it again. I assume it’s because optimizing this wasn’t worth the time, as it’s a matter of losing seconds during disable/enable operations, or maybe it’s not possible to check the response, or it’s just tricky know-how because there were attempts, and this is the only way it works. I hope you manage to find your dream job quickly in the new year, and I sincerely wish you all the best! |
Hello inga_lovinde,
Issue:
I followed the instructions to this and startup works great. The issue begins after a reboot/shutdown/sleep of the VM. The VM is not able to start again until the host machine is rebooted.
Device:
Beelink SER7 with AMD Radeon 780M Graphics
Windows 11 Pro
Startup and Diagnose Logs:
radeonfix_20240930_215717.log
radeonfix_20240930_215905.log
radeonfix_20240930_220617.log
Any advice is greatly appreciated, Thanks!
The text was updated successfully, but these errors were encountered: