General Linux Thread

-Uses Debian Testing
-Just did an update
-uname -a

5.9.0-5-amd64

:sweat: phew. :grin:

(that’s the reason why “unstable” exists)… and why it’s called unstable.

By the way, this worked great. Just follow the fugly half-gui half-command-line thing and you get a bootable linux thumbdrive – a LiveUSB that does not delete everything after you reboot.

I don’t know if dividing the thumbdrive in multiple partitions is mandatory, probably not, but that’s how mkusb it does it. Maybe if you set the “usbdata” partition to 0% it won’t even make one. What’s installed, or saved on the desktop, stays there anyway.

Even Debian Testing doesn’t use that kernel. Some Arch people MAY touch that kernel but not most users. We’re on 5.11.2.

1 Like

So… heads up. There some streaming options on linux like nuvolaruntim will be pushing pipewire to replace/extend pulse audio, Alsa, etc… I have no idea how to restore how many bits and what sampling rate compared to Pulse so far. I’ll be looking through the source code to see I can come up with some configuration to migrate the settings.

So far I have found the commands and it looks like systemctl --user status pulse-wire.service and the socket command work. Configuration per user can be found in ~/.config/pipewire/media-session.d/ so there is a chance mapping over the configs shouldn’t be hard after looking at code. I can say confidently that for any packages installed with flat pack, this will be how sound comes out of them so I’m trying to jump on the configs as early as I can. PipeWire is on version 0.3.23 right now meaning it’s VERY young and nothing even touches changing the sampling rate yet.

1 Like

Stumbled on somethings if anyone does venture into to using PipeWire.

  1. All configurations you need are in /etc/pipewire I specifically needed /etc/pipewire/pipewire-pulse.conf.
  2. Read the commented out sections, but to change the refresh rate just change the lines for pulse going out to the device, this case will be pulse.default.req = 1024/192000 for me.
  3. Because PipeWire is a streamer ( think container → pipewire → interface out → DAC), if you want hire resolution, you must change the stream properties to the following:
stream.properties = {
    node.latency = 1024/96000
}

That will set the latency to about 25ms with a resolution of 96kHz.

I’m sure there is some more diving in to do but this helps. There is a way to switch from PCM if you want some how here according the source but I have not tried it yet.

2 Likes

Apparently some people are having problems, either with the Fiio Q5, Q5S, Sanskrit 10th, even the Questyle CMA400i on linux gives this error. Fun fact is, according to two different forums, for two different devices, it just… solves itself and starts working after a while?

My error with my Sanskrit 10th:

[46586.643550] usb 3-2: new high-speed USB device number 3 using xhci_hcd
[46586.795840] usb 3-2: New USB device found, idVendor=152a, idProduct=85dd, bcdDevice= 1.04
[46586.795845] usb 3-2: New USB device strings: Mfr=1, Product=3, SerialNumber=0
[46586.795848] usb 3-2: Product: SMSL USB AUDIO
[46586.795850] usb 3-2: Manufacturer: SMSL
[46587.219182] usb 3-2: 1:3 : unsupported format bits 0x100000000

Source of this error is here (line 146): linux/sound/usb/format.c at master · torvalds/linux · GitHub

:thinking: :man_shrugging:

Sounds like an update either changes a udev rule, driver, library, or the chip is going into a default mode that just works. Can’t tell without diving into it.

Fixed it by not using usb for now. :stuck_out_tongue:

1 Like

Oh, man.

I had problems with “pink screen” with my HDMI cable. Thought it was my Monoprice hdmi splitter. Maybe not.

I was using the DVI out, found out the blacks were blacker and whites where whiter with DVI. A few google searches… and I found that the amdgpu drivers don’t even support full RGB by default via HDMI.

I had to do A custom edid firmware file. And add it grub.

Just for the blacks to be black and the whites to be white. :confused:

