Updated to include USB camera.
The challenge is that if you passthrough IOMMU group 6 (as per the diagram) to a domain, that will successfully allow access to USB2/3 devices plugged into the 3 non-thunderbolt ports.
If you connect a USB2 device to the Thunderbolt port it will also be passed through to the domain, but a USB3 or Thunderbolt device won’t. What would be ideal, is if a USB2 device connected to this port internally connected to Bus 1, but I haven’t found a laptop yet that does this so I am guessing it is something to do with the Intel chip as opposed to the mainboard traces but I don’t know this for sure.
The main drama I can see with having effectively all USB ports tied to one bus is that HID devices like mice and keyboards have no where to go. At least, with a non-powered Thunderbolt dock, these can be attached to that, and the internal USB ports are left for connection to devices that need predictable USB power and connectivity.
After upgrade (fresh install) to R4.2.2 (Linux dom0 6.9.7-1.qubes.fc37.x86_64) I’m with no sound
- for creating audio qube I used Ben’s SALT files which I found in this detailed howto
I think setting up necessary templates and appVMs went without issues:
$ systemctl --user status pipewire
● pipewire.service - PipeWire Multimedia Service
Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; preset: enabled)
Active: active (running) since Sat 2024-07-27 17:40:27 CEST; 3h 3min ago
TriggeredBy: ● pipewire.socket
Main PID: 43349 (pipewire)
Tasks: 3 (limit: 4614)
Memory: 3.2M
CPU: 31ms
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
└─43349 /usr/bin/pipewire
Jul 27 17:40:27 dom0 systemd[6305]: Started pipewire.service - PipeWire Multimedia Service.
But there is no sound in sys-audio (disp-sys-audio) itself:
root@disp-sys-audio:~# aplay /usr/share/sounds/alsa/Noise.wav
ALSA lib pcm_dmix.c:999:(snd_pcm_dmix_open) unable to open slave
aplay: main:831: audio open error: Device or resource busy
root@disp-sys-audio:~# lspci -knn | grep -iA2 audio
00:06.0 Audio device [0403]: Intel Corporation Alder Lake PCH-P High Definition Audio Controller [8086:51c8] (rev 01)
Subsystem: CLEVO/KAPOK Computer Alder Lake PCH-P High Definition Audio Controller [1558:4041]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel, snd_soc_avs, snd_sof_pci_intel_tgl
root@disp-sys-audio:~# lsmod | grep snd_
snd_seq_dummy 12288 0
snd_hrtimer 12288 1
snd_seq 135168 7 snd_seq_dummy
snd_seq_device 16384 1 snd_seq
snd_sof_pci_intel_tgl 12288 0
snd_sof_intel_hda_common 270336 1 snd_sof_pci_intel_tgl
soundwire_intel 86016 1 snd_sof_intel_hda_common
snd_sof_intel_hda_mlink 36864 2 soundwire_intel,snd_sof_intel_hda_common
snd_sof_intel_hda 20480 1 snd_sof_intel_hda_common
snd_sof_pci 24576 2 snd_sof_intel_hda_common,snd_sof_pci_intel_tgl
snd_sof_xtensa_dsp 16384 1 snd_sof_intel_hda_common
snd_sof 483328 3 snd_sof_pci,snd_sof_intel_hda_common,snd_sof_intel_hda
snd_sof_utils 16384 1 snd_sof
snd_soc_hdac_hda 28672 1 snd_sof_intel_hda_common
snd_soc_acpi_intel_match 98304 2 snd_sof_intel_hda_common,snd_sof_pci_intel_tgl
snd_hda_codec_hdmi 106496 0
snd_soc_acpi 16384 2 snd_soc_acpi_intel_match,snd_sof_intel_hda_common
snd_hda_codec_realtek 208896 1
snd_soc_avs 245760 0
snd_hda_codec_generic 135168 1 snd_hda_codec_realtek
snd_soc_hda_codec 28672 1 snd_soc_avs
snd_hda_scodec_component 20480 1 snd_hda_codec_realtek
snd_hda_ext_core 36864 6 snd_soc_avs,snd_soc_hda_codec,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_sof_intel_hda_mlink,snd_sof_intel_hda
snd_soc_core 512000 6 snd_soc_avs,snd_soc_hda_codec,soundwire_intel,snd_sof,snd_sof_intel_hda_common,snd_soc_hdac_hda
snd_compress 28672 2 snd_soc_avs,snd_soc_core
ac97_bus 12288 1 snd_soc_core
snd_pcm_dmaengine 16384 1 snd_soc_core
snd_hda_intel 73728 3
snd_intel_dspcfg 45056 4 snd_soc_avs,snd_hda_intel,snd_sof,snd_sof_intel_hda_common
snd_intel_sdw_acpi 16384 2 snd_sof_intel_hda_common,snd_intel_dspcfg
snd_hda_codec 225280 8 snd_hda_codec_generic,snd_soc_avs,snd_hda_codec_hdmi,snd_soc_hda_codec,snd_hda_intel,snd_hda_codec_realtek,snd_soc_hdac_hda,snd_sof_intel_hda
snd_hda_core 151552 11 snd_hda_codec_generic,snd_soc_avs,snd_hda_codec_hdmi,snd_soc_hda_codec,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_hda_codec_realtek,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_sof_intel_hda
snd_hwdep 20480 1 snd_hda_codec
snd_pcm 200704 13 snd_soc_avs,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,soundwire_intel,snd_sof,snd_sof_intel_hda_common,snd_compress,snd_soc_core,snd_sof_utils,snd_hda_core,snd_pcm_dmaengine
snd_timer 53248 3 snd_seq,snd_hrtimer,snd_pcm
snd 159744 20 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_sof,snd_timer,snd_compress,snd_soc_core,snd_pcm
Did anyone managed to get sound working on NV41 with R4.2?
Please let me know
I have sound with the NV41 I tested
Sound work fine for me but I’m not using sys-audio. You certainly have something wrong in your setup.
Do you have working sound on NV41 with sys-audio?
When I installed my NV41 I chose the install option with latest kernel. I don’t remember whether sound worked before deploying sys-audio salt structure (most likely not).
Should I have both PW and PA in dom0?
[ user@dom0 ~ ]
$ dnf list installed | egrep "pipewire|pulse"
pipewire.x86_64 0.3.84-1.fc37 @anaconda
pipewire-alsa.x86_64 0.3.84-1.fc37 @anaconda
pipewire-jack-audio-connection-kit.x86_64 0.3.84-1.fc37 @anaconda
pipewire-jack-audio-connection-kit-libs.x86_64 0.3.84-1.fc37 @anaconda
pipewire-libs.x86_64 0.3.84-1.fc37 @anaconda
pipewire-pulseaudio.x86_64 0.3.84-1.fc37 @anaconda
pulseaudio-libs.x86_64 16.1-4.fc37 @anaconda
pulseaudio-libs-glib2.x86_64 16.1-4.fc37 @anaconda
pulseaudio-utils.x86_64 16.1-4.fc37 @qubes-dom0-cached
xfce4-pulseaudio-plugin.x86_64 0.4.4-1.fc37 @anaconda
Do you have sound without sys-audio if you switch the audiovm to dom0? If you’re able to to safely use your audio device in dom0.
You should have either pipewire or pulseaudio packages installed in dom0.
In your case you have correct packages installed for the use of pipewire. The pulseaudio packages that you see there are needed by pipewire.