My use case is:
Unraid Home Server / NAS with multiple functions. One of which is to feed a bitperfect digital stream into my preamp. The home theater/stereo here qualifies as HiFi, but Iâm finding a challenge in getting Volumio to run with a lower power video card.
All Iâm looking for is HDMI audio output to the preamp. I have searched and searched for HDMI audio cards and other simple PCI devices which may work for this purpose and I have not had any luck, if anyone has other suggestions for multi-channel, digital audio capable devices, that would be great. HDMI has greater bandwidth than TOSLINK or other older digital standards, so I would greatly prefer to stay with HDMI.
The host hardware is:
M/B: ASUSTeK COMPUTER INC. WS C246 PRO Version Rev 1.xx
BIOS: American Megatrends Inc. Version 1102. Dated: 11/08/2019
CPU: IntelÂź XeonÂź E-2278G CPU @ 3.40GHz
HVM: Enabled
IOMMU: Enabled
Cache: 512 KiB, 2048 KiB, 16384 KiB
Memory: 64 GiB DDR4 Single-bit ECC (max. installable capacity 64 GiB)
Network: eth0: 1000 Mbps, full duplex, mtu 1500
eth1: 1000 Mbps, full duplex, mtu 1500
Kernel: Linux 4.19.98-Unraid x86_64
OpenSSL: 1.1.1d
Iâm running Volumio as a guest VM and passing through the video card as a dedicated PCIe device. I have some options for the guest machine:
I can assign the cores, max ram and a few bios machine types.
Basic Guest Machine Setup:
-Host CPU Passthrough of 2 cores for testing
-8GB of Ram
-Machine type - Q35-4.2 OR i440fx-4.2
-BIOS - OVMF OR seaBIOS
-USB Controller - 2.0 EHCI or 3.0 necXHCI or 3.0 qemu XHCI
-VDISK Bus - VirtIO or SCSI or SATA or IDE or USB
-Graphics Card - Can passthrough with OR without ROM and with OR without multifunction=âonâ
I know these are lots of variables, and this might be a somewhat âfringeâ use case, but there are lots of us out there that might want to run this as a VM in a server that already holds all of our media and is in our electronics rack.
I purchased more video cards for testing:
- Asus ROG Strix 1080 Ti OC (this is my primary gaming card and I do not want to use this with Volumio, too much power/heat and waaaaay overkill )
- Zotac GT 710
- EVGA Geforce GT 1030
- PNY GTX 750
Testing Workflow Validation
I have a copy of Volumio-buster-kernel.rc3-2019-12-02-x86.img which showed some promise in earlier testing a few weeks ago. With the following setup: OVMF/Q35/WITH VBIOS ROM/Multifunction (off) the .img would boot cleanly to the kisok output via HDMI. Graphics are perfect. The display would show the booting tty text and switch to kiosk mode at the completion of boot. During shutdown, it would switch back to tty text and power down cleanly!
volumio@volumio:~$ lspci -k
00:00.0 Host bridge: Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller
Subsystem: Red Hat, Inc QEMU Virtual Machine
00:01.0 PCI bridge: Red Hat, Inc. QEMU PCIe Root port
Kernel driver in use: pcieport
00:01.1 PCI bridge: Red Hat, Inc. QEMU PCIe Root port
Kernel driver in use: pcieport
00:01.2 PCI bridge: Red Hat, Inc. QEMU PCIe Root port
Kernel driver in use: pcieport
00:01.3 PCI bridge: Red Hat, Inc. QEMU PCIe Root port
Kernel driver in use: pcieport
00:01.4 PCI bridge: Red Hat, Inc. QEMU PCIe Root port
Kernel driver in use: pcieport
00:07.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controll er #1 (rev 03)
Subsystem: Red Hat, Inc QEMU Virtual Machine
Kernel driver in use: uhci_hcd
00:07.1 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controll er #2 (rev 03)
Subsystem: Red Hat, Inc QEMU Virtual Machine
Kernel driver in use: uhci_hcd
00:07.2 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controll er #3 (rev 03)
Subsystem: Red Hat, Inc QEMU Virtual Machine
Kernel driver in use: uhci_hcd
00:07.7 USB controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Control ler #1 (rev 03)
Subsystem: Red Hat, Inc QEMU Virtual Machine
Kernel driver in use: ehci-pci
00:1f.0 ISA bridge: Intel Corporation 82801IB (ICH9) LPC Interface Controller (r ev 02)
Subsystem: Red Hat, Inc QEMU Virtual Machine
Kernel driver in use: lpc_ich
Kernel modules: lpc_ich
00:1f.2 SATA controller: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 6 port SA TA Controller [AHCI mode] (rev 02)
Subsystem: Red Hat, Inc QEMU Virtual Machine
Kernel driver in use: ahci
Kernel modules: ahci
00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 02)
Subsystem: Red Hat, Inc QEMU Virtual Machine
Kernel driver in use: i801_smbus
Kernel modules: i2c_i801
01:00.0 Ethernet controller: Intel Corporation 82545EM Gigabit Ethernet Controll er (Copper) (rev 03)
Subsystem: Red Hat, Inc 82545EM Gigabit Ethernet Controller (Copper)
Kernel driver in use: e1000
Kernel modules: e1000
02:00.0 Communication controller: Red Hat, Inc Virtio console (rev 01)
Subsystem: Red Hat, Inc Virtio console
03:00.0 VGA compatible controller: NVIDIA Corporation GP102 [GeForce GTX 1080 Ti ] (rev a1)
Subsystem: ASUSTeK Computer Inc. GP102 [GeForce GTX 1080 Ti]
Kernel driver in use: nouveau
Kernel modules: nvidiafb, nouveau
04:00.0 Audio device: NVIDIA Corporation GP102 HDMI Audio Controller (rev a1)
Subsystem: ASUSTeK Computer Inc. GP102 HDMI Audio Controller
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
volumio@volumio:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
volumio@volumio:~$ aplay -L
null
Discard all samples (playback) or generate zero samples (capture)
hdmi:CARD=NVidia,DEV=0
HDA NVidia, HDMI 0
HDMI Audio Output
hdmi:CARD=NVidia,DEV=1
HDA NVidia, HDMI 1
HDMI Audio Output
hdmi:CARD=NVidia,DEV=2
HDA NVidia, HDMI 2
HDMI Audio Output
hdmi:CARD=NVidia,DEV=3
HDA NVidia, HDMI 3
HDMI Audio Output
dmix:CARD=NVidia,DEV=3
HDA NVidia, HDMI 0
Direct sample mixing device
dmix:CARD=NVidia,DEV=7
HDA NVidia, HDMI 1
Direct sample mixing device
dmix:CARD=NVidia,DEV=8
HDA NVidia, HDMI 2
Direct sample mixing device
dmix:CARD=NVidia,DEV=9
HDA NVidia, HDMI 3
Direct sample mixing device
dsnoop:CARD=NVidia,DEV=3
HDA NVidia, HDMI 0
Direct sample snooping device
dsnoop:CARD=NVidia,DEV=7
HDA NVidia, HDMI 1
Direct sample snooping device
dsnoop:CARD=NVidia,DEV=8
HDA NVidia, HDMI 2
Direct sample snooping device
dsnoop:CARD=NVidia,DEV=9
HDA NVidia, HDMI 3
Direct sample snooping device
hw:CARD=NVidia,DEV=3
HDA NVidia, HDMI 0
Direct hardware device without any conversions
hw:CARD=NVidia,DEV=7
HDA NVidia, HDMI 1
Direct hardware device without any conversions
hw:CARD=NVidia,DEV=8
HDA NVidia, HDMI 2
Direct hardware device without any conversions
hw:CARD=NVidia,DEV=9
HDA NVidia, HDMI 3
Direct hardware device without any conversions
plughw:CARD=NVidia,DEV=3
HDA NVidia, HDMI 0
Hardware device with all software conversions
plughw:CARD=NVidia,DEV=7
HDA NVidia, HDMI 1
Hardware device with all software conversions
plughw:CARD=NVidia,DEV=8
HDA NVidia, HDMI 2
Hardware device with all software conversions
plughw:CARD=NVidia,DEV=9
HDA NVidia, HDMI 3
Hardware device with all software conversions
Unfortunately there is no audio. Playback gives the error - Failed to open âalsaâ (alsa); Failed to open ALSA device âhw0,0â: No such file or directory" error when music playback is attempted.
This can be remedied by changing the following:
In the GUI during setup:
The only audio output offered is HDA Nvidia - so leave that.
Then connect via SSH
Edit mpd.conf and change
audio_output {
type "alsa"
name "alsa"
device "hw:0,0"
dop "no"
to
audio_output {
type "alsa"
name "alsa"
device "hw:0,7"
dop "no"
In Playback Options - Set Mixer Hardware, IEC958 1,1,1 (Important). I also set default volume to 100.
SAVE
Reboot via SSH - ârebootâ.
VERIFY MIXERTYPE IS still Hardware IEC958,1,1,1.
Playback works!
This configuration will NOT survive a full shutdown to powered off state. After a full shutdown âMixertypeâ is âundefinedâ and Mixer Control Name is blank. At least there was sound for a little while. The mpd.conf edits do persist. It appears to be broken permanently somewhere⊠resetting the mixertype wont fix it, it glitches like a skipping CD. It has to be fully reloaded per the above steps to work again.