$ sudo dmesg | grep edid
[ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-5.9.0-5-amd64 root=UUID=f0756be9-fe79-4561-8595-8239d1d390a3 ro quiet video=1920x1080 amdgpu.dc=1 drm.edid_firmware=edid/edid.bin usbcore.autosuspend=0 usbcore.autosuspend_delay_ms=-1 quiet video=1920x1080 amdgpu.dc=1 drm.edid_firmware=edid/edid.bin usbcore.autosuspend=0 usbcore.autosuspend_delay_ms=-1
[ 0.053165] Kernel command line: BOOT_IMAGE=/vmlinuz-5.9.0-5-amd64 root=UUID=f0756be9-fe79-4561-8595-8239d1d390a3 ro quiet video=1920x1080 amdgpu.dc=1 drm.edid_firmware=edid/edid.bin usbcore.autosuspend=0 usbcore.autosuspend_delay_ms=-1 quiet video=1920x1080 amdgpu.dc=1 drm.edid_firmware=edid/edid.bin usbcore.autosuspend=0 usbcore.autosuspend_delay_ms=-1
[ 10.493030] platform HDMI-A-1: firmware: direct-loading firmware edid/edid.bin
[ 10.493059] [drm] Got external EDID base block and 1 extension from “edid/edid.bin” for connector “HDMI-A-1”

At least it works now. No pink screen anymore too. I may have even saved 50$CAD (if my splitter isn’t the problem).

That looks like TYPE_I_RAW_DATA/TYPE_II_RAW_DATA. I don’t have any USB devices with a descriptor like that but I’d guess it’s for a non-standard encoding such as DSD. I wouldn’t expect this message to cause a problem; it’s an info not an error. The device should have other AudioStreaming interface descriptors for standard formats including PCM. What does the complete descriptor look like (lsusb -v -d <vid>:<pid>)?

Oh well, I plug in USB to test and get usbcore: registered new interface driver snd-usb-audio – which I did not get before. Still.

A ton of things apparently :no_mouth:

Click to show the 619 lines!

$ lsusb -v -d 152a:85dd
Bus 001 Device 005: ID 152a:85dd Thesycon Systemsoftware & Consulting GmbH SMSL USB AUDIO
Couldn’t open device, some information will be missing
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 64
idVendor 0x152a Thesycon Systemsoftware & Consulting GmbH
idProduct 0x85dd
bcdDevice 1.04
iManufacturer 1 SMSL
iProduct 3 SMSL USB AUDIO
iSerial 0
bNumConfigurations 2
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x011c
bNumInterfaces 3
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 0mA
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 0
bInterfaceCount 2
bFunctionClass 1 Audio
bFunctionSubClass 0
bFunctionProtocol 32
iFunction 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 32
iInterface 3
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 2.00
bCategory 8
wTotalLength 0x0048
bmControls 0x00
AudioControl Interface Descriptor:
bLength 8
bDescriptorType 36
bDescriptorSubtype 10 (CLOCK_SOURCE)
bClockID 41
bmAttributes 3 Internal programmable clock
bmControls 0x07
Clock Frequency Control (read/write)
Clock Validity Control (read-only)
bAssocTerminal 0
iClockSource 9
AudioControl Interface Descriptor:
bLength 8
bDescriptorType 36
bDescriptorSubtype 11 (CLOCK_SELECTOR)
bClockID 40
bNrInPins 1
baCSourceID(0) 41
bmControls 0x03
Clock Selector Control (read/write)
iClockSelector 8
AudioControl Interface Descriptor:
bLength 17
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 2
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bCSourceID 40
bNrChannels 2
bmChannelConfig 0x00000000
iChannelNames 11
bmControls 0x0000
iTerminal 6
AudioControl Interface Descriptor:
bLength 18
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 10
bSourceID 2
bmaControls(0) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls(1) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls(2) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
iFeature 0
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 20
wTerminalType 0x0301 Speaker
bAssocTerminal 0
bSourceID 10
bCSourceID 40
bmControls 0x0000
iTerminal 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 4
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 4
AudioStreaming Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 2
bmControls 0x00
bFormatType 1
bmFormats 0x00000001
PCM
bNrChannels 2
bmChannelConfig 0x00000000
iChannelNames 11
AudioStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bSubslotSize 4
bBitResolution 32
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0308 1x 776 bytes
bInterval 1
AudioStreaming Endpoint Descriptor:
bLength 8
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bmControls 0x00
bLockDelayUnits 2 Decoded PCM samples
wLockDelay 0x0008
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 17
Transfer Type Isochronous
Synch Type None
Usage Type Feedback
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 4
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 2
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 4
AudioStreaming Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 2
bmControls 0x00
bFormatType 1
bmFormats 0x00000001
PCM
bNrChannels 2
bmChannelConfig 0x00000000
iChannelNames 11
AudioStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bSubslotSize 4
bBitResolution 32
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0308 1x 776 bytes
bInterval 1
AudioStreaming Endpoint Descriptor:
bLength 8
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bmControls 0x00
bLockDelayUnits 2 Decoded PCM samples
wLockDelay 0x0008
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 17
Transfer Type Isochronous
Synch Type None
Usage Type Feedback
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 4
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 3
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 4
AudioStreaming Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 2
bmControls 0x00
bFormatType 1
bmFormats 0x80000000
bNrChannels 2
bmChannelConfig 0x00000000
iChannelNames 11
AudioStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bSubslotSize 4
bBitResolution 32
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0308 1x 776 bytes
bInterval 1
AudioStreaming Endpoint Descriptor:
bLength 8
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bmControls 0x00
bLockDelayUnits 2 Decoded PCM samples
wLockDelay 0x0008
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 17
Transfer Type Isochronous
Synch Type None
Usage Type Feedback
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 4
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 254 Application Specific Interface
bInterfaceSubClass 1 Device Firmware Update
bInterfaceProtocol 1
iInterface 10
Device Firmware Upgrade Interface Descriptor:
bLength 9
bDescriptorType 33
bmAttributes 7
Will Not Detach
Manifestation Tolerant
Upload Supported
Download Supported
wDetachTimeout 250 milliseconds
wTransferSize 64 bytes
bcdDFUVersion 1.10
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x011c
bNumInterfaces 3
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 0mA
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 0
bInterfaceCount 2
bFunctionClass 1 Audio
bFunctionSubClass 0
bFunctionProtocol 32
iFunction 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 32
iInterface 3
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 2.00
bCategory 8
wTotalLength 0x0048
bmControls 0x00
AudioControl Interface Descriptor:
bLength 8
bDescriptorType 36
bDescriptorSubtype 10 (CLOCK_SOURCE)
bClockID 41
bmAttributes 3 Internal programmable clock
bmControls 0x07
Clock Frequency Control (read/write)
Clock Validity Control (read-only)
bAssocTerminal 0
iClockSource 9
AudioControl Interface Descriptor:
bLength 8
bDescriptorType 36
bDescriptorSubtype 11 (CLOCK_SELECTOR)
bClockID 40
bNrInPins 1
baCSourceID(0) 41
bmControls 0x03
Clock Selector Control (read/write)
iClockSelector 8
AudioControl Interface Descriptor:
bLength 17
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 2
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bCSourceID 40
bNrChannels 2
bmChannelConfig 0x00000000
iChannelNames 11
bmControls 0x0000
iTerminal 6
AudioControl Interface Descriptor:
bLength 18
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 10
bSourceID 2
bmaControls(0) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls(1) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
bmaControls(2) 0x0000000f
Mute Control (read/write)
Volume Control (read/write)
iFeature 0
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 20
wTerminalType 0x0301 Speaker
bAssocTerminal 0
bSourceID 10
bCSourceID 40
bmControls 0x0000
iTerminal 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 4
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 4
AudioStreaming Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 2
bmControls 0x00
bFormatType 1
bmFormats 0x00000001
PCM
bNrChannels 2
bmChannelConfig 0x00000000
iChannelNames 11
AudioStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bSubslotSize 4
bBitResolution 32
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0308 1x 776 bytes
bInterval 1
AudioStreaming Endpoint Descriptor:
bLength 8
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bmControls 0x00
bLockDelayUnits 2 Decoded PCM samples
wLockDelay 0x0008
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 17
Transfer Type Isochronous
Synch Type None
Usage Type Feedback
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 4
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 2
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 4
AudioStreaming Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 2
bmControls 0x00
bFormatType 1
bmFormats 0x00000001
PCM
bNrChannels 2
bmChannelConfig 0x00000000
iChannelNames 11
AudioStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bSubslotSize 4
bBitResolution 32
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0308 1x 776 bytes
bInterval 1
AudioStreaming Endpoint Descriptor:
bLength 8
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bmControls 0x00
bLockDelayUnits 2 Decoded PCM samples
wLockDelay 0x0008
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 17
Transfer Type Isochronous
Synch Type None
Usage Type Feedback
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 4
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 3
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 4
AudioStreaming Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 2
bmControls 0x00
bFormatType 1
bmFormats 0x80000000
bNrChannels 2
bmChannelConfig 0x00000000
iChannelNames 11
AudioStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bSubslotSize 4
bBitResolution 32
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0308 1x 776 bytes
bInterval 1
AudioStreaming Endpoint Descriptor:
bLength 8
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bmControls 0x00
bLockDelayUnits 2 Decoded PCM samples
wLockDelay 0x0008
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 17
Transfer Type Isochronous
Synch Type None
Usage Type Feedback
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 4
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 254 Application Specific Interface
bInterfaceSubClass 1 Device Firmware Update
bInterfaceProtocol 1
iInterface 10
Device Firmware Upgrade Interface Descriptor:
bLength 9
bDescriptorType 33
bmAttributes 7
Will Not Detach
Manifestation Tolerant
Upload Supported
Download Supported
wDetachTimeout 250 milliseconds
wTransferSize 64 bytes
bcdDFUVersion 1.10
ledechaine@symphony:~$

Anyway, maybe it was a problem with alsa, mixing, etc. But right now… it’s a good setup. I forgot I could do that:
-Right now Alsa takes care of the sound and sends it to hdmi, always 48khz, from multiple places, multiple sounds at the same time, whatever, everything works as it should.
-And DeaDBeeF is set to “SMSL USB Audio without any conversions” (i.e.: bitperfect), and doesn’t seem to have any problem unless I try to play something higher than 352khz (raw DXD .wav…!) which is more than enough for me.

(Edit: And switching between those two is as simple as clicking on the power button to switch from Input 1 to Input 3.)

The descriptor has a typical PCM interface:

AudioStreaming Interface Descriptor:
 bLength 16
 bDescriptorType 36
 bDescriptorSubtype 1 (AS_GENERAL)
 bTerminalLink 2
 bmControls 0x00
 bFormatType 1
 bmFormats 0x00000001 PCM
 bNrChannels 2
 bmChannelConfig 0x00000000
 iChannelNames 11

Also the TYPE_I_RAW_DATA interface. The kernel will print the “unsupported format bits” message but according to the vendor ID snd_usb_interface_dsd_format_quirks should recognize it as SNDRV_PCM_FMTBIT_DSD_U32_BE.

AudioStreaming Interface Descriptor:
 bLength 16
 bDescriptorType 36
 bDescriptorSubtype 1 (AS_GENERAL)
 bTerminalLink 2
 bmControls 0x00
 bFormatType 1
 bmFormats 0x80000000
 bNrChannels 2
 bmChannelConfig 0x00000000
 iChannelNames 11

bmFormats here is the original value, the kernel message showed the shifted value 0x100000000

Lawl :laughing:

1 Like

Has anyone ever tried using USB audio in a KVM - Windows 10 virtual machine? This is what I’m currently dealing with.
USB Audio in Windows VM popping - VM Engine (KVM) - Unraid
Basically I’m getting slight pops randomly when playing audio.

Simply not using the VM is not a good option. So right now I’ve got optical PCIe card on order which might not even work due to device pass through problems.

tried it, did NOT go well. Do not recommend.

Is difficult to get working right.

Had that working mostly when I ran Win7 as guest back when I used Manjaro. Best bet is to get a USB PCIe card and pass that through to the VM.

I’m actually using a USB card right now. It made a big improvement over passing through just the DAC. But I’m still getting some pops. Though it’s pretty infrequent.

Neither do I lol. I’m wishing I just built two separate systems back then

1 Like

One thing I want to try at some point is to use a Dante interface to get the audio out of the VM via Ethernet. Dante should also be resilient enough to guest-host related weirdness.

Yup. I currently live with dual booting.

1 Like

Fuck it. My NAS server is going to be a NAS only. I’ve been running this running Windows vm for more than a year mostly without problems. But I’m tired of these weird issues and I want maximum gaming performance. Theoretically migrating unRAID to new hardware is plug and play. We’ll see how it goes. The nice thing is I only need to buy a case since I can repurpose my old i3-6100 build

1 Like

Already sent the bug report, but if you already experienced that, let me know.

(DeadBeeF player has a huge device list with “all software conversions”, “without any conversions”, etc etc etc… but doesn’t show my device in it.)

1 Like