Comments (5)
I am sorry I did not intend to come across as aggressive. We do not re-post the VBIOS, we are returning the GPU to a state pre-system boot so the VM's BIOS can post the GPU's BIOS.
from vendor-reset.
I understand the purpose of this module, there's no need to be so aggressive.
I don't really know what it takes to initialize the fans, but I do know that the VBIOS does it with no impact on the VM's ability to initialize the GPU. In fact, I don't have the "reset bug", my VM can boot and reboot as many times as I want without rebooting the host, as long as I don't let amdgpu touch the passthrough card (whether it's the host or a Linux VM). When shutting down, Windows leaves the fan off, and then I can start the VM again just fine.
Considering this, I thought it wouldn't be a problem to change the fan speed during reset, since the VBIOS obviously does it without loading firmware or initializing the GPU, it only does enough to get VGA emulation or UEFI GOP working during boot. I don't really want to put the GPU in a low power state, proper power management is much more complex and clearly out of scope. But doing something the VBIOS does didn't seem unreasonable to me. It can even be implemented behind a module parameter, which means it wouldn't break anything for anyone who doesn't touch it.
The only thing vendor-reset seems to add for me is the ability to boot a Windows VM after amdgpu has touched the card which I do not need. Unless of course I let amdgpu bind to the card to turn off the fan, but like I said, this doesn't seem like a good idea.
Anyway, thanks for answering my question, and sorry for wasting your time.
from vendor-reset.
No, it's a reset
, it's supposed to put the GPU into the pre-boot uninitialized state, that's is the entire purpose of this module.
from vendor-reset.
How else would you suggest handling this then? You said it yourself, this module contains a large amount of code copy-pasted from amdgpu, and I don't think creating a third codebase that duplicates the same code for a minor QoL improvement would be very productive. I just want to turn the fan off, and I don't want to have a VM constantly running for that.
from vendor-reset.
Perhaps a userspace tool. You're missing the point of this project though, it's not to put the GPU into a low power state, it's to prepare the GPU for re-use in a VM where the VM's driver will handle the specifics. If we init anything, when the VM tries to use it, it will not work. There is no way to detect VM shutdown/start vs VM reset.
from vendor-reset.
Related Issues (20)
- 6800xt HOT 3
- Request akmod package spec
- Navi 14 - Radeon Pro W5500 Support ? HOT 1
- Exec format error HOT 1
- Radeon Pro W5700 not working HOT 1
- Is it possible to support iGPU like 5900HX? HOT 4
- Reset of Radeon VII not working on Unraid
- Compile fails on 5.18 kernel (Fedora 36) HOT 1
- Support for other brands
- Request to add the hardware id of the amd APU HOT 21
- Navi 21? HOT 2
- Looping Invalidation Time-out Error and possible fix
- > Has anyone here managed to pass one through successfully?
- a small suggestion
- eGPU Not Resetting
- How do I setup vendor-reset. HOT 1
- Install module error
- Radeon PRO WX7100 (Polaris 10) reset bug not fixed HOT 2
- How to add new GPUs/devices?
- Request support for Ryzen 7 iGPU like 5000U, 5825U HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vendor-reset.