Skip to content
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

Successful GPU passthrough, but wonder Why/How? #65

Open
meowthink opened this issue Sep 18, 2024 · 0 comments
Open

Successful GPU passthrough, but wonder Why/How? #65

meowthink opened this issue Sep 18, 2024 · 0 comments

Comments

@meowthink
Copy link

This tutorial is amazing. I've got GPU passthrough working on a T-Bao GOD77 (7735HS, 680M/Rembrandt), despite I had to enable the device manually in Device Manager sometimes.

But the question here is, how it actually works?

As a GPU of RDNA2, there's barely nothing inside the vendor-reset kernel module, nothing newer than navi10/12/14 (RDNA1) inside actually. Another evidence is command like
echo device_specific >/sys/bus/pci/devices/0000\:e5\:00.0/reset_method leads to -bash: echo: write error: Invalid argument
(e5:00.0 is my GPU)
Besides, the pci remove-reset procedures in vreset.service did nothing help. I tried remove such service and found nothing different.

The RadeonResetBugFixService is a must.
The magic here is: when the guest shutting down, it will switch guest GPU driver to a basic one, and vice versa when booting up.

But this isn't enough. I used to think the vendor-reset kernel module worth nothing, but soon to find myself wrong.

Without any of RadeonResetBugFixService or vendor-reset module, things won't work after reset/shutdown the guest. If I got a display attached, it will turn asleep, showing no signal. Another powerup of the guest after won't let any signal on, showing that the GPU didn't reset correctly, and I can find Error 43 in Device Manager through Remote Desktop.

Thing only got work with both RadeonResetBugFixService and vendor-reset module. This is so wired. Any clue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant