You are not logged in.
Howdy!
I just completed a fresh Arch install on my computer! I installed JACK2 on a couple of virtual machines beforehand, and it worked right out of the box. Unfortunately the same is not true for bare metal, and audio does not work on any program whatsoever. I am using an Alienware Aurora Ryzen Edition R10. I have sof-firmware installed, and I rebooted after installation. Everything is unmuted on alsamixer and volumeicon. Installing pulseaudio is NOT an option, because I want to go into audio production. I can try installing pipewire-jack, but that is a last resort option for me.
Here are some more relevant details.
aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA ATI HDMI], device 3: HDMI 0 [DELL S3222DGM]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 10: HDMI 4 [DELL S3222DGM]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 11: HDMI 5 [HDMI 5]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 0: ALC3861 Analog [ALC3861 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 1: ALC3861 Digital [ALC3861 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: Wireless [HyperX Cloud II Wireless], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 3: USB [Scarlett Solo USB], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0speaker-test
speaker-test 1.2.13
Playback device is default
Stream parameters are 48000Hz, S16_LE, 1 channels
Using 16 octaves of pink noise
ALSA lib pcm_dmix.c:1000:(snd_pcm_dmix_open) unable to open slave
Playback open error: -2,No such file or directorysudo dmesg | grep -iE 'soft|snd'
[ 0.049551] software IO TLB: area num 32.
[ 0.377063] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[ 0.377064] software IO TLB: mapped [mem 0x00000000aa50c000-0x00000000ae50c000] (64MB)
[ 0.748318] integrity: Loaded X.509 cert 'Microsoft Corporation UEFI CA 2011: 13adbf4309bd82709c8cd54f316ed522988a1bd4'
[ 0.748331] integrity: Loaded X.509 cert 'Microsoft Windows Production PCA 2011: a92902398e16c49778cd90f99e4f9ae17c55af53'
[ 6.551380] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 6.572300] snd_hda_intel 0000:0d:00.1: enabling device (0000 -> 0002)
[ 6.572437] snd_hda_intel 0000:0d:00.1: Force to non-snoop mode
[ 6.572704] snd_hda_intel 0000:0f:00.4: enabling device (0000 -> 0002)
[ 6.607252] snd_hda_intel 0000:0d:00.1: bound 0000:0d:00.0 (ops amdgpu_dm_audio_component_bind_ops [amdgpu])
[ 6.642331] snd_hda_codec_realtek hdaudioC1D0: autoconfig for ALC3861: line_outs=4 (0x14/0x15/0x16/0x17/0x0) type:line
[ 6.642336] snd_hda_codec_realtek hdaudioC1D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[ 6.642340] snd_hda_codec_realtek hdaudioC1D0: hp_outs=1 (0x1b/0x0/0x0/0x0/0x0)
[ 6.642342] snd_hda_codec_realtek hdaudioC1D0: mono: mono_out=0x0
[ 6.642344] snd_hda_codec_realtek hdaudioC1D0: dig-out=0x1e/0x0
[ 6.642346] snd_hda_codec_realtek hdaudioC1D0: inputs:
[ 6.642348] snd_hda_codec_realtek hdaudioC1D0: Rear Mic=0x18
[ 6.642350] snd_hda_codec_realtek hdaudioC1D0: Front Mic=0x19
[ 6.642353] snd_hda_codec_realtek hdaudioC1D0: Line=0x1a
[ 8.351344] usbcore: registered new interface driver snd-usb-audioMy alsa.conf and .asoundrc files do not exist.
If more information is needed, let me know.
Last edited by doctordeity (2025-02-26 04:11:30)
“Humans cannot create anything out of nothingness. Humans cannot accomplish anything without holding onto something. After all, humans are not gods.”
– Kaworu Nagisa
Offline
Yes there's no information on your JACK setup. generally speaking, unless configured differently jack will default to whatever's your hw:0 since that is HDMI and you likely want any of the other 3 you'll need to decide which one's that going to be.
Assuming you want that scarlett, verify basic functionality with a
speaker-test -Dhw:3 -c2if that gives you noise and that is indeed the device you want and assuming you're using jackd, see https://man.archlinux.org/man/jackd.1#d,~2
Offline
Howdy! Thank you for your response.
So funnily enough, that command did NOT work for the Scarlett.
speaker-test -Dhw:3 -c2
speaker-test 1.2.13
Playback device is hw:3
Stream parameters are 48000Hz, S16_LE, 2 channels
Using 16 octaves of pink noise
Sample format not available for playback: Invalid argument
Setting of hwparams failed: Invalid argumentIt DID work for my wireless headset and the one on my regular headphone jack, so this is the furthest I've gotten so far. That being said, I have another problem that I can't find the solution for online, and I fear it may be related.
jackd
jackdmp 1.9.22
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2016 Grame.
Copyright 2016-2023 Filipe Coelho.
jackdmp comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
jack_get_descriptor : dll
jack_get_descriptor returns null for 'jack_inprocess.so'
Could not open component .so '/usr/lib/jack/jack_firewire.so': libffado.so.2: cannot open shared object file: No such file or directory
Could not open component .so '/usr/lib/jack/jack_firewire.so': libffado.so.2: cannot open shared object file: No such file or directory
jack_get_descriptor : dll
jack_get_descriptor returns null for 'jack_firewire.so'
jack_get_descriptor : dll
jack_get_descriptor returns null for 'jack_internal_metro.so'
jack_get_descriptor : dll
jack_get_descriptor returns null for 'jack_intime.so'
Could not open component .so '/usr/lib/jack/jack_firewire.so': libffado.so.2: cannot open shared object file: No such file or directoryHere are the contents of my ~/.asoundrc file:
pcm.!default {
type plug
slave { pcm "jack" }
}
pcm.jack {
type jack
playback_ports {
0 system:playback_1
1 system.playback_2
}
capture_ports {
0 system:capture_1
1 system:capture_2
}
}
ctl.mixer0 {
type hw
card 2
}I currently don't have anything in my /etc/modules.conf file, but to be frank, that's because I have no idea how to format it. When I try the jackstart command in the terminal, it tells me the command is not found, so I'm confused as to why the man page is suggesting using that command in the modules.conf file.
Last edited by doctordeity (2025-02-23 20:28:47)
“Humans cannot create anything out of nothingness. Humans cannot accomplish anything without holding onto something. After all, humans are not gods.”
– Kaworu Nagisa
Offline
Alright, I finally got it to work. Someone on the LinuxMusicians forum suggested I install libffado.so.2, so I did. It still didn't immediately work, so I took a few extra steps:
1. I found this guide on JACK FAQs, followed every step, and rebooted my system.
2. I edited my ~/.asound.conf file like so:
defaults.pcm.!card "Wireless"
defaults.ctl.!card "Wireless"and then rebooted my system.
Now my wireless headset and my generic headphones work with JACK. However... my Scarlett is being recognized by ALSA, as it shows up in aplay and alsamixer, but it does not work with speaker-test. The same error happens. Everywhere I look says it works out of the box, but clearly I'm missing something. The model is Scarlett Solo 3rd Gen.
Also, I am interested in learning how to easily switch output devices without having to edit my ~/.asound.conf file every time.
“Humans cannot create anything out of nothingness. Humans cannot accomplish anything without holding onto something. After all, humans are not gods.”
– Kaworu Nagisa
Offline
If you want to easily switch between multiple devices I suggest you get rid of all of this and switch to pipewire-{pulse,jack,alsa}, it has the actual and proper tooling to do this correctly.
Offline
OK! So if you're reading all of this hoping for a solution for just JACK, I'm afraid you are shit out of luck. Turns out I NEED pipewire-pulse to get my wireless headset's mic to work. All of that said, though, here's the journey I went on to finally configure everything exactly the way I wanted.
So first off, I want to state for the record that my Scarlett WAS being recognized the entire time, and thus it works perfectly fine. It just needed to be the default sink. Which made sense. I suppose my Scarlett did not like the stream parameters for the speaker-test; it says so on the error message. I don't get how all of that works, someone smarter than me can figure it out, but the important part is that my Scarlett works.
Next, I needed a way to easily switch between audio devices with a keyboard shortcut. Truthfully, that is what I wanted to do all along. So, I created a shell script and made it executable. Here are its contents:
#!/bin/bash
#sink list
sink1=alsa_output.usb-Focusrite_Scarlett_Solo_USB_Y7K500W9510750-00.HiFi__Line1__sink
sink2=alsa_output.usb-HP__Inc_HyperX_Cloud_II_Wireless_0-00.analog-stereo
sink_current=`pactl get-default-sink`
#change default sink
case $sink_current in
$sink1) pactl set-default-sink $sink2 ;;
$sink2) pactl set-default-sink $sink1 ;;
*) pactl set-default-sink $sink1 ;;
esacAll I had to do at this point was to edit my i3 config file to run this script with a keyboard shortcut, and voila! It works beautifully.
I'm still brand new to audio production, so I'm sure this is going to come up again. When that event comes, I'll just make a new post.
Thank you V1del for all of your help.
Marking as solved.
“Humans cannot create anything out of nothingness. Humans cannot accomplish anything without holding onto something. After all, humans are not gods.”
– Kaworu Nagisa
Offline
You'll want to get rid of your asound.conf and install pipewire-alsa instead if you opted for this, so that ALSA using applications are also routed via pipewire instead of blocking device access by trying to get to it directly.
Offline