cpal icon indicating copy to clipboard operation
cpal copied to clipboard

Complete failure with ALSA

Open installgentoo opened this issue 4 years ago • 1 comments

Tldr, nothing in cpal examples works, alsa backend errors. Otherwise audio on system functions just fine. Here are my cards and formats:

Ok("default:CARD=Generic") Ok("sysdefault:CARD=Generic")

ALSA lib /tmp/portage/media-libs/alsa-lib-1.2.5.1/work/alsa-lib-1.2.5.1/src/pcm/pcm_route.c:877:(find_matching_chmap) Found no matching channel map ALSA lib /tmp/portage/media-libs/alsa-lib-1.2.5.1/work/alsa-lib-1.2.5.1/src/pcm/pcm_route.c:877:(find_matching_chmap) Found no matching channel map ALSA lib /tmp/portage/media-libs/alsa-lib-1.2.5.1/work/alsa-lib-1.2.5.1/src/pcm/pcm_route.c:877:(find_matching_chmap) Found no matching channel map

(0, SupportedStreamConfigRange { channels: 1, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: I16 }) (1, SupportedStreamConfigRange { channels: 2, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: I16 }) (2, SupportedStreamConfigRange { channels: 3, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: I16 }) (3, SupportedStreamConfigRange { channels: 4, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: I16 }) (4, SupportedStreamConfigRange { channels: 5, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: I16 }) (5, SupportedStreamConfigRange { channels: 6, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: I16 }) (6, SupportedStreamConfigRange { channels: 7, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: I16 }) (7, SupportedStreamConfigRange { channels: 8, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: I16 }) (8, SupportedStreamConfigRange { channels: 9, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: I16 }) (9, SupportedStreamConfigRange { channels: 10, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: I16 }) (10, SupportedStreamConfigRange { channels: 11, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: I16 }) (11, SupportedStreamConfigRange { channels: 12, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: I16 }) (12, SupportedStreamConfigRange { channels: 13, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: I16 }) (13, SupportedStreamConfigRange { channels: 14, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: I16 }) (14, SupportedStreamConfigRange { channels: 15, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: I16 }) (15, SupportedStreamConfigRange { channels: 16, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: I16 }) (16, SupportedStreamConfigRange { channels: 17, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: I16 }) (17, SupportedStreamConfigRange { channels: 18, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: I16 }) (18, SupportedStreamConfigRange { channels: 19, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: I16 }) (19, SupportedStreamConfigRange { channels: 20, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: I16 }) (20, SupportedStreamConfigRange { channels: 21, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: I16 }) (21, SupportedStreamConfigRange { channels: 22, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: I16 }) (22, SupportedStreamConfigRange { channels: 23, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: I16 }) (23, SupportedStreamConfigRange { channels: 24, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: I16 }) (24, SupportedStreamConfigRange { channels: 25, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: I16 }) (25, SupportedStreamConfigRange { channels: 26, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: I16 }) (26, SupportedStreamConfigRange { channels: 27, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: I16 }) (27, SupportedStreamConfigRange { channels: 28, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: I16 }) (28, SupportedStreamConfigRange { channels: 29, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: I16 }) (29, SupportedStreamConfigRange { channels: 30, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: I16 }) (30, SupportedStreamConfigRange { channels: 31, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: I16 }) (31, SupportedStreamConfigRange { channels: 32, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: I16 }) (32, SupportedStreamConfigRange { channels: 1, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: U16 }) (33, SupportedStreamConfigRange { channels: 2, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: U16 }) (34, SupportedStreamConfigRange { channels: 3, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: U16 }) (35, SupportedStreamConfigRange { channels: 4, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: U16 }) (36, SupportedStreamConfigRange { channels: 5, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: U16 }) (37, SupportedStreamConfigRange { channels: 6, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: U16 }) (38, SupportedStreamConfigRange { channels: 7, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: U16 }) (39, SupportedStreamConfigRange { channels: 8, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: U16 }) (40, SupportedStreamConfigRange { channels: 9, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: U16 }) (41, SupportedStreamConfigRange { channels: 10, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: U16 }) (42, SupportedStreamConfigRange { channels: 11, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: U16 }) (43, SupportedStreamConfigRange { channels: 12, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: U16 }) (44, SupportedStreamConfigRange { channels: 13, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: U16 }) (45, SupportedStreamConfigRange { channels: 14, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: U16 }) (46, SupportedStreamConfigRange { channels: 15, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: U16 }) (47, SupportedStreamConfigRange { channels: 16, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: U16 }) (48, SupportedStreamConfigRange { channels: 17, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: U16 }) (49, SupportedStreamConfigRange { channels: 18, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: U16 }) (50, SupportedStreamConfigRange { channels: 19, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: U16 }) (51, SupportedStreamConfigRange { channels: 20, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: U16 }) (52, SupportedStreamConfigRange { channels: 21, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: U16 }) (53, SupportedStreamConfigRange { channels: 22, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: U16 }) (54, SupportedStreamConfigRange { channels: 23, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: U16 }) (55, SupportedStreamConfigRange { channels: 24, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: U16 }) (56, SupportedStreamConfigRange { channels: 25, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: U16 }) (57, SupportedStreamConfigRange { channels: 26, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: U16 }) (58, SupportedStreamConfigRange { channels: 27, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: U16 }) (59, SupportedStreamConfigRange { channels: 28, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: U16 }) (60, SupportedStreamConfigRange { channels: 29, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: U16 }) (61, SupportedStreamConfigRange { channels: 30, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: U16 }) (62, SupportedStreamConfigRange { channels: 31, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: U16 }) (63, SupportedStreamConfigRange { channels: 32, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: U16 }) (64, SupportedStreamConfigRange { channels: 1, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: F32 }) (65, SupportedStreamConfigRange { channels: 2, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: F32 }) (66, SupportedStreamConfigRange { channels: 3, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: F32 }) (67, SupportedStreamConfigRange { channels: 4, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: F32 }) (68, SupportedStreamConfigRange { channels: 5, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: F32 }) (69, SupportedStreamConfigRange { channels: 6, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: F32 }) (70, SupportedStreamConfigRange { channels: 7, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: F32 }) (71, SupportedStreamConfigRange { channels: 8, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: F32 }) (72, SupportedStreamConfigRange { channels: 9, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: F32 }) (73, SupportedStreamConfigRange { channels: 10, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: F32 }) (74, SupportedStreamConfigRange { channels: 11, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: F32 }) (75, SupportedStreamConfigRange { channels: 12, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: F32 }) (76, SupportedStreamConfigRange { channels: 13, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: F32 }) (77, SupportedStreamConfigRange { channels: 14, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: F32 }) (78, SupportedStreamConfigRange { channels: 15, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: F32 }) (79, SupportedStreamConfigRange { channels: 16, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: F32 }) (80, SupportedStreamConfigRange { channels: 17, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: F32 }) (81, SupportedStreamConfigRange { channels: 18, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: F32 }) (82, SupportedStreamConfigRange { channels: 19, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: F32 }) (83, SupportedStreamConfigRange { channels: 20, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: F32 }) (84, SupportedStreamConfigRange { channels: 21, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: F32 }) (85, SupportedStreamConfigRange { channels: 22, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: F32 }) (86, SupportedStreamConfigRange { channels: 23, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: F32 }) (87, SupportedStreamConfigRange { channels: 24, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: F32 }) (88, SupportedStreamConfigRange { channels: 25, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: F32 }) (89, SupportedStreamConfigRange { channels: 26, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: F32 }) (90, SupportedStreamConfigRange { channels: 27, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: F32 }) (91, SupportedStreamConfigRange { channels: 28, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: F32 }) (92, SupportedStreamConfigRange { channels: 29, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: F32 }) (93, SupportedStreamConfigRange { channels: 30, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: F32 }) (94, SupportedStreamConfigRange { channels: 31, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: F32 }) (95, SupportedStreamConfigRange { channels: 32, min_sample_rate: SampleRate(4000), max_sample_rate: SampleRate(4294967295), buffer_size: Range { min: 170, max: 1466015503 }, sample_format: F32 })

And as you can see configs are complete horseshit. I don't know what's happening, but maybe cpal needs sane default for when config values are obviously wrong?

System: Gentoo 5.14.1, alsa 1.2.5.1

I do have a weird ryzen soundcard with integrated mic. Maybe internal defaults being taken off the mic?

installgentoo avatar Sep 07 '21 19:09 installgentoo

Actually no, even when supported config has sane defaults, alsa still fails for some reason.

StreamConfig { channels: 2, sample_rate: SampleRate(48000), buffer_size: Default } thread 'main' panicked at 'called Result::unwrap() on an Err value: BackendSpecific { err: BackendSpecificError { description: "ALSA function 'snd_pcm_sw_params' failed with error 'EINVAL: Invalid argument'"

installgentoo avatar Sep 07 '21 19:09 installgentoo