Announcement

Collapse
No announcement yet.

VirtIO Sound Driver Coming For Linux 5.13

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • VirtIO Sound Driver Coming For Linux 5.13

    Phoronix: VirtIO Sound Driver Coming For Linux 5.13

    The virtual sound driver for VirtIO has been queued up into the sound-next code ahead of the Linux 5.13 merge window this spring...

    https://www.phoronix.com/scan.php?pa...ver-Linux-5.13

  • #2
    I've gotten so used to just passing my USB controller and then connecting my DAC to that.

    Thanks OpenSynergy hoping this helps some of the others that don't have ideal mapping or external sound devices.

    Comment


    • #3
      Originally posted by Jabberwocky View Post
      I've gotten so used to just passing my USB controller and then connecting my DAC to that.

      Thanks OpenSynergy hoping this helps some of the others that don't have ideal mapping or external sound devices.
      Out of curiosity, can you link your DAC, please?

      Comment


      • #4
        This actually seems to be one of the very few virtio things I don't find particularly useful. Install a pulseaudio server on the host and then have your VMs with the client installed. That way, you're not doing emulation, you don't need special drivers, you're not doing PCI passthrough, and at least for most Linux distros, you're not installing anything extra. PA works on just about every OS worth caring about. In fact now that I think of it, PA might be the best way to get audio to work on OSes where there aren't proper sound drivers (so long as the host supports it).

        Comment


        • #5
          Originally posted by Fidelix View Post

          Out of curiosity, can you link your DAC, please?
          Different person here (you asked Jabberwocky) but I have a nearly identical setup - I passthrough a USB 3.0 pcie card, and my Schiit Jotunheim (with multibit card) is connected to it. Schiit USB works out of the box, no issues whatsoever with Linux (if I don't pass it through).

          I never had any sound issues after I completely isolated the vcpus of my Windows VM (prior to that, if I ran a heavy workload on Linux, it could interfere with my Windows USB - sound interruptions, stuff like that).

          I should say that I am looking to upgrade from the multibit card (I would like a better sounding DAC) but that's an audiophile thing.
          Last edited by vladpetric; 10 March 2021, 10:31 AM.

          Comment


          • #6
            Originally posted by schmidtbag View Post
            This actually seems to be one of the very few virtio things I don't find particularly useful. Install a pulseaudio server on the host and then have your VMs with the client installed. That way, you're not doing emulation, you don't need special drivers, you're not doing PCI passthrough, and at least for most Linux distros, you're not installing anything extra. PA works on just about every OS worth caring about. In fact now that I think of it, PA might be the best way to get audio to work on OSes where there aren't proper sound drivers (so long as the host supports it).
            There's latency, increased CPU usage, and lack of proper microphone support (when using via network).
            Latency part is solved with pipewire (but that is not super ready yet).

            I'm looking forward to this driver.

            Comment


            • #7
              Originally posted by Fidelix View Post
              There's latency, increased CPU usage, and lack of proper microphone support (when using via network).
              Latency part is solved with pipewire (but that is not super ready yet).

              I'm looking forward to this driver.
              I don't see how this is supposed to make a significant improvement in latency or CPU usage. Back in 2012 when PA was crappy, it added 20ms of latency. I'm sure it's better now. If latency is a major concern, you probably shouldn't be using a VM anyway.

              Comment


              • #8
                Originally posted by schmidtbag View Post
                I don't see how this is supposed to make a significant improvement in latency or CPU usage. Back in 2012 when PA was crappy, it added 20ms of latency. I'm sure it's better now. If latency is a major concern, you probably shouldn't be using a VM anyway.
                Well virtio has the room to perform better than an emulated device. It's really as simple as that. Look at the other stuff that virtio is doing and you have your answer.

                Latency on pulseaudio is still very noticeable on many different workloads. Some are pretty simple to reproduce (for instance if you have an Nvidia card, using HDMI for audio). You get 100ms latency. But you're *sure* it's better now, so who am I to say otherwise.

                I have a decent setup, latency-free at the moment, using pipewire (Jackd also solves the latency problem).
                When using Pulseaudio, and tuning it to get decent results, it either gets crackling sound or very noticeable latency (not to mention high CPU usage).

                But thanks for telling me what I'm supposed to be using my VMs for.

                Comment


                • #9
                  Originally posted by Fidelix View Post
                  Well virtio has the room to perform better than an emulated device. It's really as simple as that. Look at the other stuff that virtio is doing and you have your answer.
                  PA isn't emulated...
                  Latency on pulseaudio is still very noticeable on many different workloads. Some are pretty simple to reproduce (for instance if you have an Nvidia card, using HDMI for audio). You get 100ms latency. But you're *sure* it's better now, so who am I to say otherwise.
                  Oh, I didn't know anecdotes were truth. My bad.
                  Also, mind explaining how you're getting that number?
                  I have a decent setup, latency-free at the moment, using pipewire (Jackd also solves the latency problem).
                  When using Pulseaudio, and tuning it to get decent results, it either gets crackling sound or very noticeable latency (not to mention high CPU usage).
                  Either you configured something wrong (to be fair, PA's config options can be pretty confusing) or you're way more sensitive about latency than the average person.
                  But thanks for telling me what I'm supposed to be using my VMs for.
                  No problem - thanks for arguing with me about opinions.

                  Comment


                  • #10
                    Originally posted by schmidtbag View Post
                    PA isn't emulated...

                    Oh, I didn't know anecdotes were truth. My bad.
                    Also, mind explaining how you're getting that number?

                    Either you configured something wrong (to be fair, PA's config options can be pretty confusing) or you're way more sensitive about latency than the average person.

                    No problem - thanks for arguing with me about opinions.
                    If you use qemu with pulseaudio, you're using an emulated device (intel hda, usually).
                    If you use pulseaudio binaries for windows, it's extremely buggy and unmaintained.

                    Seriously, it would have taken you 10 seconds to google search "pulseaudio hdmi delay" or "latency" and you'd get hundreds of posts.
                    If you think that is just anecdote, and you were discussing in good faith, that's how easy it would be to verify what I am saying.

                    It's easy to measure the latency using a video (check youtube), there are some tools that help with that as well.

                    Either you configured something wrong
                    You're being silly, and patronising. 100ms is very noticeable and annoying for any normal human being.

                    If virtio audio wouldn't be useful for you, that's fine.

                    But on this comment:

                    PA might be the best way to get audio to work on OSes where there aren't proper sound drivers (so long as the host supports it).
                    You're just plain wrong.
                    Learn to recognise when you're wrong and move on.

                    Comment

                    Working...
                    X