-
Notifications
You must be signed in to change notification settings - Fork 183
What is the best way to get audio out of an SRIOV enabled VM under Proxmox? #291
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
Comments
What RDP solution are you using now, on what kind of guest OS? You’ll need to use a solution that includes audio in the RDP data stream itself.
… On May 8, 2025, at 6:18 AM, wouldntyouknow ***@***.***> wrote:
wouldntyouknow
created an issue
(strongtz/i915-sriov-dkms#291)
<#291>
As per title. A part of the process is to set "Display" to "none" on the VM properties, so audio via spice will stop working, and all 3 audio devices Proxmox lets me add to the VM seem to be spice based. I have to remove the audio device to be able to boot.
What's the best solution to get audio to work via RDP?
Thanks!
—
Reply to this email directly, view it on GitHub <#291>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AGI5CYQRTEIIEQTM2PIM4SL25M4R5AVCNFSM6AAAAAB4WHRTBSVHI2DSMVQWIX3LMV43ASLTON2WKOZTGA2DQNRXHAZDANI>.
You are receiving this because you are subscribed to this thread.
|
Hi there! |
This is actually easier to solve if you’re wanting RDP with Ubuntu than it might be otherwise. :) Completely uninstall the xrdp from the repo. Rip it out like it never happened. Install this development fork from here: neutrinolabs/xrdp#2383
So, only use the Pulse-Audio add-on if you don’t have Pipewire. This is from the official dev team, but it’s a bit more advanced than what’s in the official Ubuntu repos. I’ve used this with an Ubuntu VM and the iGPU on a 12700T for years with no issues. It’s great. Make sure you have the non-free Intel video acceleration drivers installed. You need them for encoding video on the server to send down the pipe to your RDP client. https://launchpad.net/ubuntu/+source/intel-media-driver-non-free |
The above just covers Here's my entire process for this with a new Ubuntu VM.
|
Hi! |
I’m afraid I only know how to do it with the exact configuration I listed, which is why I went into such detail.
I’ve never even heard of `xrdp_vaapi`. I’ll need to look into that.
SPICE is a whole other workflow. It can’t be used alongside SR-IOV-based GPU passthrough, to my knowledge.
… On May 8, 2025, at 2:42 PM, wouldntyouknow ***@***.***> wrote:
wouldntyouknow
left a comment
(strongtz/i915-sriov-dkms#291)
<#291 (comment)>
Hi!
Thanks for taking the time for the above. I'm still a bit of a noob so maybe it's rather a bit much :)
What I tried so far is to install a minimal xubuntu 25.04, add sriov and install xrdp_vaapi. Render works fine in RDP, but no audio. Is it possible to just add audio to whatever xrdp you are already using?
On a non-gpu accelerated Ubuntu with SPICE I had audio, but I used a different generic installer for that.
—
Reply to this email directly, view it on GitHub <#291 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AGI5CYQVJTHBMLVS4IT74XT25OXUDAVCNFSM6AAAAAB4WHRTBSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDQNRUGA4TOOBVHE>.
You are receiving this because you commented.
|
For audio, try installing the Pipewire module I mentioned in the earlier post, if you’re using Pipewire.
… On May 8, 2025, at 2:42 PM, wouldntyouknow ***@***.***> wrote:
wouldntyouknow
left a comment
(strongtz/i915-sriov-dkms#291)
<#291 (comment)>
Hi!
Thanks for taking the time for the above. I'm still a bit of a noob so maybe it's rather a bit much :)
What I tried so far is to install a minimal xubuntu 25.04, add sriov and install xrdp_vaapi. Render works fine in RDP, but no audio. Is it possible to just add audio to whatever xrdp you are already using?
On a non-gpu accelerated Ubuntu with SPICE I had audio, but I used a different generic installer for that.
—
Reply to this email directly, view it on GitHub <#291 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AGI5CYQVJTHBMLVS4IT74XT25OXUDAVCNFSM6AAAAAB4WHRTBSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDQNRUGA4TOOBVHE>.
You are receiving this because you commented.
|
Thank you. I will try with a fresh install. |
Sorry for the confusion on that one. It’s not directly relevant to what you’re doing.
When you’re setting up your Virtual Machine, in the hardware section you can add an entropy device, which can avoid slowdowns under certain circumstances (e.g., during boot) for some VMs: https://pve.proxmox.com/wiki/Qemu/KVM_Virtual_Machines
A RNG (Random Number Generator) is a device providing entropy (randomness) to a system. A virtual hardware-RNG can be used to provide such entropy from the host system to a guest VM. This helps to avoid entropy starvation problems in the guest (a situation where not enough entropy is available and the system may slow down or run into problems), especially during the guests boot process.
You don’t need it, but adding /dev/urandom might, sometimes, theoretically be helpful. :)
… On May 9, 2025, at 1:29 AM, wouldntyouknow ***@***.***> wrote:
wouldntyouknow
left a comment
(strongtz/i915-sriov-dkms#291)
<#291 (comment)>
For audio, try installing the Pipewire module I mentioned in the earlier post, if you’re using Pipewire.
… <x-msg://19/#>
Thank you. I will try with a fresh install.
Just one further question if it's ok: what do you mean with this: "Add entropy device"
—
Reply to this email directly, view it on GitHub <#291 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AGI5CYVZQDXEJBXPFUPWTO325RDN3AVCNFSM6AAAAAB4WHRTBSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDQNRVGI4TOOBWGQ>.
You are receiving this because you commented.
|
Hey again, sorry for bothering. I followed your instructions to the letter and it seems to work. I can RDP in using mstsc from Windows, but it doesn't seem snappy.
When I cat the logfile there is no such entry (any entry with "encoder" in it), so I assume it's not working. Certainly feels like it. I have checked everything on the "Experience" tab, still the same. Any ideas? I also checked Guacamole 1.6.0 - I found docker builds that support new gfx options. Here it seems to work!
Is software encoder OK, is this what is needed or do I need further tweaking for HW encoding or anything? Vainfo seems to be fine:
vkcube spinney cube seems to work with the below output: glxinfo:
Are there any further things I can check that the solution works as optimally (relying on the gpu to the max) as possible? |
No need to apologize; I'm glad things are moving in the right direction! Getting this going the first time is always a challenge. Once you get it working once the way you want, the next time is much easier. Is audio working now? That's what you were trying to solve when I pushed you down this rabbit-hole, I think. :) Have you installed the As to choppiness ... what version of Ubuntu is your VM running? Older versions of Ubuntu are limited to 25 fps over RDP. Newer versions should be able to hit 60 FPS. You can see what the RDP server on the Ubuntu thinks its FPS is by running this inside the GUI in the VM:
The
This part always confuses me quite a bit. It's possible to use hardware encoding without using the H264 codec--your Windows RDP client has to ask for the codec it wants, and I think the Windows client can even specify if the server should use hardware encoding or not. Based on what you said below, I suspect the Windows RDP client isn't requesting a hardware accelerated session. It might be worth it to make a separate issue to ask about the optimal settings for Windows' built-in RDP client. I don't use it, and don't have any experience in tuning it, unfortunately.
That's software decoding or H.264 video streams specifically, think. Ideally, we'd see a notice that it's using a hardware decoder, there. It's possible you're connected and getting a video stream via a codec other than H264, and the codec you're using is hardware accelerated.
The bolded lines above are the correct result, showing that hardware rendering is enabled and working. But just because it's enabled doesn't mean it's always being used. If hardware acceleration from the GPU wasn't being used at all, you'd get a different It's entirely possible that the VM is using the GPU to do things like run I'm not sure what to make of the mentions of software rendering throughout, but again, I think that's due to the Windows RDP client needing to be configured correctly. And the documentation for doing that from Microsoft is ... terrible. I'm not quite sure how to go about it right this second. You've got lots of great diagnostic info already. Post a message indicating you're trying to make sure you have hardware acceleration with the Windows RDP client configured correctly, but aren't sure because of some contradictory output (mentions of software rendering combined with indicators that the hardware is being used). I can't boot my Linux VM right now, but when I can, I'll check the log files and see if they match yours and report back. |
Hey, thanks for the huge write-up, I really appreciate it.
Oh yes. All it took was the pipewire-module. I realized I came with the wrong assumption originally - that any sound requires a sound device attached to the VM. Well, now I know it doesn't.
No I haven't, thanks, I'll check it out. My Proxmox can't locate that package, but I'll look into it.
You might be right, I think I saw 25 fps when checking the Display options. It is Ubuntu 24.04.
Great, I will do some further checking and experimenting and try to ask over there as well. |
As per title. A part of the process is to set "Display" to "none" on the VM properties, so audio via spice will stop working, and all 3 audio devices Proxmox lets me add to the VM seem to be spice based. I have to remove the audio device to be able to boot.
What's the best solution to get audio to work via RDP?
Thanks!
The text was updated successfully, but these errors were encountered: