I could be wrong but I could have sworn I saw qubes supporting surround sound when the computer is connected to an AVR on my old setups. Is this right, because on 4.2 and 4.3rc2 with a couple newer Z890 boards I only see HDA Intel PCH Digital Stereo (HDMI)?
1 Like
Unfortunately the answer is no. Not only Qubes OS never supported over 2 channels, but also the sample rate of those two channels is limited to 44.1KHz (not even 48KHz). And 16 bit bit-rate. If you need/want better quality audio in specific qube, your best bet would be hardware pass-through (e.g. a dedicated external USB sound card or DAC) to the target qube and attaching speakers to it.
Some more info:
VMs on Qubes OS have access to virtualized audio through the PulseAudio module. It consists of two parts: pacat-simple-vchan running in a dom0/Audio VM (standalone application, one per VM, connecte...
opened 05:30PM - 21 May 22 UTC
P: default
C: audio
### The problem you're addressing (if any)
Availability of "modern" 48k, 24 b… it audio will improve compatibility with various audio equipment, quality of life features such as Pulse Equalizer (which really doesn't work very well with current Qubes 41k 16 bit setup)
This can be particularly useful for users who work in headphones using external DAC which is "picky" about format modes and generally ability to at least choose among two most popular formats (48k 24 bit and 41100 in 16 bit) would resolve a lot of subtle but annoying woes for people who (like me) use Qubes as general purpose workstation and thus for music listening too.
### The solution you'd like
Keep current "no negotiation, just raw PCMs being thrown" architecture.
Separate pacat-simple-vchan-48k and separate module-vchan-sink-48k are made available as optional installs
original pacat-simple-vchan slightly modified to check upon startup if the pacat-simple-vchan-48k was installed and if it in fact was, launches the 48k version instead of the regular one.
User has to manually edit their pulseaudio configs in relevant template VMs to load module-vchan-sink-48k instead of regular one (people who care about "44.1k is causing me minor issues" are usually aware of how to do that)
User is also responsible for configuring resampling properly across the path from VM to Dom0/audio-VM and to their playback tract
### The value to a user, and who that user might be
While it is true that under normal conditions the difference between 44.1k is not reliably distinguishable from 48k 24-bit of same content (except perhaps under very particular conditions), when having to deal with idiosyncrasies of particular playback tracts it may become source of problems (admittedly minor ones). My current setup results in some content being resampled from 48 (or more)k down to 44.1k and then (because of my external headphone equalizer which doesn't approve of 44.1k on principle, but hey, it was affordable) gets resampled back to 48k which does result in a handful of unpleasant minor artifacts even if "best" resampling methods are used.
Generally one is better off resampling 41.1k to 48k and then running the 48k content down to playback than the other way around, in my humble experience.
Also pulseaudio's equalizer tends to work better with 48k 24-bit which currently makes it rather "un-Qubesly" alas (I experimented with that extensively since 3-ish version of Qubes and ended up buying a hardware equalizer)
The suggested implementation does not add much complexity to the audio virtualization protocol itself:
still no negotiation, no "million switches", does not burden the developers with decisions about when to go 48k or reconfiguring the template VMs
It does however give users who are "Qubes all the way" a little bit more flexibility for slightly better quality of life
I realize it is probably a low-priority consideration but hope one day to see it implemented
2 Likes