This is a quick’n’dirty thread to get the knowledge out there, not a full guide. A link to the guide I used can be found in the post.
I am a Looking Glass user with a full AMD system, regularly running a Windows virtual machine with GPU passthrough I had set up a while ago using libvirt
/virt-manager
. AMD Software worked just fine for me for me aside from it hiding the recording tab, with seemingly no option to enable it. This also impacted my ability to use AMD Link, since it depends on recording to be enabled in order to stream video over the network. It works with bare metal, but I refuse to run Windows outside the little box I put it in.
AMD Support didn’t have any answers for me as to why this was happening, but I later ended up encountering the solution by accident when working to enable virtual machine usage with EAC games, from a guide I stumbled upon in the VRChat Documentation: “Using VRChat in a Virtual Machine.”
Suggested modifications to your libvirt domain XML include:
- Under the
<features>
→<hyperv>
element, add a<vendor_id>
element with value0123756792CD
. - OR set your
<features>
→<hyperv>
element itself tomode=passthrough
(I did both. Usingmode=passthrough
also has the added effect of enabling all available Hyper-V enlightenments.) - Add new
entry
elements under<sysinfo>
→<bios>
&<sysinfo>
→<system>
with information about your motherboard obtained from thedmidecode
command (but set UUID to be the same as what’s in theuuid
element in your domain XML, usually towards the top) - Add
<smbios mode="sysinfo"/>
element under the<os>
element
I had originally done this a while ago, but after having performed every step on that list, I immediately checked AMD Software out of curiosity to see “Record & Stream” available and ready to use. To this day, I still have this option available to me. I’m a bit lazy, and can’t be bothered to actually test which of these domain XML fixes actually resolves the issue, but this is what worked for me. If I had to bet, it is most likely that the sysinfo entries were what removed the limitation, followed by the hyperv
passthrough mode.
tl;dr:
Following the same steps for getting EAC games working in a virtual machine also fixed AMD Radeon Record & Stream, not sure why, but it works.
If you’ve tried this, or you have knowledge regarding this issue, please leave a comment! AMD has expressed to me via support email that they would like to know the cause for this issue, so pooling knowledge together might end up being useful to that end.
Edit: removed a block of largely-irrelevant text about hiding the KVM interface, since I don’t actually have that implemented and Record & Stream works without it regardless.