Amd_kvm kernel module failing to load on kernels installed from UKUU (Ubuntu 18.04)

Hey, guys, I’ve got 2 R9 Fury cards in my system, and I want to dynamically pass the second card between the host and guest as needed without rebooting. However, I reach a roadblock. When I use any updated kernel from UKUU (I’ve tested 4.16.8, and all of 4.17.x) the ‘amd_kvm’ kernel module fails to load. When I run ‘modprobe amd-kvm --verbose’ I see that it gets stuck on loading the ‘ccp’ kernel module, which is responsible for AMD’s cryprographic coprocesor. Because of this, virt-manager reports that I can’t start the VM because KVM is not available. However, KVM works properly on the stock kernels from Canonical.

Not possible. the amdgpu driver does not support unbinding. You may not be at the unbind amdgpu stage yet, but when you get there, you’ll hit an insurmountable roadblock.

Regarding your current issue with amd-kvm, you’re not giving me a whole lot of information. Can you please paste in any dmesg output that occurs during the modprobe, and the output of the modprobe itself?

I think I saw your post on /r/vfio a week or so ago.

Here’s a link to my post asking this question on /r/VFIO:
https://www.reddit.com/r/VFIO/comments/8yux5r/error_loading_kvmamd/

1 Like

Also, some users said that passing a GPU back and forth should be possible…
https://www.reddit.com/r/VFIO/comments/8yasew/possible_to_dynamically_switch_gpu_from_host_to/

Should be, but not with amdgpu. You’d need fglrx or nvidia.

Any ideas on the amd-kvm kernel module?

I’m not sure. Have you considered building your own kernel?

The kernel isn’t able to find some of the components it needs, or the build is corrupt.

No I haven’t considered building my own kernel, and I’m not sure where exactly to start putting in a fix for this even if I was going to. I don’t think the builds are corrupt, because I’m installing the updated kernels via UKUU. Its just strange because the kvm-amd module loads fine on the stock ubuntu kernel, but just not on the kernels from UKUU…

I’m pretty much at a loss as to why this is happening… The problem is that it’s calling for a symbol that it can’t seem to find, which is why I’m thinking that either the package or the overall system may have some corruption.

I only see this sort of error in kernel development.