Merge ~eugene2021/checkbox-support:pulseaudio into checkbox-support:master

Proposed by Yujin.Wu
Status: Merged
Merged at revision: b4b9982b0c4a7c8f35c690972f0138a53324df62
Proposed branch: ~eugene2021/checkbox-support:pulseaudio
Merge into: checkbox-support:master
Diff against target: 1205 lines (+1121/-0)
5 files modified
checkbox_support/parsers/pactl.py (+14/-0)
checkbox_support/parsers/tests/pactl_data/cards-desktop-jammy-p16gen1.txt (+112/-0)
checkbox_support/parsers/tests/pactl_data/desktop-jammy-p16gen1.txt (+901/-0)
checkbox_support/parsers/tests/pactl_data/sinks-desktop-jammy-p16gen1.txt (+52/-0)
checkbox_support/parsers/tests/test_pactl.py (+42/-0)
Reviewer Review Type Date Requested Status
Scott Hu Approve
Sylvain Pineau (community) Approve
Clair Lin Pending
Checkbox Developers Pending
Review via email: mp+429360@code.launchpad.net

Commit message

Add: Support of new port properties output of pulsaudio 15.99.1

Fix: lp:1974150

Description of the change

The pulseaudio in jammy is 15.99 now, and it introduced some new port properties in the output of "pactl list". One is the "type" and the other one is "availability unknown", which looks like this: analog-input-internal-mic: Internal Microphone (type: Mic, priority: 8900, availability unknown). This will make the pactl.py fail when do some audio test in checkbox.

To post a comment you must log in.
Revision history for this message
Sylvain Pineau (sylvain-pineau) wrote :

That's an impressive work, thanks a lot. Digging into this crazy pyparsing code is not easy.
Parsing pactl output is of course not recommended but there was no better way when we wrote that script and indeed it requires such update for every major release of Ubuntu or PA.
Let's hope pipewire will be easier to handle from a test point of view.

Thanks for the tests and data from your p16 gen!

review: Approve
Revision history for this message
Yujin.Wu (eugene2021) wrote :

@Sylvain, Thanks for the review. Already merged to master. It's not easy to parsing such a complex output, learn a lot from the code. Thanks!

Revision history for this message
Kent Lin (kent-jclin) wrote :

@Scott @Clair,

I checked the code, it seems there are some codes specific to the Lenovo system. Could you please help check if it works on Dell and HP system?

Revision history for this message
Clair Lin (clairlin) wrote :

HP didn't have soundwire audio system.

Run on legacy audio without problem.
Result:https://certification.canonical.com/hardware/202112-29751/submission/279633/

Revision history for this message
Scott Hu (huntu207) (last edit ):
Revision history for this message
Scott Hu (huntu207) wrote :

It works on Dell systems with original bug normally.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/checkbox_support/parsers/pactl.py b/checkbox_support/parsers/pactl.py
2index 6c79430..199337c 100644
3--- a/checkbox_support/parsers/pactl.py
4+++ b/checkbox_support/parsers/pactl.py
5@@ -234,6 +234,12 @@ class Port(Node):
6 p.Regex('[^ (\n]+'), ' ', combine=True
7 ).setResultsName('port-label')
8 + p.Suppress('(')
9+ + p.Optional(
10+ p.Keyword('type').suppress()
11+ + p.Suppress(':')
12+ + p.Word(p.alphanums).suppress()
13+ + p.Suppress(',')
14+ )
15 + p.Keyword('priority').suppress()
16 + p.Suppress(':')
17 + p.Word(p.nums).setParseAction(
18@@ -242,6 +248,7 @@ class Port(Node):
19 + p.MatchFirst([
20 p.Suppress(',') + p.Literal('not available'),
21 p.Suppress(',') + p.Literal('available'),
22+ p.Suppress(',') + p.Literal('availability unknown'),
23 p.Empty().setParseAction(lambda t: '')
24 ]).setResultsName('port-availability')
25 + p.Suppress(')')
26@@ -306,6 +313,12 @@ class PortWithProfile(Node):
27 ' '
28 ).setResultsName('port-label')
29 + p.Suppress('(')
30+ + p.Optional(
31+ p.Keyword('type').suppress()
32+ + p.Suppress(':')
33+ + p.Word(p.alphanums).suppress()
34+ + p.Suppress(',')
35+ )
36 + p.Keyword('priority').suppress()
37 + p.Optional(
38 p.Suppress(':')
39@@ -325,6 +338,7 @@ class PortWithProfile(Node):
40 p.MatchFirst([
41 p.Suppress(',') + p.Literal('not available'),
42 p.Suppress(',') + p.Literal('available'),
43+ p.Suppress(',') + p.Literal('availability unknown'),
44 p.Empty().setParseAction(lambda t: '')
45 ]).setResultsName('port-availability')
46 )
47diff --git a/checkbox_support/parsers/tests/pactl_data/cards-desktop-jammy-p16gen1.txt b/checkbox_support/parsers/tests/pactl_data/cards-desktop-jammy-p16gen1.txt
48new file mode 100644
49index 0000000..6460199
50--- /dev/null
51+++ b/checkbox_support/parsers/tests/pactl_data/cards-desktop-jammy-p16gen1.txt
52@@ -0,0 +1,112 @@
53+Card #0
54+ Name: alsa_card.pci-0000_01_00.1
55+ Driver: module-alsa-card.c
56+ Owner Module: 22
57+ Properties:
58+ alsa.card = "0"
59+ alsa.card_name = "HDA NVidia"
60+ alsa.long_card_name = "HDA NVidia at 0xbe000000 irq 17"
61+ alsa.driver_name = "snd_hda_intel"
62+ device.bus_path = "pci-0000:01:00.1"
63+ sysfs.path = "/devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card0"
64+ device.bus = "pci"
65+ device.vendor.id = "10de"
66+ device.vendor.name = "NVIDIA Corporation"
67+ device.product.id = "228b"
68+ device.product.name = "GA104 High Definition Audio Controller"
69+ device.string = "0"
70+ device.description = "GA104 High Definition Audio Controller"
71+ module-udev-detect.discovered = "1"
72+ device.icon_name = "audio-card-pci"
73+ Profiles:
74+ output:hdmi-stereo: Digital Stereo (HDMI) Output (sinks: 1, sources: 0, priority: 5900, available: no)
75+ output:hdmi-surround: Digital Surround 5.1 (HDMI) Output (sinks: 1, sources: 0, priority: 800, available: no)
76+ output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output (sinks: 1, sources: 0, priority: 800, available: no)
77+ output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) Output (sinks: 1, sources: 0, priority: 5700, available: no)
78+ output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI 2) Output (sinks: 1, sources: 0, priority: 600, available: no)
79+ output:hdmi-surround71-extra1: Digital Surround 7.1 (HDMI 2) Output (sinks: 1, sources: 0, priority: 600, available: no)
80+ output:hdmi-stereo-extra2: Digital Stereo (HDMI 3) Output (sinks: 1, sources: 0, priority: 5700, available: no)
81+ output:hdmi-surround-extra2: Digital Surround 5.1 (HDMI 3) Output (sinks: 1, sources: 0, priority: 600, available: no)
82+ output:hdmi-surround71-extra2: Digital Surround 7.1 (HDMI 3) Output (sinks: 1, sources: 0, priority: 600, available: no)
83+ output:hdmi-stereo-extra3: Digital Stereo (HDMI 4) Output (sinks: 1, sources: 0, priority: 5700, available: no)
84+ output:hdmi-surround-extra3: Digital Surround 5.1 (HDMI 4) Output (sinks: 1, sources: 0, priority: 600, available: no)
85+ output:hdmi-surround71-extra3: Digital Surround 7.1 (HDMI 4) Output (sinks: 1, sources: 0, priority: 600, available: no)
86+ output:hdmi-stereo-extra4: Digital Stereo (HDMI 5) Output (sinks: 1, sources: 0, priority: 5700, available: no)
87+ output:hdmi-surround-extra4: Digital Surround 5.1 (HDMI 5) Output (sinks: 1, sources: 0, priority: 600, available: no)
88+ output:hdmi-surround71-extra4: Digital Surround 7.1 (HDMI 5) Output (sinks: 1, sources: 0, priority: 600, available: no)
89+ output:hdmi-stereo-extra5: Digital Stereo (HDMI 6) Output (sinks: 1, sources: 0, priority: 5700, available: no)
90+ output:hdmi-surround-extra5: Digital Surround 5.1 (HDMI 6) Output (sinks: 1, sources: 0, priority: 600, available: no)
91+ output:hdmi-surround71-extra5: Digital Surround 7.1 (HDMI 6) Output (sinks: 1, sources: 0, priority: 600, available: no)
92+ output:hdmi-stereo-extra6: Digital Stereo (HDMI 7) Output (sinks: 1, sources: 0, priority: 5700, available: no)
93+ output:hdmi-surround-extra6: Digital Surround 5.1 (HDMI 7) Output (sinks: 1, sources: 0, priority: 600, available: no)
94+ output:hdmi-surround71-extra6: Digital Surround 7.1 (HDMI 7) Output (sinks: 1, sources: 0, priority: 600, available: no)
95+ off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
96+ Active Profile: off
97+ Ports:
98+ hdmi-output-0: HDMI / DisplayPort (type: HDMI, priority: 5900, latency offset: 0 usec, not available)
99+ Properties:
100+ device.icon_name = "video-display"
101+ Part of profile(s): output:hdmi-stereo, output:hdmi-surround, output:hdmi-surround71
102+ hdmi-output-1: HDMI / DisplayPort 2 (type: HDMI, priority: 5800, latency offset: 0 usec, not available)
103+ Properties:
104+ device.icon_name = "video-display"
105+ Part of profile(s): output:hdmi-stereo-extra1, output:hdmi-surround-extra1, output:hdmi-surround71-extra1
106+ hdmi-output-2: HDMI / DisplayPort 3 (type: HDMI, priority: 5700, latency offset: 0 usec, not available)
107+ Properties:
108+ device.icon_name = "video-display"
109+ Part of profile(s): output:hdmi-stereo-extra2, output:hdmi-surround-extra2, output:hdmi-surround71-extra2
110+ hdmi-output-3: HDMI / DisplayPort 4 (type: HDMI, priority: 5600, latency offset: 0 usec, not available)
111+ Properties:
112+ device.icon_name = "video-display"
113+ Part of profile(s): output:hdmi-stereo-extra3, output:hdmi-surround-extra3, output:hdmi-surround71-extra3
114+ hdmi-output-4: HDMI / DisplayPort 5 (type: HDMI, priority: 5500, latency offset: 0 usec, not available)
115+ Properties:
116+ device.icon_name = "video-display"
117+ Part of profile(s): output:hdmi-stereo-extra4, output:hdmi-surround-extra4, output:hdmi-surround71-extra4
118+ hdmi-output-5: HDMI / DisplayPort 6 (type: HDMI, priority: 5400, latency offset: 0 usec, not available)
119+ Properties:
120+ device.icon_name = "video-display"
121+ Part of profile(s): output:hdmi-stereo-extra5, output:hdmi-surround-extra5, output:hdmi-surround71-extra5
122+ hdmi-output-6: HDMI / DisplayPort 7 (type: HDMI, priority: 5300, latency offset: 0 usec, not available)
123+ Properties:
124+ device.icon_name = "video-display"
125+ Part of profile(s): output:hdmi-stereo-extra6, output:hdmi-surround-extra6, output:hdmi-surround71-extra6
126+
127+Card #1
128+ Name: alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic
129+ Driver: module-alsa-card.c
130+ Owner Module: 23
131+ Properties:
132+ alsa.card = "1"
133+ alsa.card_name = "sof-hda-dsp"
134+ alsa.long_card_name = "LENOVO-21D6000AUS-ThinkPadP16Gen1"
135+ alsa.driver_name = "snd_soc_skl_hda_dsp"
136+ device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
137+ sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1"
138+ device.bus = "pci"
139+ device.vendor.id = "8086"
140+ device.vendor.name = "Intel Corporation"
141+ device.product.id = "7ad0"
142+ device.string = "1"
143+ device.description = "sof-hda-dsp"
144+ module-udev-detect.discovered = "1"
145+ device.icon_name = "audio-card-pci"
146+ Profiles:
147+ HiFi: Play HiFi quality Music (sinks: 4, sources: 2, priority: 40768, available: yes)
148+ off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
149+ Active Profile: HiFi
150+ Ports:
151+ [Out] HDMI3: HDMI / DisplayPort 3 Output (type: HDMI, priority: 700, latency offset: 0 usec, not available)
152+ Part of profile(s): HiFi
153+ [Out] HDMI2: HDMI / DisplayPort 2 Output (type: HDMI, priority: 600, latency offset: 0 usec, not available)
154+ Part of profile(s): HiFi
155+ [Out] HDMI1: HDMI / DisplayPort 1 Output (type: HDMI, priority: 500, latency offset: 0 usec, not available)
156+ Part of profile(s): HiFi
157+ [Out] Speaker: Speaker (type: Speaker, priority: 100, latency offset: 0 usec, availability unknown)
158+ Part of profile(s): HiFi
159+ [Out] Headphones: Headphones (type: Headphones, priority: 200, latency offset: 0 usec, not available)
160+ Part of profile(s): HiFi
161+ [In] Mic2: Headphones Stereo Microphone (type: Mic, priority: 200, latency offset: 0 usec, not available)
162+ Part of profile(s): HiFi
163+ [In] Mic1: Digital Microphone (type: Mic, priority: 100, latency offset: 0 usec, availability unknown)
164+ Part of profile(s): HiFi
165\ No newline at end of file
166diff --git a/checkbox_support/parsers/tests/pactl_data/desktop-jammy-p16gen1.txt b/checkbox_support/parsers/tests/pactl_data/desktop-jammy-p16gen1.txt
167new file mode 100644
168index 0000000..8acce02
169--- /dev/null
170+++ b/checkbox_support/parsers/tests/pactl_data/desktop-jammy-p16gen1.txt
171@@ -0,0 +1,901 @@
172+Module #0
173+ Name: module-device-restore
174+ Argument:
175+ Usage counter: n/a
176+ Properties:
177+ module.author = "Lennart Poettering"
178+ module.description = "Automatically restore the volume/mute state of devices"
179+ module.version = "15.99.1"
180+
181+Module #1
182+ Name: module-stream-restore
183+ Argument:
184+ Usage counter: n/a
185+ Properties:
186+ module.author = "Lennart Poettering"
187+ module.description = "Automatically restore the volume/mute/device state of streams"
188+ module.version = "15.99.1"
189+
190+Module #2
191+ Name: module-card-restore
192+ Argument:
193+ Usage counter: n/a
194+ Properties:
195+ module.author = "Lennart Poettering"
196+ module.description = "Automatically restore profile of cards"
197+ module.version = "15.99.1"
198+
199+Module #3
200+ Name: module-augment-properties
201+ Argument:
202+ Usage counter: n/a
203+ Properties:
204+ module.author = "Lennart Poettering"
205+ module.description = "Augment the property sets of streams with additional static information"
206+ module.version = "15.99.1"
207+
208+Module #4
209+ Name: module-switch-on-port-available
210+ Argument:
211+ Usage counter: n/a
212+ Properties:
213+ module.author = "David Henningsson"
214+ module.description = "Switches ports and profiles when devices are plugged/unplugged"
215+ module.version = "15.99.1"
216+
217+Module #5
218+ Name: module-switch-on-connect
219+ Argument:
220+ Usage counter: n/a
221+ Properties:
222+ module.author = "Michael Terry"
223+ module.description = "When a sink/source is added, switch to it or conditionally switch to it"
224+ module.version = "15.99.1"
225+
226+Module #6
227+ Name: module-udev-detect
228+ Argument:
229+ Usage counter: n/a
230+ Properties:
231+ module.author = "Lennart Poettering"
232+ module.description = "Detect available audio hardware and load matching drivers"
233+ module.version = "15.99.1"
234+
235+Module #7
236+ Name: module-bluetooth-policy
237+ Argument:
238+ Usage counter: n/a
239+ Properties:
240+ module.author = "Frédéric Dalleau, Pali Rohár"
241+ module.description = "Policy module to make using bluetooth devices out-of-the-box easier"
242+ module.version = "15.99.1"
243+
244+Module #8
245+ Name: module-bluetooth-discover
246+ Argument:
247+ Usage counter: n/a
248+ Properties:
249+ module.author = "João Paulo Rechi Vita"
250+ module.description = "Detect available Bluetooth daemon and load the corresponding discovery module"
251+ module.version = "15.99.1"
252+
253+Module #9
254+ Name: module-bluez5-discover
255+ Argument:
256+ Usage counter: n/a
257+ Properties:
258+ module.author = "João Paulo Rechi Vita"
259+ module.description = "Detect available BlueZ 5 Bluetooth audio devices and load BlueZ 5 Bluetooth audio drivers"
260+ module.version = "15.99.1"
261+
262+Module #10
263+ Name: module-native-protocol-unix
264+ Argument:
265+ Usage counter: n/a
266+ Properties:
267+ module.author = "Lennart Poettering"
268+ module.description = "Native protocol (UNIX sockets)"
269+ module.version = "15.99.1"
270+
271+Module #11
272+ Name: module-default-device-restore
273+ Argument:
274+ Usage counter: n/a
275+ Properties:
276+ module.author = "Lennart Poettering"
277+ module.description = "Automatically restore the default sink and source"
278+ module.version = "15.99.1"
279+
280+Module #12
281+ Name: module-always-sink
282+ Argument:
283+ Usage counter: n/a
284+ Properties:
285+ module.author = "Colin Guthrie"
286+ module.description = "Always keeps at least one sink loaded even if it's a null one"
287+ module.version = "15.99.1"
288+
289+Module #14
290+ Name: module-intended-roles
291+ Argument:
292+ Usage counter: n/a
293+ Properties:
294+ module.author = "Lennart Poettering"
295+ module.description = "Automatically set device of streams based on intended roles of devices"
296+ module.version = "15.99.1"
297+
298+Module #15
299+ Name: module-suspend-on-idle
300+ Argument:
301+ Usage counter: n/a
302+ Properties:
303+ module.author = "Lennart Poettering"
304+ module.description = "When a sink/source is idle for too long, suspend it"
305+ module.version = "15.99.1"
306+
307+Module #16
308+ Name: module-systemd-login
309+ Argument:
310+ Usage counter: n/a
311+ Properties:
312+ module.author = "Lennart Poettering"
313+ module.description = "Create a client for each login session of this user"
314+ module.version = "15.99.1"
315+
316+Module #17
317+ Name: module-position-event-sounds
318+ Argument:
319+ Usage counter: n/a
320+ Properties:
321+ module.author = "Lennart Poettering"
322+ module.description = "Position event sounds between L and R depending on the position on screen of the widget triggering them."
323+ module.version = "15.99.1"
324+
325+Module #18
326+ Name: module-role-cork
327+ Argument:
328+ Usage counter: n/a
329+ Properties:
330+ module.author = "Lennart Poettering"
331+ module.description = "Mute & cork streams with certain roles while others exist"
332+ module.version = "15.99.1"
333+
334+Module #19
335+ Name: module-snap-policy
336+ Argument:
337+ Usage counter: n/a
338+ Properties:
339+ module.author = "Canonical Ltd"
340+ module.description = "Ubuntu Snap policy management"
341+ module.version = "15.99.1"
342+
343+Module #20
344+ Name: module-filter-heuristics
345+ Argument:
346+ Usage counter: n/a
347+ Properties:
348+ module.author = "Colin Guthrie"
349+ module.description = "Detect when various filters are desirable"
350+ module.version = "15.99.1"
351+
352+Module #21
353+ Name: module-filter-apply
354+ Argument:
355+ Usage counter: n/a
356+ Properties:
357+ module.author = "Colin Guthrie"
358+ module.description = "Load filter sinks automatically when needed"
359+ module.version = "15.99.1"
360+
361+Module #22
362+ Name: module-alsa-card
363+ Argument: device_id="0" name="pci-0000_01_00.1" card_name="alsa_card.pci-0000_01_00.1" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1"
364+ Usage counter: 0
365+ Properties:
366+ module.author = "Lennart Poettering"
367+ module.description = "ALSA Card"
368+ module.version = "15.99.1"
369+
370+Module #23
371+ Name: module-alsa-card
372+ Argument: device_id="1" name="pci-0000_00_1f.3-platform-skl_hda_dsp_generic" card_name="alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1"
373+ Usage counter: 0
374+ Properties:
375+ module.author = "Lennart Poettering"
376+ module.description = "ALSA Card"
377+ module.version = "15.99.1"
378+
379+Sink #1
380+ State: SUSPENDED
381+ Name: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_5__sink
382+ Description: sof-hda-dsp HDMI / DisplayPort 3 Output
383+ Driver: module-alsa-card.c
384+ Sample Specification: s16le 2ch 48000Hz
385+ Channel Map: front-left,front-right
386+ Owner Module: 23
387+ Mute: no
388+ Volume: front-left: 32768 / 50% / -18.06 dB, front-right: 32768 / 50% / -18.06 dB
389+ balance 0.00
390+ Base Volume: 65536 / 100% / 0.00 dB
391+ Monitor Source: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_5__sink.monitor
392+ Latency: 0 usec, configured 0 usec
393+ Flags: HARDWARE DECIBEL_VOLUME LATENCY
394+ Properties:
395+ alsa.resolution_bits = "16"
396+ device.api = "alsa"
397+ device.class = "sound"
398+ alsa.class = "generic"
399+ alsa.subclass = "generic-mix"
400+ alsa.name = ""
401+ alsa.id = "HDMI3 (*)"
402+ alsa.subdevice = "0"
403+ alsa.subdevice_name = "subdevice #0"
404+ alsa.device = "5"
405+ alsa.card = "1"
406+ alsa.card_name = "sof-hda-dsp"
407+ alsa.long_card_name = "LENOVO-21D6000AUS-ThinkPadP16Gen1"
408+ alsa.driver_name = "snd_soc_skl_hda_dsp"
409+ device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
410+ sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1"
411+ device.bus = "pci"
412+ device.vendor.id = "8086"
413+ device.vendor.name = "Intel Corporation"
414+ device.product.id = "7ad0"
415+ device.string = "_ucm0003.hw:sofhdadsp,5"
416+ device.buffering.buffer_size = "65536"
417+ device.buffering.fragment_size = "16384"
418+ device.access_mode = "mmap+timer"
419+ device.profile.name = "HiFi: hw:sofhdadsp,5: sink"
420+ device.profile.description = "HDMI / DisplayPort 3 Output"
421+ alsa.mixer_device = "_ucm0003.hw:sofhdadsp"
422+ device.description = "sof-hda-dsp HDMI / DisplayPort 3 Output"
423+ module-udev-detect.discovered = "1"
424+ device.icon_name = "audio-card-pci"
425+ Ports:
426+ [Out] HDMI3: HDMI / DisplayPort 3 Output (type: HDMI, priority: 700, not available)
427+ Active Port: [Out] HDMI3
428+ Formats:
429+ pcm
430+
431+Sink #2
432+ State: SUSPENDED
433+ Name: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_4__sink
434+ Description: sof-hda-dsp HDMI / DisplayPort 2 Output
435+ Driver: module-alsa-card.c
436+ Sample Specification: s16le 2ch 48000Hz
437+ Channel Map: front-left,front-right
438+ Owner Module: 23
439+ Mute: no
440+ Volume: front-left: 32768 / 50% / -18.06 dB, front-right: 32768 / 50% / -18.06 dB
441+ balance 0.00
442+ Base Volume: 65536 / 100% / 0.00 dB
443+ Monitor Source: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_4__sink.monitor
444+ Latency: 0 usec, configured 0 usec
445+ Flags: HARDWARE DECIBEL_VOLUME LATENCY
446+ Properties:
447+ alsa.resolution_bits = "16"
448+ device.api = "alsa"
449+ device.class = "sound"
450+ alsa.class = "generic"
451+ alsa.subclass = "generic-mix"
452+ alsa.name = ""
453+ alsa.id = "HDMI2 (*)"
454+ alsa.subdevice = "0"
455+ alsa.subdevice_name = "subdevice #0"
456+ alsa.device = "4"
457+ alsa.card = "1"
458+ alsa.card_name = "sof-hda-dsp"
459+ alsa.long_card_name = "LENOVO-21D6000AUS-ThinkPadP16Gen1"
460+ alsa.driver_name = "snd_soc_skl_hda_dsp"
461+ device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
462+ sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1"
463+ device.bus = "pci"
464+ device.vendor.id = "8086"
465+ device.vendor.name = "Intel Corporation"
466+ device.product.id = "7ad0"
467+ device.string = "_ucm0003.hw:sofhdadsp,4"
468+ device.buffering.buffer_size = "65536"
469+ device.buffering.fragment_size = "16384"
470+ device.access_mode = "mmap+timer"
471+ device.profile.name = "HiFi: hw:sofhdadsp,4: sink"
472+ device.profile.description = "HDMI / DisplayPort 2 Output"
473+ alsa.mixer_device = "_ucm0003.hw:sofhdadsp"
474+ device.description = "sof-hda-dsp HDMI / DisplayPort 2 Output"
475+ module-udev-detect.discovered = "1"
476+ device.icon_name = "audio-card-pci"
477+ Ports:
478+ [Out] HDMI2: HDMI / DisplayPort 2 Output (type: HDMI, priority: 600, not available)
479+ Active Port: [Out] HDMI2
480+ Formats:
481+ pcm
482+
483+Sink #3
484+ State: SUSPENDED
485+ Name: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_3__sink
486+ Description: sof-hda-dsp HDMI / DisplayPort 1 Output
487+ Driver: module-alsa-card.c
488+ Sample Specification: s16le 2ch 48000Hz
489+ Channel Map: front-left,front-right
490+ Owner Module: 23
491+ Mute: no
492+ Volume: front-left: 32768 / 50% / -18.06 dB, front-right: 32768 / 50% / -18.06 dB
493+ balance 0.00
494+ Base Volume: 65536 / 100% / 0.00 dB
495+ Monitor Source: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_3__sink.monitor
496+ Latency: 0 usec, configured 0 usec
497+ Flags: HARDWARE DECIBEL_VOLUME LATENCY
498+ Properties:
499+ alsa.resolution_bits = "16"
500+ device.api = "alsa"
501+ device.class = "sound"
502+ alsa.class = "generic"
503+ alsa.subclass = "generic-mix"
504+ alsa.name = ""
505+ alsa.id = "HDMI1 (*)"
506+ alsa.subdevice = "0"
507+ alsa.subdevice_name = "subdevice #0"
508+ alsa.device = "3"
509+ alsa.card = "1"
510+ alsa.card_name = "sof-hda-dsp"
511+ alsa.long_card_name = "LENOVO-21D6000AUS-ThinkPadP16Gen1"
512+ alsa.driver_name = "snd_soc_skl_hda_dsp"
513+ device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
514+ sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1"
515+ device.bus = "pci"
516+ device.vendor.id = "8086"
517+ device.vendor.name = "Intel Corporation"
518+ device.product.id = "7ad0"
519+ device.string = "_ucm0003.hw:sofhdadsp,3"
520+ device.buffering.buffer_size = "65536"
521+ device.buffering.fragment_size = "16384"
522+ device.access_mode = "mmap+timer"
523+ device.profile.name = "HiFi: hw:sofhdadsp,3: sink"
524+ device.profile.description = "HDMI / DisplayPort 1 Output"
525+ alsa.mixer_device = "_ucm0003.hw:sofhdadsp"
526+ device.description = "sof-hda-dsp HDMI / DisplayPort 1 Output"
527+ module-udev-detect.discovered = "1"
528+ device.icon_name = "audio-card-pci"
529+ Ports:
530+ [Out] HDMI1: HDMI / DisplayPort 1 Output (type: HDMI, priority: 500, not available)
531+ Active Port: [Out] HDMI1
532+ Formats:
533+ pcm
534+
535+Sink #4
536+ State: SUSPENDED
537+ Name: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__sink
538+ Description: sof-hda-dsp Speaker + Headphones
539+ Driver: module-alsa-card.c
540+ Sample Specification: s16le 2ch 48000Hz
541+ Channel Map: front-left,front-right
542+ Owner Module: 23
543+ Mute: no
544+ Volume: front-left: 36700 / 56% / -15.11 dB, front-right: 36700 / 56% / -15.11 dB
545+ balance 0.00
546+ Base Volume: 65536 / 100% / 0.00 dB
547+ Monitor Source: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__sink.monitor
548+ Latency: 0 usec, configured 0 usec
549+ Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
550+ Properties:
551+ alsa.resolution_bits = "16"
552+ device.api = "alsa"
553+ device.class = "sound"
554+ alsa.class = "generic"
555+ alsa.subclass = "generic-mix"
556+ alsa.name = ""
557+ alsa.id = "HDA Analog (*)"
558+ alsa.subdevice = "0"
559+ alsa.subdevice_name = "subdevice #0"
560+ alsa.device = "0"
561+ alsa.card = "1"
562+ alsa.card_name = "sof-hda-dsp"
563+ alsa.long_card_name = "LENOVO-21D6000AUS-ThinkPadP16Gen1"
564+ alsa.driver_name = "snd_soc_skl_hda_dsp"
565+ device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
566+ sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1"
567+ device.bus = "pci"
568+ device.vendor.id = "8086"
569+ device.vendor.name = "Intel Corporation"
570+ device.product.id = "7ad0"
571+ device.string = "_ucm0003.hw:sofhdadsp"
572+ device.buffering.buffer_size = "65536"
573+ device.buffering.fragment_size = "16384"
574+ device.access_mode = "mmap+timer"
575+ device.profile.name = "HiFi: hw:sofhdadsp: sink"
576+ device.profile.description = "Speaker + Headphones"
577+ alsa.mixer_device = "_ucm0003.hw:sofhdadsp"
578+ device.description = "sof-hda-dsp Speaker + Headphones"
579+ module-udev-detect.discovered = "1"
580+ device.icon_name = "audio-card-pci"
581+ Ports:
582+ [Out] Speaker: Speaker (type: Speaker, priority: 100, availability unknown)
583+ [Out] Headphones: Headphones (type: Headphones, priority: 200, not available)
584+ Active Port: [Out] Speaker
585+ Formats:
586+ pcm
587+
588+Source #1
589+ State: SUSPENDED
590+ Name: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_5__sink.monitor
591+ Description: Monitor of sof-hda-dsp HDMI / DisplayPort 3 Output
592+ Driver: module-alsa-card.c
593+ Sample Specification: s16le 2ch 48000Hz
594+ Channel Map: front-left,front-right
595+ Owner Module: 23
596+ Mute: no
597+ Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB
598+ balance 0.00
599+ Base Volume: 65536 / 100% / 0.00 dB
600+ Monitor of Sink: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_5__sink
601+ Latency: 0 usec, configured 0 usec
602+ Flags: DECIBEL_VOLUME LATENCY
603+ Properties:
604+ device.description = "Monitor of sof-hda-dsp HDMI / DisplayPort 3 Output"
605+ device.class = "monitor"
606+ alsa.card = "1"
607+ alsa.card_name = "sof-hda-dsp"
608+ alsa.long_card_name = "LENOVO-21D6000AUS-ThinkPadP16Gen1"
609+ alsa.driver_name = "snd_soc_skl_hda_dsp"
610+ device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
611+ sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1"
612+ device.bus = "pci"
613+ device.vendor.id = "8086"
614+ device.vendor.name = "Intel Corporation"
615+ device.product.id = "7ad0"
616+ device.string = "1"
617+ module-udev-detect.discovered = "1"
618+ device.icon_name = "audio-card-pci"
619+ Formats:
620+ pcm
621+
622+Source #2
623+ State: SUSPENDED
624+ Name: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_4__sink.monitor
625+ Description: Monitor of sof-hda-dsp HDMI / DisplayPort 2 Output
626+ Driver: module-alsa-card.c
627+ Sample Specification: s16le 2ch 48000Hz
628+ Channel Map: front-left,front-right
629+ Owner Module: 23
630+ Mute: no
631+ Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB
632+ balance 0.00
633+ Base Volume: 65536 / 100% / 0.00 dB
634+ Monitor of Sink: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_4__sink
635+ Latency: 0 usec, configured 0 usec
636+ Flags: DECIBEL_VOLUME LATENCY
637+ Properties:
638+ device.description = "Monitor of sof-hda-dsp HDMI / DisplayPort 2 Output"
639+ device.class = "monitor"
640+ alsa.card = "1"
641+ alsa.card_name = "sof-hda-dsp"
642+ alsa.long_card_name = "LENOVO-21D6000AUS-ThinkPadP16Gen1"
643+ alsa.driver_name = "snd_soc_skl_hda_dsp"
644+ device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
645+ sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1"
646+ device.bus = "pci"
647+ device.vendor.id = "8086"
648+ device.vendor.name = "Intel Corporation"
649+ device.product.id = "7ad0"
650+ device.string = "1"
651+ module-udev-detect.discovered = "1"
652+ device.icon_name = "audio-card-pci"
653+ Formats:
654+ pcm
655+
656+Source #3
657+ State: SUSPENDED
658+ Name: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_3__sink.monitor
659+ Description: Monitor of sof-hda-dsp HDMI / DisplayPort 1 Output
660+ Driver: module-alsa-card.c
661+ Sample Specification: s16le 2ch 48000Hz
662+ Channel Map: front-left,front-right
663+ Owner Module: 23
664+ Mute: no
665+ Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB
666+ balance 0.00
667+ Base Volume: 65536 / 100% / 0.00 dB
668+ Monitor of Sink: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_3__sink
669+ Latency: 0 usec, configured 0 usec
670+ Flags: DECIBEL_VOLUME LATENCY
671+ Properties:
672+ device.description = "Monitor of sof-hda-dsp HDMI / DisplayPort 1 Output"
673+ device.class = "monitor"
674+ alsa.card = "1"
675+ alsa.card_name = "sof-hda-dsp"
676+ alsa.long_card_name = "LENOVO-21D6000AUS-ThinkPadP16Gen1"
677+ alsa.driver_name = "snd_soc_skl_hda_dsp"
678+ device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
679+ sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1"
680+ device.bus = "pci"
681+ device.vendor.id = "8086"
682+ device.vendor.name = "Intel Corporation"
683+ device.product.id = "7ad0"
684+ device.string = "1"
685+ module-udev-detect.discovered = "1"
686+ device.icon_name = "audio-card-pci"
687+ Formats:
688+ pcm
689+
690+Source #4
691+ State: SUSPENDED
692+ Name: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__sink.monitor
693+ Description: Monitor of sof-hda-dsp Speaker + Headphones
694+ Driver: module-alsa-card.c
695+ Sample Specification: s16le 2ch 48000Hz
696+ Channel Map: front-left,front-right
697+ Owner Module: 23
698+ Mute: no
699+ Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB
700+ balance 0.00
701+ Base Volume: 65536 / 100% / 0.00 dB
702+ Monitor of Sink: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__sink
703+ Latency: 0 usec, configured 0 usec
704+ Flags: DECIBEL_VOLUME LATENCY
705+ Properties:
706+ device.description = "Monitor of sof-hda-dsp Speaker + Headphones"
707+ device.class = "monitor"
708+ alsa.card = "1"
709+ alsa.card_name = "sof-hda-dsp"
710+ alsa.long_card_name = "LENOVO-21D6000AUS-ThinkPadP16Gen1"
711+ alsa.driver_name = "snd_soc_skl_hda_dsp"
712+ device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
713+ sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1"
714+ device.bus = "pci"
715+ device.vendor.id = "8086"
716+ device.vendor.name = "Intel Corporation"
717+ device.product.id = "7ad0"
718+ device.string = "1"
719+ module-udev-detect.discovered = "1"
720+ device.icon_name = "audio-card-pci"
721+ Formats:
722+ pcm
723+
724+Source #5
725+ State: SUSPENDED
726+ Name: alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__source
727+ Description: sof-hda-dsp Headphones Stereo Microphone
728+ Driver: module-alsa-card.c
729+ Sample Specification: s16le 2ch 48000Hz
730+ Channel Map: front-left,front-right
731+ Owner Module: 23
732+ Mute: no
733+ Volume: front-left: 32768 / 50% / -18.06 dB, front-right: 32768 / 50% / -18.06 dB
734+ balance 0.00
735+ Base Volume: 6554 / 10% / -60.00 dB
736+ Monitor of Sink: n/a
737+ Latency: 0 usec, configured 0 usec
738+ Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
739+ Properties:
740+ alsa.resolution_bits = "16"
741+ device.api = "alsa"
742+ device.class = "sound"
743+ alsa.class = "generic"
744+ alsa.subclass = "generic-mix"
745+ alsa.name = ""
746+ alsa.id = "HDA Analog (*)"
747+ alsa.subdevice = "0"
748+ alsa.subdevice_name = "subdevice #0"
749+ alsa.device = "0"
750+ alsa.card = "1"
751+ alsa.card_name = "sof-hda-dsp"
752+ alsa.long_card_name = "LENOVO-21D6000AUS-ThinkPadP16Gen1"
753+ alsa.driver_name = "snd_soc_skl_hda_dsp"
754+ device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
755+ sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1"
756+ device.bus = "pci"
757+ device.vendor.id = "8086"
758+ device.vendor.name = "Intel Corporation"
759+ device.product.id = "7ad0"
760+ device.string = "_ucm0003.hw:sofhdadsp"
761+ device.buffering.buffer_size = "65536"
762+ device.buffering.fragment_size = "16384"
763+ device.access_mode = "mmap+timer"
764+ device.profile.name = "HiFi: hw:sofhdadsp: source"
765+ device.profile.description = "Headphones Stereo Microphone"
766+ alsa.mixer_device = "_ucm0003.hw:sofhdadsp"
767+ device.description = "sof-hda-dsp Headphones Stereo Microphone"
768+ module-udev-detect.discovered = "1"
769+ device.icon_name = "audio-card-pci"
770+ Ports:
771+ [In] Mic2: Headphones Stereo Microphone (type: Mic, priority: 200, not available)
772+ Active Port: [In] Mic2
773+ Formats:
774+ pcm
775+
776+Source #6
777+ State: SUSPENDED
778+ Name: alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_6__source
779+ Description: sof-hda-dsp Digital Microphone
780+ Driver: module-alsa-card.c
781+ Sample Specification: s16le 2ch 48000Hz
782+ Channel Map: front-left,front-right
783+ Owner Module: 23
784+ Mute: no
785+ Volume: front-left: 35389 / 54% / -16.06 dB, front-right: 35389 / 54% / -16.06 dB
786+ balance 0.00
787+ Base Volume: 30419 / 46% / -20.00 dB
788+ Monitor of Sink: n/a
789+ Latency: 0 usec, configured 0 usec
790+ Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
791+ Properties:
792+ alsa.resolution_bits = "16"
793+ device.api = "alsa"
794+ device.class = "sound"
795+ alsa.class = "generic"
796+ alsa.subclass = "generic-mix"
797+ alsa.name = ""
798+ alsa.id = "DMIC (*)"
799+ alsa.subdevice = "0"
800+ alsa.subdevice_name = "subdevice #0"
801+ alsa.device = "6"
802+ alsa.card = "1"
803+ alsa.card_name = "sof-hda-dsp"
804+ alsa.long_card_name = "LENOVO-21D6000AUS-ThinkPadP16Gen1"
805+ alsa.driver_name = "snd_soc_skl_hda_dsp"
806+ device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
807+ sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1"
808+ device.bus = "pci"
809+ device.vendor.id = "8086"
810+ device.vendor.name = "Intel Corporation"
811+ device.product.id = "7ad0"
812+ device.string = "_ucm0003.hw:sofhdadsp,6"
813+ device.buffering.buffer_size = "65536"
814+ device.buffering.fragment_size = "16384"
815+ device.access_mode = "mmap+timer"
816+ device.profile.name = "HiFi: hw:sofhdadsp,6: source"
817+ device.profile.description = "Digital Microphone"
818+ alsa.mixer_device = "_ucm0003.hw:sofhdadsp"
819+ device.description = "sof-hda-dsp Digital Microphone"
820+ module-udev-detect.discovered = "1"
821+ device.icon_name = "audio-card-pci"
822+ Ports:
823+ [In] Mic1: Digital Microphone (type: Mic, priority: 100, availability unknown)
824+ Active Port: [In] Mic1
825+ Formats:
826+ pcm
827+
828+Client #0
829+ Driver: module-systemd-login.c
830+ Owner Module: 16
831+ Properties:
832+ application.name = "Login Session 2"
833+ systemd-login.session = "2"
834+
835+Client #1
836+ Driver: protocol-native.c
837+ Owner Module: 10
838+ Properties:
839+ application.name = "GNOME Shell Volume Control"
840+ native-protocol.peer = "UNIX socket client"
841+ native-protocol.version = "35"
842+ application.id = "org.gnome.VolumeControl"
843+ application.icon_name = "multimedia-volume-control"
844+ application.version = "42.2"
845+ application.process.id = "2713"
846+ application.process.user = "u"
847+ application.process.host = "Libra-7"
848+ application.process.binary = "gnome-shell"
849+ application.language = "en_US.UTF-8"
850+ window.x11.display = ":1"
851+ application.process.machine_id = "61e38c7b14064a14a33c72b5cd4dae22"
852+
853+Client #2
854+ Driver: protocol-native.c
855+ Owner Module: 10
856+ Properties:
857+ application.name = "GNOME Volume Control Media Keys"
858+ native-protocol.peer = "UNIX socket client"
859+ native-protocol.version = "35"
860+ application.id = "org.gnome.VolumeControl"
861+ application.icon_name = "multimedia-volume-control"
862+ application.version = ""
863+ application.process.id = "3075"
864+ application.process.user = "u"
865+ application.process.host = "Libra-7"
866+ application.process.binary = "gsd-media-keys"
867+ application.language = "en_US.UTF-8"
868+ window.x11.display = ":1"
869+ application.process.machine_id = "61e38c7b14064a14a33c72b5cd4dae22"
870+
871+Client #3
872+ Driver: protocol-native.c
873+ Owner Module: 10
874+ Properties:
875+ application.name = "Terminal"
876+ native-protocol.peer = "UNIX socket client"
877+ native-protocol.version = "35"
878+ application.icon_name = "org.gnome.Terminal"
879+ window.x11.display = ":1"
880+ window.x11.screen = "0"
881+ application.process.id = "5013"
882+ application.process.user = "u"
883+ application.process.host = "Libra-7"
884+ application.process.binary = "gnome-terminal-server"
885+ application.language = "en_US.UTF-8"
886+ application.process.machine_id = "61e38c7b14064a14a33c72b5cd4dae22"
887+
888+Client #6
889+ Driver: protocol-native.c
890+ Owner Module: 10
891+ Properties:
892+ application.name = "gsd-power"
893+ native-protocol.peer = "UNIX socket client"
894+ native-protocol.version = "35"
895+ window.x11.display = ":1"
896+ window.x11.screen = "0"
897+ application.process.id = "3077"
898+ application.process.user = "u"
899+ application.process.host = "Libra-7"
900+ application.process.binary = "gsd-power"
901+ application.language = "en_US.UTF-8"
902+ application.process.machine_id = "61e38c7b14064a14a33c72b5cd4dae22"
903+
904+Client #8
905+ Driver: protocol-native.c
906+ Owner Module: 10
907+ Properties:
908+ application.name = "Mutter"
909+ native-protocol.peer = "UNIX socket client"
910+ native-protocol.version = "35"
911+ application.process.id = "2713"
912+ application.process.user = "u"
913+ application.process.host = "Libra-7"
914+ application.process.binary = "gnome-shell"
915+ application.language = "en_US.UTF-8"
916+ window.x11.display = ":1"
917+ application.process.machine_id = "61e38c7b14064a14a33c72b5cd4dae22"
918+
919+Client #305
920+ Driver: protocol-native.c
921+ Owner Module: 10
922+ Properties:
923+ application.name = "pactl"
924+ native-protocol.peer = "UNIX socket client"
925+ native-protocol.version = "35"
926+ application.process.id = "17081"
927+ application.process.user = "u"
928+ application.process.host = "Libra-7"
929+ application.process.binary = "pactl"
930+ application.language = "en_US.UTF-8"
931+ window.x11.display = ":1"
932+ application.process.machine_id = "61e38c7b14064a14a33c72b5cd4dae22"
933+
934+Sample #0
935+ Name: bell-window-system
936+ Sample Specification: s16le 2ch 44100Hz
937+ Channel Map: front-left,front-right
938+ Volume: (invalid)
939+ balance 0.00
940+ Duration: 0.3s
941+ Size: 49.9 KiB
942+ Lazy: no
943+ Filename: n/a
944+ Properties:
945+ media.role = "event"
946+ event.description = "Bell event"
947+ event.id = "bell-window-system"
948+ media.name = "bell-window-system"
949+ media.filename = "/usr/share//sounds/Yaru/stereo/bell.oga"
950+ application.name = "Mutter"
951+ native-protocol.peer = "UNIX socket client"
952+ native-protocol.version = "35"
953+ application.process.id = "2713"
954+ application.process.user = "u"
955+ application.process.host = "Libra-7"
956+ application.process.binary = "gnome-shell"
957+ application.language = "en_US.UTF-8"
958+ window.x11.display = ":1"
959+ application.process.machine_id = "61e38c7b14064a14a33c72b5cd4dae22"
960+
961+Card #0
962+ Name: alsa_card.pci-0000_01_00.1
963+ Driver: module-alsa-card.c
964+ Owner Module: 22
965+ Properties:
966+ alsa.card = "0"
967+ alsa.card_name = "HDA NVidia"
968+ alsa.long_card_name = "HDA NVidia at 0xbe000000 irq 17"
969+ alsa.driver_name = "snd_hda_intel"
970+ device.bus_path = "pci-0000:01:00.1"
971+ sysfs.path = "/devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card0"
972+ device.bus = "pci"
973+ device.vendor.id = "10de"
974+ device.vendor.name = "NVIDIA Corporation"
975+ device.product.id = "228b"
976+ device.product.name = "GA104 High Definition Audio Controller"
977+ device.string = "0"
978+ device.description = "GA104 High Definition Audio Controller"
979+ module-udev-detect.discovered = "1"
980+ device.icon_name = "audio-card-pci"
981+ Profiles:
982+ output:hdmi-stereo: Digital Stereo (HDMI) Output (sinks: 1, sources: 0, priority: 5900, available: no)
983+ output:hdmi-surround: Digital Surround 5.1 (HDMI) Output (sinks: 1, sources: 0, priority: 800, available: no)
984+ output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output (sinks: 1, sources: 0, priority: 800, available: no)
985+ output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) Output (sinks: 1, sources: 0, priority: 5700, available: no)
986+ output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI 2) Output (sinks: 1, sources: 0, priority: 600, available: no)
987+ output:hdmi-surround71-extra1: Digital Surround 7.1 (HDMI 2) Output (sinks: 1, sources: 0, priority: 600, available: no)
988+ output:hdmi-stereo-extra2: Digital Stereo (HDMI 3) Output (sinks: 1, sources: 0, priority: 5700, available: no)
989+ output:hdmi-surround-extra2: Digital Surround 5.1 (HDMI 3) Output (sinks: 1, sources: 0, priority: 600, available: no)
990+ output:hdmi-surround71-extra2: Digital Surround 7.1 (HDMI 3) Output (sinks: 1, sources: 0, priority: 600, available: no)
991+ output:hdmi-stereo-extra3: Digital Stereo (HDMI 4) Output (sinks: 1, sources: 0, priority: 5700, available: no)
992+ output:hdmi-surround-extra3: Digital Surround 5.1 (HDMI 4) Output (sinks: 1, sources: 0, priority: 600, available: no)
993+ output:hdmi-surround71-extra3: Digital Surround 7.1 (HDMI 4) Output (sinks: 1, sources: 0, priority: 600, available: no)
994+ output:hdmi-stereo-extra4: Digital Stereo (HDMI 5) Output (sinks: 1, sources: 0, priority: 5700, available: no)
995+ output:hdmi-surround-extra4: Digital Surround 5.1 (HDMI 5) Output (sinks: 1, sources: 0, priority: 600, available: no)
996+ output:hdmi-surround71-extra4: Digital Surround 7.1 (HDMI 5) Output (sinks: 1, sources: 0, priority: 600, available: no)
997+ output:hdmi-stereo-extra5: Digital Stereo (HDMI 6) Output (sinks: 1, sources: 0, priority: 5700, available: no)
998+ output:hdmi-surround-extra5: Digital Surround 5.1 (HDMI 6) Output (sinks: 1, sources: 0, priority: 600, available: no)
999+ output:hdmi-surround71-extra5: Digital Surround 7.1 (HDMI 6) Output (sinks: 1, sources: 0, priority: 600, available: no)
1000+ output:hdmi-stereo-extra6: Digital Stereo (HDMI 7) Output (sinks: 1, sources: 0, priority: 5700, available: no)
1001+ output:hdmi-surround-extra6: Digital Surround 5.1 (HDMI 7) Output (sinks: 1, sources: 0, priority: 600, available: no)
1002+ output:hdmi-surround71-extra6: Digital Surround 7.1 (HDMI 7) Output (sinks: 1, sources: 0, priority: 600, available: no)
1003+ off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
1004+ Active Profile: off
1005+ Ports:
1006+ hdmi-output-0: HDMI / DisplayPort (type: HDMI, priority: 5900, latency offset: 0 usec, not available)
1007+ Properties:
1008+ device.icon_name = "video-display"
1009+ Part of profile(s): output:hdmi-stereo, output:hdmi-surround, output:hdmi-surround71
1010+ hdmi-output-1: HDMI / DisplayPort 2 (type: HDMI, priority: 5800, latency offset: 0 usec, not available)
1011+ Properties:
1012+ device.icon_name = "video-display"
1013+ Part of profile(s): output:hdmi-stereo-extra1, output:hdmi-surround-extra1, output:hdmi-surround71-extra1
1014+ hdmi-output-2: HDMI / DisplayPort 3 (type: HDMI, priority: 5700, latency offset: 0 usec, not available)
1015+ Properties:
1016+ device.icon_name = "video-display"
1017+ Part of profile(s): output:hdmi-stereo-extra2, output:hdmi-surround-extra2, output:hdmi-surround71-extra2
1018+ hdmi-output-3: HDMI / DisplayPort 4 (type: HDMI, priority: 5600, latency offset: 0 usec, not available)
1019+ Properties:
1020+ device.icon_name = "video-display"
1021+ Part of profile(s): output:hdmi-stereo-extra3, output:hdmi-surround-extra3, output:hdmi-surround71-extra3
1022+ hdmi-output-4: HDMI / DisplayPort 5 (type: HDMI, priority: 5500, latency offset: 0 usec, not available)
1023+ Properties:
1024+ device.icon_name = "video-display"
1025+ Part of profile(s): output:hdmi-stereo-extra4, output:hdmi-surround-extra4, output:hdmi-surround71-extra4
1026+ hdmi-output-5: HDMI / DisplayPort 6 (type: HDMI, priority: 5400, latency offset: 0 usec, not available)
1027+ Properties:
1028+ device.icon_name = "video-display"
1029+ Part of profile(s): output:hdmi-stereo-extra5, output:hdmi-surround-extra5, output:hdmi-surround71-extra5
1030+ hdmi-output-6: HDMI / DisplayPort 7 (type: HDMI, priority: 5300, latency offset: 0 usec, not available)
1031+ Properties:
1032+ device.icon_name = "video-display"
1033+ Part of profile(s): output:hdmi-stereo-extra6, output:hdmi-surround-extra6, output:hdmi-surround71-extra6
1034+
1035+Card #1
1036+ Name: alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic
1037+ Driver: module-alsa-card.c
1038+ Owner Module: 23
1039+ Properties:
1040+ alsa.card = "1"
1041+ alsa.card_name = "sof-hda-dsp"
1042+ alsa.long_card_name = "LENOVO-21D6000AUS-ThinkPadP16Gen1"
1043+ alsa.driver_name = "snd_soc_skl_hda_dsp"
1044+ device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
1045+ sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1"
1046+ device.bus = "pci"
1047+ device.vendor.id = "8086"
1048+ device.vendor.name = "Intel Corporation"
1049+ device.product.id = "7ad0"
1050+ device.string = "1"
1051+ device.description = "sof-hda-dsp"
1052+ module-udev-detect.discovered = "1"
1053+ device.icon_name = "audio-card-pci"
1054+ Profiles:
1055+ HiFi: Play HiFi quality Music (sinks: 4, sources: 2, priority: 40768, available: yes)
1056+ off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
1057+ Active Profile: HiFi
1058+ Ports:
1059+ [Out] HDMI3: HDMI / DisplayPort 3 Output (type: HDMI, priority: 700, latency offset: 0 usec, not available)
1060+ Part of profile(s): HiFi
1061+ [Out] HDMI2: HDMI / DisplayPort 2 Output (type: HDMI, priority: 600, latency offset: 0 usec, not available)
1062+ Part of profile(s): HiFi
1063+ [Out] HDMI1: HDMI / DisplayPort 1 Output (type: HDMI, priority: 500, latency offset: 0 usec, not available)
1064+ Part of profile(s): HiFi
1065+ [Out] Speaker: Speaker (type: Speaker, priority: 100, latency offset: 0 usec, availability unknown)
1066+ Part of profile(s): HiFi
1067+ [Out] Headphones: Headphones (type: Headphones, priority: 200, latency offset: 0 usec, not available)
1068+ Part of profile(s): HiFi
1069+ [In] Mic2: Headphones Stereo Microphone (type: Mic, priority: 200, latency offset: 0 usec, not available)
1070+ Part of profile(s): HiFi
1071+ [In] Mic1: Digital Microphone (type: Mic, priority: 100, latency offset: 0 usec, availability unknown)
1072+ Part of profile(s): HiFi
1073diff --git a/checkbox_support/parsers/tests/pactl_data/sinks-desktop-jammy-p16gen1.txt b/checkbox_support/parsers/tests/pactl_data/sinks-desktop-jammy-p16gen1.txt
1074new file mode 100644
1075index 0000000..aa4b5ed
1076--- /dev/null
1077+++ b/checkbox_support/parsers/tests/pactl_data/sinks-desktop-jammy-p16gen1.txt
1078@@ -0,0 +1,52 @@
1079+Sink #4
1080+ State: SUSPENDED
1081+ Name: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__sink
1082+ Description: sof-hda-dsp Speaker + Headphones
1083+ Driver: module-alsa-card.c
1084+ Sample Specification: s16le 2ch 48000Hz
1085+ Channel Map: front-left,front-right
1086+ Owner Module: 23
1087+ Mute: no
1088+ Volume: front-left: 36700 / 56% / -15.11 dB, front-right: 36700 / 56% / -15.11 dB
1089+ balance 0.00
1090+ Base Volume: 65536 / 100% / 0.00 dB
1091+ Monitor Source: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__sink.monitor
1092+ Latency: 0 usec, configured 0 usec
1093+ Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
1094+ Properties:
1095+ alsa.resolution_bits = "16"
1096+ device.api = "alsa"
1097+ device.class = "sound"
1098+ alsa.class = "generic"
1099+ alsa.subclass = "generic-mix"
1100+ alsa.name = ""
1101+ alsa.id = "HDA Analog (*)"
1102+ alsa.subdevice = "0"
1103+ alsa.subdevice_name = "subdevice #0"
1104+ alsa.device = "0"
1105+ alsa.card = "1"
1106+ alsa.card_name = "sof-hda-dsp"
1107+ alsa.long_card_name = "LENOVO-21D6000AUS-ThinkPadP16Gen1"
1108+ alsa.driver_name = "snd_soc_skl_hda_dsp"
1109+ device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
1110+ sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1"
1111+ device.bus = "pci"
1112+ device.vendor.id = "8086"
1113+ device.vendor.name = "Intel Corporation"
1114+ device.product.id = "7ad0"
1115+ device.string = "_ucm0003.hw:sofhdadsp"
1116+ device.buffering.buffer_size = "65536"
1117+ device.buffering.fragment_size = "16384"
1118+ device.access_mode = "mmap+timer"
1119+ device.profile.name = "HiFi: hw:sofhdadsp: sink"
1120+ device.profile.description = "Speaker + Headphones"
1121+ alsa.mixer_device = "_ucm0003.hw:sofhdadsp"
1122+ device.description = "sof-hda-dsp Speaker + Headphones"
1123+ module-udev-detect.discovered = "1"
1124+ device.icon_name = "audio-card-pci"
1125+ Ports:
1126+ [Out] Speaker: Speaker (type: Speaker, priority: 100, availability unknown)
1127+ [Out] Headphones: Headphones (type: Headphones, priority: 200, not available)
1128+ Active Port: [Out] Speaker
1129+ Formats:
1130+ pcm
1131\ No newline at end of file
1132diff --git a/checkbox_support/parsers/tests/test_pactl.py b/checkbox_support/parsers/tests/test_pactl.py
1133index 876d3d9..cee0ff9 100644
1134--- a/checkbox_support/parsers/tests/test_pactl.py
1135+++ b/checkbox_support/parsers/tests/test_pactl.py
1136@@ -202,6 +202,17 @@ class PortTests(ParsingTestCase):
1137 self.assertEqual(port.priority, 100)
1138 self.assertEqual(port.availability, 'not available')
1139
1140+ def test_port_with_(self):
1141+ port = self.assertParses(
1142+ pactl.Port.Syntax, (
1143+ 'analog-input-internal-mic: Internal Microphone '
1144+ '(type: Mic, priority: 8900, availability unknown)')
1145+ )['port']
1146+ self.assertEqual(port.name, 'analog-input-internal-mic')
1147+ self.assertEqual(port.label, 'Internal Microphone')
1148+ self.assertEqual(port.priority, 8900)
1149+ self.assertEqual(port.availability, 'availability unknown')
1150+
1151 def test_chinese_label(self):
1152 port = self.assertParses(
1153 pactl.Port.Syntax, (
1154@@ -605,6 +616,25 @@ class RecordTests(ParsingTestCase, PactlDataMixIn):
1155 self.assertEqual(
1156 record.attribute_map['Formats'].value, ['pcm'])
1157
1158+ def test_sinks_p16gen1(self):
1159+ record = self.assertParses(
1160+ pactl.Record.Syntax, self.get_text("sinks-desktop-jammy-p16gen1")
1161+ )['record']
1162+ self.assertEqual(record.name, "Sink #4")
1163+ self.assertEqual(record.attribute_list[0].name, "State")
1164+ self.assertIs(record.attribute_map['State'], record.attribute_list[0])
1165+ # Probe some random things
1166+ self.assertEqual(
1167+ record.attribute_map['Ports'].value[0].name, "Speaker")
1168+ self.assertEqual(
1169+ record.attribute_map['Ports'].value[0].availability, "availability unknown")
1170+ self.assertEqual(
1171+ record.attribute_map['Ports'].value[1].name, "Headphones")
1172+ self.assertEqual(
1173+ record.attribute_map['Properties'].value[2].value, "sound")
1174+ self.assertEqual(
1175+ record.attribute_map['Formats'].value, ['pcm'])
1176+
1177 def test_modules(self):
1178 record = self.assertParses(
1179 pactl.Record.Syntax, self.get_text("modules-desktop-precise-0")
1180@@ -646,6 +676,12 @@ class DocumentTests(ParsingTestCase, PactlDataMixIn):
1181 )[0]
1182 self.assertEqual(len(document.record_list), 1)
1183
1184+ def test_pactl_list_sinks_p16gen1(self):
1185+ document = self.assertParses(
1186+ pactl.Document.Syntax, self.get_text("sinks-desktop-jammy-p16gen1")
1187+ )[0]
1188+ self.assertEqual(len(document.record_list), 1)
1189+
1190 def test_pactl_list_cards(self):
1191 document = self.assertParses(
1192 pactl.Document.Syntax, self.get_text("cards-desktop-precise")
1193@@ -664,6 +700,12 @@ class DocumentTests(ParsingTestCase, PactlDataMixIn):
1194 )[0]
1195 self.assertEqual(len(document.record_list), 1)
1196
1197+ def test_pactl_list_cards_p16gen1(self):
1198+ document = self.assertParses(
1199+ pactl.Document.Syntax, self.get_text("desktop-jammy-p16gen1")
1200+ )[0]
1201+ self.assertEqual(len(document.record_list), 43)
1202+
1203 def test_pactl_list_clients_bionic(self):
1204 document = self.assertParses(
1205 pactl.Document.Syntax, self.get_text("desktop-bionic-t480s")

Subscribers

People subscribed via source and target branches