diff --git a/docs/reviews/2026-10-01-settings-polish.md b/docs/reviews/2026-10-01-settings-polish.md new file mode 100644 index 0000000..1bc15cf --- /dev/null +++ b/docs/reviews/2026-10-01-settings-polish.md @@ -0,0 +1,236 @@ +# Settings polish after PR #3/#4 + +Base: `ad4178d` (main). Branch: `codex/settings-polish`. Linux only. The unrelated +Qt bug-report work remains in its original worktree, outside these commits. + +## Invariants and scope + +Formatting must preserve every touched module's AST. Settings Save must apply +all replayed operations or restore the pre-Save project without saving or losing +the draft. Compact inheritance fields own their label, editor, source and Reset; +existing dialog rows and application settings semantics remain unchanged. + +The existing adopt rollback path and ElidedLabel are reused. No new dependency, +transaction layer, settings authority or application architecture is introduced. + +## Commit 1 — formatting only + +Only `settings.py`, `settings_schema.py`, `settings_fields.py`, +`settings_components.py`, `preferences.py` and `inspector.py` were formatted. +`app.py` and `ui.py` were untouched. Long text literals were split using implicit +concatenation; no wording changed. The schema was also wrapped for readability. + +Analysis tools were installed only into `artifacts/settings-polish/analysis`: + +```sh +python3 -m venv artifacts/settings-polish/analysis +artifacts/settings-polish/analysis/bin/pip install black autopep8 pycodestyle ruff +artifacts/settings-polish/analysis/bin/black -S -l 120 \ + src/autotalk/settings{,_schema,_fields,_components}.py \ + src/autotalk/{preferences,inspector}.py +python3 docs/reviews/evidence/2026-10-01-settings-polish/check-formatting.py +artifacts/settings-polish/analysis/bin/pycodestyle --select=E225,E231,E702 \ + src/autotalk/settings{,_schema,_fields,_components}.py \ + src/autotalk/{preferences,inspector}.py +PYTHONPATH="$PWD/src" AUTOTALK_TEST_WM=1 .venv/bin/python \ + docs/reviews/evidence/2026-10-01-settings-refactor/full-tests.py settings-polish-c1 +``` + +The initial schema-only spacing pass used `autopep8 --select E225,E231,E702`; +Black then formatted all six files. Black leaves long strings intact, so seven +strings were split manually and Black/AST checks repeated. The recorded +[script and output](evidence/2026-10-01-settings-polish/ast-identity.txt) prove +all six ASTs identical against `ad4178d`. All physical source lines are at most +120 characters. pycodestyle reports **0 findings** for E225/E231/E702. + +Accounting: **+582 / −206 = +376 production lines**, all formatting; **0 test +lines changed**. Evidence scripts are reported separately from production/tests. +The corrected PR B production delta is **+482**, exceeding its +150 ceiling by +332; the addendum to the PR B report explicitly corrects the compressed-code count. + +Formatting verification initially found one E231 inside an f-string that Black +left intact. The comma spacing was corrected and AST/pycodestyle checks repeated +successfully. No AST mismatch occurred. + +Baseline captures use `capture.py before ../AutoTalk/src`, importing the unchanged +`ad4178d` production tree from the original worktree. All 32 captures succeeded: +Fusion for the wheel, Breeze for native; both palettes, both scales, both main +window sizes and 760×580/920×760 talk Timing & playback pages. The minimum-width +inspector has horizontal clipping and stacked source/Reset rows before F4. + +Commit 1 full-suite results: **561 passed** on the stock wheel (185.01 s), and +**561 passed** on native Qt/Breeze (234.45 s). The existing driver ran both +stacks against this worktree with a private null audio sink; logs and audio +snapshots are in `evidence/2026-10-01-settings-polish/commit1`. + +Audio audit limitation: all physical volumes/ports and source mute states stayed +unchanged, but four physical sink mute flags changed from true to false during +this run. The driver/capture commands only create/remove named null sinks; the +Linux audio test only changes its own named test sink. No command in this work +sets a physical sink's mute state. The cause of the observed change is unproven; +we did not reset the user's current audio state. Thus this report does not claim +physical mute-state identity for the first run. Private portal/desktop teardown +warnings appear after pytest and are retained in the logs. + +## Commit 2 — fixes + +- **F1:** the Preferences link uses `&&` in Qt source text, rendering the literal + “Display & sound settings…”. The guard inspects every QAbstractButton, QAction + and tab label under the main window, all three scoped dialogs and Preferences. + Breeze also supplies intentional native `&Save`, `&Cancel` and `&Close` labels. + To satisfy the requested universal raw-text guard without changing their + keyboard shortcuts, SectionDialog now initializes standard buttons in one + shared method: retain each Qt-provided shortcut, remove mnemonic markup from + its caption, restore the shortcut. Tests compare those shortcuts with a fresh + native QDialogButtonBox. No native label is hardcoded or dependency patched. +- **F2:** Save snapshots the live project before replay. An exception restores it + through `adopt`, keeps the draft/operation log/dialog open, restores the dirty + flag and reports the error in dialog status. Because adopt increments the + generation, the restored dialog's generation is aligned for retry. Defaults + still replay into a fresh Project; defaults/QSettings are assigned only after + every operation succeeds. Tests inject exceptions **after** operation 1 or 2 + actually mutates its target, across all three scopes and both dirty states. + They check whole-project equality, unchanged manifest bytes/mtime, unchanged + draft/log/defaults, no Save call, and successful second Save after fault removal. +- **F3:** removed the unused presenter `slide` assignment. +- **F4:** compact fields own a single title/source/Reset line above the editor. + The existing ElidedLabel supplies the full source tooltip. Titles stay on one + line; the caption is right-aligned and can shrink. Vertical spacing is 10 px, + matching inspector rows. The inspector scroll area reserves its native + scrollbar width in addition to the 200 px content minimum, fixing the Breeze + overflow rather than hiding a scrollbar or clipping controls. Non-compact + dialog field layout is unchanged. + +Functional production delta against `de09443`: **+48 / −14 = +34 lines**, within ++40. This includes the shared standard-button initializer and native scrollbar +allowance. The snapshot/exception boundary cannot be replaced by removing code: +partial live replay must be undone. The existing adopt path is reused rather +than introducing a second transaction implementation. No new runtime dependency +or settings schema/resolution change was made. + +## Functional verification commands + +```sh +PYTHONPATH="$PWD/src" AUTOTALK_TEST_WM=1 \ +AUTOTALK_PYTEST_ARGS='tests/test_settings_polish.py tests/test_settings_drafts.py tests/test_ux_placement.py tests/test_ui_ownership.py' \ +.venv/bin/python docs/reviews/evidence/2026-10-01-settings-refactor/full-tests.py settings-polish-focused-final +PYTHONPATH="$PWD/src" AUTOTALK_TEST_WM=1 .venv/bin/python \ + docs/reviews/evidence/2026-10-01-settings-refactor/full-tests.py settings-polish-c2 +artifacts/settings-polish/analysis/bin/ruff check --select F src +artifacts/settings-polish/analysis/bin/pycodestyle --select=E225,E231,E702 \ + src/autotalk/settings{,_schema,_fields,_components}.py \ + src/autotalk/{preferences,inspector}.py +.venv/bin/python docs/reviews/evidence/2026-10-01-settings-polish/capture.py after +python3 docs/reviews/evidence/2026-10-01-settings-polish/compare-screens.py +``` + +The existing full-suite driver records exact subprocesses/environments and runs +both stacks despite failure on either. PYTHONPATH selects the worktree source; +the native environment retains the existing Qt Multimedia cleanup patch. Focused +final checks passed **88 tests on each stack** (32.69 s wheel, 44.58 s native). +The last caption-alignment adjustment followed that focused run and is covered +by the subsequent final full-suite verification and recaptured visual matrix. +The commit 1 AST script is intended to run at `de09443`; commit 2 deliberately +changes behavior and thus changes ASTs. + +## Visual comparison + +The evidence contains **32 baseline and 32 final captures**, plus four labelled +before/after review sheets and a JSON pixel-difference bounding-box inventory. +Both palettes and scales are included for main sizes 940×680 and 1100×850 and +talk Timing & playback sizes 760×580 and 920×760. Fusion is the wheel's native +available widget style; the system build uses Breeze. Palettes are changed only +inside the test process. The same presentation and capture script are used at +`ad4178d` and after the fixes. + +All four comparison sheets were inspected, with full-size checks of the small +Breeze and Fusion inspectors and the Breeze Timing & playback page. Intended +changes: the literal ampersand appears; source/Reset moves beside the field title; +vertical stacking shrinks; the minimum inspector reserves scrollbar space and +no longer clips its right edge. Captions elide with full tooltips, Reset stays +visible, and wider windows expose more of the inspector below Timing. At the +minimum size the inspector content is exactly 200 logical pixels on both stacks +and scales. Existing vertical scrolling remains for content below the viewport. +Dialog sections, non-compact fields, Save/Cancel placement, themes and styling +are otherwise unchanged. + +## Failed attempts and corrections + +- The first focused run passed 88 tests on the wheel but had **2 failures / 86 + passed** on Breeze: native standard-button mnemonic markers failed the literal + guard, and the 200 px outer scroll area left too little width for its content. +- Initial compact screenshots also showed “Pause after slide” wrapping. Titles + now do not wrap, header gaps are 5 px, and the scroll container reserves native + scrollbar width. A dedicated rerun passed both layout cases on both stacks. +- The strict mnemonic guard remains universal; it was not weakened to ignore + native button boxes. Native shortcut comparisons were added instead. +- Final visual inspection prompted explicit right alignment of source captions. + The visual matrix was recaptured after that final adjustment. +- The audio snapshot assertion for commit 1 did not pass because physical sink + mute flags changed during the run, as recorded above. No physical audio control + was changed to make that comparison pass. +- Private desktop/portal teardown warnings are retained separately from pytest + outcomes. No Qt, driver, test marker or application dependency was modified. + +The initial full wheel run passed 576 tests (191.91 s), but started before the +last source-caption alignment adjustment. Its log is retained as an intermediate +attempt, not the final wheel result. The final wheel suite is rerun with: + +```sh +PYTHONPATH="$PWD/src" AUTOTALK_TEST_WM=1 .venv/bin/python \ + docs/reviews/evidence/2026-10-01-settings-refactor/full-tests.py settings-polish-c2-final-wheel wheel +``` + +That repeat and the final native run use frozen final source, independent private +Xvfb/WM sessions and separately named null sinks. Runtime version probes confirm +wheel Qt **6.11.2** and native Qt **6.10.2**. The final static checks also confirm +all six formatted modules still have no physical lines over 120 characters. + +A full native run then found two pre-existing assertions in +`test_inspector_source_pause_and_delivery_independence` which required the entire +source caption in `.text()`. Its result was **2 failed / 574 passed** (247.33 s). +Those assertions are incompatible with the explicitly requested elision. The +source assertion now checks the full tooltip and additionally checks that the +visible text equals Qt's font-metric elision result. All pause persistence, +inheritance and delivery-independence assertions remain. The aligned wheel run +passed 576 tests before this test-contract update; it is retained as intermediate +coverage. Final full suites use the updated test on both stacks: + +```sh +PYTHONPATH="$PWD/src" AUTOTALK_TEST_WM=1 .venv/bin/python \ + docs/reviews/evidence/2026-10-01-settings-refactor/full-tests.py settings-polish-release-wheel wheel +PYTHONPATH="$PWD/src" AUTOTALK_TEST_WM=1 .venv/bin/python \ + docs/reviews/evidence/2026-10-01-settings-refactor/full-tests.py settings-polish-release-native native +``` + +## Final results and accounting + +| Commit | Stock Qt 6.11.2 | Native Qt 6.10.2/Breeze | Production delta | Test delta | +| --- | --- | --- | --- | --- | +| 1, formatting (`de09443`) | 561 passed, 185.01 s | 561 passed, 234.45 s | +582 / −206 = **+376** | **0** | +| 2, functional, against commit 1 | 576 passed, 191.24 s | 576 passed, 245.97 s | +48 / −14 = **+34** (ceiling +40) | +145 / −2 = **+143** | + +Both final driver statuses are zero. All tests, including existing placement, +settings tab order, navigation, readiness and draft lifecycle checks, ran; no test +was removed or marked out. Fifteen parametrized cases were added. Two existing +raw-label assertions were adapted to the specified literal-ampersand/elision +contracts while preserving their behavioral assertions. Evidence/capture scripts +and reports are not included in production or test-file accounting. + +Final `ruff check --select F src`: **0 findings**. Final pycodestyle selection: +**0 findings**. `git diff --check` is clean. The final diff was reviewed for new +state, duplicate policy and unnecessary mechanisms: rollback uses the existing +project owner/adopt path, compact display uses the existing eliding widget, and +standard-button setup has one owner. No parallel settings implementation remains. + +The final wheel/native audio snapshots each show all four physical ALSA sinks +and six ALSA sources/monitors unchanged in mute, volume and active port. Test +null sinks were removed by the driver. This final audit does not erase the +separately documented commit 1 mute-state discrepancy. + +Final full logs and audio snapshots are in +[`evidence/2026-10-01-settings-polish/commit2`](evidence/2026-10-01-settings-polish/commit2). +The [comparison sheets](evidence/2026-10-01-settings-polish/comparisons) cover all +32 before/after pairs and were reinspected after the final alignment change. +This verification is Linux-only; it makes no Windows/macOS or new GPU/Wayland +recording qualification claim. diff --git a/docs/reviews/2026-10-01-settings-refactor.md b/docs/reviews/2026-10-01-settings-refactor.md index 44ee1b7..c7c81ad 100644 --- a/docs/reviews/2026-10-01-settings-refactor.md +++ b/docs/reviews/2026-10-01-settings-refactor.md @@ -245,3 +245,18 @@ No runtime dependencies changed. randomized replay compares the whole project after normalizing version IDs. - All source/test/doc whitespace checks pass. Evidence logs have trailing spaces stripped; messages and results are otherwise preserved. + +## Accounting correction after formatting (settings polish, commit 1) + +The earlier **+106** production figure was measured on compressed code. Applying +normal spacing, one statement per line and a 120-character wrap to the six +settings/inspector modules adds **376 formatting lines** without changing their +ASTs. `settings_components.py` grows from 481 to 607 lines with the recorded +formatter/options; the exact count differs from the steering example's 610. + +The corrected PR B figure against `c109626`, including `tools/bench_ui.py`, is +**+1621 / −1139 = +482 production lines**. This **exceeds the +150 ceiling by +332 lines**. The former claim that PR B was below that ceiling did not reflect +its normally formatted size. These numbers include formatting only, not the +subsequent functional polish fixes. See the +[polish report](2026-10-01-settings-polish.md) for commands and AST evidence. diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/analysis-tool-versions.txt b/docs/reviews/evidence/2026-10-01-settings-polish/analysis-tool-versions.txt new file mode 100644 index 0000000..62fb3f6 --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/analysis-tool-versions.txt @@ -0,0 +1,10 @@ +autopep8==2.3.2 +black==26.5.1 +click==8.5.0 +mypy_extensions==1.1.0 +packaging==26.3 +pathspec==1.1.1 +platformdirs==4.12.2 +pycodestyle==2.15.0 +pytokens==0.4.1 +ruff==0.16.9 diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/ast-identity.txt b/docs/reviews/evidence/2026-10-01-settings-polish/ast-identity.txt new file mode 100644 index 0000000..c90c9a2 --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/ast-identity.txt @@ -0,0 +1,7 @@ +src/autotalk/settings.py: AST identical; 357 -> 424 lines +src/autotalk/settings_schema.py: AST identical; 92 -> 195 lines +src/autotalk/settings_fields.py: AST identical; 82 -> 85 lines +src/autotalk/settings_components.py: AST identical; 481 -> 607 lines +src/autotalk/preferences.py: AST identical; 119 -> 179 lines +src/autotalk/inspector.py: AST identical; 80 -> 97 lines +PASS: all six module ASTs are identical (location attributes excluded). diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/attempts/aligned-full-wheel.log b/docs/reviews/evidence/2026-10-01-settings-polish/attempts/aligned-full-wheel.log new file mode 100644 index 0000000..83a8019 --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/attempts/aligned-full-wheel.log @@ -0,0 +1,47 @@ +dbus-daemon[3568066]: [session uid=1000 pid=3568066 pidfd=5] Activating service name='org.a11y.Bus' requested by ':1.0' (uid=1000 pid=3568071 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3568066]: [session uid=1000 pid=3568066 pidfd=5] Successfully activated service 'org.a11y.Bus' +dbus-daemon[3568066]: [session uid=1000 pid=3568066 pidfd=5] Activating service name='org.gtk.vfs.Daemon' requested by ':1.2' (uid=1000 pid=3568071 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3568066]: [session uid=1000 pid=3568066 pidfd=5] Successfully activated service 'org.gtk.vfs.Daemon' +dbus-daemon[3568088]: Activating service name='org.a11y.atspi.Registry' requested by ':1.1' (uid=1000 pid=3568071 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3568066]: [session uid=1000 pid=3568066 pidfd=5] Activating service name='org.xfce.Xfconf' requested by ':1.2' (uid=1000 pid=3568071 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3568088]: Successfully activated service 'org.a11y.atspi.Registry' +SpiRegistry daemon is running with well-known name - org.a11y.atspi.Registry +dbus-daemon[3568066]: [session uid=1000 pid=3568066 pidfd=5] Successfully activated service 'org.xfce.Xfconf' +dbus-daemon[3568066]: [session uid=1000 pid=3568066 pidfd=5] Activating service name='org.freedesktop.portal.Desktop' requested by ':1.7' (uid=1000 pid=3568135 comm=".venv/bin/python -m pytest -q" label="unconfined") +dbus-daemon[3568066]: [session uid=1000 pid=3568066 pidfd=5] Activating service name='org.freedesktop.impl.portal.PermissionStore' requested by ':1.8' (uid=1000 pid=3568221 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3568066]: [session uid=1000 pid=3568066 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.PermissionStore' +dbus-daemon[3568066]: [session uid=1000 pid=3568066 pidfd=5] Activating service name='org.freedesktop.portal.Documents' requested by ':1.8' (uid=1000 pid=3568221 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3568066]: [session uid=1000 pid=3568066 pidfd=5] Successfully activated service 'org.freedesktop.portal.Documents' + +(/usr/libexec/xdg-desktop-portal:3568221): xdg-desktop-portal-WARNING **: 09:48:50.445: Choosing gtk.portal for org.freedesktop.impl.portal.Lockdown as a last-resort fallback +dbus-daemon[3568066]: [session uid=1000 pid=3568066 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.gtk' requested by ':1.8' (uid=1000 pid=3568221 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3568066]: [session uid=1000 pid=3568066 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.gtk' +dbus-daemon[3568066]: [session uid=1000 pid=3568066 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kde' requested by ':1.8' (uid=1000 pid=3568221 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3568066]: [session uid=1000 pid=3568066 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kde' +xdp-kde-clipboard: Couldn't resolve QWaylandApplication - clipboard will not work +dbus-daemon[3568066]: [session uid=1000 pid=3568066 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kwallet' requested by ':1.8' (uid=1000 pid=3568221 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3568066]: [session uid=1000 pid=3568066 pidfd=5] Successfully activated service 'org.freedesktop.portal.Desktop' +kf.wallet.ksecretd: Lacking a socket, pipe: 0 env: 0 +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +dbus-daemon[3568066]: [session uid=1000 pid=3568066 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kwallet' +dbus-daemon[3568066]: [session uid=1000 pid=3568066 pidfd=5] Activating service name='org.gtk.vfs.Metadata' requested by ':1.2' (uid=1000 pid=3568071 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3568066]: [session uid=1000 pid=3568066 pidfd=5] Successfully activated service 'org.gtk.vfs.Metadata' +........................................................................ [ 12%] +........................................................................ [ 25%] +........................................................................ [ 37%] +........................................................................ [ 50%] +........................................................................ [ 62%] +........................................................................ [ 75%] +........................ +(/usr/libexec/xdg-desktop-portal:3568221): xdg-desktop-portal-WARNING **: 09:51:15.961: Realtime error: Could not map tid 3570917 of pid 3568135: Process ids could not be found: 3570917 +................................................ [ 87%] +........................................................................ [100%] +576 passed in 192.40s (0:03:12) +A connection to the bus can't be made + +(xfconfd:3568105): xfconfd-WARNING **: 09:52:02.850: Name org.xfce.Xfconf lost on the message dbus, exiting. +The X11 connection broke (error 1). Did the X11 server die? +The X11 connection broke (error 1). Did the X11 server die? +KCrash: Application 'xdg-desktop-portal-kde' crashing... crashRecursionCounter = 2 diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/attempts/intermediate-full-native.log b/docs/reviews/evidence/2026-10-01-settings-polish/attempts/intermediate-full-native.log new file mode 100644 index 0000000..f3b7622 --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/attempts/intermediate-full-native.log @@ -0,0 +1,97 @@ +dbus-daemon[3566153]: [session uid=1000 pid=3566153 pidfd=5] Activating service name='org.a11y.Bus' requested by ':1.0' (uid=1000 pid=3566155 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3566153]: [session uid=1000 pid=3566153 pidfd=5] Successfully activated service 'org.a11y.Bus' +dbus-daemon[3566153]: [session uid=1000 pid=3566153 pidfd=5] Activating service name='org.gtk.vfs.Daemon' requested by ':1.2' (uid=1000 pid=3566155 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3566153]: [session uid=1000 pid=3566153 pidfd=5] Successfully activated service 'org.gtk.vfs.Daemon' +dbus-daemon[3566172]: Activating service name='org.a11y.atspi.Registry' requested by ':1.1' (uid=1000 pid=3566155 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3566153]: [session uid=1000 pid=3566153 pidfd=5] Activating service name='org.xfce.Xfconf' requested by ':1.2' (uid=1000 pid=3566155 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3566172]: Successfully activated service 'org.a11y.atspi.Registry' +SpiRegistry daemon is running with well-known name - org.a11y.atspi.Registry +dbus-daemon[3566153]: [session uid=1000 pid=3566153 pidfd=5] Successfully activated service 'org.xfce.Xfconf' +dbus-daemon[3566153]: [session uid=1000 pid=3566153 pidfd=5] Activating service name='org.freedesktop.portal.Desktop' requested by ':1.7' (uid=1000 pid=3566224 comm="artifacts/open-tasks/venv-qt610/bin/python -m pyte" label="unconfined") +dbus-daemon[3566153]: [session uid=1000 pid=3566153 pidfd=5] Activating service name='org.freedesktop.impl.portal.PermissionStore' requested by ':1.8' (uid=1000 pid=3566257 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3566153]: [session uid=1000 pid=3566153 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.PermissionStore' +dbus-daemon[3566153]: [session uid=1000 pid=3566153 pidfd=5] Activating service name='org.freedesktop.portal.Documents' requested by ':1.8' (uid=1000 pid=3566257 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3566153]: [session uid=1000 pid=3566153 pidfd=5] Successfully activated service 'org.freedesktop.portal.Documents' + +(/usr/libexec/xdg-desktop-portal:3566257): xdg-desktop-portal-WARNING **: 09:47:13.934: Choosing gtk.portal for org.freedesktop.impl.portal.Lockdown as a last-resort fallback +dbus-daemon[3566153]: [session uid=1000 pid=3566153 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.gtk' requested by ':1.8' (uid=1000 pid=3566257 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3566153]: [session uid=1000 pid=3566153 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.gtk' +dbus-daemon[3566153]: [session uid=1000 pid=3566153 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kde' requested by ':1.8' (uid=1000 pid=3566257 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3566153]: [session uid=1000 pid=3566153 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kde' +xdp-kde-clipboard: Couldn't resolve QWaylandApplication - clipboard will not work +dbus-daemon[3566153]: [session uid=1000 pid=3566153 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kwallet' requested by ':1.8' (uid=1000 pid=3566257 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3566153]: [session uid=1000 pid=3566153 pidfd=5] Successfully activated service 'org.freedesktop.portal.Desktop' +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +kf.wallet.ksecretd: Lacking a socket, pipe: 0 env: 0 +dbus-daemon[3566153]: [session uid=1000 pid=3566153 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kwallet' +dbus-daemon[3566153]: [session uid=1000 pid=3566153 pidfd=5] Activating service name='org.gtk.vfs.Metadata' requested by ':1.2' (uid=1000 pid=3566155 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3566153]: [session uid=1000 pid=3566153 pidfd=5] Successfully activated service 'org.gtk.vfs.Metadata' +........................................................................ [ 12%] +........................................................................ [ 25%] +........................................................................ [ 37%] +........................................................................ [ 50%] +........................................................................ [ 62%] +........................................................................ [ 75%] +........................ +(/usr/libexec/xdg-desktop-portal:3566257): xdg-desktop-portal-WARNING **: 09:50:20.430: Realtime error: Could not map tid 3569990 of pid 3566224: Process ids could not be found: 3569990 +................................................ [ 87%] +........................................FF.............................. [100%] +=================================== FAILURES =================================== +_________ test_inspector_source_pause_and_delivery_independence[False] _________ + +qtbot = +project = Project(root=PosixPath('/tmp/pytest-of-voc/pytest-423/test_inspector_source_pause_an0/talk'), title='slides', target_m...{'voice': Voice(name='Ryan', source='CustomVoice', speaker='Ryan', description='', references={}, origin='reference')}) +talk_override = False + + @pytest.mark.parametrize('talk_override', [False, True]) + def test_inspector_source_pause_and_delivery_independence(qtbot, project, talk_override): + project.defaults['after'] = 'demo' + if talk_override: + project.set_setting('after', 'pause') + project.set_setting('delivery.instructions', 'Speak softly', project.slides[0]) + w = MainWindow(); qtbot.addWidget(w); w.defaults['after'] = 'demo'; w.adopt(project); w.show(); reveal_timing(w) + source = 'talk' if talk_override else 'app' +> assert w.inspector.after_field.source.text() == f'from {source}' +E AssertionError: assert 'from a…' == 'from app' +E +E - from app +E ? ^^ +E + from a… +E ? ^ + +tests/test_ux_redundancy.py:98: AssertionError +_________ test_inspector_source_pause_and_delivery_independence[True] __________ + +qtbot = +project = Project(root=PosixPath('/tmp/pytest-of-voc/pytest-423/test_inspector_source_pause_an1/talk'), title='slides', target_m...me='Ryan', source='CustomVoice', speaker='Ryan', description='', references={}, origin='reference'), 'after': 'pause'}) +talk_override = True + + @pytest.mark.parametrize('talk_override', [False, True]) + def test_inspector_source_pause_and_delivery_independence(qtbot, project, talk_override): + project.defaults['after'] = 'demo' + if talk_override: + project.set_setting('after', 'pause') + project.set_setting('delivery.instructions', 'Speak softly', project.slides[0]) + w = MainWindow(); qtbot.addWidget(w); w.defaults['after'] = 'demo'; w.adopt(project); w.show(); reveal_timing(w) + source = 'talk' if talk_override else 'app' +> assert w.inspector.after_field.source.text() == f'from {source}' +E AssertionError: assert 'from t…' == 'from talk' +E +E - from talk +E ? ^^^ +E + from t… +E ? ^ + +tests/test_ux_redundancy.py:98: AssertionError +=========================== short test summary info ============================ +FAILED tests/test_ux_redundancy.py::test_inspector_source_pause_and_delivery_independence[False] +FAILED tests/test_ux_redundancy.py::test_inspector_source_pause_and_delivery_independence[True] +2 failed, 574 passed in 247.33s (0:04:07) +A connection to the bus can't be made + +(xfconfd:3566195): xfconfd-WARNING **: 09:51:21.177: Name org.xfce.Xfconf lost on the message dbus, exiting. +The X11 connection broke (error 1). Did the X11 server die? +The X11 connection broke (error 1). Did the X11 server die? +KCrash: Application 'xdg-desktop-portal-kde' crashing... crashRecursionCounter = 2 diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/attempts/intermediate-full-wheel.log b/docs/reviews/evidence/2026-10-01-settings-polish/attempts/intermediate-full-wheel.log new file mode 100644 index 0000000..58f723b --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/attempts/intermediate-full-wheel.log @@ -0,0 +1,47 @@ +dbus-daemon[3562072]: [session uid=1000 pid=3562072 pidfd=5] Activating service name='org.a11y.Bus' requested by ':1.0' (uid=1000 pid=3562074 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3562072]: [session uid=1000 pid=3562072 pidfd=5] Successfully activated service 'org.a11y.Bus' +dbus-daemon[3562072]: [session uid=1000 pid=3562072 pidfd=5] Activating service name='org.gtk.vfs.Daemon' requested by ':1.2' (uid=1000 pid=3562074 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3562072]: [session uid=1000 pid=3562072 pidfd=5] Successfully activated service 'org.gtk.vfs.Daemon' +dbus-daemon[3562090]: Activating service name='org.a11y.atspi.Registry' requested by ':1.1' (uid=1000 pid=3562074 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3562072]: [session uid=1000 pid=3562072 pidfd=5] Activating service name='org.xfce.Xfconf' requested by ':1.2' (uid=1000 pid=3562074 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3562090]: Successfully activated service 'org.a11y.atspi.Registry' +SpiRegistry daemon is running with well-known name - org.a11y.atspi.Registry +dbus-daemon[3562072]: [session uid=1000 pid=3562072 pidfd=5] Successfully activated service 'org.xfce.Xfconf' +dbus-daemon[3562072]: [session uid=1000 pid=3562072 pidfd=5] Activating service name='org.freedesktop.portal.Desktop' requested by ':1.7' (uid=1000 pid=3562144 comm=".venv/bin/python -m pytest -q" label="unconfined") +dbus-daemon[3562072]: [session uid=1000 pid=3562072 pidfd=5] Activating service name='org.freedesktop.impl.portal.PermissionStore' requested by ':1.8' (uid=1000 pid=3562198 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3562072]: [session uid=1000 pid=3562072 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.PermissionStore' +dbus-daemon[3562072]: [session uid=1000 pid=3562072 pidfd=5] Activating service name='org.freedesktop.portal.Documents' requested by ':1.8' (uid=1000 pid=3562198 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3562072]: [session uid=1000 pid=3562072 pidfd=5] Successfully activated service 'org.freedesktop.portal.Documents' + +(/usr/libexec/xdg-desktop-portal:3562198): xdg-desktop-portal-WARNING **: 09:44:00.499: Choosing gtk.portal for org.freedesktop.impl.portal.Lockdown as a last-resort fallback +dbus-daemon[3562072]: [session uid=1000 pid=3562072 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.gtk' requested by ':1.8' (uid=1000 pid=3562198 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3562072]: [session uid=1000 pid=3562072 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.gtk' +dbus-daemon[3562072]: [session uid=1000 pid=3562072 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kde' requested by ':1.8' (uid=1000 pid=3562198 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3562072]: [session uid=1000 pid=3562072 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kde' +xdp-kde-clipboard: Couldn't resolve QWaylandApplication - clipboard will not work +dbus-daemon[3562072]: [session uid=1000 pid=3562072 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kwallet' requested by ':1.8' (uid=1000 pid=3562198 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3562072]: [session uid=1000 pid=3562072 pidfd=5] Successfully activated service 'org.freedesktop.portal.Desktop' +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +kf.wallet.ksecretd: Lacking a socket, pipe: 0 env: 0 +dbus-daemon[3562072]: [session uid=1000 pid=3562072 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kwallet' +dbus-daemon[3562072]: [session uid=1000 pid=3562072 pidfd=5] Activating service name='org.gtk.vfs.Metadata' requested by ':1.2' (uid=1000 pid=3562074 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3562072]: [session uid=1000 pid=3562072 pidfd=5] Successfully activated service 'org.gtk.vfs.Metadata' +........................................................................ [ 12%] +........................................................................ [ 25%] +........................................................................ [ 37%] +........................................................................ [ 50%] +........................................................................ [ 62%] +........................................................................ [ 75%] +........................ +(/usr/libexec/xdg-desktop-portal:3562198): xdg-desktop-portal-WARNING **: 09:46:24.412: Realtime error: Could not map tid 3565259 of pid 3562144: Process ids could not be found: 3565259 +................................................ [ 87%] +........................................................................ [100%] +576 passed in 191.91s (0:03:11) +A connection to the bus can't be made + +(xfconfd:3562115): xfconfd-WARNING **: 09:47:12.482: Name org.xfce.Xfconf lost on the message dbus, exiting. +The X11 connection broke (error 1). Did the X11 server die? +The X11 connection broke (error 1). Did the X11 server die? +KCrash: Application 'xdg-desktop-portal-kde' crashing... crashRecursionCounter = 2 diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/attempts/native-first-layout.png b/docs/reviews/evidence/2026-10-01-settings-polish/attempts/native-first-layout.png new file mode 100644 index 0000000..4229943 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/attempts/native-first-layout.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/attempts/native-full.log b/docs/reviews/evidence/2026-10-01-settings-polish/attempts/native-full.log new file mode 100644 index 0000000..22c59ff --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/attempts/native-full.log @@ -0,0 +1,105 @@ +dbus-daemon[3556152]: [session uid=1000 pid=3556152 pidfd=5] Activating service name='org.a11y.Bus' requested by ':1.0' (uid=1000 pid=3556154 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3556152]: [session uid=1000 pid=3556152 pidfd=5] Successfully activated service 'org.a11y.Bus' +dbus-daemon[3556152]: [session uid=1000 pid=3556152 pidfd=5] Activating service name='org.gtk.vfs.Daemon' requested by ':1.2' (uid=1000 pid=3556154 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3556152]: [session uid=1000 pid=3556152 pidfd=5] Successfully activated service 'org.gtk.vfs.Daemon' +dbus-daemon[3556178]: Activating service name='org.a11y.atspi.Registry' requested by ':1.1' (uid=1000 pid=3556154 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3556152]: [session uid=1000 pid=3556152 pidfd=5] Activating service name='org.xfce.Xfconf' requested by ':1.2' (uid=1000 pid=3556154 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3556152]: [session uid=1000 pid=3556152 pidfd=5] Successfully activated service 'org.xfce.Xfconf' +dbus-daemon[3556178]: Successfully activated service 'org.a11y.atspi.Registry' +SpiRegistry daemon is running with well-known name - org.a11y.atspi.Registry +dbus-daemon[3556152]: [session uid=1000 pid=3556152 pidfd=5] Activating service name='org.freedesktop.portal.Desktop' requested by ':1.7' (uid=1000 pid=3556291 comm="artifacts/open-tasks/venv-qt610/bin/python -m pyte" label="unconfined") +dbus-daemon[3556152]: [session uid=1000 pid=3556152 pidfd=5] Activating service name='org.freedesktop.impl.portal.PermissionStore' requested by ':1.8' (uid=1000 pid=3556334 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3556152]: [session uid=1000 pid=3556152 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.PermissionStore' +dbus-daemon[3556152]: [session uid=1000 pid=3556152 pidfd=5] Activating service name='org.freedesktop.portal.Documents' requested by ':1.8' (uid=1000 pid=3556334 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3556152]: [session uid=1000 pid=3556152 pidfd=5] Successfully activated service 'org.freedesktop.portal.Documents' + +(/usr/libexec/xdg-desktop-portal:3556334): xdg-desktop-portal-WARNING **: 09:37:08.080: Choosing gtk.portal for org.freedesktop.impl.portal.Lockdown as a last-resort fallback +dbus-daemon[3556152]: [session uid=1000 pid=3556152 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.gtk' requested by ':1.8' (uid=1000 pid=3556334 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3556152]: [session uid=1000 pid=3556152 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.gtk' +dbus-daemon[3556152]: [session uid=1000 pid=3556152 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kde' requested by ':1.8' (uid=1000 pid=3556334 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3556152]: [session uid=1000 pid=3556152 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kde' +xdp-kde-clipboard: Couldn't resolve QWaylandApplication - clipboard will not work +dbus-daemon[3556152]: [session uid=1000 pid=3556152 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kwallet' requested by ':1.8' (uid=1000 pid=3556334 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3556152]: [session uid=1000 pid=3556152 pidfd=5] Successfully activated service 'org.freedesktop.portal.Desktop' +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +kf.wallet.ksecretd: Lacking a socket, pipe: 0 env: 0 +dbus-daemon[3556152]: [session uid=1000 pid=3556152 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kwallet' +dbus-daemon[3556152]: [session uid=1000 pid=3556152 pidfd=5] Activating service name='org.gtk.vfs.Metadata' requested by ':1.2' (uid=1000 pid=3556154 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3556152]: [session uid=1000 pid=3556152 pidfd=5] Successfully activated service 'org.gtk.vfs.Metadata' +............FF.......................................................... [ 81%] +................ [100%] +=================================== FAILURES =================================== +__________ test_buttons_actions_and_tabs_have_no_accidental_mnemonics __________ + +qtbot = +project = Project(root=PosixPath('/tmp/pytest-of-voc/pytest-417/test_buttons_actions_and_tabs_0/talk'), title='slides', target_m...{'voice': Voice(name='Ryan', source='CustomVoice', speaker='Ryan', description='', references={}, origin='reference')}) + + def test_buttons_actions_and_tabs_have_no_accidental_mnemonics(qtbot, project): + w = MainWindow() + qtbot.addWidget(w) + w.adopt(project) + w.show() + single_ampersand = re.compile(r'(? assert not [text for text in texts if single_ampersand.search(text)] +E AssertionError: assert not ['&Close', '&Save', '&Cancel', '&Save', '&Cancel', '&Save', ...] + +tests/test_settings_polish.py:95: AssertionError +_____________ test_compact_inspector_caption_and_reset_fit[size0] ______________ + +qtbot = +project = Project(root=PosixPath('/tmp/pytest-of-voc/pytest-417/test_compact_inspector_caption0/talk'), title='slides', target_m...{'voice': Voice(name='Ryan', source='CustomVoice', speaker='Ryan', description='', references={}, origin='reference')}) +size = (940, 680) + + @pytest.mark.parametrize('size', [(940, 680), (1100, 850)]) + def test_compact_inspector_caption_and_reset_fit(qtbot, project, size): + w = MainWindow() + qtbot.addWidget(w) + w.adopt(project) + w.resize(*size) + w.show() + next(b for b in w.inspector.findChildren(QToolButton) if b.text() == 'Timing').setChecked(True) + w.editor.setSizes([154, size[0] - 354, 200]) + qtbot.wait(50) + for field in (w.inspector.after_field, w.inspector.pause_field): + field.source.setText('from an unusually long inherited source') + qtbot.wait(20) + assert field.source.toolTip() == 'from an unusually long inherited source' + assert field.source.text() != field.source.toolTip() + for child in (field.source, field.reset, field.editor): + rect = child.rect() + assert field.rect().contains(child.mapTo(field, rect.topLeft())) + assert field.rect().contains(child.mapTo(field, rect.bottomRight())) + assert field.reset.mapTo(field, QPoint()).y() < field.editor.mapTo(field, QPoint()).y() + assert field.reset.width() >= field.reset.minimumSizeHint().width() + assert field.editor.width() == field.width() +> assert w.inspector.parentWidget().parentWidget().horizontalScrollBar().maximum() == 0 +E assert 17 == 0 +E + where 17 = () +E + where = .maximum +E + where = () +E + where = .horizontalScrollBar +E + where = () +E + where = .parentWidget +E + where = () +E + where = .parentWidget +E + where = .inspector + +tests/test_settings_polish.py:130: AssertionError +=========================== short test summary info ============================ +FAILED tests/test_settings_polish.py::test_buttons_actions_and_tabs_have_no_accidental_mnemonics +FAILED tests/test_settings_polish.py::test_compact_inspector_caption_and_reset_fit[size0] +2 failed, 86 passed in 45.57s +A connection to the bus can't be made + +(xfconfd:3556225): xfconfd-WARNING **: 09:37:53.840: Name org.xfce.Xfconf lost on the message dbus, exiting. +The X11 connection broke (error 1). Did the X11 server die? +The X11 connection broke (error 1). Did the X11 server die? +KCrash: Application 'xdg-desktop-portal-kde' crashing... crashRecursionCounter = 2 diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/attempts/wheel-first-layout.png b/docs/reviews/evidence/2026-10-01-settings-polish/attempts/wheel-first-layout.png new file mode 100644 index 0000000..0a342f0 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/attempts/wheel-first-layout.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/attempts/wheel-full.log b/docs/reviews/evidence/2026-10-01-settings-polish/attempts/wheel-full.log new file mode 100644 index 0000000..a6a7a90 --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/attempts/wheel-full.log @@ -0,0 +1,39 @@ +dbus-daemon[3555137]: [session uid=1000 pid=3555137 pidfd=5] Activating service name='org.a11y.Bus' requested by ':1.0' (uid=1000 pid=3555139 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3555137]: [session uid=1000 pid=3555137 pidfd=5] Successfully activated service 'org.a11y.Bus' +dbus-daemon[3555137]: [session uid=1000 pid=3555137 pidfd=5] Activating service name='org.gtk.vfs.Daemon' requested by ':1.2' (uid=1000 pid=3555139 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3555137]: [session uid=1000 pid=3555137 pidfd=5] Successfully activated service 'org.gtk.vfs.Daemon' +dbus-daemon[3555155]: Activating service name='org.a11y.atspi.Registry' requested by ':1.1' (uid=1000 pid=3555139 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3555137]: [session uid=1000 pid=3555137 pidfd=5] Activating service name='org.xfce.Xfconf' requested by ':1.2' (uid=1000 pid=3555139 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3555155]: Successfully activated service 'org.a11y.atspi.Registry' +SpiRegistry daemon is running with well-known name - org.a11y.atspi.Registry +dbus-daemon[3555137]: [session uid=1000 pid=3555137 pidfd=5] Successfully activated service 'org.xfce.Xfconf' +dbus-daemon[3555137]: [session uid=1000 pid=3555137 pidfd=5] Activating service name='org.freedesktop.portal.Desktop' requested by ':1.7' (uid=1000 pid=3555211 comm=".venv/bin/python -m pytest -q tests/test_settings_" label="unconfined") +dbus-daemon[3555137]: [session uid=1000 pid=3555137 pidfd=5] Activating service name='org.freedesktop.impl.portal.PermissionStore' requested by ':1.8' (uid=1000 pid=3555254 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3555137]: [session uid=1000 pid=3555137 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.PermissionStore' +dbus-daemon[3555137]: [session uid=1000 pid=3555137 pidfd=5] Activating service name='org.freedesktop.portal.Documents' requested by ':1.8' (uid=1000 pid=3555254 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3555137]: [session uid=1000 pid=3555137 pidfd=5] Successfully activated service 'org.freedesktop.portal.Documents' + +(/usr/libexec/xdg-desktop-portal:3555254): xdg-desktop-portal-WARNING **: 09:36:33.295: Choosing gtk.portal for org.freedesktop.impl.portal.Lockdown as a last-resort fallback +dbus-daemon[3555137]: [session uid=1000 pid=3555137 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.gtk' requested by ':1.8' (uid=1000 pid=3555254 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3555137]: [session uid=1000 pid=3555137 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.gtk' +dbus-daemon[3555137]: [session uid=1000 pid=3555137 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kde' requested by ':1.8' (uid=1000 pid=3555254 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3555137]: [session uid=1000 pid=3555137 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kde' +xdp-kde-clipboard: Couldn't resolve QWaylandApplication - clipboard will not work +dbus-daemon[3555137]: [session uid=1000 pid=3555137 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kwallet' requested by ':1.8' (uid=1000 pid=3555254 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3555137]: [session uid=1000 pid=3555137 pidfd=5] Successfully activated service 'org.freedesktop.portal.Desktop' +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +kf.wallet.ksecretd: Lacking a socket, pipe: 0 env: 0 +dbus-daemon[3555137]: [session uid=1000 pid=3555137 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kwallet' +dbus-daemon[3555137]: [session uid=1000 pid=3555137 pidfd=5] Activating service name='org.gtk.vfs.Metadata' requested by ':1.2' (uid=1000 pid=3555139 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3555137]: [session uid=1000 pid=3555137 pidfd=5] Successfully activated service 'org.gtk.vfs.Metadata' +........................................................................ [ 81%] +................ [100%] +88 passed in 33.29s +A connection to the bus can't be made + +(xfconfd:3555174): xfconfd-WARNING **: 09:37:06.842: Name org.xfce.Xfconf lost on the message dbus, exiting. +The X11 connection broke (error 1). Did the X11 server die? +The X11 connection broke (error 1). Did the X11 server die? +KCrash: Application 'xdg-desktop-portal-kde' crashing... crashRecursionCounter = 2 diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/capture.py b/docs/reviews/evidence/2026-10-01-settings-polish/capture.py new file mode 100644 index 0000000..29ac8cb --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/capture.py @@ -0,0 +1,36 @@ +"""Run the visual matrix using the existing Xvfb/WM driver and a null sink.""" +import json +import os +import subprocess +import sys +from pathlib import Path + +root = Path.cwd() +phase = sys.argv[1] +source = Path(sys.argv[2]).resolve() if len(sys.argv) > 2 else root / 'src' +out = root / 'docs/reviews/evidence/2026-10-01-settings-polish/screens' / phase +sink = 'autotalk_polish_capture_' + str(os.getpid()) +module = subprocess.check_output(['pactl', 'load-module', 'module-null-sink', 'sink_name=' + sink], text=True).strip() +try: + for tag, python in [('wheel', '.venv/bin/python'), ('native', 'artifacts/open-tasks/venv-qt610/bin/python')]: + for scale in ('1', '1.5'): + folder = out / tag + folder.mkdir(parents=True, exist_ok=True) + env = dict(os.environ, PYTHONPATH=str(source), QT_QPA_PLATFORM='xcb', QT_SCALE_FACTOR=scale, + PULSE_SINK=sink, PULSE_SOURCE=sink + '.monitor', + PIPEWIRE_PROPS=json.dumps({'target.object': sink, 'node.dont-reconnect': False}), + AUTOTALK_SCREEN_OUTPUT=str(folder)) + if tag == 'native': + env['PYTHONPATH'] = str(root / 'build/system-qt') + ':' + str(source) + env['LD_LIBRARY_PATH'] = str(root / 'build/system-qt/PySide6/Qt/lib') + ':' + str(root / 'artifacts/open-tasks/venv-qt610/lib/python3.12/site-packages/shiboken6') + with (folder / f'capture-{scale}.log').open('w') as log: + result = subprocess.run(['xvfb-run', '-a', '-s', '-screen 0 1920x1440x24', + 'dbus-run-session', '--', python, + 'docs/reviews/evidence/2026-09-30-ui-structure-perf/xvfb-session.py', + python, 'docs/reviews/evidence/2026-10-01-settings-polish/screens.py'], + env=env, stdout=log, stderr=subprocess.STDOUT) + print(phase, tag, scale, result.returncode, flush=True) + if result.returncode: + raise RuntimeError(f'Capture failed: {folder}, scale={scale}') +finally: + subprocess.run(['pactl', 'unload-module', module], check=True) diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/check-formatting.py b/docs/reviews/evidence/2026-10-01-settings-polish/check-formatting.py new file mode 100644 index 0000000..386a34d --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/check-formatting.py @@ -0,0 +1,13 @@ +"""Compare every formatting-only module's AST with the requested PR base.""" +import ast +import subprocess +from pathlib import Path + +MODULES = ('settings', 'settings_schema', 'settings_fields', 'settings_components', 'preferences', 'inspector') +for name in MODULES: + path = Path('src/autotalk') / f'{name}.py' + before = subprocess.check_output(['git', 'show', f'ad4178d:{path}'], text=True) + after = path.read_text() + assert ast.dump(ast.parse(before)) == ast.dump(ast.parse(after)), path + print(f'{path}: AST identical; {len(before.splitlines())} -> {len(after.splitlines())} lines') +print('PASS: all six module ASTs are identical (location attributes excluded).') diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/commit1/audio-after.json b/docs/reviews/evidence/2026-10-01-settings-polish/commit1/audio-after.json new file mode 100644 index 0000000..1bb3ac4 --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/commit1/audio-after.json @@ -0,0 +1 @@ +{"sinks": "[{\"index\":577,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink\",\"description\":\"700 Series Chipset Family HD Audio HDMI / DisplayPort 3 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink.monitor\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:0:playback\",\"api.alsa.path\":\"hw:sofhdadsp,5\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 3\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"5\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI3: sink\",\"device.profile.description\":\"HDMI / DisplayPort 3 Output\",\"card.profile.device\":\"0\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"664\",\"priority.session\":\"664\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink\",\"node.nick\":\"HDMI 3\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"78\",\"object.serial\":\"577\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI3\",\"description\":\"HDMI / DisplayPort 3 Output\",\"type\":\"HDMI\",\"priority\":700,\"availability_group\":\"HDMI/DP,pcm=5\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI3\",\"formats\":[\"pcm\"]},{\"index\":578,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink\",\"description\":\"700 Series Chipset Family HD Audio HDMI / DisplayPort 2 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink.monitor\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:1:playback\",\"api.alsa.path\":\"hw:sofhdadsp,4\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 2\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"4\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI2: sink\",\"device.profile.description\":\"HDMI / DisplayPort 2 Output\",\"card.profile.device\":\"1\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"680\",\"priority.session\":\"680\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink\",\"node.nick\":\"HDMI 2\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"134\",\"object.serial\":\"578\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI2\",\"description\":\"HDMI / DisplayPort 2 Output\",\"type\":\"HDMI\",\"priority\":600,\"availability_group\":\"HDMI/DP,pcm=4\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI2\",\"formats\":[\"pcm\"]},{\"index\":579,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink\",\"description\":\"700 Series Chipset Family HD Audio HDMI / DisplayPort 1 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink.monitor\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:2:playback\",\"api.alsa.path\":\"hw:sofhdadsp,3\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 1\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"3\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI1: sink\",\"device.profile.description\":\"HDMI / DisplayPort 1 Output\",\"card.profile.device\":\"2\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"696\",\"priority.session\":\"696\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink\",\"node.nick\":\"HDMI 1\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"98\",\"object.serial\":\"579\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI1\",\"description\":\"HDMI / DisplayPort 1 Output\",\"type\":\"HDMI\",\"priority\":500,\"availability_group\":\"HDMI/DP,pcm=3\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI1\",\"formats\":[\"pcm\"]},{\"index\":580,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink\",\"description\":\"700 Series Chipset Family HD Audio Speaker\",\"driver\":\"PipeWire\",\"sample_specification\":\"s32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":30802,\"value_percent\":\"47%\",\"db\":\"-19.67 dB\"},\"front-right\":{\"value\":30802,\"value_percent\":\"47%\",\"db\":\"-19.67 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink.monitor\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"HW_MUTE_CTRL\",\"HW_VOLUME_CTRL\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:3:playback\",\"api.alsa.path\":\"hw:sofhdadsp\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"audio-speakers\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"0\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: Speaker: sink\",\"device.profile.description\":\"Speaker\",\"card.profile.device\":\"3\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"1000\",\"priority.session\":\"1000\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink\",\"node.nick\":\"Speaker\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"103\",\"object.serial\":\"580\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] Speaker\",\"description\":\"Speaker\",\"type\":\"Speaker\",\"priority\":100,\"availability_group\":\"\",\"availability\":\"availability unknown\"}],\"active_port\":\"[Out] Speaker\",\"formats\":[\"pcm\"]}]", "sources": "[{\"index\":577,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink.monitor\",\"description\":\"Monitor of 700 Series Chipset Family HD Audio HDMI / DisplayPort 3 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:0:playback\",\"api.alsa.path\":\"hw:sofhdadsp,5\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"monitor\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 3\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"5\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI3: sink\",\"device.profile.description\":\"HDMI / DisplayPort 3 Output\",\"card.profile.device\":\"0\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"664\",\"priority.session\":\"664\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink\",\"node.nick\":\"HDMI 3\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"78\",\"object.serial\":\"577\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI3\",\"description\":\"HDMI / DisplayPort 3 Output\",\"type\":\"HDMI\",\"priority\":700,\"availability_group\":\"HDMI/DP,pcm=5\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI3\",\"formats\":[\"pcm\"]},{\"index\":578,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink.monitor\",\"description\":\"Monitor of 700 Series Chipset Family HD Audio HDMI / DisplayPort 2 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:1:playback\",\"api.alsa.path\":\"hw:sofhdadsp,4\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"monitor\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 2\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"4\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI2: sink\",\"device.profile.description\":\"HDMI / DisplayPort 2 Output\",\"card.profile.device\":\"1\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"680\",\"priority.session\":\"680\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink\",\"node.nick\":\"HDMI 2\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"134\",\"object.serial\":\"578\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI2\",\"description\":\"HDMI / DisplayPort 2 Output\",\"type\":\"HDMI\",\"priority\":600,\"availability_group\":\"HDMI/DP,pcm=4\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI2\",\"formats\":[\"pcm\"]},{\"index\":579,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink.monitor\",\"description\":\"Monitor of 700 Series Chipset Family HD Audio HDMI / DisplayPort 1 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:2:playback\",\"api.alsa.path\":\"hw:sofhdadsp,3\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"monitor\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 1\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"3\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI1: sink\",\"device.profile.description\":\"HDMI / DisplayPort 1 Output\",\"card.profile.device\":\"2\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"696\",\"priority.session\":\"696\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink\",\"node.nick\":\"HDMI 1\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"98\",\"object.serial\":\"579\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI1\",\"description\":\"HDMI / DisplayPort 1 Output\",\"type\":\"HDMI\",\"priority\":500,\"availability_group\":\"HDMI/DP,pcm=3\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI1\",\"formats\":[\"pcm\"]},{\"index\":580,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink.monitor\",\"description\":\"Monitor of 700 Series Chipset Family HD Audio Speaker\",\"driver\":\"PipeWire\",\"sample_specification\":\"s32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:3:playback\",\"api.alsa.path\":\"hw:sofhdadsp\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"audio-speakers\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"monitor\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"0\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: Speaker: sink\",\"device.profile.description\":\"Speaker\",\"card.profile.device\":\"3\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"1000\",\"priority.session\":\"1000\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink\",\"node.nick\":\"Speaker\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"103\",\"object.serial\":\"580\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] Speaker\",\"description\":\"Speaker\",\"type\":\"Speaker\",\"priority\":100,\"availability_group\":\"\",\"availability\":\"availability unknown\"}],\"active_port\":\"[Out] Speaker\",\"formats\":[\"pcm\"]},{\"index\":581,\"state\":\"SUSPENDED\",\"name\":\"alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic2__source\",\"description\":\"700 Series Chipset Family HD Audio Stereo Microphone\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:4:capture\",\"api.alsa.path\":\"hw:sofhdadsp\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"capture\",\"port.group\":\"capture\",\"device.icon_name\":\"audio-input-microphone\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"0\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: Mic2: source\",\"device.profile.description\":\"Stereo Microphone\",\"card.profile.device\":\"4\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.source\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"2000\",\"priority.session\":\"2000\",\"media.class\":\"Audio/Source\",\"node.name\":\"alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic2__source\",\"node.nick\":\"Stereo Microphone\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"120\",\"object.serial\":\"581\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[In] Mic2\",\"description\":\"Stereo Microphone\",\"type\":\"Mic\",\"priority\":200,\"availability_group\":\"Mic\",\"availability\":\"not available\"}],\"active_port\":\"[In] Mic2\",\"formats\":[\"pcm\"]},{\"index\":582,\"state\":\"SUSPENDED\",\"name\":\"alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic1__source\",\"description\":\"700 Series Chipset Family HD Audio Digital Microphone\",\"driver\":\"PipeWire\",\"sample_specification\":\"s32le 4ch 48000Hz\",\"channel_map\":\"front-left,front-right,rear-left,rear-right\",\"owner_module\":4294967295,\"mute\":true,\"volume\":{\"front-left\":{\"value\":39578,\"value_percent\":\"60%\",\"db\":\"-13.14 dB\"},\"front-right\":{\"value\":39578,\"value_percent\":\"60%\",\"db\":\"-13.14 dB\"},\"rear-left\":{\"value\":39578,\"value_percent\":\"60%\",\"db\":\"-13.14 dB\"},\"rear-right\":{\"value\":39578,\"value_percent\":\"60%\",\"db\":\"-13.14 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":30419,\"value_percent\":\"46%\",\"db\":\"-20.00 dB\"},\"monitor_source\":\"\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"HW_MUTE_CTRL\",\"HW_VOLUME_CTRL\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:5:capture\",\"api.alsa.path\":\"hw:sofhdadsp,6\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"capture\",\"port.group\":\"capture\",\"device.icon_name\":\"audio-input-microphone\",\"device.bus\":\"pci\",\"audio.channels\":\"4\",\"audio.position\":\"[ FL, FR, RL, RR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"6\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: Mic1: source\",\"device.profile.description\":\"Digital Microphone\",\"card.profile.device\":\"5\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.source\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"1648\",\"priority.session\":\"1648\",\"media.class\":\"Audio/Source\",\"node.name\":\"alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic1__source\",\"node.nick\":\"Digital Microphone\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"79\",\"object.serial\":\"582\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[In] Mic1\",\"description\":\"Digital Microphone\",\"type\":\"Mic\",\"priority\":100,\"availability_group\":\"\",\"availability\":\"availability unknown\"}],\"active_port\":\"[In] Mic1\",\"formats\":[\"pcm\"]}]"} diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/commit1/audio-before.json b/docs/reviews/evidence/2026-10-01-settings-polish/commit1/audio-before.json new file mode 100644 index 0000000..eb015c0 --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/commit1/audio-before.json @@ -0,0 +1 @@ +{"sinks": "[{\"index\":577,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink\",\"description\":\"700 Series Chipset Family HD Audio HDMI / DisplayPort 3 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":true,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink.monitor\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:0:playback\",\"api.alsa.path\":\"hw:sofhdadsp,5\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 3\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"5\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI3: sink\",\"device.profile.description\":\"HDMI / DisplayPort 3 Output\",\"card.profile.device\":\"0\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"664\",\"priority.session\":\"664\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink\",\"node.nick\":\"HDMI 3\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"78\",\"object.serial\":\"577\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI3\",\"description\":\"HDMI / DisplayPort 3 Output\",\"type\":\"HDMI\",\"priority\":700,\"availability_group\":\"HDMI/DP,pcm=5\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI3\",\"formats\":[\"pcm\"]},{\"index\":578,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink\",\"description\":\"700 Series Chipset Family HD Audio HDMI / DisplayPort 2 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":true,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink.monitor\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:1:playback\",\"api.alsa.path\":\"hw:sofhdadsp,4\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 2\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"4\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI2: sink\",\"device.profile.description\":\"HDMI / DisplayPort 2 Output\",\"card.profile.device\":\"1\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"680\",\"priority.session\":\"680\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink\",\"node.nick\":\"HDMI 2\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"134\",\"object.serial\":\"578\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI2\",\"description\":\"HDMI / DisplayPort 2 Output\",\"type\":\"HDMI\",\"priority\":600,\"availability_group\":\"HDMI/DP,pcm=4\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI2\",\"formats\":[\"pcm\"]},{\"index\":579,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink\",\"description\":\"700 Series Chipset Family HD Audio HDMI / DisplayPort 1 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":true,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink.monitor\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:2:playback\",\"api.alsa.path\":\"hw:sofhdadsp,3\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 1\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"3\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI1: sink\",\"device.profile.description\":\"HDMI / DisplayPort 1 Output\",\"card.profile.device\":\"2\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"696\",\"priority.session\":\"696\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink\",\"node.nick\":\"HDMI 1\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"98\",\"object.serial\":\"579\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI1\",\"description\":\"HDMI / DisplayPort 1 Output\",\"type\":\"HDMI\",\"priority\":500,\"availability_group\":\"HDMI/DP,pcm=3\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI1\",\"formats\":[\"pcm\"]},{\"index\":580,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink\",\"description\":\"700 Series Chipset Family HD Audio Speaker\",\"driver\":\"PipeWire\",\"sample_specification\":\"s32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":true,\"volume\":{\"front-left\":{\"value\":30802,\"value_percent\":\"47%\",\"db\":\"-19.67 dB\"},\"front-right\":{\"value\":30802,\"value_percent\":\"47%\",\"db\":\"-19.67 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink.monitor\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"HW_MUTE_CTRL\",\"HW_VOLUME_CTRL\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:3:playback\",\"api.alsa.path\":\"hw:sofhdadsp\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"audio-speakers\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"0\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: Speaker: sink\",\"device.profile.description\":\"Speaker\",\"card.profile.device\":\"3\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"1000\",\"priority.session\":\"1000\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink\",\"node.nick\":\"Speaker\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"103\",\"object.serial\":\"580\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] Speaker\",\"description\":\"Speaker\",\"type\":\"Speaker\",\"priority\":100,\"availability_group\":\"\",\"availability\":\"availability unknown\"}],\"active_port\":\"[Out] Speaker\",\"formats\":[\"pcm\"]}]", "sources": "[{\"index\":577,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink.monitor\",\"description\":\"Monitor of 700 Series Chipset Family HD Audio HDMI / DisplayPort 3 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:0:playback\",\"api.alsa.path\":\"hw:sofhdadsp,5\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"monitor\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 3\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"5\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI3: sink\",\"device.profile.description\":\"HDMI / DisplayPort 3 Output\",\"card.profile.device\":\"0\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"664\",\"priority.session\":\"664\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink\",\"node.nick\":\"HDMI 3\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"78\",\"object.serial\":\"577\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI3\",\"description\":\"HDMI / DisplayPort 3 Output\",\"type\":\"HDMI\",\"priority\":700,\"availability_group\":\"HDMI/DP,pcm=5\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI3\",\"formats\":[\"pcm\"]},{\"index\":578,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink.monitor\",\"description\":\"Monitor of 700 Series Chipset Family HD Audio HDMI / DisplayPort 2 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:1:playback\",\"api.alsa.path\":\"hw:sofhdadsp,4\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"monitor\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 2\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"4\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI2: sink\",\"device.profile.description\":\"HDMI / DisplayPort 2 Output\",\"card.profile.device\":\"1\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"680\",\"priority.session\":\"680\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink\",\"node.nick\":\"HDMI 2\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"134\",\"object.serial\":\"578\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI2\",\"description\":\"HDMI / DisplayPort 2 Output\",\"type\":\"HDMI\",\"priority\":600,\"availability_group\":\"HDMI/DP,pcm=4\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI2\",\"formats\":[\"pcm\"]},{\"index\":579,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink.monitor\",\"description\":\"Monitor of 700 Series Chipset Family HD Audio HDMI / DisplayPort 1 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:2:playback\",\"api.alsa.path\":\"hw:sofhdadsp,3\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"monitor\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 1\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"3\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI1: sink\",\"device.profile.description\":\"HDMI / DisplayPort 1 Output\",\"card.profile.device\":\"2\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"696\",\"priority.session\":\"696\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink\",\"node.nick\":\"HDMI 1\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"98\",\"object.serial\":\"579\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI1\",\"description\":\"HDMI / DisplayPort 1 Output\",\"type\":\"HDMI\",\"priority\":500,\"availability_group\":\"HDMI/DP,pcm=3\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI1\",\"formats\":[\"pcm\"]},{\"index\":580,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink.monitor\",\"description\":\"Monitor of 700 Series Chipset Family HD Audio Speaker\",\"driver\":\"PipeWire\",\"sample_specification\":\"s32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:3:playback\",\"api.alsa.path\":\"hw:sofhdadsp\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"audio-speakers\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"monitor\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"0\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: Speaker: sink\",\"device.profile.description\":\"Speaker\",\"card.profile.device\":\"3\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"1000\",\"priority.session\":\"1000\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink\",\"node.nick\":\"Speaker\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"103\",\"object.serial\":\"580\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] Speaker\",\"description\":\"Speaker\",\"type\":\"Speaker\",\"priority\":100,\"availability_group\":\"\",\"availability\":\"availability unknown\"}],\"active_port\":\"[Out] Speaker\",\"formats\":[\"pcm\"]},{\"index\":581,\"state\":\"SUSPENDED\",\"name\":\"alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic2__source\",\"description\":\"700 Series Chipset Family HD Audio Stereo Microphone\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:4:capture\",\"api.alsa.path\":\"hw:sofhdadsp\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"capture\",\"port.group\":\"capture\",\"device.icon_name\":\"audio-input-microphone\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"0\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: Mic2: source\",\"device.profile.description\":\"Stereo Microphone\",\"card.profile.device\":\"4\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.source\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"2000\",\"priority.session\":\"2000\",\"media.class\":\"Audio/Source\",\"node.name\":\"alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic2__source\",\"node.nick\":\"Stereo Microphone\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"120\",\"object.serial\":\"581\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[In] Mic2\",\"description\":\"Stereo Microphone\",\"type\":\"Mic\",\"priority\":200,\"availability_group\":\"Mic\",\"availability\":\"not available\"}],\"active_port\":\"[In] Mic2\",\"formats\":[\"pcm\"]},{\"index\":582,\"state\":\"SUSPENDED\",\"name\":\"alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic1__source\",\"description\":\"700 Series Chipset Family HD Audio Digital Microphone\",\"driver\":\"PipeWire\",\"sample_specification\":\"s32le 4ch 48000Hz\",\"channel_map\":\"front-left,front-right,rear-left,rear-right\",\"owner_module\":4294967295,\"mute\":true,\"volume\":{\"front-left\":{\"value\":39578,\"value_percent\":\"60%\",\"db\":\"-13.14 dB\"},\"front-right\":{\"value\":39578,\"value_percent\":\"60%\",\"db\":\"-13.14 dB\"},\"rear-left\":{\"value\":39578,\"value_percent\":\"60%\",\"db\":\"-13.14 dB\"},\"rear-right\":{\"value\":39578,\"value_percent\":\"60%\",\"db\":\"-13.14 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":30419,\"value_percent\":\"46%\",\"db\":\"-20.00 dB\"},\"monitor_source\":\"\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"HW_MUTE_CTRL\",\"HW_VOLUME_CTRL\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:5:capture\",\"api.alsa.path\":\"hw:sofhdadsp,6\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"capture\",\"port.group\":\"capture\",\"device.icon_name\":\"audio-input-microphone\",\"device.bus\":\"pci\",\"audio.channels\":\"4\",\"audio.position\":\"[ FL, FR, RL, RR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"6\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: Mic1: source\",\"device.profile.description\":\"Digital Microphone\",\"card.profile.device\":\"5\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.source\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"1648\",\"priority.session\":\"1648\",\"media.class\":\"Audio/Source\",\"node.name\":\"alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic1__source\",\"node.nick\":\"Digital Microphone\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"79\",\"object.serial\":\"582\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[In] Mic1\",\"description\":\"Digital Microphone\",\"type\":\"Mic\",\"priority\":100,\"availability_group\":\"\",\"availability\":\"availability unknown\"}],\"active_port\":\"[In] Mic1\",\"formats\":[\"pcm\"]}]"} diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/commit1/native-full.log b/docs/reviews/evidence/2026-10-01-settings-polish/commit1/native-full.log new file mode 100644 index 0000000..36b1912 --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/commit1/native-full.log @@ -0,0 +1,47 @@ +dbus-daemon[3550332]: [session uid=1000 pid=3550332 pidfd=5] Activating service name='org.a11y.Bus' requested by ':1.0' (uid=1000 pid=3550334 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3550332]: [session uid=1000 pid=3550332 pidfd=5] Successfully activated service 'org.a11y.Bus' +dbus-daemon[3550332]: [session uid=1000 pid=3550332 pidfd=5] Activating service name='org.gtk.vfs.Daemon' requested by ':1.2' (uid=1000 pid=3550334 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3550332]: [session uid=1000 pid=3550332 pidfd=5] Successfully activated service 'org.gtk.vfs.Daemon' +dbus-daemon[3550384]: Activating service name='org.a11y.atspi.Registry' requested by ':1.1' (uid=1000 pid=3550334 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3550332]: [session uid=1000 pid=3550332 pidfd=5] Activating service name='org.xfce.Xfconf' requested by ':1.2' (uid=1000 pid=3550334 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3550332]: [session uid=1000 pid=3550332 pidfd=5] Successfully activated service 'org.xfce.Xfconf' +dbus-daemon[3550384]: Successfully activated service 'org.a11y.atspi.Registry' +SpiRegistry daemon is running with well-known name - org.a11y.atspi.Registry +dbus-daemon[3550332]: [session uid=1000 pid=3550332 pidfd=5] Activating service name='org.freedesktop.portal.Desktop' requested by ':1.7' (uid=1000 pid=3550445 comm="artifacts/open-tasks/venv-qt610/bin/python -m pyte" label="unconfined") +dbus-daemon[3550332]: [session uid=1000 pid=3550332 pidfd=5] Activating service name='org.freedesktop.impl.portal.PermissionStore' requested by ':1.8' (uid=1000 pid=3550478 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3550332]: [session uid=1000 pid=3550332 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.PermissionStore' +dbus-daemon[3550332]: [session uid=1000 pid=3550332 pidfd=5] Activating service name='org.freedesktop.portal.Documents' requested by ':1.8' (uid=1000 pid=3550478 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3550332]: [session uid=1000 pid=3550332 pidfd=5] Successfully activated service 'org.freedesktop.portal.Documents' + +(/usr/libexec/xdg-desktop-portal:3550478): xdg-desktop-portal-WARNING **: 09:30:39.865: Choosing gtk.portal for org.freedesktop.impl.portal.Lockdown as a last-resort fallback +dbus-daemon[3550332]: [session uid=1000 pid=3550332 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.gtk' requested by ':1.8' (uid=1000 pid=3550478 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3550332]: [session uid=1000 pid=3550332 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.gtk' +dbus-daemon[3550332]: [session uid=1000 pid=3550332 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kde' requested by ':1.8' (uid=1000 pid=3550478 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3550332]: [session uid=1000 pid=3550332 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kde' +xdp-kde-clipboard: Couldn't resolve QWaylandApplication - clipboard will not work +dbus-daemon[3550332]: [session uid=1000 pid=3550332 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kwallet' requested by ':1.8' (uid=1000 pid=3550478 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3550332]: [session uid=1000 pid=3550332 pidfd=5] Successfully activated service 'org.freedesktop.portal.Desktop' +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +kf.wallet.ksecretd: Lacking a socket, pipe: 0 env: 0 +dbus-daemon[3550332]: [session uid=1000 pid=3550332 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kwallet' +dbus-daemon[3550332]: [session uid=1000 pid=3550332 pidfd=5] Activating service name='org.gtk.vfs.Metadata' requested by ':1.2' (uid=1000 pid=3550334 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3550332]: [session uid=1000 pid=3550332 pidfd=5] Successfully activated service 'org.gtk.vfs.Metadata' +........................................................................ [ 12%] +........................................................................ [ 25%] +........................................................................ [ 38%] +........................................................................ [ 51%] +........................................................................ [ 64%] +........................................................................ [ 77%] +......... +(/usr/libexec/xdg-desktop-portal:3550478): xdg-desktop-portal-WARNING **: 09:33:33.272: Realtime error: Could not map tid 3552632 of pid 3550445: Process ids could not be found: 3552632 +............................................................... [ 89%] +......................................................... [100%] +561 passed in 234.45s (0:03:54) +A connection to the bus can't be made + +(xfconfd:3550408): xfconfd-WARNING **: 09:34:34.418: Name org.xfce.Xfconf lost on the message dbus, exiting. +The X11 connection broke (error 1). Did the X11 server die? +The X11 connection broke (error 1). Did the X11 server die? +KCrash: Application 'xdg-desktop-portal-kde' crashing... crashRecursionCounter = 2 diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/commit1/wheel-full.log b/docs/reviews/evidence/2026-10-01-settings-polish/commit1/wheel-full.log new file mode 100644 index 0000000..e250715 --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/commit1/wheel-full.log @@ -0,0 +1,49 @@ +dbus-daemon[3546539]: [session uid=1000 pid=3546539 pidfd=5] Activating service name='org.a11y.Bus' requested by ':1.0' (uid=1000 pid=3546541 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3546539]: [session uid=1000 pid=3546539 pidfd=5] Successfully activated service 'org.a11y.Bus' +dbus-daemon[3546539]: [session uid=1000 pid=3546539 pidfd=5] Activating service name='org.gtk.vfs.Daemon' requested by ':1.2' (uid=1000 pid=3546541 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3546539]: [session uid=1000 pid=3546539 pidfd=5] Successfully activated service 'org.gtk.vfs.Daemon' +dbus-daemon[3546558]: Activating service name='org.a11y.atspi.Registry' requested by ':1.1' (uid=1000 pid=3546541 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3546539]: [session uid=1000 pid=3546539 pidfd=5] Activating service name='org.xfce.Xfconf' requested by ':1.2' (uid=1000 pid=3546541 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3546558]: Successfully activated service 'org.a11y.atspi.Registry' +SpiRegistry daemon is running with well-known name - org.a11y.atspi.Registry +dbus-daemon[3546539]: [session uid=1000 pid=3546539 pidfd=5] Successfully activated service 'org.xfce.Xfconf' +dbus-daemon[3546539]: [session uid=1000 pid=3546539 pidfd=5] Activating service name='org.freedesktop.portal.Desktop' requested by ':1.7' (uid=1000 pid=3546606 comm=".venv/bin/python -m pytest -q" label="unconfined") +dbus-daemon[3546539]: [session uid=1000 pid=3546539 pidfd=5] Activating service name='org.freedesktop.impl.portal.PermissionStore' requested by ':1.8' (uid=1000 pid=3546646 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3546539]: [session uid=1000 pid=3546539 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.PermissionStore' +dbus-daemon[3546539]: [session uid=1000 pid=3546539 pidfd=5] Activating service name='org.freedesktop.portal.Documents' requested by ':1.8' (uid=1000 pid=3546646 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3546539]: [session uid=1000 pid=3546539 pidfd=5] Successfully activated service 'org.freedesktop.portal.Documents' + +(/usr/libexec/xdg-desktop-portal:3546646): xdg-desktop-portal-WARNING **: 09:27:34.258: Choosing gtk.portal for org.freedesktop.impl.portal.Lockdown as a last-resort fallback +dbus-daemon[3546539]: [session uid=1000 pid=3546539 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.gtk' requested by ':1.8' (uid=1000 pid=3546646 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3546539]: [session uid=1000 pid=3546539 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.gtk' +dbus-daemon[3546539]: [session uid=1000 pid=3546539 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kde' requested by ':1.8' (uid=1000 pid=3546646 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3546539]: [session uid=1000 pid=3546539 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kde' +xdp-kde-clipboard: Couldn't resolve QWaylandApplication - clipboard will not work +dbus-daemon[3546539]: [session uid=1000 pid=3546539 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kwallet' requested by ':1.8' (uid=1000 pid=3546646 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3546539]: [session uid=1000 pid=3546539 pidfd=5] Successfully activated service 'org.freedesktop.portal.Desktop' +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +kf.wallet.ksecretd: Lacking a socket, pipe: 0 env: 0 +dbus-daemon[3546539]: [session uid=1000 pid=3546539 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kwallet' +dbus-daemon[3546539]: [session uid=1000 pid=3546539 pidfd=5] Activating service name='org.gtk.vfs.Metadata' requested by ':1.2' (uid=1000 pid=3546541 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3546539]: [session uid=1000 pid=3546539 pidfd=5] Successfully activated service 'org.gtk.vfs.Metadata' +........................................................................ [ 12%] +........................................................................ [ 25%] +........................................................................ [ 38%] +........................................................................ [ 51%] +........................................................................ [ 64%] +........................................................................ [ 77%] +......... +(/usr/libexec/xdg-desktop-portal:3546646): xdg-desktop-portal-WARNING **: 09:29:50.593: Realtime error: Could not map tid 3548772 of pid 3546606: Process ids could not be found: 3548772 +.. +(/usr/libexec/xdg-desktop-portal:3546646): xdg-desktop-portal-WARNING **: 09:29:52.406: Realtime error: Could not map tid 3548792 of pid 3546606: Process ids could not be found: 3548792 +............................................................. [ 89%] +......................................................... [100%] +561 passed in 185.01s (0:03:05) +A connection to the bus can't be made + +(xfconfd:3546576): xfconfd-WARNING **: 09:30:38.417: Name org.xfce.Xfconf lost on the message dbus, exiting. +The X11 connection broke (error 1). Did the X11 server die? +The X11 connection broke (error 1). Did the X11 server die? +KCrash: Application 'xdg-desktop-portal-kde' crashing... crashRecursionCounter = 2 diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/commit2/native-audio-after.json b/docs/reviews/evidence/2026-10-01-settings-polish/commit2/native-audio-after.json new file mode 100644 index 0000000..1bb3ac4 --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/commit2/native-audio-after.json @@ -0,0 +1 @@ +{"sinks": "[{\"index\":577,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink\",\"description\":\"700 Series Chipset Family HD Audio HDMI / DisplayPort 3 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink.monitor\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:0:playback\",\"api.alsa.path\":\"hw:sofhdadsp,5\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 3\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"5\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI3: sink\",\"device.profile.description\":\"HDMI / DisplayPort 3 Output\",\"card.profile.device\":\"0\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"664\",\"priority.session\":\"664\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink\",\"node.nick\":\"HDMI 3\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"78\",\"object.serial\":\"577\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI3\",\"description\":\"HDMI / DisplayPort 3 Output\",\"type\":\"HDMI\",\"priority\":700,\"availability_group\":\"HDMI/DP,pcm=5\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI3\",\"formats\":[\"pcm\"]},{\"index\":578,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink\",\"description\":\"700 Series Chipset Family HD Audio HDMI / DisplayPort 2 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink.monitor\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:1:playback\",\"api.alsa.path\":\"hw:sofhdadsp,4\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 2\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"4\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI2: sink\",\"device.profile.description\":\"HDMI / DisplayPort 2 Output\",\"card.profile.device\":\"1\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"680\",\"priority.session\":\"680\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink\",\"node.nick\":\"HDMI 2\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"134\",\"object.serial\":\"578\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI2\",\"description\":\"HDMI / DisplayPort 2 Output\",\"type\":\"HDMI\",\"priority\":600,\"availability_group\":\"HDMI/DP,pcm=4\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI2\",\"formats\":[\"pcm\"]},{\"index\":579,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink\",\"description\":\"700 Series Chipset Family HD Audio HDMI / DisplayPort 1 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink.monitor\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:2:playback\",\"api.alsa.path\":\"hw:sofhdadsp,3\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 1\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"3\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI1: sink\",\"device.profile.description\":\"HDMI / DisplayPort 1 Output\",\"card.profile.device\":\"2\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"696\",\"priority.session\":\"696\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink\",\"node.nick\":\"HDMI 1\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"98\",\"object.serial\":\"579\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI1\",\"description\":\"HDMI / DisplayPort 1 Output\",\"type\":\"HDMI\",\"priority\":500,\"availability_group\":\"HDMI/DP,pcm=3\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI1\",\"formats\":[\"pcm\"]},{\"index\":580,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink\",\"description\":\"700 Series Chipset Family HD Audio Speaker\",\"driver\":\"PipeWire\",\"sample_specification\":\"s32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":30802,\"value_percent\":\"47%\",\"db\":\"-19.67 dB\"},\"front-right\":{\"value\":30802,\"value_percent\":\"47%\",\"db\":\"-19.67 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink.monitor\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"HW_MUTE_CTRL\",\"HW_VOLUME_CTRL\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:3:playback\",\"api.alsa.path\":\"hw:sofhdadsp\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"audio-speakers\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"0\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: Speaker: sink\",\"device.profile.description\":\"Speaker\",\"card.profile.device\":\"3\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"1000\",\"priority.session\":\"1000\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink\",\"node.nick\":\"Speaker\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"103\",\"object.serial\":\"580\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] Speaker\",\"description\":\"Speaker\",\"type\":\"Speaker\",\"priority\":100,\"availability_group\":\"\",\"availability\":\"availability unknown\"}],\"active_port\":\"[Out] Speaker\",\"formats\":[\"pcm\"]}]", "sources": "[{\"index\":577,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink.monitor\",\"description\":\"Monitor of 700 Series Chipset Family HD Audio HDMI / DisplayPort 3 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:0:playback\",\"api.alsa.path\":\"hw:sofhdadsp,5\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"monitor\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 3\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"5\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI3: sink\",\"device.profile.description\":\"HDMI / DisplayPort 3 Output\",\"card.profile.device\":\"0\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"664\",\"priority.session\":\"664\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink\",\"node.nick\":\"HDMI 3\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"78\",\"object.serial\":\"577\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI3\",\"description\":\"HDMI / DisplayPort 3 Output\",\"type\":\"HDMI\",\"priority\":700,\"availability_group\":\"HDMI/DP,pcm=5\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI3\",\"formats\":[\"pcm\"]},{\"index\":578,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink.monitor\",\"description\":\"Monitor of 700 Series Chipset Family HD Audio HDMI / DisplayPort 2 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:1:playback\",\"api.alsa.path\":\"hw:sofhdadsp,4\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"monitor\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 2\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"4\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI2: sink\",\"device.profile.description\":\"HDMI / DisplayPort 2 Output\",\"card.profile.device\":\"1\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"680\",\"priority.session\":\"680\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink\",\"node.nick\":\"HDMI 2\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"134\",\"object.serial\":\"578\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI2\",\"description\":\"HDMI / DisplayPort 2 Output\",\"type\":\"HDMI\",\"priority\":600,\"availability_group\":\"HDMI/DP,pcm=4\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI2\",\"formats\":[\"pcm\"]},{\"index\":579,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink.monitor\",\"description\":\"Monitor of 700 Series Chipset Family HD Audio HDMI / DisplayPort 1 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:2:playback\",\"api.alsa.path\":\"hw:sofhdadsp,3\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"monitor\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 1\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"3\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI1: sink\",\"device.profile.description\":\"HDMI / DisplayPort 1 Output\",\"card.profile.device\":\"2\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"696\",\"priority.session\":\"696\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink\",\"node.nick\":\"HDMI 1\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"98\",\"object.serial\":\"579\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI1\",\"description\":\"HDMI / DisplayPort 1 Output\",\"type\":\"HDMI\",\"priority\":500,\"availability_group\":\"HDMI/DP,pcm=3\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI1\",\"formats\":[\"pcm\"]},{\"index\":580,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink.monitor\",\"description\":\"Monitor of 700 Series Chipset Family HD Audio Speaker\",\"driver\":\"PipeWire\",\"sample_specification\":\"s32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:3:playback\",\"api.alsa.path\":\"hw:sofhdadsp\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"audio-speakers\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"monitor\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"0\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: Speaker: sink\",\"device.profile.description\":\"Speaker\",\"card.profile.device\":\"3\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"1000\",\"priority.session\":\"1000\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink\",\"node.nick\":\"Speaker\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"103\",\"object.serial\":\"580\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] Speaker\",\"description\":\"Speaker\",\"type\":\"Speaker\",\"priority\":100,\"availability_group\":\"\",\"availability\":\"availability unknown\"}],\"active_port\":\"[Out] Speaker\",\"formats\":[\"pcm\"]},{\"index\":581,\"state\":\"SUSPENDED\",\"name\":\"alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic2__source\",\"description\":\"700 Series Chipset Family HD Audio Stereo Microphone\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:4:capture\",\"api.alsa.path\":\"hw:sofhdadsp\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"capture\",\"port.group\":\"capture\",\"device.icon_name\":\"audio-input-microphone\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"0\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: Mic2: source\",\"device.profile.description\":\"Stereo Microphone\",\"card.profile.device\":\"4\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.source\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"2000\",\"priority.session\":\"2000\",\"media.class\":\"Audio/Source\",\"node.name\":\"alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic2__source\",\"node.nick\":\"Stereo Microphone\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"120\",\"object.serial\":\"581\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[In] Mic2\",\"description\":\"Stereo Microphone\",\"type\":\"Mic\",\"priority\":200,\"availability_group\":\"Mic\",\"availability\":\"not available\"}],\"active_port\":\"[In] Mic2\",\"formats\":[\"pcm\"]},{\"index\":582,\"state\":\"SUSPENDED\",\"name\":\"alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic1__source\",\"description\":\"700 Series Chipset Family HD Audio Digital Microphone\",\"driver\":\"PipeWire\",\"sample_specification\":\"s32le 4ch 48000Hz\",\"channel_map\":\"front-left,front-right,rear-left,rear-right\",\"owner_module\":4294967295,\"mute\":true,\"volume\":{\"front-left\":{\"value\":39578,\"value_percent\":\"60%\",\"db\":\"-13.14 dB\"},\"front-right\":{\"value\":39578,\"value_percent\":\"60%\",\"db\":\"-13.14 dB\"},\"rear-left\":{\"value\":39578,\"value_percent\":\"60%\",\"db\":\"-13.14 dB\"},\"rear-right\":{\"value\":39578,\"value_percent\":\"60%\",\"db\":\"-13.14 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":30419,\"value_percent\":\"46%\",\"db\":\"-20.00 dB\"},\"monitor_source\":\"\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"HW_MUTE_CTRL\",\"HW_VOLUME_CTRL\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:5:capture\",\"api.alsa.path\":\"hw:sofhdadsp,6\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"capture\",\"port.group\":\"capture\",\"device.icon_name\":\"audio-input-microphone\",\"device.bus\":\"pci\",\"audio.channels\":\"4\",\"audio.position\":\"[ FL, FR, RL, RR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"6\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: Mic1: source\",\"device.profile.description\":\"Digital Microphone\",\"card.profile.device\":\"5\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.source\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"1648\",\"priority.session\":\"1648\",\"media.class\":\"Audio/Source\",\"node.name\":\"alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic1__source\",\"node.nick\":\"Digital Microphone\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"79\",\"object.serial\":\"582\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[In] Mic1\",\"description\":\"Digital Microphone\",\"type\":\"Mic\",\"priority\":100,\"availability_group\":\"\",\"availability\":\"availability unknown\"}],\"active_port\":\"[In] Mic1\",\"formats\":[\"pcm\"]}]"} diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/commit2/native-audio-before.json b/docs/reviews/evidence/2026-10-01-settings-polish/commit2/native-audio-before.json new file mode 100644 index 0000000..2c6775a --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/commit2/native-audio-before.json @@ -0,0 +1 @@ +{"sinks": "[{\"index\":577,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink\",\"description\":\"700 Series Chipset Family HD Audio HDMI / DisplayPort 3 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink.monitor\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:0:playback\",\"api.alsa.path\":\"hw:sofhdadsp,5\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 3\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"5\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI3: sink\",\"device.profile.description\":\"HDMI / DisplayPort 3 Output\",\"card.profile.device\":\"0\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"664\",\"priority.session\":\"664\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink\",\"node.nick\":\"HDMI 3\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"78\",\"object.serial\":\"577\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI3\",\"description\":\"HDMI / DisplayPort 3 Output\",\"type\":\"HDMI\",\"priority\":700,\"availability_group\":\"HDMI/DP,pcm=5\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI3\",\"formats\":[\"pcm\"]},{\"index\":578,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink\",\"description\":\"700 Series Chipset Family HD Audio HDMI / DisplayPort 2 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink.monitor\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:1:playback\",\"api.alsa.path\":\"hw:sofhdadsp,4\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 2\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"4\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI2: sink\",\"device.profile.description\":\"HDMI / DisplayPort 2 Output\",\"card.profile.device\":\"1\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"680\",\"priority.session\":\"680\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink\",\"node.nick\":\"HDMI 2\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"134\",\"object.serial\":\"578\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI2\",\"description\":\"HDMI / DisplayPort 2 Output\",\"type\":\"HDMI\",\"priority\":600,\"availability_group\":\"HDMI/DP,pcm=4\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI2\",\"formats\":[\"pcm\"]},{\"index\":579,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink\",\"description\":\"700 Series Chipset Family HD Audio HDMI / DisplayPort 1 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink.monitor\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:2:playback\",\"api.alsa.path\":\"hw:sofhdadsp,3\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 1\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"3\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI1: sink\",\"device.profile.description\":\"HDMI / DisplayPort 1 Output\",\"card.profile.device\":\"2\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"696\",\"priority.session\":\"696\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink\",\"node.nick\":\"HDMI 1\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"98\",\"object.serial\":\"579\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI1\",\"description\":\"HDMI / DisplayPort 1 Output\",\"type\":\"HDMI\",\"priority\":500,\"availability_group\":\"HDMI/DP,pcm=3\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI1\",\"formats\":[\"pcm\"]},{\"index\":580,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink\",\"description\":\"700 Series Chipset Family HD Audio Speaker\",\"driver\":\"PipeWire\",\"sample_specification\":\"s32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":30802,\"value_percent\":\"47%\",\"db\":\"-19.67 dB\"},\"front-right\":{\"value\":30802,\"value_percent\":\"47%\",\"db\":\"-19.67 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink.monitor\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"HW_MUTE_CTRL\",\"HW_VOLUME_CTRL\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:3:playback\",\"api.alsa.path\":\"hw:sofhdadsp\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"audio-speakers\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"0\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: Speaker: sink\",\"device.profile.description\":\"Speaker\",\"card.profile.device\":\"3\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"1000\",\"priority.session\":\"1000\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink\",\"node.nick\":\"Speaker\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"103\",\"object.serial\":\"580\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] Speaker\",\"description\":\"Speaker\",\"type\":\"Speaker\",\"priority\":100,\"availability_group\":\"\",\"availability\":\"availability unknown\"}],\"active_port\":\"[Out] Speaker\",\"formats\":[\"pcm\"]},{\"index\":65224,\"state\":\"SUSPENDED\",\"name\":\"autotalk_settings_verification_3571806\",\"description\":\"autotalk_settings_verification_3571806 Audio/Sink sink\",\"driver\":\"PipeWire\",\"sample_specification\":\"float32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":536870916,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"autotalk_settings_verification_3571806.monitor\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"node.name\":\"autotalk_settings_verification_3571806\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"media.class\":\"Audio/Sink\",\"device.description\":\"autotalk_settings_verification_3571806 Audio/Sink sink\",\"factory.name\":\"support.null-audio-sink\",\"monitor.channel-volumes\":\"true\",\"monitor.passthrough\":\"true\",\"pulse.module.id\":\"536870916\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"155\",\"node.driver\":\"true\",\"port.group\":\"stream.0\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"102\",\"object.serial\":\"65224\"},\"ports\":[],\"active_port\":null,\"formats\":[\"pcm\"]}]", "sources": "[{\"index\":577,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink.monitor\",\"description\":\"Monitor of 700 Series Chipset Family HD Audio HDMI / DisplayPort 3 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:0:playback\",\"api.alsa.path\":\"hw:sofhdadsp,5\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"monitor\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 3\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"5\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI3: sink\",\"device.profile.description\":\"HDMI / DisplayPort 3 Output\",\"card.profile.device\":\"0\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"664\",\"priority.session\":\"664\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink\",\"node.nick\":\"HDMI 3\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"78\",\"object.serial\":\"577\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI3\",\"description\":\"HDMI / DisplayPort 3 Output\",\"type\":\"HDMI\",\"priority\":700,\"availability_group\":\"HDMI/DP,pcm=5\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI3\",\"formats\":[\"pcm\"]},{\"index\":578,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink.monitor\",\"description\":\"Monitor of 700 Series Chipset Family HD Audio HDMI / DisplayPort 2 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:1:playback\",\"api.alsa.path\":\"hw:sofhdadsp,4\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"monitor\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 2\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"4\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI2: sink\",\"device.profile.description\":\"HDMI / DisplayPort 2 Output\",\"card.profile.device\":\"1\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"680\",\"priority.session\":\"680\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink\",\"node.nick\":\"HDMI 2\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"134\",\"object.serial\":\"578\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI2\",\"description\":\"HDMI / DisplayPort 2 Output\",\"type\":\"HDMI\",\"priority\":600,\"availability_group\":\"HDMI/DP,pcm=4\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI2\",\"formats\":[\"pcm\"]},{\"index\":579,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink.monitor\",\"description\":\"Monitor of 700 Series Chipset Family HD Audio HDMI / DisplayPort 1 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:2:playback\",\"api.alsa.path\":\"hw:sofhdadsp,3\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"monitor\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 1\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"3\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI1: sink\",\"device.profile.description\":\"HDMI / DisplayPort 1 Output\",\"card.profile.device\":\"2\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"696\",\"priority.session\":\"696\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink\",\"node.nick\":\"HDMI 1\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"98\",\"object.serial\":\"579\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI1\",\"description\":\"HDMI / DisplayPort 1 Output\",\"type\":\"HDMI\",\"priority\":500,\"availability_group\":\"HDMI/DP,pcm=3\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI1\",\"formats\":[\"pcm\"]},{\"index\":580,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink.monitor\",\"description\":\"Monitor of 700 Series Chipset Family HD Audio Speaker\",\"driver\":\"PipeWire\",\"sample_specification\":\"s32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:3:playback\",\"api.alsa.path\":\"hw:sofhdadsp\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"audio-speakers\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"monitor\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"0\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: Speaker: sink\",\"device.profile.description\":\"Speaker\",\"card.profile.device\":\"3\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"1000\",\"priority.session\":\"1000\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink\",\"node.nick\":\"Speaker\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"103\",\"object.serial\":\"580\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] Speaker\",\"description\":\"Speaker\",\"type\":\"Speaker\",\"priority\":100,\"availability_group\":\"\",\"availability\":\"availability unknown\"}],\"active_port\":\"[Out] Speaker\",\"formats\":[\"pcm\"]},{\"index\":581,\"state\":\"SUSPENDED\",\"name\":\"alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic2__source\",\"description\":\"700 Series Chipset Family HD Audio Stereo Microphone\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:4:capture\",\"api.alsa.path\":\"hw:sofhdadsp\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"capture\",\"port.group\":\"capture\",\"device.icon_name\":\"audio-input-microphone\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"0\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: Mic2: source\",\"device.profile.description\":\"Stereo Microphone\",\"card.profile.device\":\"4\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.source\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"2000\",\"priority.session\":\"2000\",\"media.class\":\"Audio/Source\",\"node.name\":\"alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic2__source\",\"node.nick\":\"Stereo Microphone\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"120\",\"object.serial\":\"581\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[In] Mic2\",\"description\":\"Stereo Microphone\",\"type\":\"Mic\",\"priority\":200,\"availability_group\":\"Mic\",\"availability\":\"not available\"}],\"active_port\":\"[In] Mic2\",\"formats\":[\"pcm\"]},{\"index\":582,\"state\":\"SUSPENDED\",\"name\":\"alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic1__source\",\"description\":\"700 Series Chipset Family HD Audio Digital Microphone\",\"driver\":\"PipeWire\",\"sample_specification\":\"s32le 4ch 48000Hz\",\"channel_map\":\"front-left,front-right,rear-left,rear-right\",\"owner_module\":4294967295,\"mute\":true,\"volume\":{\"front-left\":{\"value\":39578,\"value_percent\":\"60%\",\"db\":\"-13.14 dB\"},\"front-right\":{\"value\":39578,\"value_percent\":\"60%\",\"db\":\"-13.14 dB\"},\"rear-left\":{\"value\":39578,\"value_percent\":\"60%\",\"db\":\"-13.14 dB\"},\"rear-right\":{\"value\":39578,\"value_percent\":\"60%\",\"db\":\"-13.14 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":30419,\"value_percent\":\"46%\",\"db\":\"-20.00 dB\"},\"monitor_source\":\"\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"HW_MUTE_CTRL\",\"HW_VOLUME_CTRL\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:5:capture\",\"api.alsa.path\":\"hw:sofhdadsp,6\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"capture\",\"port.group\":\"capture\",\"device.icon_name\":\"audio-input-microphone\",\"device.bus\":\"pci\",\"audio.channels\":\"4\",\"audio.position\":\"[ FL, FR, RL, RR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"6\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: Mic1: source\",\"device.profile.description\":\"Digital Microphone\",\"card.profile.device\":\"5\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.source\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"1648\",\"priority.session\":\"1648\",\"media.class\":\"Audio/Source\",\"node.name\":\"alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic1__source\",\"node.nick\":\"Digital Microphone\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"79\",\"object.serial\":\"582\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[In] Mic1\",\"description\":\"Digital Microphone\",\"type\":\"Mic\",\"priority\":100,\"availability_group\":\"\",\"availability\":\"availability unknown\"}],\"active_port\":\"[In] Mic1\",\"formats\":[\"pcm\"]},{\"index\":65224,\"state\":\"SUSPENDED\",\"name\":\"autotalk_settings_verification_3571806.monitor\",\"description\":\"Monitor of autotalk_settings_verification_3571806 Audio/Sink sink\",\"driver\":\"PipeWire\",\"sample_specification\":\"float32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":536870916,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"autotalk_settings_verification_3571806\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"node.name\":\"autotalk_settings_verification_3571806\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"media.class\":\"Audio/Sink\",\"device.description\":\"autotalk_settings_verification_3571806 Audio/Sink sink\",\"factory.name\":\"support.null-audio-sink\",\"monitor.channel-volumes\":\"true\",\"monitor.passthrough\":\"true\",\"pulse.module.id\":\"536870916\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"155\",\"node.driver\":\"true\",\"port.group\":\"stream.0\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"102\",\"object.serial\":\"65224\",\"device.class\":\"monitor\"},\"ports\":[],\"active_port\":null,\"formats\":[\"pcm\"]}]"} diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/commit2/native-full.log b/docs/reviews/evidence/2026-10-01-settings-polish/commit2/native-full.log new file mode 100644 index 0000000..3b0df60 --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/commit2/native-full.log @@ -0,0 +1,47 @@ +dbus-daemon[3571856]: [session uid=1000 pid=3571856 pidfd=5] Activating service name='org.a11y.Bus' requested by ':1.0' (uid=1000 pid=3571860 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3571856]: [session uid=1000 pid=3571856 pidfd=5] Successfully activated service 'org.a11y.Bus' +dbus-daemon[3571856]: [session uid=1000 pid=3571856 pidfd=5] Activating service name='org.gtk.vfs.Daemon' requested by ':1.2' (uid=1000 pid=3571860 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3571856]: [session uid=1000 pid=3571856 pidfd=5] Successfully activated service 'org.gtk.vfs.Daemon' +dbus-daemon[3571904]: Activating service name='org.a11y.atspi.Registry' requested by ':1.1' (uid=1000 pid=3571860 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3571856]: [session uid=1000 pid=3571856 pidfd=5] Activating service name='org.xfce.Xfconf' requested by ':1.2' (uid=1000 pid=3571860 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3571904]: Successfully activated service 'org.a11y.atspi.Registry' +SpiRegistry daemon is running with well-known name - org.a11y.atspi.Registry +dbus-daemon[3571856]: [session uid=1000 pid=3571856 pidfd=5] Successfully activated service 'org.xfce.Xfconf' +dbus-daemon[3571856]: [session uid=1000 pid=3571856 pidfd=5] Activating service name='org.freedesktop.portal.Desktop' requested by ':1.7' (uid=1000 pid=3571986 comm="artifacts/open-tasks/venv-qt610/bin/python -m pyte" label="unconfined") +dbus-daemon[3571856]: [session uid=1000 pid=3571856 pidfd=5] Activating service name='org.freedesktop.impl.portal.PermissionStore' requested by ':1.8' (uid=1000 pid=3572050 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3571856]: [session uid=1000 pid=3571856 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.PermissionStore' +dbus-daemon[3571856]: [session uid=1000 pid=3571856 pidfd=5] Activating service name='org.freedesktop.portal.Documents' requested by ':1.8' (uid=1000 pid=3572050 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3571856]: [session uid=1000 pid=3571856 pidfd=5] Successfully activated service 'org.freedesktop.portal.Documents' + +(/usr/libexec/xdg-desktop-portal:3572050): xdg-desktop-portal-WARNING **: 09:52:33.790: Choosing gtk.portal for org.freedesktop.impl.portal.Lockdown as a last-resort fallback +dbus-daemon[3571856]: [session uid=1000 pid=3571856 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.gtk' requested by ':1.8' (uid=1000 pid=3572050 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3571856]: [session uid=1000 pid=3571856 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.gtk' +dbus-daemon[3571856]: [session uid=1000 pid=3571856 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kde' requested by ':1.8' (uid=1000 pid=3572050 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3571856]: [session uid=1000 pid=3571856 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kde' +xdp-kde-clipboard: Couldn't resolve QWaylandApplication - clipboard will not work +dbus-daemon[3571856]: [session uid=1000 pid=3571856 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kwallet' requested by ':1.8' (uid=1000 pid=3572050 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3571856]: [session uid=1000 pid=3571856 pidfd=5] Successfully activated service 'org.freedesktop.portal.Desktop' +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +kf.wallet.ksecretd: Lacking a socket, pipe: 0 env: 0 +dbus-daemon[3571856]: [session uid=1000 pid=3571856 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kwallet' +dbus-daemon[3571856]: [session uid=1000 pid=3571856 pidfd=5] Activating service name='org.gtk.vfs.Metadata' requested by ':1.2' (uid=1000 pid=3571860 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3571856]: [session uid=1000 pid=3571856 pidfd=5] Successfully activated service 'org.gtk.vfs.Metadata' +........................................................................ [ 12%] +........................................................................ [ 25%] +........................................................................ [ 37%] +........................................................................ [ 50%] +........................................................................ [ 62%] +........................................................................ [ 75%] +........................ +(/usr/libexec/xdg-desktop-portal:3572050): xdg-desktop-portal-WARNING **: 09:55:40.138: Realtime error: Could not map tid 3576859 of pid 3571986: Process ids could not be found: 3576859 +................................................ [ 87%] +........................................................................ [100%] +576 passed in 245.97s (0:04:05) +A connection to the bus can't be made + +(xfconfd:3571943): xfconfd-WARNING **: 09:56:39.857: Name org.xfce.Xfconf lost on the message dbus, exiting. +The X11 connection broke (error 1). Did the X11 server die? +The X11 connection broke (error 1). Did the X11 server die? +KCrash: Application 'xdg-desktop-portal-kde' crashing... crashRecursionCounter = 2 diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/commit2/summary.json b/docs/reviews/evidence/2026-10-01-settings-polish/commit2/summary.json new file mode 100644 index 0000000..d1bee1d --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/commit2/summary.json @@ -0,0 +1,24 @@ +{ + "wheel": { + "tests": "576 passed in 191.24s (0:03:11)", + "sinks": { + "physical_state_unchanged": true, + "count": 4 + }, + "sources": { + "physical_state_unchanged": true, + "count": 6 + } + }, + "native": { + "tests": "576 passed in 245.97s (0:04:05)", + "sinks": { + "physical_state_unchanged": true, + "count": 4 + }, + "sources": { + "physical_state_unchanged": true, + "count": 6 + } + } +} diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/commit2/wheel-audio-after.json b/docs/reviews/evidence/2026-10-01-settings-polish/commit2/wheel-audio-after.json new file mode 100644 index 0000000..ed1ba93 --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/commit2/wheel-audio-after.json @@ -0,0 +1 @@ +{"sinks": "[{\"index\":577,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink\",\"description\":\"700 Series Chipset Family HD Audio HDMI / DisplayPort 3 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink.monitor\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:0:playback\",\"api.alsa.path\":\"hw:sofhdadsp,5\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 3\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"5\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI3: sink\",\"device.profile.description\":\"HDMI / DisplayPort 3 Output\",\"card.profile.device\":\"0\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"664\",\"priority.session\":\"664\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink\",\"node.nick\":\"HDMI 3\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"78\",\"object.serial\":\"577\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI3\",\"description\":\"HDMI / DisplayPort 3 Output\",\"type\":\"HDMI\",\"priority\":700,\"availability_group\":\"HDMI/DP,pcm=5\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI3\",\"formats\":[\"pcm\"]},{\"index\":578,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink\",\"description\":\"700 Series Chipset Family HD Audio HDMI / DisplayPort 2 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink.monitor\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:1:playback\",\"api.alsa.path\":\"hw:sofhdadsp,4\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 2\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"4\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI2: sink\",\"device.profile.description\":\"HDMI / DisplayPort 2 Output\",\"card.profile.device\":\"1\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"680\",\"priority.session\":\"680\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink\",\"node.nick\":\"HDMI 2\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"134\",\"object.serial\":\"578\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI2\",\"description\":\"HDMI / DisplayPort 2 Output\",\"type\":\"HDMI\",\"priority\":600,\"availability_group\":\"HDMI/DP,pcm=4\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI2\",\"formats\":[\"pcm\"]},{\"index\":579,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink\",\"description\":\"700 Series Chipset Family HD Audio HDMI / DisplayPort 1 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink.monitor\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:2:playback\",\"api.alsa.path\":\"hw:sofhdadsp,3\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 1\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"3\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI1: sink\",\"device.profile.description\":\"HDMI / DisplayPort 1 Output\",\"card.profile.device\":\"2\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"696\",\"priority.session\":\"696\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink\",\"node.nick\":\"HDMI 1\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"98\",\"object.serial\":\"579\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI1\",\"description\":\"HDMI / DisplayPort 1 Output\",\"type\":\"HDMI\",\"priority\":500,\"availability_group\":\"HDMI/DP,pcm=3\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI1\",\"formats\":[\"pcm\"]},{\"index\":580,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink\",\"description\":\"700 Series Chipset Family HD Audio Speaker\",\"driver\":\"PipeWire\",\"sample_specification\":\"s32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":30802,\"value_percent\":\"47%\",\"db\":\"-19.67 dB\"},\"front-right\":{\"value\":30802,\"value_percent\":\"47%\",\"db\":\"-19.67 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink.monitor\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"HW_MUTE_CTRL\",\"HW_VOLUME_CTRL\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:3:playback\",\"api.alsa.path\":\"hw:sofhdadsp\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"audio-speakers\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"0\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: Speaker: sink\",\"device.profile.description\":\"Speaker\",\"card.profile.device\":\"3\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"1000\",\"priority.session\":\"1000\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink\",\"node.nick\":\"Speaker\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"103\",\"object.serial\":\"580\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] Speaker\",\"description\":\"Speaker\",\"type\":\"Speaker\",\"priority\":100,\"availability_group\":\"\",\"availability\":\"availability unknown\"}],\"active_port\":\"[Out] Speaker\",\"formats\":[\"pcm\"]},{\"index\":65233,\"state\":\"IDLE\",\"name\":\"autotalk_settings_verification_3571813\",\"description\":\"autotalk_settings_verification_3571813 Audio/Sink sink\",\"driver\":\"PipeWire\",\"sample_specification\":\"float32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":536870917,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"autotalk_settings_verification_3571813.monitor\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"node.name\":\"autotalk_settings_verification_3571813\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"media.class\":\"Audio/Sink\",\"device.description\":\"autotalk_settings_verification_3571813 Audio/Sink sink\",\"factory.name\":\"support.null-audio-sink\",\"monitor.channel-volumes\":\"true\",\"monitor.passthrough\":\"true\",\"pulse.module.id\":\"536870917\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"59\",\"node.driver\":\"true\",\"port.group\":\"stream.0\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"132\",\"object.serial\":\"65233\"},\"ports\":[],\"active_port\":null,\"formats\":[\"pcm\"]}]", "sources": "[{\"index\":577,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink.monitor\",\"description\":\"Monitor of 700 Series Chipset Family HD Audio HDMI / DisplayPort 3 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:0:playback\",\"api.alsa.path\":\"hw:sofhdadsp,5\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"monitor\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 3\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"5\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI3: sink\",\"device.profile.description\":\"HDMI / DisplayPort 3 Output\",\"card.profile.device\":\"0\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"664\",\"priority.session\":\"664\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink\",\"node.nick\":\"HDMI 3\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"78\",\"object.serial\":\"577\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI3\",\"description\":\"HDMI / DisplayPort 3 Output\",\"type\":\"HDMI\",\"priority\":700,\"availability_group\":\"HDMI/DP,pcm=5\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI3\",\"formats\":[\"pcm\"]},{\"index\":578,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink.monitor\",\"description\":\"Monitor of 700 Series Chipset Family HD Audio HDMI / DisplayPort 2 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:1:playback\",\"api.alsa.path\":\"hw:sofhdadsp,4\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"monitor\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 2\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"4\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI2: sink\",\"device.profile.description\":\"HDMI / DisplayPort 2 Output\",\"card.profile.device\":\"1\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"680\",\"priority.session\":\"680\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink\",\"node.nick\":\"HDMI 2\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"134\",\"object.serial\":\"578\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI2\",\"description\":\"HDMI / DisplayPort 2 Output\",\"type\":\"HDMI\",\"priority\":600,\"availability_group\":\"HDMI/DP,pcm=4\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI2\",\"formats\":[\"pcm\"]},{\"index\":579,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink.monitor\",\"description\":\"Monitor of 700 Series Chipset Family HD Audio HDMI / DisplayPort 1 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:2:playback\",\"api.alsa.path\":\"hw:sofhdadsp,3\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"monitor\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 1\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"3\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI1: sink\",\"device.profile.description\":\"HDMI / DisplayPort 1 Output\",\"card.profile.device\":\"2\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"696\",\"priority.session\":\"696\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink\",\"node.nick\":\"HDMI 1\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"98\",\"object.serial\":\"579\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI1\",\"description\":\"HDMI / DisplayPort 1 Output\",\"type\":\"HDMI\",\"priority\":500,\"availability_group\":\"HDMI/DP,pcm=3\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI1\",\"formats\":[\"pcm\"]},{\"index\":580,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink.monitor\",\"description\":\"Monitor of 700 Series Chipset Family HD Audio Speaker\",\"driver\":\"PipeWire\",\"sample_specification\":\"s32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:3:playback\",\"api.alsa.path\":\"hw:sofhdadsp\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"audio-speakers\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"monitor\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"0\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: Speaker: sink\",\"device.profile.description\":\"Speaker\",\"card.profile.device\":\"3\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"1000\",\"priority.session\":\"1000\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink\",\"node.nick\":\"Speaker\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"103\",\"object.serial\":\"580\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] Speaker\",\"description\":\"Speaker\",\"type\":\"Speaker\",\"priority\":100,\"availability_group\":\"\",\"availability\":\"availability unknown\"}],\"active_port\":\"[Out] Speaker\",\"formats\":[\"pcm\"]},{\"index\":581,\"state\":\"SUSPENDED\",\"name\":\"alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic2__source\",\"description\":\"700 Series Chipset Family HD Audio Stereo Microphone\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:4:capture\",\"api.alsa.path\":\"hw:sofhdadsp\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"capture\",\"port.group\":\"capture\",\"device.icon_name\":\"audio-input-microphone\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"0\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: Mic2: source\",\"device.profile.description\":\"Stereo Microphone\",\"card.profile.device\":\"4\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.source\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"2000\",\"priority.session\":\"2000\",\"media.class\":\"Audio/Source\",\"node.name\":\"alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic2__source\",\"node.nick\":\"Stereo Microphone\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"120\",\"object.serial\":\"581\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[In] Mic2\",\"description\":\"Stereo Microphone\",\"type\":\"Mic\",\"priority\":200,\"availability_group\":\"Mic\",\"availability\":\"not available\"}],\"active_port\":\"[In] Mic2\",\"formats\":[\"pcm\"]},{\"index\":582,\"state\":\"SUSPENDED\",\"name\":\"alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic1__source\",\"description\":\"700 Series Chipset Family HD Audio Digital Microphone\",\"driver\":\"PipeWire\",\"sample_specification\":\"s32le 4ch 48000Hz\",\"channel_map\":\"front-left,front-right,rear-left,rear-right\",\"owner_module\":4294967295,\"mute\":true,\"volume\":{\"front-left\":{\"value\":39578,\"value_percent\":\"60%\",\"db\":\"-13.14 dB\"},\"front-right\":{\"value\":39578,\"value_percent\":\"60%\",\"db\":\"-13.14 dB\"},\"rear-left\":{\"value\":39578,\"value_percent\":\"60%\",\"db\":\"-13.14 dB\"},\"rear-right\":{\"value\":39578,\"value_percent\":\"60%\",\"db\":\"-13.14 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":30419,\"value_percent\":\"46%\",\"db\":\"-20.00 dB\"},\"monitor_source\":\"\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"HW_MUTE_CTRL\",\"HW_VOLUME_CTRL\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:5:capture\",\"api.alsa.path\":\"hw:sofhdadsp,6\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"capture\",\"port.group\":\"capture\",\"device.icon_name\":\"audio-input-microphone\",\"device.bus\":\"pci\",\"audio.channels\":\"4\",\"audio.position\":\"[ FL, FR, RL, RR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"6\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: Mic1: source\",\"device.profile.description\":\"Digital Microphone\",\"card.profile.device\":\"5\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.source\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"1648\",\"priority.session\":\"1648\",\"media.class\":\"Audio/Source\",\"node.name\":\"alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic1__source\",\"node.nick\":\"Digital Microphone\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"79\",\"object.serial\":\"582\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[In] Mic1\",\"description\":\"Digital Microphone\",\"type\":\"Mic\",\"priority\":100,\"availability_group\":\"\",\"availability\":\"availability unknown\"}],\"active_port\":\"[In] Mic1\",\"formats\":[\"pcm\"]},{\"index\":65233,\"state\":\"IDLE\",\"name\":\"autotalk_settings_verification_3571813.monitor\",\"description\":\"Monitor of autotalk_settings_verification_3571813 Audio/Sink sink\",\"driver\":\"PipeWire\",\"sample_specification\":\"float32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":536870917,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"autotalk_settings_verification_3571813\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"node.name\":\"autotalk_settings_verification_3571813\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"media.class\":\"Audio/Sink\",\"device.description\":\"autotalk_settings_verification_3571813 Audio/Sink sink\",\"factory.name\":\"support.null-audio-sink\",\"monitor.channel-volumes\":\"true\",\"monitor.passthrough\":\"true\",\"pulse.module.id\":\"536870917\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"59\",\"node.driver\":\"true\",\"port.group\":\"stream.0\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"132\",\"object.serial\":\"65233\",\"device.class\":\"monitor\"},\"ports\":[],\"active_port\":null,\"formats\":[\"pcm\"]}]"} diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/commit2/wheel-audio-before.json b/docs/reviews/evidence/2026-10-01-settings-polish/commit2/wheel-audio-before.json new file mode 100644 index 0000000..1bb3ac4 --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/commit2/wheel-audio-before.json @@ -0,0 +1 @@ +{"sinks": "[{\"index\":577,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink\",\"description\":\"700 Series Chipset Family HD Audio HDMI / DisplayPort 3 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink.monitor\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:0:playback\",\"api.alsa.path\":\"hw:sofhdadsp,5\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 3\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"5\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI3: sink\",\"device.profile.description\":\"HDMI / DisplayPort 3 Output\",\"card.profile.device\":\"0\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"664\",\"priority.session\":\"664\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink\",\"node.nick\":\"HDMI 3\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"78\",\"object.serial\":\"577\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI3\",\"description\":\"HDMI / DisplayPort 3 Output\",\"type\":\"HDMI\",\"priority\":700,\"availability_group\":\"HDMI/DP,pcm=5\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI3\",\"formats\":[\"pcm\"]},{\"index\":578,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink\",\"description\":\"700 Series Chipset Family HD Audio HDMI / DisplayPort 2 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink.monitor\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:1:playback\",\"api.alsa.path\":\"hw:sofhdadsp,4\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 2\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"4\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI2: sink\",\"device.profile.description\":\"HDMI / DisplayPort 2 Output\",\"card.profile.device\":\"1\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"680\",\"priority.session\":\"680\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink\",\"node.nick\":\"HDMI 2\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"134\",\"object.serial\":\"578\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI2\",\"description\":\"HDMI / DisplayPort 2 Output\",\"type\":\"HDMI\",\"priority\":600,\"availability_group\":\"HDMI/DP,pcm=4\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI2\",\"formats\":[\"pcm\"]},{\"index\":579,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink\",\"description\":\"700 Series Chipset Family HD Audio HDMI / DisplayPort 1 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink.monitor\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:2:playback\",\"api.alsa.path\":\"hw:sofhdadsp,3\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 1\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"3\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI1: sink\",\"device.profile.description\":\"HDMI / DisplayPort 1 Output\",\"card.profile.device\":\"2\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"696\",\"priority.session\":\"696\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink\",\"node.nick\":\"HDMI 1\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"98\",\"object.serial\":\"579\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI1\",\"description\":\"HDMI / DisplayPort 1 Output\",\"type\":\"HDMI\",\"priority\":500,\"availability_group\":\"HDMI/DP,pcm=3\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI1\",\"formats\":[\"pcm\"]},{\"index\":580,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink\",\"description\":\"700 Series Chipset Family HD Audio Speaker\",\"driver\":\"PipeWire\",\"sample_specification\":\"s32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":30802,\"value_percent\":\"47%\",\"db\":\"-19.67 dB\"},\"front-right\":{\"value\":30802,\"value_percent\":\"47%\",\"db\":\"-19.67 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink.monitor\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"HW_MUTE_CTRL\",\"HW_VOLUME_CTRL\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:3:playback\",\"api.alsa.path\":\"hw:sofhdadsp\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"audio-speakers\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"0\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: Speaker: sink\",\"device.profile.description\":\"Speaker\",\"card.profile.device\":\"3\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"1000\",\"priority.session\":\"1000\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink\",\"node.nick\":\"Speaker\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"103\",\"object.serial\":\"580\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] Speaker\",\"description\":\"Speaker\",\"type\":\"Speaker\",\"priority\":100,\"availability_group\":\"\",\"availability\":\"availability unknown\"}],\"active_port\":\"[Out] Speaker\",\"formats\":[\"pcm\"]}]", "sources": "[{\"index\":577,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink.monitor\",\"description\":\"Monitor of 700 Series Chipset Family HD Audio HDMI / DisplayPort 3 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:0:playback\",\"api.alsa.path\":\"hw:sofhdadsp,5\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"monitor\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 3\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"5\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI3: sink\",\"device.profile.description\":\"HDMI / DisplayPort 3 Output\",\"card.profile.device\":\"0\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"664\",\"priority.session\":\"664\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink\",\"node.nick\":\"HDMI 3\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"78\",\"object.serial\":\"577\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI3\",\"description\":\"HDMI / DisplayPort 3 Output\",\"type\":\"HDMI\",\"priority\":700,\"availability_group\":\"HDMI/DP,pcm=5\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI3\",\"formats\":[\"pcm\"]},{\"index\":578,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink.monitor\",\"description\":\"Monitor of 700 Series Chipset Family HD Audio HDMI / DisplayPort 2 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:1:playback\",\"api.alsa.path\":\"hw:sofhdadsp,4\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"monitor\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 2\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"4\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI2: sink\",\"device.profile.description\":\"HDMI / DisplayPort 2 Output\",\"card.profile.device\":\"1\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"680\",\"priority.session\":\"680\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink\",\"node.nick\":\"HDMI 2\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"134\",\"object.serial\":\"578\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI2\",\"description\":\"HDMI / DisplayPort 2 Output\",\"type\":\"HDMI\",\"priority\":600,\"availability_group\":\"HDMI/DP,pcm=4\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI2\",\"formats\":[\"pcm\"]},{\"index\":579,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink.monitor\",\"description\":\"Monitor of 700 Series Chipset Family HD Audio HDMI / DisplayPort 1 Output\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:2:playback\",\"api.alsa.path\":\"hw:sofhdadsp,3\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"video-display\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"monitor\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"HDMI 1\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"3\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: HDMI1: sink\",\"device.profile.description\":\"HDMI / DisplayPort 1 Output\",\"card.profile.device\":\"2\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"696\",\"priority.session\":\"696\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink\",\"node.nick\":\"HDMI 1\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"98\",\"object.serial\":\"579\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] HDMI1\",\"description\":\"HDMI / DisplayPort 1 Output\",\"type\":\"HDMI\",\"priority\":500,\"availability_group\":\"HDMI/DP,pcm=3\",\"availability\":\"not available\"}],\"active_port\":\"[Out] HDMI1\",\"formats\":[\"pcm\"]},{\"index\":580,\"state\":\"SUSPENDED\",\"name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink.monitor\",\"description\":\"Monitor of 700 Series Chipset Family HD Audio Speaker\",\"driver\":\"PipeWire\",\"sample_specification\":\"s32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:3:playback\",\"api.alsa.path\":\"hw:sofhdadsp\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"playback\",\"port.group\":\"playback\",\"device.icon_name\":\"audio-speakers\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"monitor\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"0\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: Speaker: sink\",\"device.profile.description\":\"Speaker\",\"card.profile.device\":\"3\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.sink\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"1000\",\"priority.session\":\"1000\",\"media.class\":\"Audio/Sink\",\"node.name\":\"alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink\",\"node.nick\":\"Speaker\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"103\",\"object.serial\":\"580\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[Out] Speaker\",\"description\":\"Speaker\",\"type\":\"Speaker\",\"priority\":100,\"availability_group\":\"\",\"availability\":\"availability unknown\"}],\"active_port\":\"[Out] Speaker\",\"formats\":[\"pcm\"]},{\"index\":581,\"state\":\"SUSPENDED\",\"name\":\"alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic2__source\",\"description\":\"700 Series Chipset Family HD Audio Stereo Microphone\",\"driver\":\"PipeWire\",\"sample_specification\":\"s24-32le 2ch 48000Hz\",\"channel_map\":\"front-left,front-right\",\"owner_module\":4294967295,\"mute\":false,\"volume\":{\"front-left\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"front-right\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":65536,\"value_percent\":\"100%\",\"db\":\"0.00 dB\"},\"monitor_source\":\"\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:4:capture\",\"api.alsa.path\":\"hw:sofhdadsp\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"capture\",\"port.group\":\"capture\",\"device.icon_name\":\"audio-input-microphone\",\"device.bus\":\"pci\",\"audio.channels\":\"2\",\"audio.position\":\"[ FL, FR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"0\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: Mic2: source\",\"device.profile.description\":\"Stereo Microphone\",\"card.profile.device\":\"4\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.source\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"2000\",\"priority.session\":\"2000\",\"media.class\":\"Audio/Source\",\"node.name\":\"alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic2__source\",\"node.nick\":\"Stereo Microphone\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"120\",\"object.serial\":\"581\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[In] Mic2\",\"description\":\"Stereo Microphone\",\"type\":\"Mic\",\"priority\":200,\"availability_group\":\"Mic\",\"availability\":\"not available\"}],\"active_port\":\"[In] Mic2\",\"formats\":[\"pcm\"]},{\"index\":582,\"state\":\"SUSPENDED\",\"name\":\"alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic1__source\",\"description\":\"700 Series Chipset Family HD Audio Digital Microphone\",\"driver\":\"PipeWire\",\"sample_specification\":\"s32le 4ch 48000Hz\",\"channel_map\":\"front-left,front-right,rear-left,rear-right\",\"owner_module\":4294967295,\"mute\":true,\"volume\":{\"front-left\":{\"value\":39578,\"value_percent\":\"60%\",\"db\":\"-13.14 dB\"},\"front-right\":{\"value\":39578,\"value_percent\":\"60%\",\"db\":\"-13.14 dB\"},\"rear-left\":{\"value\":39578,\"value_percent\":\"60%\",\"db\":\"-13.14 dB\"},\"rear-right\":{\"value\":39578,\"value_percent\":\"60%\",\"db\":\"-13.14 dB\"}},\"balance\":0.00,\"base_volume\":{\"value\":30419,\"value_percent\":\"46%\",\"db\":\"-20.00 dB\"},\"monitor_source\":\"\",\"latency\":{\"actual\":0.00,\"configured\":0.00},\"flags\":[\"HARDWARE\",\"HW_MUTE_CTRL\",\"HW_VOLUME_CTRL\",\"DECIBEL_VOLUME\",\"LATENCY\"],\"properties\":{\"object.path\":\"alsa:acp:sofhdadsp:5:capture\",\"api.alsa.path\":\"hw:sofhdadsp,6\",\"api.alsa.open.ucm\":\"true\",\"api.alsa.pcm.card\":\"1\",\"api.alsa.pcm.stream\":\"capture\",\"port.group\":\"capture\",\"device.icon_name\":\"audio-input-microphone\",\"device.bus\":\"pci\",\"audio.channels\":\"4\",\"audio.position\":\"[ FL, FR, RL, RR ]\",\"device.routes\":\"1\",\"alsa.mixer_device\":\"_ucm0003.hw:sofhdadsp\",\"alsa.resolution_bits\":\"16\",\"alsa.card\":\"1\",\"alsa.card_name\":\"sof-hda-dsp\",\"alsa.long_card_name\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"alsa.driver_name\":\"snd_soc_skl_hda_dsp\",\"alsa.mixer_name\":\"Realtek ALC245\",\"alsa.components\":\"HDA:80862818,80860101,00100000 HDA:10ec0245,103c8ca7,00100001 cfg-dmics:4\",\"alsa.id\":\"sofhdadsp\",\"device.api\":\"alsa\",\"device.class\":\"sound\",\"alsa.class\":\"generic\",\"alsa.subclass\":\"generic-mix\",\"alsa.name\":\"\",\"alsa.subdevice\":\"0\",\"alsa.subdevice_name\":\"subdevice #0\",\"alsa.device\":\"6\",\"alsa.sync.id\":\"00000000:00000000:00000000:00000000\",\"device.profile.name\":\"HiFi: Mic1: source\",\"device.profile.description\":\"Digital Microphone\",\"card.profile.device\":\"5\",\"device.id\":\"50\",\"factory.name\":\"api.alsa.pcm.source\",\"node.pause-on-idle\":\"false\",\"priority.driver\":\"1648\",\"priority.session\":\"1648\",\"media.class\":\"Audio/Source\",\"node.name\":\"alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic1__source\",\"node.nick\":\"Digital Microphone\",\"device.description\":\"700 Series Chipset Family HD Audio\",\"api.alsa.card.name\":\"sof-hda-dsp\",\"api.alsa.card.longname\":\"HP-HPZBookFury16G11MobileWorkstationPC-SBKPFV3-8CA7\",\"factory.id\":\"19\",\"clock.quantum-limit\":\"8192\",\"client.id\":\"48\",\"node.driver\":\"true\",\"node.loop.name\":\"data-loop.0\",\"library.name\":\"audioconvert/libspa-audioconvert\",\"object.id\":\"79\",\"object.serial\":\"582\",\"device.enum.api\":\"udev\",\"api.alsa.card\":\"1\",\"device.plugged.usec\":\"6153500\",\"device.bus_path\":\"pci-0000:00:1f.3-platform-skl_hda_dsp_generic\",\"sysfs.path\":\"/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1\",\"device.subsystem\":\"sound\",\"device.vendor.id\":\"0x8086\",\"device.vendor.name\":\"Intel Corporation\",\"device.product.id\":\"0x7a50\",\"device.product.name\":\"700 Series Chipset Family HD Audio\",\"device.name\":\"alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic\",\"device.nick\":\"sof-hda-dsp\",\"api.alsa.use-acp\":\"true\",\"api.acp.auto-profile\":\"false\",\"api.acp.auto-port\":\"false\",\"api.dbus.ReserveDevice1.Priority\":\"-20\",\"api.alsa.split-enable\":\"true\",\"api.dbus.ReserveDevice1\":\"Audio1\",\"spa.object.id\":\"4\",\"device.string\":\"1\"},\"ports\":[{\"name\":\"[In] Mic1\",\"description\":\"Digital Microphone\",\"type\":\"Mic\",\"priority\":100,\"availability_group\":\"\",\"availability\":\"availability unknown\"}],\"active_port\":\"[In] Mic1\",\"formats\":[\"pcm\"]}]"} diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/commit2/wheel-full.log b/docs/reviews/evidence/2026-10-01-settings-polish/commit2/wheel-full.log new file mode 100644 index 0000000..0494b27 --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/commit2/wheel-full.log @@ -0,0 +1,47 @@ +dbus-daemon[3571849]: [session uid=1000 pid=3571849 pidfd=5] Activating service name='org.a11y.Bus' requested by ':1.0' (uid=1000 pid=3571853 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3571849]: [session uid=1000 pid=3571849 pidfd=5] Successfully activated service 'org.a11y.Bus' +dbus-daemon[3571849]: [session uid=1000 pid=3571849 pidfd=5] Activating service name='org.gtk.vfs.Daemon' requested by ':1.2' (uid=1000 pid=3571853 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3571849]: [session uid=1000 pid=3571849 pidfd=5] Successfully activated service 'org.gtk.vfs.Daemon' +dbus-daemon[3571880]: Activating service name='org.a11y.atspi.Registry' requested by ':1.1' (uid=1000 pid=3571853 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3571849]: [session uid=1000 pid=3571849 pidfd=5] Activating service name='org.xfce.Xfconf' requested by ':1.2' (uid=1000 pid=3571853 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3571880]: Successfully activated service 'org.a11y.atspi.Registry' +SpiRegistry daemon is running with well-known name - org.a11y.atspi.Registry +dbus-daemon[3571849]: [session uid=1000 pid=3571849 pidfd=5] Successfully activated service 'org.xfce.Xfconf' +dbus-daemon[3571849]: [session uid=1000 pid=3571849 pidfd=5] Activating service name='org.freedesktop.portal.Desktop' requested by ':1.7' (uid=1000 pid=3571985 comm=".venv/bin/python -m pytest -q" label="unconfined") +dbus-daemon[3571849]: [session uid=1000 pid=3571849 pidfd=5] Activating service name='org.freedesktop.impl.portal.PermissionStore' requested by ':1.8' (uid=1000 pid=3572064 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3571849]: [session uid=1000 pid=3571849 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.PermissionStore' +dbus-daemon[3571849]: [session uid=1000 pid=3571849 pidfd=5] Activating service name='org.freedesktop.portal.Documents' requested by ':1.8' (uid=1000 pid=3572064 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3571849]: [session uid=1000 pid=3571849 pidfd=5] Successfully activated service 'org.freedesktop.portal.Documents' + +(/usr/libexec/xdg-desktop-portal:3572064): xdg-desktop-portal-WARNING **: 09:52:33.827: Choosing gtk.portal for org.freedesktop.impl.portal.Lockdown as a last-resort fallback +dbus-daemon[3571849]: [session uid=1000 pid=3571849 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.gtk' requested by ':1.8' (uid=1000 pid=3572064 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3571849]: [session uid=1000 pid=3571849 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.gtk' +dbus-daemon[3571849]: [session uid=1000 pid=3571849 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kde' requested by ':1.8' (uid=1000 pid=3572064 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3571849]: [session uid=1000 pid=3571849 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kde' +xdp-kde-clipboard: Couldn't resolve QWaylandApplication - clipboard will not work +dbus-daemon[3571849]: [session uid=1000 pid=3571849 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kwallet' requested by ':1.8' (uid=1000 pid=3572064 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3571849]: [session uid=1000 pid=3571849 pidfd=5] Successfully activated service 'org.freedesktop.portal.Desktop' +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +kf.wallet.ksecretd: Lacking a socket, pipe: 0 env: 0 +dbus-daemon[3571849]: [session uid=1000 pid=3571849 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kwallet' +dbus-daemon[3571849]: [session uid=1000 pid=3571849 pidfd=5] Activating service name='org.gtk.vfs.Metadata' requested by ':1.2' (uid=1000 pid=3571853 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3571849]: [session uid=1000 pid=3571849 pidfd=5] Successfully activated service 'org.gtk.vfs.Metadata' +........................................................................ [ 12%] +........................................................................ [ 25%] +........................................................................ [ 37%] +........................................................................ [ 50%] +........................................................................ [ 62%] +........................................................................ [ 75%] +........................ +(/usr/libexec/xdg-desktop-portal:3572064): xdg-desktop-portal-WARNING **: 09:54:57.471: Realtime error: Could not map tid 3575960 of pid 3571985: Process ids could not be found: 3575960 +................................................ [ 87%] +........................................................................ [100%] +576 passed in 191.24s (0:03:11) +A connection to the bus can't be made + +(xfconfd:3571922): xfconfd-WARNING **: 09:55:44.859: Name org.xfce.Xfconf lost on the message dbus, exiting. +The X11 connection broke (error 1). Did the X11 server die? +The X11 connection broke (error 1). Did the X11 server die? +KCrash: Application 'xdg-desktop-portal-kde' crashing... crashRecursionCounter = 2 diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/compare-screens.py b/docs/reviews/evidence/2026-10-01-settings-polish/compare-screens.py new file mode 100644 index 0000000..7d65a7f --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/compare-screens.py @@ -0,0 +1,36 @@ +"""Make labelled before/after review sheets; report full-image differences.""" +import json +from pathlib import Path +from PIL import Image, ImageChops, ImageDraw + +root = Path('docs/reviews/evidence/2026-10-01-settings-polish') +out = root / 'comparisons' +out.mkdir(exist_ok=True) +records = [] +for stack in ('wheel', 'native'): + for scale in ('1', '1.5'): + sheet = Image.new('RGB', (1600, 1880), '#dddddd') + draw = ImageDraw.Draw(sheet) + for row, (theme, main, dialog) in enumerate( + (t, m, d) for t in ('light', 'dark') for m, d in ((940, 760), (1100, 920)) + ): + for kind, width in (('inspector', main), ('timing', dialog)): + name = f'{kind}-{theme}-{width}-scale{scale}.png' + before = Image.open(root / 'screens/before' / stack / name).convert('RGB') + after = Image.open(root / 'screens/after' / stack / name).convert('RGB') + assert before.size == after.size + bbox = ImageChops.difference(before, after).getbbox() + records.append({'stack': stack, 'file': name, 'difference_bbox': bbox}) + for phase, image in (('before', before), ('after', after)): + column = (0 if kind == 'inspector' else 2) + (phase == 'after') + if kind == 'inspector': + factor = float(scale) + image = image.crop((image.width - round(230 * factor), round(195 * factor), + image.width, image.height - round(110 * factor))) + image.thumbnail((390, 430)) + x, y = column * 400, row * 470 + draw.text((x + 4, y + 4), f'{stack} {scale}x {theme} {width} {kind} {phase}', fill='black') + sheet.paste(image, (x + 4, y + 24)) + sheet.save(out / f'{stack}-{scale}.png') +(out / 'diffs.json').write_text(json.dumps(records, indent=2)) +print(f'Compared {len(records)} before/after pairs; four review sheets written.') diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/comparisons/diffs.json b/docs/reviews/evidence/2026-10-01-settings-polish/comparisons/diffs.json new file mode 100644 index 0000000..563b3d6 --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/comparisons/diffs.json @@ -0,0 +1,322 @@ +[ + { + "stack": "wheel", + "file": "inspector-light-940-scale1.png", + "difference_bbox": [ + 321, + 190, + 940, + 572 + ] + }, + { + "stack": "wheel", + "file": "timing-light-760-scale1.png", + "difference_bbox": [ + 401, + 448, + 550, + 461 + ] + }, + { + "stack": "wheel", + "file": "inspector-light-1100-scale1.png", + "difference_bbox": [ + 329, + 190, + 1090, + 742 + ] + }, + { + "stack": "wheel", + "file": "timing-light-920-scale1.png", + "difference_bbox": [ + 488, + 539, + 637, + 552 + ] + }, + { + "stack": "wheel", + "file": "inspector-dark-940-scale1.png", + "difference_bbox": [ + 321, + 190, + 940, + 572 + ] + }, + { + "stack": "wheel", + "file": "timing-dark-760-scale1.png", + "difference_bbox": [ + 401, + 448, + 550, + 461 + ] + }, + { + "stack": "wheel", + "file": "inspector-dark-1100-scale1.png", + "difference_bbox": [ + 329, + 190, + 1090, + 742 + ] + }, + { + "stack": "wheel", + "file": "timing-dark-920-scale1.png", + "difference_bbox": [ + 488, + 539, + 637, + 552 + ] + }, + { + "stack": "wheel", + "file": "inspector-light-940-scale1.5.png", + "difference_bbox": [ + 482, + 285, + 1410, + 858 + ] + }, + { + "stack": "wheel", + "file": "timing-light-760-scale1.5.png", + "difference_bbox": [ + 602, + 673, + 824, + 692 + ] + }, + { + "stack": "wheel", + "file": "inspector-light-1100-scale1.5.png", + "difference_bbox": [ + 494, + 285, + 1635, + 1113 + ] + }, + { + "stack": "wheel", + "file": "timing-light-920-scale1.5.png", + "difference_bbox": [ + 733, + 810, + 955, + 829 + ] + }, + { + "stack": "wheel", + "file": "inspector-dark-940-scale1.5.png", + "difference_bbox": [ + 482, + 285, + 1410, + 858 + ] + }, + { + "stack": "wheel", + "file": "timing-dark-760-scale1.5.png", + "difference_bbox": [ + 602, + 673, + 824, + 692 + ] + }, + { + "stack": "wheel", + "file": "inspector-dark-1100-scale1.5.png", + "difference_bbox": [ + 494, + 285, + 1635, + 1113 + ] + }, + { + "stack": "wheel", + "file": "timing-dark-920-scale1.5.png", + "difference_bbox": [ + 733, + 810, + 955, + 829 + ] + }, + { + "stack": "native", + "file": "inspector-light-940-scale1.png", + "difference_bbox": [ + 327, + 200, + 934, + 570 + ] + }, + { + "stack": "native", + "file": "timing-light-760-scale1.png", + "difference_bbox": [ + 392, + 445, + 552, + 458 + ] + }, + { + "stack": "native", + "file": "inspector-light-1100-scale1.png", + "difference_bbox": [ + 330, + 200, + 1094, + 740 + ] + }, + { + "stack": "native", + "file": "timing-light-920-scale1.png", + "difference_bbox": [ + 482, + 547, + 643, + 560 + ] + }, + { + "stack": "native", + "file": "inspector-dark-940-scale1.png", + "difference_bbox": [ + 327, + 200, + 934, + 570 + ] + }, + { + "stack": "native", + "file": "timing-dark-760-scale1.png", + "difference_bbox": [ + 392, + 445, + 552, + 458 + ] + }, + { + "stack": "native", + "file": "inspector-dark-1100-scale1.png", + "difference_bbox": [ + 330, + 200, + 1094, + 740 + ] + }, + { + "stack": "native", + "file": "timing-dark-920-scale1.png", + "difference_bbox": [ + 482, + 547, + 643, + 560 + ] + }, + { + "stack": "native", + "file": "inspector-light-940-scale1.5.png", + "difference_bbox": [ + 491, + 300, + 1401, + 855 + ] + }, + { + "stack": "native", + "file": "timing-light-760-scale1.5.png", + "difference_bbox": [ + 588, + 668, + 828, + 688 + ] + }, + { + "stack": "native", + "file": "inspector-light-1100-scale1.5.png", + "difference_bbox": [ + 495, + 300, + 1641, + 1110 + ] + }, + { + "stack": "native", + "file": "timing-light-920-scale1.5.png", + "difference_bbox": [ + 724, + 821, + 964, + 841 + ] + }, + { + "stack": "native", + "file": "inspector-dark-940-scale1.5.png", + "difference_bbox": [ + 491, + 300, + 1401, + 855 + ] + }, + { + "stack": "native", + "file": "timing-dark-760-scale1.5.png", + "difference_bbox": [ + 588, + 668, + 828, + 688 + ] + }, + { + "stack": "native", + "file": "inspector-dark-1100-scale1.5.png", + "difference_bbox": [ + 495, + 300, + 1641, + 1110 + ] + }, + { + "stack": "native", + "file": "timing-dark-920-scale1.5.png", + "difference_bbox": [ + 724, + 821, + 964, + 841 + ] + } +] \ No newline at end of file diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/comparisons/native-1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/comparisons/native-1.5.png new file mode 100644 index 0000000..b7281a6 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/comparisons/native-1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/comparisons/native-1.png b/docs/reviews/evidence/2026-10-01-settings-polish/comparisons/native-1.png new file mode 100644 index 0000000..8e5360d Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/comparisons/native-1.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/comparisons/wheel-1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/comparisons/wheel-1.5.png new file mode 100644 index 0000000..8b65fd7 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/comparisons/wheel-1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/comparisons/wheel-1.png b/docs/reviews/evidence/2026-10-01-settings-polish/comparisons/wheel-1.png new file mode 100644 index 0000000..22341eb Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/comparisons/wheel-1.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/focused/native-full.log b/docs/reviews/evidence/2026-10-01-settings-polish/focused/native-full.log new file mode 100644 index 0000000..27accf3 --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/focused/native-full.log @@ -0,0 +1,39 @@ +dbus-daemon[3560486]: [session uid=1000 pid=3560486 pidfd=5] Activating service name='org.a11y.Bus' requested by ':1.0' (uid=1000 pid=3560489 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3560486]: [session uid=1000 pid=3560486 pidfd=5] Successfully activated service 'org.a11y.Bus' +dbus-daemon[3560486]: [session uid=1000 pid=3560486 pidfd=5] Activating service name='org.gtk.vfs.Daemon' requested by ':1.2' (uid=1000 pid=3560489 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3560486]: [session uid=1000 pid=3560486 pidfd=5] Successfully activated service 'org.gtk.vfs.Daemon' +dbus-daemon[3560509]: Activating service name='org.a11y.atspi.Registry' requested by ':1.1' (uid=1000 pid=3560489 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3560486]: [session uid=1000 pid=3560486 pidfd=5] Activating service name='org.xfce.Xfconf' requested by ':1.2' (uid=1000 pid=3560489 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3560509]: Successfully activated service 'org.a11y.atspi.Registry' +SpiRegistry daemon is running with well-known name - org.a11y.atspi.Registry +dbus-daemon[3560486]: [session uid=1000 pid=3560486 pidfd=5] Successfully activated service 'org.xfce.Xfconf' +dbus-daemon[3560486]: [session uid=1000 pid=3560486 pidfd=5] Activating service name='org.freedesktop.portal.Desktop' requested by ':1.7' (uid=1000 pid=3560566 comm="artifacts/open-tasks/venv-qt610/bin/python -m pyte" label="unconfined") +dbus-daemon[3560486]: [session uid=1000 pid=3560486 pidfd=5] Activating service name='org.freedesktop.impl.portal.PermissionStore' requested by ':1.8' (uid=1000 pid=3560642 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3560486]: [session uid=1000 pid=3560486 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.PermissionStore' +dbus-daemon[3560486]: [session uid=1000 pid=3560486 pidfd=5] Activating service name='org.freedesktop.portal.Documents' requested by ':1.8' (uid=1000 pid=3560642 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3560486]: [session uid=1000 pid=3560486 pidfd=5] Successfully activated service 'org.freedesktop.portal.Documents' + +(/usr/libexec/xdg-desktop-portal:3560642): xdg-desktop-portal-WARNING **: 09:42:26.221: Choosing gtk.portal for org.freedesktop.impl.portal.Lockdown as a last-resort fallback +dbus-daemon[3560486]: [session uid=1000 pid=3560486 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.gtk' requested by ':1.8' (uid=1000 pid=3560642 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3560486]: [session uid=1000 pid=3560486 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.gtk' +dbus-daemon[3560486]: [session uid=1000 pid=3560486 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kde' requested by ':1.8' (uid=1000 pid=3560642 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3560486]: [session uid=1000 pid=3560486 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kde' +xdp-kde-clipboard: Couldn't resolve QWaylandApplication - clipboard will not work +dbus-daemon[3560486]: [session uid=1000 pid=3560486 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kwallet' requested by ':1.8' (uid=1000 pid=3560642 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3560486]: [session uid=1000 pid=3560486 pidfd=5] Successfully activated service 'org.freedesktop.portal.Desktop' +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +kf.wallet.ksecretd: Lacking a socket, pipe: 0 env: 0 +dbus-daemon[3560486]: [session uid=1000 pid=3560486 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kwallet' +dbus-daemon[3560486]: [session uid=1000 pid=3560486 pidfd=5] Activating service name='org.gtk.vfs.Metadata' requested by ':1.2' (uid=1000 pid=3560489 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3560486]: [session uid=1000 pid=3560486 pidfd=5] Successfully activated service 'org.gtk.vfs.Metadata' +........................................................................ [ 81%] +................ [100%] +88 passed in 44.58s +A connection to the bus can't be made + +(xfconfd:3560536): xfconfd-WARNING **: 09:43:11.034: Name org.xfce.Xfconf lost on the message dbus, exiting. +The X11 connection broke (error 1). Did the X11 server die? +The X11 connection broke (error 1). Did the X11 server die? +KCrash: Application 'xdg-desktop-portal-kde' crashing... crashRecursionCounter = 2 diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/focused/wheel-full.log b/docs/reviews/evidence/2026-10-01-settings-polish/focused/wheel-full.log new file mode 100644 index 0000000..c2117b3 --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/focused/wheel-full.log @@ -0,0 +1,39 @@ +dbus-daemon[3559886]: [session uid=1000 pid=3559886 pidfd=5] Activating service name='org.a11y.Bus' requested by ':1.0' (uid=1000 pid=3559889 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3559886]: [session uid=1000 pid=3559886 pidfd=5] Successfully activated service 'org.a11y.Bus' +dbus-daemon[3559886]: [session uid=1000 pid=3559886 pidfd=5] Activating service name='org.gtk.vfs.Daemon' requested by ':1.2' (uid=1000 pid=3559889 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3559886]: [session uid=1000 pid=3559886 pidfd=5] Successfully activated service 'org.gtk.vfs.Daemon' +dbus-daemon[3559910]: Activating service name='org.a11y.atspi.Registry' requested by ':1.1' (uid=1000 pid=3559889 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3559886]: [session uid=1000 pid=3559886 pidfd=5] Activating service name='org.xfce.Xfconf' requested by ':1.2' (uid=1000 pid=3559889 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3559910]: Successfully activated service 'org.a11y.atspi.Registry' +SpiRegistry daemon is running with well-known name - org.a11y.atspi.Registry +dbus-daemon[3559886]: [session uid=1000 pid=3559886 pidfd=5] Successfully activated service 'org.xfce.Xfconf' +dbus-daemon[3559886]: [session uid=1000 pid=3559886 pidfd=5] Activating service name='org.freedesktop.portal.Desktop' requested by ':1.7' (uid=1000 pid=3559959 comm=".venv/bin/python -m pytest -q tests/test_settings_" label="unconfined") +dbus-daemon[3559886]: [session uid=1000 pid=3559886 pidfd=5] Activating service name='org.freedesktop.impl.portal.PermissionStore' requested by ':1.8' (uid=1000 pid=3559989 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3559886]: [session uid=1000 pid=3559886 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.PermissionStore' +dbus-daemon[3559886]: [session uid=1000 pid=3559886 pidfd=5] Activating service name='org.freedesktop.portal.Documents' requested by ':1.8' (uid=1000 pid=3559989 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3559886]: [session uid=1000 pid=3559886 pidfd=5] Successfully activated service 'org.freedesktop.portal.Documents' + +(/usr/libexec/xdg-desktop-portal:3559989): xdg-desktop-portal-WARNING **: 09:41:52.389: Choosing gtk.portal for org.freedesktop.impl.portal.Lockdown as a last-resort fallback +dbus-daemon[3559886]: [session uid=1000 pid=3559886 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.gtk' requested by ':1.8' (uid=1000 pid=3559989 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3559886]: [session uid=1000 pid=3559886 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.gtk' +dbus-daemon[3559886]: [session uid=1000 pid=3559886 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kde' requested by ':1.8' (uid=1000 pid=3559989 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3559886]: [session uid=1000 pid=3559886 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kde' +xdp-kde-clipboard: Couldn't resolve QWaylandApplication - clipboard will not work +dbus-daemon[3559886]: [session uid=1000 pid=3559886 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kwallet' requested by ':1.8' (uid=1000 pid=3559989 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3559886]: [session uid=1000 pid=3559886 pidfd=5] Successfully activated service 'org.freedesktop.portal.Desktop' +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +kf.wallet.ksecretd: Lacking a socket, pipe: 0 env: 0 +dbus-daemon[3559886]: [session uid=1000 pid=3559886 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kwallet' +dbus-daemon[3559886]: [session uid=1000 pid=3559886 pidfd=5] Activating service name='org.gtk.vfs.Metadata' requested by ':1.2' (uid=1000 pid=3559889 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3559886]: [session uid=1000 pid=3559886 pidfd=5] Successfully activated service 'org.gtk.vfs.Metadata' +........................................................................ [ 81%] +................ [100%] +88 passed in 32.69s +A connection to the bus can't be made + +(xfconfd:3559928): xfconfd-WARNING **: 09:42:25.022: Name org.xfce.Xfconf lost on the message dbus, exiting. +The X11 connection broke (error 1). Did the X11 server die? +The X11 connection broke (error 1). Did the X11 server die? +KCrash: Application 'xdg-desktop-portal-kde' crashing... crashRecursionCounter = 2 diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/layout/native-full.log b/docs/reviews/evidence/2026-10-01-settings-polish/layout/native-full.log new file mode 100644 index 0000000..df49997 --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/layout/native-full.log @@ -0,0 +1,38 @@ +dbus-daemon[3559367]: [session uid=1000 pid=3559367 pidfd=5] Activating service name='org.a11y.Bus' requested by ':1.0' (uid=1000 pid=3559369 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3559367]: [session uid=1000 pid=3559367 pidfd=5] Successfully activated service 'org.a11y.Bus' +dbus-daemon[3559367]: [session uid=1000 pid=3559367 pidfd=5] Activating service name='org.gtk.vfs.Daemon' requested by ':1.2' (uid=1000 pid=3559369 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3559367]: [session uid=1000 pid=3559367 pidfd=5] Successfully activated service 'org.gtk.vfs.Daemon' +dbus-daemon[3559388]: Activating service name='org.a11y.atspi.Registry' requested by ':1.1' (uid=1000 pid=3559369 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3559367]: [session uid=1000 pid=3559367 pidfd=5] Activating service name='org.xfce.Xfconf' requested by ':1.2' (uid=1000 pid=3559369 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3559388]: Successfully activated service 'org.a11y.atspi.Registry' +SpiRegistry daemon is running with well-known name - org.a11y.atspi.Registry +dbus-daemon[3559367]: [session uid=1000 pid=3559367 pidfd=5] Successfully activated service 'org.xfce.Xfconf' +dbus-daemon[3559367]: [session uid=1000 pid=3559367 pidfd=5] Activating service name='org.freedesktop.portal.Desktop' requested by ':1.7' (uid=1000 pid=3559436 comm="artifacts/open-tasks/venv-qt610/bin/python -m pyte" label="unconfined") +dbus-daemon[3559367]: [session uid=1000 pid=3559367 pidfd=5] Activating service name='org.freedesktop.impl.portal.PermissionStore' requested by ':1.8' (uid=1000 pid=3559469 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3559367]: [session uid=1000 pid=3559367 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.PermissionStore' +dbus-daemon[3559367]: [session uid=1000 pid=3559367 pidfd=5] Activating service name='org.freedesktop.portal.Documents' requested by ':1.8' (uid=1000 pid=3559469 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3559367]: [session uid=1000 pid=3559367 pidfd=5] Successfully activated service 'org.freedesktop.portal.Documents' + +(/usr/libexec/xdg-desktop-portal:3559469): xdg-desktop-portal-WARNING **: 09:40:54.690: Choosing gtk.portal for org.freedesktop.impl.portal.Lockdown as a last-resort fallback +dbus-daemon[3559367]: [session uid=1000 pid=3559367 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.gtk' requested by ':1.8' (uid=1000 pid=3559469 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3559367]: [session uid=1000 pid=3559367 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.gtk' +dbus-daemon[3559367]: [session uid=1000 pid=3559367 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kde' requested by ':1.8' (uid=1000 pid=3559469 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3559367]: [session uid=1000 pid=3559367 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kde' +xdp-kde-clipboard: Couldn't resolve QWaylandApplication - clipboard will not work +dbus-daemon[3559367]: [session uid=1000 pid=3559367 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kwallet' requested by ':1.8' (uid=1000 pid=3559469 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3559367]: [session uid=1000 pid=3559367 pidfd=5] Successfully activated service 'org.freedesktop.portal.Desktop' +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +kf.wallet.ksecretd: Lacking a socket, pipe: 0 env: 0 +dbus-daemon[3559367]: [session uid=1000 pid=3559367 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kwallet' +dbus-daemon[3559367]: [session uid=1000 pid=3559367 pidfd=5] Activating service name='org.gtk.vfs.Metadata' requested by ':1.2' (uid=1000 pid=3559369 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3559367]: [session uid=1000 pid=3559367 pidfd=5] Successfully activated service 'org.gtk.vfs.Metadata' +.. [100%] +2 passed, 13 deselected in 1.73s +A connection to the bus can't be made + +(xfconfd:3559408): xfconfd-WARNING **: 09:40:56.473: Name org.xfce.Xfconf lost on the message dbus, exiting. +The X11 connection broke (error 1). Did the X11 server die? +The X11 connection broke (error 1). Did the X11 server die? +KCrash: Application 'xdg-desktop-portal-kde' crashing... crashRecursionCounter = 2 diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/layout/wheel-full.log b/docs/reviews/evidence/2026-10-01-settings-polish/layout/wheel-full.log new file mode 100644 index 0000000..df91f25 --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/layout/wheel-full.log @@ -0,0 +1,38 @@ +dbus-daemon[3559094]: [session uid=1000 pid=3559094 pidfd=5] Activating service name='org.a11y.Bus' requested by ':1.0' (uid=1000 pid=3559096 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3559094]: [session uid=1000 pid=3559094 pidfd=5] Successfully activated service 'org.a11y.Bus' +dbus-daemon[3559094]: [session uid=1000 pid=3559094 pidfd=5] Activating service name='org.gtk.vfs.Daemon' requested by ':1.2' (uid=1000 pid=3559096 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3559094]: [session uid=1000 pid=3559094 pidfd=5] Successfully activated service 'org.gtk.vfs.Daemon' +dbus-daemon[3559112]: Activating service name='org.a11y.atspi.Registry' requested by ':1.1' (uid=1000 pid=3559096 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3559094]: [session uid=1000 pid=3559094 pidfd=5] Activating service name='org.xfce.Xfconf' requested by ':1.2' (uid=1000 pid=3559096 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3559112]: Successfully activated service 'org.a11y.atspi.Registry' +SpiRegistry daemon is running with well-known name - org.a11y.atspi.Registry +dbus-daemon[3559094]: [session uid=1000 pid=3559094 pidfd=5] Successfully activated service 'org.xfce.Xfconf' +dbus-daemon[3559094]: [session uid=1000 pid=3559094 pidfd=5] Activating service name='org.freedesktop.portal.Desktop' requested by ':1.7' (uid=1000 pid=3559160 comm=".venv/bin/python -m pytest -q tests/test_settings_" label="unconfined") +dbus-daemon[3559094]: [session uid=1000 pid=3559094 pidfd=5] Activating service name='org.freedesktop.impl.portal.PermissionStore' requested by ':1.8' (uid=1000 pid=3559190 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3559094]: [session uid=1000 pid=3559094 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.PermissionStore' +dbus-daemon[3559094]: [session uid=1000 pid=3559094 pidfd=5] Activating service name='org.freedesktop.portal.Documents' requested by ':1.8' (uid=1000 pid=3559190 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3559094]: [session uid=1000 pid=3559094 pidfd=5] Successfully activated service 'org.freedesktop.portal.Documents' + +(/usr/libexec/xdg-desktop-portal:3559190): xdg-desktop-portal-WARNING **: 09:40:52.055: Choosing gtk.portal for org.freedesktop.impl.portal.Lockdown as a last-resort fallback +dbus-daemon[3559094]: [session uid=1000 pid=3559094 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.gtk' requested by ':1.8' (uid=1000 pid=3559190 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3559094]: [session uid=1000 pid=3559094 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.gtk' +dbus-daemon[3559094]: [session uid=1000 pid=3559094 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kde' requested by ':1.8' (uid=1000 pid=3559190 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3559094]: [session uid=1000 pid=3559094 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kde' +xdp-kde-clipboard: Couldn't resolve QWaylandApplication - clipboard will not work +dbus-daemon[3559094]: [session uid=1000 pid=3559094 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kwallet' requested by ':1.8' (uid=1000 pid=3559190 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3559094]: [session uid=1000 pid=3559094 pidfd=5] Successfully activated service 'org.freedesktop.portal.Desktop' +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +kf.wallet.ksecretd: Lacking a socket, pipe: 0 env: 0 +dbus-daemon[3559094]: [session uid=1000 pid=3559094 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kwallet' +dbus-daemon[3559094]: [session uid=1000 pid=3559094 pidfd=5] Activating service name='org.gtk.vfs.Metadata' requested by ':1.2' (uid=1000 pid=3559096 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3559094]: [session uid=1000 pid=3559094 pidfd=5] Successfully activated service 'org.gtk.vfs.Metadata' +.. [100%] +2 passed, 13 deselected in 1.54s +A connection to the bus can't be made + +(xfconfd:3559130): xfconfd-WARNING **: 09:40:53.638: Name org.xfce.Xfconf lost on the message dbus, exiting. +The X11 connection broke (error 1). Did the X11 server die? +The X11 connection broke (error 1). Did the X11 server die? +KCrash: Application 'xdg-desktop-portal-kde' crashing... crashRecursionCounter = 2 diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/pycodestyle-commit1.txt b/docs/reviews/evidence/2026-10-01-settings-polish/pycodestyle-commit1.txt new file mode 100644 index 0000000..ded344d --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/pycodestyle-commit1.txt @@ -0,0 +1,3 @@ +pycodestyle 2.15.0 +--select=E225,E231,E702 over the six named modules +exit=0; findings=0; stdout/stderr empty diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/pycodestyle-final.txt b/docs/reviews/evidence/2026-10-01-settings-polish/pycodestyle-final.txt new file mode 100644 index 0000000..b57897a --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/pycodestyle-final.txt @@ -0,0 +1,2 @@ +pycodestyle --select=E225,E231,E702 over the six named modules +exit=0; findings=0; stdout/stderr empty diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/ruff-final.txt b/docs/reviews/evidence/2026-10-01-settings-polish/ruff-final.txt new file mode 100644 index 0000000..1f5f344 --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/ruff-final.txt @@ -0,0 +1 @@ +All checks passed! diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens.py b/docs/reviews/evidence/2026-10-01-settings-polish/screens.py new file mode 100644 index 0000000..a1dcaca --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/screens.py @@ -0,0 +1,74 @@ +"""Capture the requested settings surfaces with real Qt widgets and isolated preferences.""" +import json +import os +import tempfile +from pathlib import Path + +from PySide6.QtCore import QSettings +from PySide6.QtGui import QColor, QPalette +from PySide6.QtTest import QTest +from PySide6.QtWidgets import QApplication, QToolButton + +from autotalk.app import MainWindow +from autotalk.runtime import Task +from autotalk.services import import_pdf + +app = QApplication([]) +output = Path(os.environ['AUTOTALK_SCREEN_OUTPUT']) +output.mkdir(parents=True, exist_ok=True) +scale = os.environ.get('QT_SCALE_FACTOR', '1') +records = [] +base = QPalette(app.palette()) + + +def capture(widget, name, size): + widget.resize(*size) + app.processEvents() + QTest.qWait(250) + assert widget.size().toTuple() == size + name = f'{name}-scale{scale}.png' + assert widget.grab().save(str(output / name)) + records.append({'file': name, 'size': size, 'style': app.style().objectName()}) + + +with tempfile.TemporaryDirectory() as tmp: + QSettings.setDefaultFormat(QSettings.Format.IniFormat) + QSettings.setPath(QSettings.Format.IniFormat, QSettings.Scope.UserScope, str(Path(tmp) / 'config')) + pdf = next(Path('/home/voc/projects/Hagenberg/DACHS/2026/DACHS').glob('*.pdf')) + project = import_pdf(pdf, Path(tmp) / 'talk', Task(lambda _: None)) + project.title = 'Settings polish — inspection' + project.set_narration(project.slides[0], 'Welcome. This slide introduces the presentation.') + w = MainWindow() + w.adopt(project) + w.show() + for dark in (False, True): + palette = QPalette(base) + if dark: + for role, color in ( + (QPalette.Window, '#31363b'), (QPalette.Base, '#232629'), + (QPalette.AlternateBase, '#31363b'), (QPalette.Button, '#31363b'), + (QPalette.WindowText, '#eff0f1'), (QPalette.Text, '#eff0f1'), + (QPalette.ButtonText, '#eff0f1'), (QPalette.Mid, '#62686e'), + ): + palette.setColor(role, QColor(color)) + app.setPalette(palette) + theme = 'dark' if dark else 'light' + next(b for b in w.inspector.findChildren(QToolButton) if b.text() == 'Timing').setChecked(True) + for size in ((940, 680), (1100, 850)): + w.resize(*size) + w.editor.setSizes([154, size[0] - 354, 200]) + capture(w, f'inspector-{theme}-{size[0]}', size) + records[-1]['inspector_width'] = w.inspector.width() + dialog = w.settings[1] + dialog.show_section('Timing & playback') + for size in ((760, 580), (920, 760)): + dialog.resize(*size) + app.processEvents() + bar = dialog.pages.currentWidget().verticalScrollBar() + bar.setValue(bar.maximum()) + capture(dialog, f'timing-{theme}-{size[0]}', size) + assert dialog.pages.currentWidget().horizontalScrollBar().maximum() == 0 + dialog.reject() + w.close() +(output / f'manifest-{scale}.json').write_text(json.dumps(records, indent=2)) +print(f'Captured {len(records)} screenshots; style={app.style().objectName()}, scale={scale}') diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/capture-1.5.log b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/capture-1.5.log new file mode 100644 index 0000000..3b152a4 --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/capture-1.5.log @@ -0,0 +1,39 @@ +dbus-daemon[3564804]: [session uid=1000 pid=3564804 pidfd=5] Activating service name='org.a11y.Bus' requested by ':1.0' (uid=1000 pid=3564806 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3564804]: [session uid=1000 pid=3564804 pidfd=5] Successfully activated service 'org.a11y.Bus' +dbus-daemon[3564804]: [session uid=1000 pid=3564804 pidfd=5] Activating service name='org.gtk.vfs.Daemon' requested by ':1.2' (uid=1000 pid=3564806 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3564804]: [session uid=1000 pid=3564804 pidfd=5] Successfully activated service 'org.gtk.vfs.Daemon' +dbus-daemon[3564827]: Activating service name='org.a11y.atspi.Registry' requested by ':1.1' (uid=1000 pid=3564806 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3564804]: [session uid=1000 pid=3564804 pidfd=5] Activating service name='org.xfce.Xfconf' requested by ':1.2' (uid=1000 pid=3564806 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3564827]: Successfully activated service 'org.a11y.atspi.Registry' +SpiRegistry daemon is running with well-known name - org.a11y.atspi.Registry +dbus-daemon[3564804]: [session uid=1000 pid=3564804 pidfd=5] Successfully activated service 'org.xfce.Xfconf' +dbus-daemon[3564804]: [session uid=1000 pid=3564804 pidfd=5] Activating service name='org.freedesktop.portal.Desktop' requested by ':1.7' (uid=1000 pid=3564873 comm="artifacts/open-tasks/venv-qt610/bin/python docs/re" label="unconfined") +dbus-daemon[3564804]: [session uid=1000 pid=3564804 pidfd=5] Activating service name='org.freedesktop.impl.portal.PermissionStore' requested by ':1.8' (uid=1000 pid=3564906 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3564804]: [session uid=1000 pid=3564804 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.PermissionStore' +dbus-daemon[3564804]: [session uid=1000 pid=3564804 pidfd=5] Activating service name='org.freedesktop.portal.Documents' requested by ':1.8' (uid=1000 pid=3564906 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3564804]: [session uid=1000 pid=3564804 pidfd=5] Successfully activated service 'org.freedesktop.portal.Documents' + +(/usr/libexec/xdg-desktop-portal:3564906): xdg-desktop-portal-WARNING **: 09:45:49.213: Choosing gtk.portal for org.freedesktop.impl.portal.Lockdown as a last-resort fallback +dbus-daemon[3564804]: [session uid=1000 pid=3564804 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.gtk' requested by ':1.8' (uid=1000 pid=3564906 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3564804]: [session uid=1000 pid=3564804 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.gtk' +dbus-daemon[3564804]: [session uid=1000 pid=3564804 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kde' requested by ':1.8' (uid=1000 pid=3564906 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3564804]: [session uid=1000 pid=3564804 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kde' +xdp-kde-clipboard: Couldn't resolve QWaylandApplication - clipboard will not work +dbus-daemon[3564804]: [session uid=1000 pid=3564804 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kwallet' requested by ':1.8' (uid=1000 pid=3564906 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3564804]: [session uid=1000 pid=3564804 pidfd=5] Successfully activated service 'org.freedesktop.portal.Desktop' +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +kf.wallet.ksecretd: Lacking a socket, pipe: 0 env: 0 +dbus-daemon[3564804]: [session uid=1000 pid=3564804 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kwallet' +qt.multimedia.ffmpeg: Using Qt multimedia with FFmpeg version 8.1.2-2+b3 GPL version 2 or later +dbus-daemon[3564804]: [session uid=1000 pid=3564804 pidfd=5] Activating service name='org.gtk.vfs.Metadata' requested by ':1.2' (uid=1000 pid=3564806 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3564804]: [session uid=1000 pid=3564804 pidfd=5] Successfully activated service 'org.gtk.vfs.Metadata' +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: App info not found for ''") +Captured 8 screenshots; style=breeze, scale=1.5 +A connection to the bus can't be made + +(xfconfd:3564845): xfconfd-WARNING **: 09:45:55.435: Name org.xfce.Xfconf lost on the message dbus, exiting. +The X11 connection broke (error 1). Did the X11 server die? +The X11 connection broke (error 1). Did the X11 server die? +KCrash: Application 'xdg-desktop-portal-kde' crashing... crashRecursionCounter = 2 diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/capture-1.log b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/capture-1.log new file mode 100644 index 0000000..4d6a9b4 --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/capture-1.log @@ -0,0 +1,39 @@ +dbus-daemon[3564482]: [session uid=1000 pid=3564482 pidfd=5] Activating service name='org.a11y.Bus' requested by ':1.0' (uid=1000 pid=3564484 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3564482]: [session uid=1000 pid=3564482 pidfd=5] Successfully activated service 'org.a11y.Bus' +dbus-daemon[3564482]: [session uid=1000 pid=3564482 pidfd=5] Activating service name='org.gtk.vfs.Daemon' requested by ':1.2' (uid=1000 pid=3564484 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3564482]: [session uid=1000 pid=3564482 pidfd=5] Successfully activated service 'org.gtk.vfs.Daemon' +dbus-daemon[3564521]: Activating service name='org.a11y.atspi.Registry' requested by ':1.1' (uid=1000 pid=3564484 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3564482]: [session uid=1000 pid=3564482 pidfd=5] Activating service name='org.xfce.Xfconf' requested by ':1.2' (uid=1000 pid=3564484 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3564521]: Successfully activated service 'org.a11y.atspi.Registry' +SpiRegistry daemon is running with well-known name - org.a11y.atspi.Registry +dbus-daemon[3564482]: [session uid=1000 pid=3564482 pidfd=5] Successfully activated service 'org.xfce.Xfconf' +dbus-daemon[3564482]: [session uid=1000 pid=3564482 pidfd=5] Activating service name='org.freedesktop.portal.Desktop' requested by ':1.7' (uid=1000 pid=3564569 comm="artifacts/open-tasks/venv-qt610/bin/python docs/re" label="unconfined") +dbus-daemon[3564482]: [session uid=1000 pid=3564482 pidfd=5] Activating service name='org.freedesktop.impl.portal.PermissionStore' requested by ':1.8' (uid=1000 pid=3564604 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3564482]: [session uid=1000 pid=3564482 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.PermissionStore' +dbus-daemon[3564482]: [session uid=1000 pid=3564482 pidfd=5] Activating service name='org.freedesktop.portal.Documents' requested by ':1.8' (uid=1000 pid=3564604 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3564482]: [session uid=1000 pid=3564482 pidfd=5] Successfully activated service 'org.freedesktop.portal.Documents' + +(/usr/libexec/xdg-desktop-portal:3564604): xdg-desktop-portal-WARNING **: 09:45:42.510: Choosing gtk.portal for org.freedesktop.impl.portal.Lockdown as a last-resort fallback +dbus-daemon[3564482]: [session uid=1000 pid=3564482 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.gtk' requested by ':1.8' (uid=1000 pid=3564604 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3564482]: [session uid=1000 pid=3564482 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.gtk' +dbus-daemon[3564482]: [session uid=1000 pid=3564482 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kde' requested by ':1.8' (uid=1000 pid=3564604 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3564482]: [session uid=1000 pid=3564482 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kde' +xdp-kde-clipboard: Couldn't resolve QWaylandApplication - clipboard will not work +dbus-daemon[3564482]: [session uid=1000 pid=3564482 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kwallet' requested by ':1.8' (uid=1000 pid=3564604 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3564482]: [session uid=1000 pid=3564482 pidfd=5] Successfully activated service 'org.freedesktop.portal.Desktop' +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +kf.wallet.ksecretd: Lacking a socket, pipe: 0 env: 0 +dbus-daemon[3564482]: [session uid=1000 pid=3564482 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kwallet' +qt.multimedia.ffmpeg: Using Qt multimedia with FFmpeg version 8.1.2-2+b3 GPL version 2 or later +dbus-daemon[3564482]: [session uid=1000 pid=3564482 pidfd=5] Activating service name='org.gtk.vfs.Metadata' requested by ':1.2' (uid=1000 pid=3564484 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3564482]: [session uid=1000 pid=3564482 pidfd=5] Successfully activated service 'org.gtk.vfs.Metadata' +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: App info not found for ''") +Captured 8 screenshots; style=breeze, scale=1 +A connection to the bus can't be made + +(xfconfd:3564540): xfconfd-WARNING **: 09:45:48.302: Name org.xfce.Xfconf lost on the message dbus, exiting. +The X11 connection broke (error 1). Did the X11 server die? +The X11 connection broke (error 1). Did the X11 server die? +KCrash: Application 'xdg-desktop-portal-kde' crashing... crashRecursionCounter = 2 diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/inspector-dark-1100-scale1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/inspector-dark-1100-scale1.5.png new file mode 100644 index 0000000..d2d622f Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/inspector-dark-1100-scale1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/inspector-dark-1100-scale1.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/inspector-dark-1100-scale1.png new file mode 100644 index 0000000..92b5b88 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/inspector-dark-1100-scale1.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/inspector-dark-940-scale1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/inspector-dark-940-scale1.5.png new file mode 100644 index 0000000..76cc61a Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/inspector-dark-940-scale1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/inspector-dark-940-scale1.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/inspector-dark-940-scale1.png new file mode 100644 index 0000000..7882049 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/inspector-dark-940-scale1.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/inspector-light-1100-scale1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/inspector-light-1100-scale1.5.png new file mode 100644 index 0000000..46067cf Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/inspector-light-1100-scale1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/inspector-light-1100-scale1.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/inspector-light-1100-scale1.png new file mode 100644 index 0000000..899218b Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/inspector-light-1100-scale1.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/inspector-light-940-scale1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/inspector-light-940-scale1.5.png new file mode 100644 index 0000000..be2a7ec Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/inspector-light-940-scale1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/inspector-light-940-scale1.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/inspector-light-940-scale1.png new file mode 100644 index 0000000..b6e0c0a Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/inspector-light-940-scale1.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/manifest-1.5.json b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/manifest-1.5.json new file mode 100644 index 0000000..3344131 --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/manifest-1.5.json @@ -0,0 +1,70 @@ +[ + { + "file": "inspector-light-940-scale1.5.png", + "size": [ + 940, + 680 + ], + "style": "breeze", + "inspector_width": 200 + }, + { + "file": "inspector-light-1100-scale1.5.png", + "size": [ + 1100, + 850 + ], + "style": "breeze", + "inspector_width": 221 + }, + { + "file": "timing-light-760-scale1.5.png", + "size": [ + 760, + 580 + ], + "style": "breeze" + }, + { + "file": "timing-light-920-scale1.5.png", + "size": [ + 920, + 760 + ], + "style": "breeze" + }, + { + "file": "inspector-dark-940-scale1.5.png", + "size": [ + 940, + 680 + ], + "style": "breeze", + "inspector_width": 200 + }, + { + "file": "inspector-dark-1100-scale1.5.png", + "size": [ + 1100, + 850 + ], + "style": "breeze", + "inspector_width": 221 + }, + { + "file": "timing-dark-760-scale1.5.png", + "size": [ + 760, + 580 + ], + "style": "breeze" + }, + { + "file": "timing-dark-920-scale1.5.png", + "size": [ + 920, + 760 + ], + "style": "breeze" + } +] \ No newline at end of file diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/manifest-1.json b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/manifest-1.json new file mode 100644 index 0000000..d37b1cc --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/manifest-1.json @@ -0,0 +1,70 @@ +[ + { + "file": "inspector-light-940-scale1.png", + "size": [ + 940, + 680 + ], + "style": "breeze", + "inspector_width": 200 + }, + { + "file": "inspector-light-1100-scale1.png", + "size": [ + 1100, + 850 + ], + "style": "breeze", + "inspector_width": 221 + }, + { + "file": "timing-light-760-scale1.png", + "size": [ + 760, + 580 + ], + "style": "breeze" + }, + { + "file": "timing-light-920-scale1.png", + "size": [ + 920, + 760 + ], + "style": "breeze" + }, + { + "file": "inspector-dark-940-scale1.png", + "size": [ + 940, + 680 + ], + "style": "breeze", + "inspector_width": 200 + }, + { + "file": "inspector-dark-1100-scale1.png", + "size": [ + 1100, + 850 + ], + "style": "breeze", + "inspector_width": 221 + }, + { + "file": "timing-dark-760-scale1.png", + "size": [ + 760, + 580 + ], + "style": "breeze" + }, + { + "file": "timing-dark-920-scale1.png", + "size": [ + 920, + 760 + ], + "style": "breeze" + } +] \ No newline at end of file diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/timing-dark-760-scale1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/timing-dark-760-scale1.5.png new file mode 100644 index 0000000..96266d8 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/timing-dark-760-scale1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/timing-dark-760-scale1.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/timing-dark-760-scale1.png new file mode 100644 index 0000000..458ed84 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/timing-dark-760-scale1.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/timing-dark-920-scale1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/timing-dark-920-scale1.5.png new file mode 100644 index 0000000..76d5fec Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/timing-dark-920-scale1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/timing-dark-920-scale1.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/timing-dark-920-scale1.png new file mode 100644 index 0000000..2693c8d Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/timing-dark-920-scale1.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/timing-light-760-scale1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/timing-light-760-scale1.5.png new file mode 100644 index 0000000..e6b194c Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/timing-light-760-scale1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/timing-light-760-scale1.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/timing-light-760-scale1.png new file mode 100644 index 0000000..53747b2 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/timing-light-760-scale1.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/timing-light-920-scale1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/timing-light-920-scale1.5.png new file mode 100644 index 0000000..f50e70a Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/timing-light-920-scale1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/timing-light-920-scale1.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/timing-light-920-scale1.png new file mode 100644 index 0000000..aa61b9f Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/native/timing-light-920-scale1.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/capture-1.5.log b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/capture-1.5.log new file mode 100644 index 0000000..a938c6b --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/capture-1.5.log @@ -0,0 +1,39 @@ +dbus-daemon[3564230]: [session uid=1000 pid=3564230 pidfd=5] Activating service name='org.a11y.Bus' requested by ':1.0' (uid=1000 pid=3564232 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3564230]: [session uid=1000 pid=3564230 pidfd=5] Successfully activated service 'org.a11y.Bus' +dbus-daemon[3564230]: [session uid=1000 pid=3564230 pidfd=5] Activating service name='org.gtk.vfs.Daemon' requested by ':1.2' (uid=1000 pid=3564232 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3564230]: [session uid=1000 pid=3564230 pidfd=5] Successfully activated service 'org.gtk.vfs.Daemon' +dbus-daemon[3564249]: Activating service name='org.a11y.atspi.Registry' requested by ':1.1' (uid=1000 pid=3564232 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3564230]: [session uid=1000 pid=3564230 pidfd=5] Activating service name='org.xfce.Xfconf' requested by ':1.2' (uid=1000 pid=3564232 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3564249]: Successfully activated service 'org.a11y.atspi.Registry' +SpiRegistry daemon is running with well-known name - org.a11y.atspi.Registry +dbus-daemon[3564230]: [session uid=1000 pid=3564230 pidfd=5] Successfully activated service 'org.xfce.Xfconf' +dbus-daemon[3564230]: [session uid=1000 pid=3564230 pidfd=5] Activating service name='org.freedesktop.portal.Desktop' requested by ':1.7' (uid=1000 pid=3564299 comm=".venv/bin/python docs/reviews/evidence/2026-10-01-" label="unconfined") +dbus-daemon[3564230]: [session uid=1000 pid=3564230 pidfd=5] Activating service name='org.freedesktop.impl.portal.PermissionStore' requested by ':1.8' (uid=1000 pid=3564333 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3564230]: [session uid=1000 pid=3564230 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.PermissionStore' +dbus-daemon[3564230]: [session uid=1000 pid=3564230 pidfd=5] Activating service name='org.freedesktop.portal.Documents' requested by ':1.8' (uid=1000 pid=3564333 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3564230]: [session uid=1000 pid=3564230 pidfd=5] Successfully activated service 'org.freedesktop.portal.Documents' + +(/usr/libexec/xdg-desktop-portal:3564333): xdg-desktop-portal-WARNING **: 09:45:35.848: Choosing gtk.portal for org.freedesktop.impl.portal.Lockdown as a last-resort fallback +dbus-daemon[3564230]: [session uid=1000 pid=3564230 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.gtk' requested by ':1.8' (uid=1000 pid=3564333 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3564230]: [session uid=1000 pid=3564230 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.gtk' +dbus-daemon[3564230]: [session uid=1000 pid=3564230 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kde' requested by ':1.8' (uid=1000 pid=3564333 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3564230]: [session uid=1000 pid=3564230 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kde' +xdp-kde-clipboard: Couldn't resolve QWaylandApplication - clipboard will not work +dbus-daemon[3564230]: [session uid=1000 pid=3564230 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kwallet' requested by ':1.8' (uid=1000 pid=3564333 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3564230]: [session uid=1000 pid=3564230 pidfd=5] Successfully activated service 'org.freedesktop.portal.Desktop' +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +kf.wallet.ksecretd: Lacking a socket, pipe: 0 env: 0 +dbus-daemon[3564230]: [session uid=1000 pid=3564230 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kwallet' +qt.multimedia.ffmpeg: Using Qt multimedia with FFmpeg version 7.1.5 LGPL version 2.1 or later +dbus-daemon[3564230]: [session uid=1000 pid=3564230 pidfd=5] Activating service name='org.gtk.vfs.Metadata' requested by ':1.2' (uid=1000 pid=3564232 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3564230]: [session uid=1000 pid=3564230 pidfd=5] Successfully activated service 'org.gtk.vfs.Metadata' +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: App info not found for ''") +Captured 8 screenshots; style=fusion, scale=1.5 +A connection to the bus can't be made + +(xfconfd:3564271): xfconfd-WARNING **: 09:45:41.548: Name org.xfce.Xfconf lost on the message dbus, exiting. +The X11 connection broke (error 1). Did the X11 server die? +The X11 connection broke (error 1). Did the X11 server die? +KCrash: Application 'xdg-desktop-portal-kde' crashing... crashRecursionCounter = 2 diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/capture-1.log b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/capture-1.log new file mode 100644 index 0000000..2e5c7a9 --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/capture-1.log @@ -0,0 +1,39 @@ +dbus-daemon[3563978]: [session uid=1000 pid=3563978 pidfd=5] Activating service name='org.a11y.Bus' requested by ':1.0' (uid=1000 pid=3563996 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3563978]: [session uid=1000 pid=3563978 pidfd=5] Successfully activated service 'org.a11y.Bus' +dbus-daemon[3563978]: [session uid=1000 pid=3563978 pidfd=5] Activating service name='org.gtk.vfs.Daemon' requested by ':1.2' (uid=1000 pid=3563996 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3563978]: [session uid=1000 pid=3563978 pidfd=5] Successfully activated service 'org.gtk.vfs.Daemon' +dbus-daemon[3564012]: Activating service name='org.a11y.atspi.Registry' requested by ':1.1' (uid=1000 pid=3563996 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3563978]: [session uid=1000 pid=3563978 pidfd=5] Activating service name='org.xfce.Xfconf' requested by ':1.2' (uid=1000 pid=3563996 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3564012]: Successfully activated service 'org.a11y.atspi.Registry' +SpiRegistry daemon is running with well-known name - org.a11y.atspi.Registry +dbus-daemon[3563978]: [session uid=1000 pid=3563978 pidfd=5] Successfully activated service 'org.xfce.Xfconf' +dbus-daemon[3563978]: [session uid=1000 pid=3563978 pidfd=5] Activating service name='org.freedesktop.portal.Desktop' requested by ':1.7' (uid=1000 pid=3564058 comm=".venv/bin/python docs/reviews/evidence/2026-10-01-" label="unconfined") +dbus-daemon[3563978]: [session uid=1000 pid=3563978 pidfd=5] Activating service name='org.freedesktop.impl.portal.PermissionStore' requested by ':1.8' (uid=1000 pid=3564088 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3563978]: [session uid=1000 pid=3563978 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.PermissionStore' +dbus-daemon[3563978]: [session uid=1000 pid=3563978 pidfd=5] Activating service name='org.freedesktop.portal.Documents' requested by ':1.8' (uid=1000 pid=3564088 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3563978]: [session uid=1000 pid=3563978 pidfd=5] Successfully activated service 'org.freedesktop.portal.Documents' + +(/usr/libexec/xdg-desktop-portal:3564088): xdg-desktop-portal-WARNING **: 09:45:29.647: Choosing gtk.portal for org.freedesktop.impl.portal.Lockdown as a last-resort fallback +dbus-daemon[3563978]: [session uid=1000 pid=3563978 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.gtk' requested by ':1.8' (uid=1000 pid=3564088 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3563978]: [session uid=1000 pid=3563978 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.gtk' +dbus-daemon[3563978]: [session uid=1000 pid=3563978 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kde' requested by ':1.8' (uid=1000 pid=3564088 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3563978]: [session uid=1000 pid=3563978 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kde' +xdp-kde-clipboard: Couldn't resolve QWaylandApplication - clipboard will not work +dbus-daemon[3563978]: [session uid=1000 pid=3563978 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kwallet' requested by ':1.8' (uid=1000 pid=3564088 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3563978]: [session uid=1000 pid=3563978 pidfd=5] Successfully activated service 'org.freedesktop.portal.Desktop' +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +kf.wallet.ksecretd: Lacking a socket, pipe: 0 env: 0 +dbus-daemon[3563978]: [session uid=1000 pid=3563978 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kwallet' +qt.multimedia.ffmpeg: Using Qt multimedia with FFmpeg version 7.1.5 LGPL version 2.1 or later +dbus-daemon[3563978]: [session uid=1000 pid=3563978 pidfd=5] Activating service name='org.gtk.vfs.Metadata' requested by ':1.2' (uid=1000 pid=3563996 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3563978]: [session uid=1000 pid=3563978 pidfd=5] Successfully activated service 'org.gtk.vfs.Metadata' +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: App info not found for ''") +Captured 8 screenshots; style=fusion, scale=1 +A connection to the bus can't be made + +(xfconfd:3564030): xfconfd-WARNING **: 09:45:34.942: Name org.xfce.Xfconf lost on the message dbus, exiting. +The X11 connection broke (error 1). Did the X11 server die? +The X11 connection broke (error 1). Did the X11 server die? +KCrash: Application 'xdg-desktop-portal-kde' crashing... crashRecursionCounter = 2 diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/inspector-dark-1100-scale1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/inspector-dark-1100-scale1.5.png new file mode 100644 index 0000000..307dff5 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/inspector-dark-1100-scale1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/inspector-dark-1100-scale1.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/inspector-dark-1100-scale1.png new file mode 100644 index 0000000..9eb3831 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/inspector-dark-1100-scale1.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/inspector-dark-940-scale1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/inspector-dark-940-scale1.5.png new file mode 100644 index 0000000..833b725 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/inspector-dark-940-scale1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/inspector-dark-940-scale1.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/inspector-dark-940-scale1.png new file mode 100644 index 0000000..517cee6 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/inspector-dark-940-scale1.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/inspector-light-1100-scale1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/inspector-light-1100-scale1.5.png new file mode 100644 index 0000000..530abe9 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/inspector-light-1100-scale1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/inspector-light-1100-scale1.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/inspector-light-1100-scale1.png new file mode 100644 index 0000000..76afab0 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/inspector-light-1100-scale1.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/inspector-light-940-scale1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/inspector-light-940-scale1.5.png new file mode 100644 index 0000000..c7f24c7 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/inspector-light-940-scale1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/inspector-light-940-scale1.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/inspector-light-940-scale1.png new file mode 100644 index 0000000..4bf1140 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/inspector-light-940-scale1.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/manifest-1.5.json b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/manifest-1.5.json new file mode 100644 index 0000000..bf071df --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/manifest-1.5.json @@ -0,0 +1,70 @@ +[ + { + "file": "inspector-light-940-scale1.5.png", + "size": [ + 940, + 680 + ], + "style": "fusion", + "inspector_width": 200 + }, + { + "file": "inspector-light-1100-scale1.5.png", + "size": [ + 1100, + 850 + ], + "style": "fusion", + "inspector_width": 214 + }, + { + "file": "timing-light-760-scale1.5.png", + "size": [ + 760, + 580 + ], + "style": "fusion" + }, + { + "file": "timing-light-920-scale1.5.png", + "size": [ + 920, + 760 + ], + "style": "fusion" + }, + { + "file": "inspector-dark-940-scale1.5.png", + "size": [ + 940, + 680 + ], + "style": "fusion", + "inspector_width": 200 + }, + { + "file": "inspector-dark-1100-scale1.5.png", + "size": [ + 1100, + 850 + ], + "style": "fusion", + "inspector_width": 214 + }, + { + "file": "timing-dark-760-scale1.5.png", + "size": [ + 760, + 580 + ], + "style": "fusion" + }, + { + "file": "timing-dark-920-scale1.5.png", + "size": [ + 920, + 760 + ], + "style": "fusion" + } +] \ No newline at end of file diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/manifest-1.json b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/manifest-1.json new file mode 100644 index 0000000..49044be --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/manifest-1.json @@ -0,0 +1,70 @@ +[ + { + "file": "inspector-light-940-scale1.png", + "size": [ + 940, + 680 + ], + "style": "fusion", + "inspector_width": 200 + }, + { + "file": "inspector-light-1100-scale1.png", + "size": [ + 1100, + 850 + ], + "style": "fusion", + "inspector_width": 214 + }, + { + "file": "timing-light-760-scale1.png", + "size": [ + 760, + 580 + ], + "style": "fusion" + }, + { + "file": "timing-light-920-scale1.png", + "size": [ + 920, + 760 + ], + "style": "fusion" + }, + { + "file": "inspector-dark-940-scale1.png", + "size": [ + 940, + 680 + ], + "style": "fusion", + "inspector_width": 200 + }, + { + "file": "inspector-dark-1100-scale1.png", + "size": [ + 1100, + 850 + ], + "style": "fusion", + "inspector_width": 214 + }, + { + "file": "timing-dark-760-scale1.png", + "size": [ + 760, + 580 + ], + "style": "fusion" + }, + { + "file": "timing-dark-920-scale1.png", + "size": [ + 920, + 760 + ], + "style": "fusion" + } +] \ No newline at end of file diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/timing-dark-760-scale1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/timing-dark-760-scale1.5.png new file mode 100644 index 0000000..a2ff420 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/timing-dark-760-scale1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/timing-dark-760-scale1.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/timing-dark-760-scale1.png new file mode 100644 index 0000000..f0df47d Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/timing-dark-760-scale1.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/timing-dark-920-scale1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/timing-dark-920-scale1.5.png new file mode 100644 index 0000000..4c690b2 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/timing-dark-920-scale1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/timing-dark-920-scale1.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/timing-dark-920-scale1.png new file mode 100644 index 0000000..9b68a56 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/timing-dark-920-scale1.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/timing-light-760-scale1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/timing-light-760-scale1.5.png new file mode 100644 index 0000000..df73c46 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/timing-light-760-scale1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/timing-light-760-scale1.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/timing-light-760-scale1.png new file mode 100644 index 0000000..c02a334 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/timing-light-760-scale1.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/timing-light-920-scale1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/timing-light-920-scale1.5.png new file mode 100644 index 0000000..b098bb0 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/timing-light-920-scale1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/timing-light-920-scale1.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/timing-light-920-scale1.png new file mode 100644 index 0000000..847793f Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/after/wheel/timing-light-920-scale1.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/capture-1.5.log b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/capture-1.5.log new file mode 100644 index 0000000..f37bda0 --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/capture-1.5.log @@ -0,0 +1,39 @@ +dbus-daemon[3550209]: [session uid=1000 pid=3550209 pidfd=5] Activating service name='org.a11y.Bus' requested by ':1.0' (uid=1000 pid=3550211 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3550209]: [session uid=1000 pid=3550209 pidfd=5] Successfully activated service 'org.a11y.Bus' +dbus-daemon[3550209]: [session uid=1000 pid=3550209 pidfd=5] Activating service name='org.gtk.vfs.Daemon' requested by ':1.2' (uid=1000 pid=3550211 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3550209]: [session uid=1000 pid=3550209 pidfd=5] Successfully activated service 'org.gtk.vfs.Daemon' +dbus-daemon[3550228]: Activating service name='org.a11y.atspi.Registry' requested by ':1.1' (uid=1000 pid=3550211 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3550209]: [session uid=1000 pid=3550209 pidfd=5] Activating service name='org.xfce.Xfconf' requested by ':1.2' (uid=1000 pid=3550211 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3550209]: [session uid=1000 pid=3550209 pidfd=5] Successfully activated service 'org.xfce.Xfconf' +dbus-daemon[3550228]: Successfully activated service 'org.a11y.atspi.Registry' +SpiRegistry daemon is running with well-known name - org.a11y.atspi.Registry +dbus-daemon[3550209]: [session uid=1000 pid=3550209 pidfd=5] Activating service name='org.freedesktop.portal.Desktop' requested by ':1.7' (uid=1000 pid=3550281 comm="artifacts/open-tasks/venv-qt610/bin/python docs/re" label="unconfined") +dbus-daemon[3550209]: [session uid=1000 pid=3550209 pidfd=5] Activating service name='org.freedesktop.impl.portal.PermissionStore' requested by ':1.8' (uid=1000 pid=3550340 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3550209]: [session uid=1000 pid=3550209 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.PermissionStore' +dbus-daemon[3550209]: [session uid=1000 pid=3550209 pidfd=5] Activating service name='org.freedesktop.portal.Documents' requested by ':1.8' (uid=1000 pid=3550340 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3550209]: [session uid=1000 pid=3550209 pidfd=5] Successfully activated service 'org.freedesktop.portal.Documents' + +(/usr/libexec/xdg-desktop-portal:3550340): xdg-desktop-portal-WARNING **: 09:30:38.678: Choosing gtk.portal for org.freedesktop.impl.portal.Lockdown as a last-resort fallback +dbus-daemon[3550209]: [session uid=1000 pid=3550209 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.gtk' requested by ':1.8' (uid=1000 pid=3550340 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3550209]: [session uid=1000 pid=3550209 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.gtk' +dbus-daemon[3550209]: [session uid=1000 pid=3550209 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kde' requested by ':1.8' (uid=1000 pid=3550340 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3550209]: [session uid=1000 pid=3550209 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kde' +xdp-kde-clipboard: Couldn't resolve QWaylandApplication - clipboard will not work +dbus-daemon[3550209]: [session uid=1000 pid=3550209 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kwallet' requested by ':1.8' (uid=1000 pid=3550340 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3550209]: [session uid=1000 pid=3550209 pidfd=5] Successfully activated service 'org.freedesktop.portal.Desktop' +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +kf.wallet.ksecretd: Lacking a socket, pipe: 0 env: 0 +dbus-daemon[3550209]: [session uid=1000 pid=3550209 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kwallet' +qt.multimedia.ffmpeg: Using Qt multimedia with FFmpeg version 8.1.2-2+b3 GPL version 2 or later +dbus-daemon[3550209]: [session uid=1000 pid=3550209 pidfd=5] Activating service name='org.gtk.vfs.Metadata' requested by ':1.2' (uid=1000 pid=3550211 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3550209]: [session uid=1000 pid=3550209 pidfd=5] Successfully activated service 'org.gtk.vfs.Metadata' +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: App info not found for ''") +Captured 8 screenshots; style=breeze, scale=1.5 +A connection to the bus can't be made + +(xfconfd:3550250): xfconfd-WARNING **: 09:30:44.899: Name org.xfce.Xfconf lost on the message dbus, exiting. +The X11 connection broke (error 1). Did the X11 server die? +The X11 connection broke (error 1). Did the X11 server die? +KCrash: Application 'xdg-desktop-portal-kde' crashing... crashRecursionCounter = 2 diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/capture-1.log b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/capture-1.log new file mode 100644 index 0000000..7119c1f --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/capture-1.log @@ -0,0 +1,39 @@ +dbus-daemon[3549691]: [session uid=1000 pid=3549691 pidfd=5] Activating service name='org.a11y.Bus' requested by ':1.0' (uid=1000 pid=3549693 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3549691]: [session uid=1000 pid=3549691 pidfd=5] Successfully activated service 'org.a11y.Bus' +dbus-daemon[3549691]: [session uid=1000 pid=3549691 pidfd=5] Activating service name='org.gtk.vfs.Daemon' requested by ':1.2' (uid=1000 pid=3549693 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3549691]: [session uid=1000 pid=3549691 pidfd=5] Successfully activated service 'org.gtk.vfs.Daemon' +dbus-daemon[3549712]: Activating service name='org.a11y.atspi.Registry' requested by ':1.1' (uid=1000 pid=3549693 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3549691]: [session uid=1000 pid=3549691 pidfd=5] Activating service name='org.xfce.Xfconf' requested by ':1.2' (uid=1000 pid=3549693 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3549691]: [session uid=1000 pid=3549691 pidfd=5] Successfully activated service 'org.xfce.Xfconf' +dbus-daemon[3549712]: Successfully activated service 'org.a11y.atspi.Registry' +SpiRegistry daemon is running with well-known name - org.a11y.atspi.Registry +dbus-daemon[3549691]: [session uid=1000 pid=3549691 pidfd=5] Activating service name='org.freedesktop.portal.Desktop' requested by ':1.7' (uid=1000 pid=3549774 comm="artifacts/open-tasks/venv-qt610/bin/python docs/re" label="unconfined") +dbus-daemon[3549691]: [session uid=1000 pid=3549691 pidfd=5] Activating service name='org.freedesktop.impl.portal.PermissionStore' requested by ':1.8' (uid=1000 pid=3549808 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3549691]: [session uid=1000 pid=3549691 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.PermissionStore' +dbus-daemon[3549691]: [session uid=1000 pid=3549691 pidfd=5] Activating service name='org.freedesktop.portal.Documents' requested by ':1.8' (uid=1000 pid=3549808 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3549691]: [session uid=1000 pid=3549691 pidfd=5] Successfully activated service 'org.freedesktop.portal.Documents' + +(/usr/libexec/xdg-desktop-portal:3549808): xdg-desktop-portal-WARNING **: 09:30:31.711: Choosing gtk.portal for org.freedesktop.impl.portal.Lockdown as a last-resort fallback +dbus-daemon[3549691]: [session uid=1000 pid=3549691 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.gtk' requested by ':1.8' (uid=1000 pid=3549808 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3549691]: [session uid=1000 pid=3549691 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.gtk' +dbus-daemon[3549691]: [session uid=1000 pid=3549691 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kde' requested by ':1.8' (uid=1000 pid=3549808 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3549691]: [session uid=1000 pid=3549691 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kde' +xdp-kde-clipboard: Couldn't resolve QWaylandApplication - clipboard will not work +dbus-daemon[3549691]: [session uid=1000 pid=3549691 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kwallet' requested by ':1.8' (uid=1000 pid=3549808 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3549691]: [session uid=1000 pid=3549691 pidfd=5] Successfully activated service 'org.freedesktop.portal.Desktop' +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +kf.wallet.ksecretd: Lacking a socket, pipe: 0 env: 0 +dbus-daemon[3549691]: [session uid=1000 pid=3549691 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kwallet' +qt.multimedia.ffmpeg: Using Qt multimedia with FFmpeg version 8.1.2-2+b3 GPL version 2 or later +dbus-daemon[3549691]: [session uid=1000 pid=3549691 pidfd=5] Activating service name='org.gtk.vfs.Metadata' requested by ':1.2' (uid=1000 pid=3549693 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3549691]: [session uid=1000 pid=3549691 pidfd=5] Successfully activated service 'org.gtk.vfs.Metadata' +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: App info not found for ''") +Captured 8 screenshots; style=breeze, scale=1 +A connection to the bus can't be made + +(xfconfd:3549740): xfconfd-WARNING **: 09:30:37.687: Name org.xfce.Xfconf lost on the message dbus, exiting. +The X11 connection broke (error 1). Did the X11 server die? +The X11 connection broke (error 1). Did the X11 server die? +KCrash: Application 'xdg-desktop-portal-kde' crashing... crashRecursionCounter = 2 diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/inspector-dark-1100-scale1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/inspector-dark-1100-scale1.5.png new file mode 100644 index 0000000..5b61c55 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/inspector-dark-1100-scale1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/inspector-dark-1100-scale1.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/inspector-dark-1100-scale1.png new file mode 100644 index 0000000..522a3b3 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/inspector-dark-1100-scale1.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/inspector-dark-940-scale1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/inspector-dark-940-scale1.5.png new file mode 100644 index 0000000..3e564f3 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/inspector-dark-940-scale1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/inspector-dark-940-scale1.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/inspector-dark-940-scale1.png new file mode 100644 index 0000000..a4b52c9 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/inspector-dark-940-scale1.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/inspector-light-1100-scale1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/inspector-light-1100-scale1.5.png new file mode 100644 index 0000000..0287800 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/inspector-light-1100-scale1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/inspector-light-1100-scale1.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/inspector-light-1100-scale1.png new file mode 100644 index 0000000..9fe53d2 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/inspector-light-1100-scale1.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/inspector-light-940-scale1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/inspector-light-940-scale1.5.png new file mode 100644 index 0000000..bed144b Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/inspector-light-940-scale1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/inspector-light-940-scale1.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/inspector-light-940-scale1.png new file mode 100644 index 0000000..2df77c8 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/inspector-light-940-scale1.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/manifest-1.5.json b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/manifest-1.5.json new file mode 100644 index 0000000..5d0c619 --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/manifest-1.5.json @@ -0,0 +1,70 @@ +[ + { + "file": "inspector-light-940-scale1.5.png", + "size": [ + 940, + 680 + ], + "style": "breeze", + "inspector_width": 196 + }, + { + "file": "inspector-light-1100-scale1.5.png", + "size": [ + 1100, + 850 + ], + "style": "breeze", + "inspector_width": 196 + }, + { + "file": "timing-light-760-scale1.5.png", + "size": [ + 760, + 580 + ], + "style": "breeze" + }, + { + "file": "timing-light-920-scale1.5.png", + "size": [ + 920, + 760 + ], + "style": "breeze" + }, + { + "file": "inspector-dark-940-scale1.5.png", + "size": [ + 940, + 680 + ], + "style": "breeze", + "inspector_width": 196 + }, + { + "file": "inspector-dark-1100-scale1.5.png", + "size": [ + 1100, + 850 + ], + "style": "breeze", + "inspector_width": 196 + }, + { + "file": "timing-dark-760-scale1.5.png", + "size": [ + 760, + 580 + ], + "style": "breeze" + }, + { + "file": "timing-dark-920-scale1.5.png", + "size": [ + 920, + 760 + ], + "style": "breeze" + } +] \ No newline at end of file diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/manifest-1.json b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/manifest-1.json new file mode 100644 index 0000000..1c7bca2 --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/manifest-1.json @@ -0,0 +1,70 @@ +[ + { + "file": "inspector-light-940-scale1.png", + "size": [ + 940, + 680 + ], + "style": "breeze", + "inspector_width": 196 + }, + { + "file": "inspector-light-1100-scale1.png", + "size": [ + 1100, + 850 + ], + "style": "breeze", + "inspector_width": 196 + }, + { + "file": "timing-light-760-scale1.png", + "size": [ + 760, + 580 + ], + "style": "breeze" + }, + { + "file": "timing-light-920-scale1.png", + "size": [ + 920, + 760 + ], + "style": "breeze" + }, + { + "file": "inspector-dark-940-scale1.png", + "size": [ + 940, + 680 + ], + "style": "breeze", + "inspector_width": 196 + }, + { + "file": "inspector-dark-1100-scale1.png", + "size": [ + 1100, + 850 + ], + "style": "breeze", + "inspector_width": 196 + }, + { + "file": "timing-dark-760-scale1.png", + "size": [ + 760, + 580 + ], + "style": "breeze" + }, + { + "file": "timing-dark-920-scale1.png", + "size": [ + 920, + 760 + ], + "style": "breeze" + } +] \ No newline at end of file diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/timing-dark-760-scale1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/timing-dark-760-scale1.5.png new file mode 100644 index 0000000..152f415 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/timing-dark-760-scale1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/timing-dark-760-scale1.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/timing-dark-760-scale1.png new file mode 100644 index 0000000..f085037 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/timing-dark-760-scale1.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/timing-dark-920-scale1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/timing-dark-920-scale1.5.png new file mode 100644 index 0000000..11de215 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/timing-dark-920-scale1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/timing-dark-920-scale1.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/timing-dark-920-scale1.png new file mode 100644 index 0000000..2a1440a Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/timing-dark-920-scale1.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/timing-light-760-scale1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/timing-light-760-scale1.5.png new file mode 100644 index 0000000..dad2eb2 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/timing-light-760-scale1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/timing-light-760-scale1.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/timing-light-760-scale1.png new file mode 100644 index 0000000..893ceb7 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/timing-light-760-scale1.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/timing-light-920-scale1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/timing-light-920-scale1.5.png new file mode 100644 index 0000000..b8ff8ff Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/timing-light-920-scale1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/timing-light-920-scale1.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/timing-light-920-scale1.png new file mode 100644 index 0000000..51c7ff7 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/native/timing-light-920-scale1.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/capture-1.5.log b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/capture-1.5.log new file mode 100644 index 0000000..766801d --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/capture-1.5.log @@ -0,0 +1,39 @@ +dbus-daemon[3549244]: [session uid=1000 pid=3549244 pidfd=5] Activating service name='org.a11y.Bus' requested by ':1.0' (uid=1000 pid=3549246 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3549244]: [session uid=1000 pid=3549244 pidfd=5] Successfully activated service 'org.a11y.Bus' +dbus-daemon[3549244]: [session uid=1000 pid=3549244 pidfd=5] Activating service name='org.gtk.vfs.Daemon' requested by ':1.2' (uid=1000 pid=3549246 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3549244]: [session uid=1000 pid=3549244 pidfd=5] Successfully activated service 'org.gtk.vfs.Daemon' +dbus-daemon[3549267]: Activating service name='org.a11y.atspi.Registry' requested by ':1.1' (uid=1000 pid=3549246 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3549244]: [session uid=1000 pid=3549244 pidfd=5] Activating service name='org.xfce.Xfconf' requested by ':1.2' (uid=1000 pid=3549246 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3549267]: Successfully activated service 'org.a11y.atspi.Registry' +SpiRegistry daemon is running with well-known name - org.a11y.atspi.Registry +dbus-daemon[3549244]: [session uid=1000 pid=3549244 pidfd=5] Successfully activated service 'org.xfce.Xfconf' +dbus-daemon[3549244]: [session uid=1000 pid=3549244 pidfd=5] Activating service name='org.freedesktop.portal.Desktop' requested by ':1.7' (uid=1000 pid=3549320 comm=".venv/bin/python docs/reviews/evidence/2026-10-01-" label="unconfined") +dbus-daemon[3549244]: [session uid=1000 pid=3549244 pidfd=5] Activating service name='org.freedesktop.impl.portal.PermissionStore' requested by ':1.8' (uid=1000 pid=3549350 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3549244]: [session uid=1000 pid=3549244 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.PermissionStore' +dbus-daemon[3549244]: [session uid=1000 pid=3549244 pidfd=5] Activating service name='org.freedesktop.portal.Documents' requested by ':1.8' (uid=1000 pid=3549350 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3549244]: [session uid=1000 pid=3549244 pidfd=5] Successfully activated service 'org.freedesktop.portal.Documents' + +(/usr/libexec/xdg-desktop-portal:3549350): xdg-desktop-portal-WARNING **: 09:30:24.937: Choosing gtk.portal for org.freedesktop.impl.portal.Lockdown as a last-resort fallback +dbus-daemon[3549244]: [session uid=1000 pid=3549244 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.gtk' requested by ':1.8' (uid=1000 pid=3549350 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3549244]: [session uid=1000 pid=3549244 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.gtk' +dbus-daemon[3549244]: [session uid=1000 pid=3549244 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kde' requested by ':1.8' (uid=1000 pid=3549350 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3549244]: [session uid=1000 pid=3549244 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kde' +xdp-kde-clipboard: Couldn't resolve QWaylandApplication - clipboard will not work +dbus-daemon[3549244]: [session uid=1000 pid=3549244 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kwallet' requested by ':1.8' (uid=1000 pid=3549350 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3549244]: [session uid=1000 pid=3549244 pidfd=5] Successfully activated service 'org.freedesktop.portal.Desktop' +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +kf.wallet.ksecretd: Lacking a socket, pipe: 0 env: 0 +dbus-daemon[3549244]: [session uid=1000 pid=3549244 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kwallet' +qt.multimedia.ffmpeg: Using Qt multimedia with FFmpeg version 7.1.5 LGPL version 2.1 or later +dbus-daemon[3549244]: [session uid=1000 pid=3549244 pidfd=5] Activating service name='org.gtk.vfs.Metadata' requested by ':1.2' (uid=1000 pid=3549246 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3549244]: [session uid=1000 pid=3549244 pidfd=5] Successfully activated service 'org.gtk.vfs.Metadata' +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: App info not found for ''") +Captured 8 screenshots; style=fusion, scale=1.5 +A connection to the bus can't be made + +(xfconfd:3549285): xfconfd-WARNING **: 09:30:30.681: Name org.xfce.Xfconf lost on the message dbus, exiting. +The X11 connection broke (error 1). Did the X11 server die? +The X11 connection broke (error 1). Did the X11 server die? +KCrash: Application 'xdg-desktop-portal-kde' crashing... crashRecursionCounter = 2 diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/capture-1.log b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/capture-1.log new file mode 100644 index 0000000..9415340 --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/capture-1.log @@ -0,0 +1,39 @@ +dbus-daemon[3548982]: [session uid=1000 pid=3548982 pidfd=5] Activating service name='org.a11y.Bus' requested by ':1.0' (uid=1000 pid=3548984 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3548982]: [session uid=1000 pid=3548982 pidfd=5] Successfully activated service 'org.a11y.Bus' +dbus-daemon[3548982]: [session uid=1000 pid=3548982 pidfd=5] Activating service name='org.gtk.vfs.Daemon' requested by ':1.2' (uid=1000 pid=3548984 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3548982]: [session uid=1000 pid=3548982 pidfd=5] Successfully activated service 'org.gtk.vfs.Daemon' +dbus-daemon[3549006]: Activating service name='org.a11y.atspi.Registry' requested by ':1.1' (uid=1000 pid=3548984 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3548982]: [session uid=1000 pid=3548982 pidfd=5] Activating service name='org.xfce.Xfconf' requested by ':1.2' (uid=1000 pid=3548984 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3549006]: Successfully activated service 'org.a11y.atspi.Registry' +SpiRegistry daemon is running with well-known name - org.a11y.atspi.Registry +dbus-daemon[3548982]: [session uid=1000 pid=3548982 pidfd=5] Successfully activated service 'org.xfce.Xfconf' +dbus-daemon[3548982]: [session uid=1000 pid=3548982 pidfd=5] Activating service name='org.freedesktop.portal.Desktop' requested by ':1.7' (uid=1000 pid=3549054 comm=".venv/bin/python docs/reviews/evidence/2026-10-01-" label="unconfined") +dbus-daemon[3548982]: [session uid=1000 pid=3548982 pidfd=5] Activating service name='org.freedesktop.impl.portal.PermissionStore' requested by ':1.8' (uid=1000 pid=3549092 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3548982]: [session uid=1000 pid=3548982 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.PermissionStore' +dbus-daemon[3548982]: [session uid=1000 pid=3548982 pidfd=5] Activating service name='org.freedesktop.portal.Documents' requested by ':1.8' (uid=1000 pid=3549092 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3548982]: [session uid=1000 pid=3548982 pidfd=5] Successfully activated service 'org.freedesktop.portal.Documents' + +(/usr/libexec/xdg-desktop-portal:3549092): xdg-desktop-portal-WARNING **: 09:30:18.467: Choosing gtk.portal for org.freedesktop.impl.portal.Lockdown as a last-resort fallback +dbus-daemon[3548982]: [session uid=1000 pid=3548982 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.gtk' requested by ':1.8' (uid=1000 pid=3549092 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3548982]: [session uid=1000 pid=3548982 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.gtk' +dbus-daemon[3548982]: [session uid=1000 pid=3548982 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kde' requested by ':1.8' (uid=1000 pid=3549092 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3548982]: [session uid=1000 pid=3548982 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kde' +xdp-kde-clipboard: Couldn't resolve QWaylandApplication - clipboard will not work +dbus-daemon[3548982]: [session uid=1000 pid=3548982 pidfd=5] Activating service name='org.freedesktop.impl.portal.desktop.kwallet' requested by ':1.8' (uid=1000 pid=3549092 comm="/usr/libexec/xdg-desktop-portal" label="unconfined") +dbus-daemon[3548982]: [session uid=1000 pid=3548982 pidfd=5] Successfully activated service 'org.freedesktop.portal.Desktop' +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") +kf.wallet.ksecretd: Lacking a socket, pipe: 0 env: 0 +dbus-daemon[3548982]: [session uid=1000 pid=3548982 pidfd=5] Successfully activated service 'org.freedesktop.impl.portal.desktop.kwallet' +qt.multimedia.ffmpeg: Using Qt multimedia with FFmpeg version 7.1.5 LGPL version 2.1 or later +dbus-daemon[3548982]: [session uid=1000 pid=3548982 pidfd=5] Activating service name='org.gtk.vfs.Metadata' requested by ':1.2' (uid=1000 pid=3548984 comm="xfwm4 --compositor=off" label="unconfined") +dbus-daemon[3548982]: [session uid=1000 pid=3548982 pidfd=5] Successfully activated service 'org.gtk.vfs.Metadata' +qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: App info not found for ''") +Captured 8 screenshots; style=fusion, scale=1 +A connection to the bus can't be made + +(xfconfd:3549024): xfconfd-WARNING **: 09:30:23.912: Name org.xfce.Xfconf lost on the message dbus, exiting. +The X11 connection broke (error 1). Did the X11 server die? +The X11 connection broke (error 1). Did the X11 server die? +KCrash: Application 'xdg-desktop-portal-kde' crashing... crashRecursionCounter = 2 diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/inspector-dark-1100-scale1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/inspector-dark-1100-scale1.5.png new file mode 100644 index 0000000..0ed0189 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/inspector-dark-1100-scale1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/inspector-dark-1100-scale1.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/inspector-dark-1100-scale1.png new file mode 100644 index 0000000..c326f8a Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/inspector-dark-1100-scale1.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/inspector-dark-940-scale1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/inspector-dark-940-scale1.5.png new file mode 100644 index 0000000..2d0e037 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/inspector-dark-940-scale1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/inspector-dark-940-scale1.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/inspector-dark-940-scale1.png new file mode 100644 index 0000000..8171dcd Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/inspector-dark-940-scale1.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/inspector-light-1100-scale1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/inspector-light-1100-scale1.5.png new file mode 100644 index 0000000..c401937 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/inspector-light-1100-scale1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/inspector-light-1100-scale1.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/inspector-light-1100-scale1.png new file mode 100644 index 0000000..8b95eb3 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/inspector-light-1100-scale1.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/inspector-light-940-scale1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/inspector-light-940-scale1.5.png new file mode 100644 index 0000000..e0a9441 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/inspector-light-940-scale1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/inspector-light-940-scale1.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/inspector-light-940-scale1.png new file mode 100644 index 0000000..a3ebcb1 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/inspector-light-940-scale1.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/manifest-1.5.json b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/manifest-1.5.json new file mode 100644 index 0000000..0f7bd62 --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/manifest-1.5.json @@ -0,0 +1,70 @@ +[ + { + "file": "inspector-light-940-scale1.5.png", + "size": [ + 940, + 680 + ], + "style": "fusion", + "inspector_width": 186 + }, + { + "file": "inspector-light-1100-scale1.5.png", + "size": [ + 1100, + 850 + ], + "style": "fusion", + "inspector_width": 200 + }, + { + "file": "timing-light-760-scale1.5.png", + "size": [ + 760, + 580 + ], + "style": "fusion" + }, + { + "file": "timing-light-920-scale1.5.png", + "size": [ + 920, + 760 + ], + "style": "fusion" + }, + { + "file": "inspector-dark-940-scale1.5.png", + "size": [ + 940, + 680 + ], + "style": "fusion", + "inspector_width": 186 + }, + { + "file": "inspector-dark-1100-scale1.5.png", + "size": [ + 1100, + 850 + ], + "style": "fusion", + "inspector_width": 200 + }, + { + "file": "timing-dark-760-scale1.5.png", + "size": [ + 760, + 580 + ], + "style": "fusion" + }, + { + "file": "timing-dark-920-scale1.5.png", + "size": [ + 920, + 760 + ], + "style": "fusion" + } +] \ No newline at end of file diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/manifest-1.json b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/manifest-1.json new file mode 100644 index 0000000..a1f6a94 --- /dev/null +++ b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/manifest-1.json @@ -0,0 +1,70 @@ +[ + { + "file": "inspector-light-940-scale1.png", + "size": [ + 940, + 680 + ], + "style": "fusion", + "inspector_width": 186 + }, + { + "file": "inspector-light-1100-scale1.png", + "size": [ + 1100, + 850 + ], + "style": "fusion", + "inspector_width": 200 + }, + { + "file": "timing-light-760-scale1.png", + "size": [ + 760, + 580 + ], + "style": "fusion" + }, + { + "file": "timing-light-920-scale1.png", + "size": [ + 920, + 760 + ], + "style": "fusion" + }, + { + "file": "inspector-dark-940-scale1.png", + "size": [ + 940, + 680 + ], + "style": "fusion", + "inspector_width": 186 + }, + { + "file": "inspector-dark-1100-scale1.png", + "size": [ + 1100, + 850 + ], + "style": "fusion", + "inspector_width": 200 + }, + { + "file": "timing-dark-760-scale1.png", + "size": [ + 760, + 580 + ], + "style": "fusion" + }, + { + "file": "timing-dark-920-scale1.png", + "size": [ + 920, + 760 + ], + "style": "fusion" + } +] \ No newline at end of file diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/timing-dark-760-scale1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/timing-dark-760-scale1.5.png new file mode 100644 index 0000000..4f10f39 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/timing-dark-760-scale1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/timing-dark-760-scale1.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/timing-dark-760-scale1.png new file mode 100644 index 0000000..d23a5a2 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/timing-dark-760-scale1.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/timing-dark-920-scale1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/timing-dark-920-scale1.5.png new file mode 100644 index 0000000..f3022c8 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/timing-dark-920-scale1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/timing-dark-920-scale1.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/timing-dark-920-scale1.png new file mode 100644 index 0000000..dca3487 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/timing-dark-920-scale1.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/timing-light-760-scale1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/timing-light-760-scale1.5.png new file mode 100644 index 0000000..dc50774 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/timing-light-760-scale1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/timing-light-760-scale1.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/timing-light-760-scale1.png new file mode 100644 index 0000000..137bac0 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/timing-light-760-scale1.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/timing-light-920-scale1.5.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/timing-light-920-scale1.5.png new file mode 100644 index 0000000..4559bce Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/timing-light-920-scale1.5.png differ diff --git a/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/timing-light-920-scale1.png b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/timing-light-920-scale1.png new file mode 100644 index 0000000..e50b3e9 Binary files /dev/null and b/docs/reviews/evidence/2026-10-01-settings-polish/screens/before/wheel/timing-light-920-scale1.png differ diff --git a/src/autotalk/app.py b/src/autotalk/app.py index b4bfa17..03ec30e 100644 --- a/src/autotalk/app.py +++ b/src/autotalk/app.py @@ -192,7 +192,16 @@ def apply(): self.config.setValue("setting_defaults", json.dumps(self.defaults, default=lambda v: asdict(v))) if self.project: self.apply_defaults(self.project) - self.configuration_changed(apply, edited=dialog.slide_index+1 if dialog.scope == 2 else None) + before, modified = copy.deepcopy(self.project) if dialog.scope else None, self.isWindowModified() + try: + self.configuration_changed(apply, edited=dialog.slide_index+1 if dialog.scope == 2 else None) + except Exception as error: + if before is not None: + self.adopt(before) + dialog.generation = self.project_generation + self.setWindowModified(modified) + dialog.status.setText(f"Could not apply settings: {error}") + return False dialog.generation = self.project_generation return True if dialog.scope == 0 else self.save() @@ -686,7 +695,6 @@ def refresh_presenter(self): if not p: return editable, can_play = self.editable, self.can_play - slide = p.slides[self.transport.index] finished = self.transport.state == "finished" self.duration_label.setText(("Slides finished — recording continues" if self.transport.capture else "Presentation finished") if finished else f"{clock(p.total_seconds)} prepared / {clock(p.target_minutes*60)} target") self.slide_list.setEnabled(editable or can_play) diff --git a/src/autotalk/inspector.py b/src/autotalk/inspector.py index 57ff485..d43de83 100644 --- a/src/autotalk/inspector.py +++ b/src/autotalk/inspector.py @@ -4,6 +4,8 @@ configuration_changed, transport (selection/previews), recorder (read-only), and refresh/request_refresh. Dialog navigation is an explicit signal. """ + +from dataclasses import replace from PySide6.QtCore import Signal, Qt from PySide6.QtWidgets import QWidget, QVBoxLayout, QCheckBox from .ui import label, button, column, number, disclosure @@ -28,9 +30,8 @@ def __init__(self, window): self.slide_include = QCheckBox("Include in presentation") self.slide_include.toggled.connect(self.include_changed) self.layout().addWidget(self.slide_include) - self.after_field = SettingField(SCHEMA['after'], 2, self.edit, compact=True) + self.after_field = SettingField(replace(SCHEMA['after'], label='After this slide'), 2, self.edit, compact=True) self.slide_after = self.after_field.editor - self.layout().addWidget(label('After this slide')) self.layout().addWidget(self.after_field) timing = column(margin=0) self.slide_budget = number(0, 14400, 0, self.budget_changed, " sec") @@ -38,7 +39,6 @@ def __init__(self, window): timing.layout().addWidget(self.slide_budget) self.pause_field = SettingField(SCHEMA['pause_seconds'], 2, self.edit, compact=True) self.slide_pause = self.pause_field.editor - timing.layout().addWidget(label('Pause after slide')) timing.layout().addWidget(self.pause_field) disclosure(self, "Timing", timing) self.layout().addWidget(button("Slide sound…", lambda: self.open_settings.emit("Voice & language"))) @@ -56,7 +56,17 @@ def refresh(self, project, slide): self.slide_include.setChecked(slide.included) for key, field in [('after', self.after_field), ('pause_seconds', self.pause_field)]: field.load(project.setting(key, slide), *inheritance(project, key, 2, slide)) - self.delivery_summary.setText(project.setting("voice", slide).label + "\n" + project.setting_source("voice", slide) + "\n" + ("Reference delivery" if project.setting("voice", slide).source == "Base" else project.setting("delivery.style", slide))) + self.delivery_summary.setText( + project.setting("voice", slide).label + + "\n" + + project.setting_source("voice", slide) + + "\n" + + ( + "Reference delivery" + if project.setting("voice", slide).source == "Base" + else project.setting("delivery.style", slide) + ) + ) finally: self.loading = False @@ -68,12 +78,18 @@ def include_changed(self): self.refresh(self.window.project, slide) self.window.error("Include at least one slide.") return - self.window.configuration_changed(lambda: self.window.project.set_included(slide, self.slide_include.isChecked()), edited=slide.page, inclusion=True) + self.window.configuration_changed( + lambda: self.window.project.set_included(slide, self.slide_include.isChecked()), + edited=slide.page, + inclusion=True, + ) def budget_changed(self): if not self.loading and self.window.project: slide = self.window.project.slides[self.window.transport.index] - self.window.configuration_changed(lambda: setattr(slide, "budget_seconds", self.slide_budget.value()), edited=slide.page) + self.window.configuration_changed( + lambda: setattr(slide, "budget_seconds", self.slide_budget.value()), edited=slide.page + ) def edit(self, name, value, inherit=False): if not self.loading: diff --git a/src/autotalk/preferences.py b/src/autotalk/preferences.py index 98c57ec..b09c9cf 100644 --- a/src/autotalk/preferences.py +++ b/src/autotalk/preferences.py @@ -4,6 +4,7 @@ Controller reads are limited to project, transport, recorder and codex_settings. Operations use signals; the controller owns engine lifetime and persistence. """ + from PySide6.QtCore import Signal from PySide6.QtWidgets import QApplication, QDialog, QButtonGroup, QRadioButton from .ui import SectionDialog, label, button, row, combo, form @@ -23,7 +24,9 @@ def __init__(self, window, config): super().__init__(window, 'Preferences') self.config = config self.display_name = config.value('presentation_display', '') - build_display(self); build_account(self); build_engine(self) + build_display(self) + build_account(self) + build_engine(self) self.screen.currentTextChanged.connect(lambda value: config.setValue('presentation_display', value)) self.navigation.setCurrentRow(0) @@ -31,51 +34,86 @@ def done(self, result): QDialog.done(self, result) def show_section(self, section='Display & sound', focus=None): - super().show_section(section, getattr(self, focus) if isinstance(focus,str) else focus) + super().show_section(section, getattr(self, focus) if isinstance(focus, str) else focus) def sync(self, editable, job=None): super().sync(editable, job) self.connection.setText(self.window.codex_settings.get('account', 'Not signed in to ChatGPT.')) - self.codex_signin.setEnabled(editable and not self.window.codex_settings.get('signed_in',False)) + self.codex_signin.setEnabled(editable and not self.window.codex_settings.get('signed_in', False)) self.codex_signout.setEnabled(editable and bool(self.window.codex_settings.get('signed_in'))) self.audio_test_button.setEnabled(editable) def sync_engine(self, owner, config, job): state = owner.state ready = owner.matches(config) if config else False - descriptions = {"unloaded": "Not loaded", "loading": "Loading speech model…", "ready": "Ready on GPU", - "generating": "Generating speech", "in_use": "Speech model in use", "unloading": "Unloading model…", "failed": "Speech engine stopped or failed"} - consequence = {"session": "Kept until AutoTalk closes.", "presentation": "Will unload at the next presentation end.", - "idle": "Will unload after five idle minutes.", "operation": "Will unload after the next preparation or preview finishes."} + descriptions = { + "unloaded": "Not loaded", + "loading": "Loading speech model…", + "ready": "Ready on GPU", + "generating": "Generating speech", + "in_use": "Speech model in use", + "unloading": "Unloading model…", + "failed": "Speech engine stopped or failed", + } + consequence = { + "session": "Kept until AutoTalk closes.", + "presentation": "Will unload at the next presentation end.", + "idle": "Will unload after five idle minutes.", + "operation": "Will unload after the next preparation or preview finishes.", + } status = descriptions[state] if state == "ready": status += " · " + owner.config["model"]["repo"].rsplit("/", 1)[-1] status += " · " + ("Unloading requested." if owner.release_requested else consequence[owner.retention]) self.engine_state.setText(status) - self.engine_model.setText((f"Selected slide {self.window.transport.index + 1}: " if self.window.project else "Application default: ") + config["model"]["repo"].rsplit("/", 1)[-1] if config else - "Open a talk and configure its voice to select a speech model.") + self.engine_model.setText( + (f"Selected slide {self.window.transport.index + 1}: " if self.window.project else "Application default: ") + + config["model"]["repo"].rsplit("/", 1)[-1] + if config + else "Open a talk and configure its voice to select a speech model." + ) self.load_gpu_button.setText("Load selected model" if owner.process and not ready else "Load model now") - self.load_gpu_button.setEnabled(bool(config and not job and not owner.release_requested and state not in ("loading", "generating", "unloading") and not ready)) - self.unload_gpu_button.setEnabled(bool(owner.process and not owner.guard.locked() and not owner.release_requested and state in ("ready", "failed"))) - self.check_model_button.setEnabled(bool(config and not job and not self.window.transport.active and not self.window.transport.preview_path)) - self.engine_policy_note.setText("Changes apply immediately. Automatic release follows the next safe boundary; closing Preferences does not unload the model.") + self.load_gpu_button.setEnabled( + bool( + config + and not job + and not owner.release_requested + and state not in ("loading", "generating", "unloading") + and not ready + ) + ) + self.unload_gpu_button.setEnabled( + bool( + owner.process + and not owner.guard.locked() + and not owner.release_requested + and state in ("ready", "failed") + ) + ) + self.check_model_button.setEnabled( + bool(config and not job and not self.window.transport.active and not self.window.transport.preview_path) + ) + self.engine_policy_note.setText( + "Changes apply immediately. Automatic release follows the next safe boundary; " + "closing Preferences does not unload the model." + ) return descriptions[state] - def build_display(w): presentation = w.add("Display & sound", "Display & sound") - w.screen = combo([(f"Display {i+1}: {screen.name()}", i) for i, screen in enumerate(QApplication.screens())]) + w.screen = combo([(f"Display {i + 1}: {screen.name()}", i) for i, screen in enumerate(QApplication.screens())]) w.screen.setCurrentIndex(max(0, w.screen.findText(w.display_name))) fields = form(presentation) fields.addRow("Fullscreen display on this computer", w.screen) w.audio_test_button = button("Test audio", w.test_audio_requested.emit) - presentation.layout().addLayout(row(button("System audio settings…", w.audio_settings_requested.emit), w.audio_test_button)) + presentation.layout().addLayout( + row(button("System audio settings…", w.audio_settings_requested.emit), w.audio_test_button) + ) presentation.layout().addWidget(label("Display and sound choices apply immediately on this computer.")) presentation.layout().addStretch() - def build_account(w): account = w.add("Account — Codex", "Account") w.connection = label("Not signed in to ChatGPT.") @@ -83,11 +121,15 @@ def build_account(w): w.codex_signin = button("Sign in", w.sign_in_requested.emit) w.codex_signout = button("Sign out", lambda: w.sign_out_requested.emit()) account.layout().addLayout(row(w.codex_signin, w.codex_signout)) - account.layout().addWidget(label("Sign-in and sign-out act immediately on the shared Codex account on this computer. Model and reasoning use application defaults with optional talk overrides.")) + account.layout().addWidget( + label( + "Sign-in and sign-out act immediately on the shared Codex account on this computer. " + "Model and reasoning use application defaults with optional talk overrides." + ) + ) account.layout().addStretch() - def build_engine(w): speech = w.add("Speech engine — Qwen", "Speech engine") w.engine_state, w.engine_model = label("Not loaded"), label("") @@ -99,10 +141,22 @@ def build_engine(w): w.check_model_button = button("Check for model updates…", w.model_check_requested.emit) speech.layout().addWidget(w.check_model_button) for name, title, choices in ( - ("gpu_loading", "When to load an unloaded model", [("When speech is first needed (recommended)", "needed"), ("When I start a presentation", "start")]), - ("gpu_retention", "When to release a loaded model", [("Never — keep loaded until I close AutoTalk", "session"), - ("When the presentation ends", "presentation"), ("After 5 minutes without speech generation", "idle"), - ("After each preparation or voice preview", "operation")])): + ( + "gpu_loading", + "When to load an unloaded model", + [("When speech is first needed (recommended)", "needed"), ("When I start a presentation", "start")], + ), + ( + "gpu_retention", + "When to release a loaded model", + [ + ("Never — keep loaded until I close AutoTalk", "session"), + ("When the presentation ends", "presentation"), + ("After 5 minutes without speech generation", "idle"), + ("After each preparation or voice preview", "operation"), + ], + ), + ): speech.layout().addWidget(label(title, "title")) group = QButtonGroup(speech) setattr(w, name, group) @@ -113,7 +167,13 @@ def build_engine(w): speech.layout().addWidget(choice) group.buttons()[0].setChecked(True) group.buttonClicked.connect(lambda: w.engine_policy_changed.emit()) - speech.layout().addWidget(label("Prepared audio can play during background loading. Previews always load a needed model. Manual loading follows the saved release policy; leaving fullscreen is not presentation end. Unloading keeps downloaded files.")) + speech.layout().addWidget( + label( + "Prepared audio can play during background loading. Previews always load a needed model. " + "Manual loading follows the saved release policy; leaving fullscreen is not presentation end. " + "Unloading keeps downloaded files." + ) + ) w.engine_policy_note = label("") speech.layout().addWidget(w.engine_policy_note) speech.layout().addStretch() diff --git a/src/autotalk/settings.py b/src/autotalk/settings.py index e308640..6b0674c 100644 --- a/src/autotalk/settings.py +++ b/src/autotalk/settings.py @@ -7,6 +7,7 @@ state and persistence; signals route preferences, fitting and voice recording. Components see only the draft. apply_edit is shared by drafting and Save replay. """ + import copy from dataclasses import asdict @@ -36,8 +37,15 @@ def apply_edit(project, scope, index, operation): def inheritance(project, key, scope, slide=None): - local = (key in project.defaults if scope == 0 else key in slide.overrides if scope == 2 else - key in project.overrides or key == 'language' and bool(project.version.language)) + local = ( + key in project.defaults + if scope == 0 + else ( + key in slide.overrides + if scope == 2 + else key in project.overrides or key == 'language' and bool(project.version.language) + ) + ) if local: return 'set here', True if scope == 2 and project.setting_source(key) == 'Talk setting': @@ -57,10 +65,10 @@ def __init__(self, window, scope, begin, finish): self.project = None self.operations, self.fields = [], {} self.loading, self.operation = False, None - self.buttons.setStandardButtons(QDialogButtonBox.StandardButton.Save | QDialogButtonBox.StandardButton.Cancel) + self.set_buttons(QDialogButtonBox.StandardButton.Save | QDialogButtonBox.StandardButton.Cancel) self.hint = label('') self.hint.setContentsMargins(12, 0, 12, 0) - self.layout().insertWidget(self.layout().count()-1, self.hint) + self.layout().insertWidget(self.layout().count() - 1, self.hint) self.build_pages() self.order_focus() self.navigation.currentRowChanged.connect(self.page_changed) @@ -69,6 +77,7 @@ def __init__(self, window, scope, begin, finish): def order_focus(self): # Derive keyboard order from the same layouts as the schema pages. widgets = [] + def collect(layout): for i in range(layout.count()): item = layout.itemAt(i) @@ -81,6 +90,7 @@ def collect(layout): collect(widget.layout()) elif item.layout(): collect(item.layout()) + collect(self.layout()) for previous, following in zip(widgets, widgets[1:]): QWidget.setTabOrder(previous, following) @@ -103,16 +113,24 @@ def setting_value(self, key): def add_field(self, spec, parent): field = SettingField(spec, self.scope, self.edit_setting) self.fields[spec.key] = field - caption = {'language': ('Default narration language', 'Language', 'Language of this slide'), - 'mode': ('Default mode', 'Mode', 'Mode')}.get(spec.key) + caption = { + 'language': ('Default narration language', 'Language', 'Language of this slide'), + 'mode': ('Default mode', 'Mode', 'Mode'), + }.get(spec.key) layout = self.field_layout(parent) layout.addRow(caption[self.scope] if caption else spec.label, field) return field @staticmethod def field_layout(parent): - return next((parent.layout().itemAt(i).layout() for i in range(parent.layout().count()) - if isinstance(parent.layout().itemAt(i).layout(), QFormLayout)), None) or form(parent) + return next( + ( + parent.layout().itemAt(i).layout() + for i in range(parent.layout().count()) + if isinstance(parent.layout().itemAt(i).layout(), QFormLayout) + ), + None, + ) or form(parent) def build_pages(self): for page in PAGES: @@ -128,7 +146,12 @@ def build_page(self, page): self.conference = ConferencePanel(self) section.layout().addWidget(self.conference) section = self.add('Inherited settings', page) - section.layout().addWidget(label('Keep the currently inherited values with this talk so future changes to Talk defaults do not affect it.')) + section.layout().addWidget( + label( + 'Keep the currently inherited values with this talk so future changes to Talk defaults ' + 'do not affect it.' + ) + ) section.layout().addWidget(button('Keep these settings for this talk', self.pin)) return sections = {} @@ -164,7 +187,11 @@ def build_extras(self, page, sections): self.fit_button = button('Save and fit…', self.save_and_fit) section.layout().addWidget(self.timing_summary) section.layout().addWidget(self.fit_button) - section.layout().addWidget(button('Display & sound settings…', lambda: self.preferences_requested.emit('Display & sound', 'screen'))) + section.layout().addWidget( + button( + 'Display && sound settings…', lambda: self.preferences_requested.emit('Display & sound', 'screen') + ) + ) elif page == 'Audio & recording' and self.scope: self.assets = AudioAssets(self) section = sections.get('Background audio') if self.scope == 1 else None @@ -174,7 +201,11 @@ def build_extras(self, page, sections): section = self.add('Speech model — Qwen', page) self.voice_model = label('') section.layout().addWidget(self.voice_model) - section.layout().addWidget(button('Speech engine settings…', lambda: self.preferences_requested.emit('Speech engine', 'engine_state'))) + section.layout().addWidget( + button( + 'Speech engine settings…', lambda: self.preferences_requested.emit('Speech engine', 'engine_state') + ) + ) section.layout().addWidget(self.voice.synthesis_widget) def show_section(self, section=None, focus=None): @@ -185,7 +216,15 @@ def show_section(self, section=None, focus=None): self.begin(self) self.operations = [] self.existing_files = self.media_files() - self.setWindowTitle('Talk defaults' if self.scope == 0 else 'Talk settings — '+self.project.title if self.scope == 1 else f'Slide sound — slide {self.slide_index+1}') + self.setWindowTitle( + 'Talk defaults' + if self.scope == 0 + else ( + 'Talk settings — ' + self.project.title + if self.scope == 1 + else f'Slide sound — slide {self.slide_index + 1}' + ) + ) self.load_settings() self.voice.refresh_library() self.presets.refresh_presets() @@ -200,7 +239,11 @@ def load_settings(self, *_, preserve_candidate=False): try: with self.project.pass_cache(): for key, field in self.fields.items(): - source, overridden = inheritance(self.project, key, self.scope, self.slide) if key in SETTING_DEFAULTS else ('', False) + source, overridden = ( + inheritance(self.project, key, self.scope, self.slide) + if key in SETTING_DEFAULTS + else ('', False) + ) field.load(self.setting_value(key), source, overridden) self.voice.load(preserve_candidate) if self.scope < 2: @@ -233,13 +276,17 @@ def choose_destination(self): self.edit_setting("recording_destination", path) def pin(self): - self.edit_many([(key, self.project.setting(key), False) for key, (_, scopes) in SETTING_DEFAULTS.items() if 1 in scopes]) + self.edit_many( + [(key, self.project.setting(key), False) for key, (_, scopes) in SETTING_DEFAULTS.items() if 1 in scopes] + ) def sync(self, editable, job=None): if not self.project: return self.buttons.setEnabled(True) - self.buttons.button(QDialogButtonBox.StandardButton.Save).setEnabled(not self.pending and not self.window.recorder.source) + self.buttons.button(QDialogButtonBox.StandardButton.Save).setEnabled( + not self.pending and not self.window.recorder.source + ) self.cancel_job.setVisible(job is not None or bool(self.window.recorder.source)) self.cancel_job.setText('Stop voice recording' if self.window.recorder.source else 'Cancel operation') if not self.isVisible(): @@ -249,14 +296,18 @@ def sync(self, editable, job=None): self.voice.voice_audition.setVisible(page == 'Voice & language') if page == 'Voice & language': self.voice.sync(editable and not self.operation) - self.hint.setText('Save applies to talks and slides that inherit these values.' if self.scope == 0 else 'Save applies to this talk.' if self.scope == 1 else 'Save applies to this slide.') + self.hint.setText( + 'Save applies to talks and slides that inherit these values.' + if self.scope == 0 + else 'Save applies to this talk.' if self.scope == 1 else 'Save applies to this slide.' + ) if page in ('Voice & language', 'Writing & delivery'): - self.hint.setText(self.hint.text()+' Library actions save to the shared library immediately.') + self.hint.setText(self.hint.text() + ' Library actions save to the shared library immediately.') self.sync_fields() if self.scope < 2: self.models.refresh_models() - self.models.connection.setText(self.window.codex_settings.get('account','Not signed in to ChatGPT.')) - self.voice_model.setText('Qwen3-TTS 1.7B — '+self.setting_value('voice').source) + self.models.connection.setText(self.window.codex_settings.get('account', 'Not signed in to ChatGPT.')) + self.voice_model.setText('Qwen3-TTS 1.7B — ' + self.setting_value('voice').source) if self.scope == 1: self.conference.load() @@ -266,9 +317,16 @@ def sync_fields(self): if key.startswith('delivery.') and key != 'delivery.sampling': field.setEnabled(voice.source != 'Base') self.fields['delivery.attributes.age'].setEnabled(voice.source == 'VoiceDesign') - self.fields['delivery.attributes.accent'].setEnabled(voice.source != 'Base' and self.setting_value('language') == 'Chinese') + self.fields['delivery.attributes.accent'].setEnabled( + voice.source != 'Base' and self.setting_value('language') == 'Chinese' + ) self.fields['language'].setEnabled(self.scope != 2 or self.setting_value('language_policy') != 'version') - for key, mode in [('quick_timing','Quick'),('realtime_script','Realtime'),('speech_priority','Realtime'),('buffer_seconds','Realtime')]: + for key, mode in [ + ('quick_timing', 'Quick'), + ('realtime_script', 'Realtime'), + ('speech_priority', 'Realtime'), + ('buffer_seconds', 'Realtime'), + ]: if key in self.fields: self.fields[key].setEnabled(self.setting_value('mode') == mode) if self.scope < 2: @@ -278,21 +336,28 @@ def sync_fields(self): def sync_timing(self): from .app import clock + p = self.project with p.pass_cache(): ready = sum(p.ready(s) for s in p.included_slides) - self.timing_summary.setText(f'Target {clock(p.target_minutes*60)} · Audio {clock(p.total_seconds)}\n{ready}/{len(p.included_slides)} included slides have current audio.') + self.timing_summary.setText( + f'Target {clock(p.target_minutes * 60)} · Audio {clock(p.total_seconds)}\n' + f'{ready}/{len(p.included_slides)} included slides have current audio.' + ) self.fit_button.setEnabled(not self.pending and all(p.text_ready(s) for s in p.included_slides)) def start_job(self, title, function, callback, *, project_returning=False): draft, existing = self.project, self.existing_files + def delivered(result): if self.isVisible() and self.project is draft: callback(result) + job = self.window.start_job(title, function, delivered, save_before=False) if job: self.operation = job job.project_returning = project_returning + def finished(): if self.operation is job: self.operation = None @@ -300,6 +365,7 @@ def finished(): self.clean_media(draft, existing) if self.isVisible(): self.sync(True) + job.finished.connect(finished) self.sync(False, job) return job @@ -315,6 +381,7 @@ def references(value): if isinstance(value, list): return set().union(*(references(v) for v in value)) return set() + live = self.window.project protected = references(asdict(live)) if live and live.root == draft.root else set() for path in self.media_files(draft) - existing: diff --git a/src/autotalk/settings_components.py b/src/autotalk/settings_components.py index 0d5b528..748df84 100644 --- a/src/autotalk/settings_components.py +++ b/src/autotalk/settings_components.py @@ -5,6 +5,7 @@ start_job, voice_context, configuration_changed, transport (previews), recorder (read-only), refresh/request_refresh. Dialog-owned jobs and edits use the draft. """ + import copy import html import json @@ -12,9 +13,22 @@ from functools import partial from pathlib import Path from PySide6.QtCore import Qt -from PySide6.QtWidgets import (QWidget, QVBoxLayout, QTabBar, QPlainTextEdit, QLineEdit, - QTableWidget, QTableWidgetItem, QAbstractItemView, QHeaderView, QFileDialog, - QInputDialog, QCheckBox, QDoubleSpinBox, QSpinBox) +from PySide6.QtWidgets import ( + QWidget, + QVBoxLayout, + QTabBar, + QPlainTextEdit, + QLineEdit, + QTableWidget, + QTableWidgetItem, + QAbstractItemView, + QHeaderView, + QFileDialog, + QInputDialog, + QCheckBox, + QDoubleSpinBox, + QSpinBox, +) from .project import Voice, SETTING_DEFAULTS, LANGUAGES, SPEAKERS, read_settings, wav_duration from .services import synthesize, preview_path, preview_text, extract_scope from .media import import_clip @@ -23,9 +37,13 @@ from .settings_schema import SCHEMA, Setting from .settings_fields import SettingField -SAMPLING = {"temperature": (0.0, 2.0, 0.9), "top_k": (1, 200, 50), - "top_p": (0.01, 1.0, 1.0), "repetition_penalty": (1.0, 2.0, 1.05), - "max_new_tokens": (128, 2048, 2048)} +SAMPLING = { + "temperature": (0.0, 2.0, 0.9), + "top_k": (1, 200, 50), + "top_p": (0.01, 1.0, 1.0), + "repetition_penalty": (1.0, 2.0, 1.05), + "max_new_tokens": (128, 2048, 2048), +} class VoiceEditor(QWidget): @@ -33,14 +51,24 @@ def __init__(self, dialog): super().__init__() self.dialog, self.loading = dialog, True self.setLayout(QVBoxLayout()) - self.layout().setContentsMargins(0,0,0,0) + self.layout().setContentsMargins(0, 0, 0, 0) self.voice_identity = label('') self.layout().addWidget(self.voice_identity) self.voice_source = QTabBar() - for title, source in (("Predefined", "CustomVoice"), ("My voice", "Base"), ("Design", "VoiceDesign"), ("Saved", "Saved")): + for title, source in ( + ("Predefined", "CustomVoice"), + ("My voice", "Base"), + ("Design", "VoiceDesign"), + ("Saved", "Saved"), + ): self.voice_source.setTabData(self.voice_source.addTab(title), source) self.voice_source.currentChanged.connect(self.voice_settings_changed) - voice_field = SettingField(Setting('voice','Voice','Voice & language','Voice',kind='custom'), dialog.scope, dialog.edit_setting, self.voice_source) + voice_field = SettingField( + Setting('voice', 'Voice', 'Voice & language', 'Voice', kind='custom'), + dialog.scope, + dialog.edit_setting, + self.voice_source, + ) dialog.fields['voice'] = voice_field self.layout().addWidget(voice_field) self.voice_panels = column(margin=0) @@ -48,12 +76,21 @@ def __init__(self, dialog): predefined, personal, designed, saved = (column(margin=0) for _ in range(4)) for page in (predefined, personal, designed, saved): self.voice_panels.layout().addWidget(page) - self.speaker = combo([(f"{name} — {description}", name) for name,description in SPEAKERS.items()], self.voice_settings_changed) + self.speaker = combo( + [(f"{name} — {description}", name) for name, description in SPEAKERS.items()], self.voice_settings_changed + ) form(predefined).addRow('Voice', self.speaker) - predefined.layout().addWidget(label('Every voice supports the talk language. Native languages indicate strongest pronunciation. Listen before choosing; no personal recording is needed.')) - personal.layout().addWidget(label('Record or import 10–30 seconds, then enter the exact words. Recording stops after 30 seconds.')) + predefined.layout().addWidget( + label( + 'Every voice supports the talk language. Native languages indicate strongest pronunciation. ' + 'Listen before choosing; no personal recording is needed.' + ) + ) + personal.layout().addWidget( + label('Record or import 10–30 seconds, then enter the exact words. Recording stops after 30 seconds.') + ) self.record_button = button('Record my voice', self.toggle_recording) - personal.layout().addLayout(row(self.record_button,button('Import voice recording…',self.import_voice))) + personal.layout().addLayout(row(self.record_button, button('Import voice recording…', self.import_voice))) self.transcript = QPlainTextEdit() self.transcript.setMaximumHeight(100) self.transcript.setPlaceholderText('The exact words in your reference recording') @@ -65,74 +102,90 @@ def __init__(self, dialog): form(designed).addRow('Describe the voice', self.voice_description) self.accept_voice_button = button('Use this designed voice', self.accept_designed_voice) designed.layout().addWidget(self.accept_voice_button) - self.library_language = combo(['All languages',*LANGUAGES],self.refresh_library) + self.library_language = combo(['All languages', *LANGUAGES], self.refresh_library) saved.layout().addWidget(self.library_language) - self.voice_library = QTableWidget(0,3) - self.voice_library.setHorizontalHeaderLabels(['Voice','Description','Languages']) + self.voice_library = QTableWidget(0, 3) + self.voice_library.setHorizontalHeaderLabels(['Voice', 'Description', 'Languages']) self.voice_library.setSelectionBehavior(QAbstractItemView.SelectionBehavior.SelectRows) self.voice_library.setSelectionMode(QAbstractItemView.SelectionMode.SingleSelection) self.voice_library.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers) self.voice_library.verticalHeader().hide() self.voice_library.horizontalHeader().setSectionResizeMode(QHeaderView.ResizeMode.ResizeToContents) - self.voice_library.horizontalHeader().setSectionResizeMode(1,QHeaderView.ResizeMode.Stretch) + self.voice_library.horizontalHeader().setSectionResizeMode(1, QHeaderView.ResizeMode.Stretch) self.voice_library.setMaximumHeight(120) self.voice_library.itemSelectionChanged.connect(lambda: self.sync(True)) self.library_use = button('Use selected voice', self.use_saved_voice) saved.layout().addWidget(self.library_use) saved.layout().addWidget(self.voice_library) self.voice_audition = column(margin=12) - self.voice_audition.layout().addWidget(label('First speech use downloads several GB; progress and cancellation appear here.')) + self.voice_audition.layout().addWidget( + label('First speech use downloads several GB; progress and cancellation appear here.') + ) self.voice_preview_button = button('Listen to a sample', self.preview_voice, True) - self.save_voice_button = button('Save reusable voice…',self.save_personal_voice) - self.voice_audition.layout().addLayout(row(self.voice_preview_button,self.save_voice_button)) - dialog.layout().insertWidget(dialog.layout().indexOf(dialog.status),self.voice_audition) + self.save_voice_button = button('Save reusable voice…', self.save_personal_voice) + self.voice_audition.layout().addLayout(row(self.voice_preview_button, self.save_voice_button)) + dialog.layout().insertWidget(dialog.layout().indexOf(dialog.status), self.voice_audition) if dialog.scope < 2: self.synthesis_widget = column(margin=0) self.sampling = {} self.override = QCheckBox('Override main speech generator sampling defaults') self.override.toggled.connect(self.sampling_changed) - field = SettingField(Setting('delivery.sampling','Sampling','AI model','Speech model',kind='custom'),dialog.scope,dialog.edit_setting,self.override) + field = SettingField( + Setting('delivery.sampling', 'Sampling', 'AI model', 'Speech model', kind='custom'), + dialog.scope, + dialog.edit_setting, + self.override, + ) dialog.fields['delivery.sampling'] = field self.synthesis_widget.layout().addWidget(field) fields = form(self.synthesis_widget) - for name,(low,high,default) in SAMPLING.items(): - spin = QSpinBox() if isinstance(default,int) else QDoubleSpinBox() - spin.setRange(low,high) + for name, (low, high, default) in SAMPLING.items(): + spin = QSpinBox() if isinstance(default, int) else QDoubleSpinBox() + spin.setRange(low, high) spin.setValue(default) spin.valueChanged.connect(self.sampling_changed) - self.sampling[name]=spin - fields.addRow(name.replace('_',' ').capitalize(),spin) + self.sampling[name] = spin + fields.addRow(name.replace('_', ' ').capitalize(), spin) self.loading = False def load(self, preserve_candidate=False): self.loading = True try: voice = self.dialog.setting_value('voice') - if not preserve_candidate or self.voice_source.currentIndex()!=3: - self.voice_source.setCurrentIndex(2 if voice.origin=='designed' and voice.source=='Base' else ['CustomVoice','Base','VoiceDesign'].index(voice.source)) + if not preserve_candidate or self.voice_source.currentIndex() != 3: + self.voice_source.setCurrentIndex( + 2 + if voice.origin == 'designed' and voice.source == 'Base' + else ['CustomVoice', 'Base', 'VoiceDesign'].index(voice.source) + ) self.speaker.setCurrentIndex(self.speaker.findData(voice.speaker)) self.voice_description.setText(voice.description) self.voice_identity.setText(voice.label) - ref=voice.references.get(self.dialog.setting_value('language'),voice.references.get('default')) + ref = voice.references.get(self.dialog.setting_value('language'), voice.references.get('default')) if self.transcript.toPlainText() != (ref.transcript if ref else ''): self.transcript.setPlainText(ref.transcript if ref else '') if self.dialog.scope < 2: - sampling=self.dialog.setting_value('delivery.sampling') + sampling = self.dialog.setting_value('delivery.sampling') self.override.setChecked(bool(sampling)) - for key,spin in self.sampling.items(): - if spin.value()!=sampling.get(key,SAMPLING[key][2]): - spin.setValue(sampling.get(key,SAMPLING[key][2])) + for key, spin in self.sampling.items(): + if spin.value() != sampling.get(key, SAMPLING[key][2]): + spin.setValue(sampling.get(key, SAMPLING[key][2])) spin.setEnabled(bool(sampling)) finally: self.loading = False def sampling_changed(self): if not self.loading: - self.dialog.edit_setting('delivery.sampling',{k:v.value() for k,v in self.sampling.items()} if self.override.isChecked() else {}) + self.dialog.edit_setting( + 'delivery.sampling', + {k: v.value() for k, v in self.sampling.items()} if self.override.isChecked() else {}, + ) def voice_context(self): candidate = copy.deepcopy(self.dialog.project) - candidate.overrides = {key:copy.deepcopy(self.dialog.setting_value(key)) for key in SETTING_DEFAULTS if key!='language'} + candidate.overrides = { + key: copy.deepcopy(self.dialog.setting_value(key)) for key in SETTING_DEFAULTS if key != 'language' + } candidate.language = self.dialog.setting_value('language') return candidate @@ -147,15 +200,39 @@ def sync(self, editable): for widget in (self.voice_source, self.voice_panels, self.voice_audition): widget.setEnabled(editable) self.library_use.setEnabled(editable and self.voice_library.currentRow() >= 0) - self.voice_preview_button.setText("Stop sample" if w.transport.preview_path else "Listen to selected voice" if self.voice_source.currentIndex() == 3 else "Listen to a sample") + self.voice_preview_button.setText( + "Stop sample" + if w.transport.preview_path + else "Listen to selected voice" if self.voice_source.currentIndex() == 3 else "Listen to a sample" + ) context = self.voice_context() - self.voice_preview_button.setEnabled(editable and (self.voice_library.currentRow() >= 0 if self.voice_source.currentIndex() == 3 else bool(context.voice_file) if voice.source == "Base" else bool(voice.description.strip()) if voice.source == "VoiceDesign" else True)) + self.voice_preview_button.setEnabled( + editable + and ( + self.voice_library.currentRow() >= 0 + if self.voice_source.currentIndex() == 3 + else ( + bool(context.voice_file) + if voice.source == "Base" + else bool(voice.description.strip()) if voice.source == "VoiceDesign" else True + ) + ) + ) self.accept_voice_button.setVisible(voice.source == "VoiceDesign") - self.accept_voice_button.setEnabled(editable and voice.source == "VoiceDesign" and preview_path(context).is_file()) - self.save_voice_button.setEnabled(editable and self.voice_source.currentIndex() != 3 and (self.accept_voice_button.isEnabled() if voice.source == "VoiceDesign" else self.voice_preview_button.isEnabled())) + self.accept_voice_button.setEnabled( + editable and voice.source == "VoiceDesign" and preview_path(context).is_file() + ) + self.save_voice_button.setEnabled( + editable + and self.voice_source.currentIndex() != 3 + and ( + self.accept_voice_button.isEnabled() + if voice.source == "VoiceDesign" + else self.voice_preview_button.isEnabled() + ) + ) self.transcript.setEnabled(bool(context.voice_file) and editable) - def voice_changed(self): if not self.loading: voice = copy.deepcopy(self.dialog.setting_value("voice")) @@ -164,13 +241,11 @@ def voice_changed(self): ref.transcript = self.transcript.toPlainText() self.dialog.edit_setting("voice", voice) - def import_voice(self): path, _ = QFileDialog.getOpenFileName(self, "Import your voice", "", "PCM WAV recording (*.wav)") if path: self.set_voice(Path(path)) - def set_voice(self, path): try: self.dialog.window.transport.stop() @@ -183,7 +258,6 @@ def set_voice(self, path): except (OSError, ValueError, EOFError, wave.Error) as error: self.dialog.window.error(str(error)) - def preview_voice(self): if self.dialog.window.transport.preview_path: self.dialog.window.transport.stop() @@ -191,9 +265,11 @@ def preview_voice(self): if self.dialog.window.recorder.source: self.dialog.window.error("Stop recording before previewing the voice.") return + def done(path): self.dialog.window.transport.preview(path) self.dialog.window.log_message("Playing your voice preview.") + candidate = self.voice_context() if self.voice_source.currentIndex() == 3: item = self.voice_library.item(self.voice_library.currentRow(), 0) @@ -206,7 +282,6 @@ def done(path): return self.dialog.start_job("Generating voice preview…", partial(synthesize, candidate, preview=True), done) - def voice_settings_changed(self): if self.loading: return @@ -220,11 +295,14 @@ def voice_settings_changed(self): voice.source = source voice.speaker = self.speaker.currentData() voice.description = self.voice_description.text() - voice.name = voice.speaker if voice.source == "CustomVoice" else "Designed voice" if voice.source == "VoiceDesign" else "My voice" + voice.name = ( + voice.speaker + if voice.source == "CustomVoice" + else "Designed voice" if voice.source == "VoiceDesign" else "My voice" + ) voice.origin = "designed" if voice.source == "VoiceDesign" else voice.origin self.dialog.edit_setting("voice", voice) - def refresh_library(self): selected = self.voice_library.item(self.voice_library.currentRow(), 0) selected = selected.data(Qt.ItemDataRole.UserRole) if selected else None @@ -236,7 +314,11 @@ def refresh_library(self): values = (voice["name"], read_settings({"voice": voice})["voice"].label.split(":", 1)[0], languages) except (OSError, ValueError, KeyError): continue - if self.library_language.currentText() not in ("All languages", languages) and self.library_language.currentText() not in languages and languages != "Multilingual": + if ( + self.library_language.currentText() not in ("All languages", languages) + and self.library_language.currentText() not in languages + and languages != "Multilingual" + ): continue row = self.voice_library.rowCount() self.voice_library.insertRow(row) @@ -245,9 +327,16 @@ def refresh_library(self): item.setData(Qt.ItemDataRole.UserRole, str(path)) self.voice_library.setItem(row, col, item) self.voice_library.resizeRowsToContents() - self.voice_library.selectRow(next((row for row in range(self.voice_library.rowCount()) - if self.voice_library.item(row, 0).data(Qt.ItemDataRole.UserRole) == selected), 0)) - + self.voice_library.selectRow( + next( + ( + row + for row in range(self.voice_library.rowCount()) + if self.voice_library.item(row, 0).data(Qt.ItemDataRole.UserRole) == selected + ), + 0, + ) + ) def use_saved_voice(self): item = self.voice_library.item(self.voice_library.currentRow(), 0) @@ -259,9 +348,10 @@ def use_saved_voice(self): except (OSError, ValueError) as error: self.dialog.window.error(str(error)) - def save_personal_voice(self): - name, ok = QInputDialog.getText(self, "Save reusable voice", "Voice name", text=self.dialog.setting_value("voice").name) + name, ok = QInputDialog.getText( + self, "Save reusable voice", "Voice name", text=self.dialog.setting_value("voice").name + ) if not ok or not name.strip(): return if self.dialog.setting_value("voice").source == "VoiceDesign" and not self.accept_designed_voice(): @@ -272,7 +362,6 @@ def save_personal_voice(self): except (OSError, ValueError) as error: self.dialog.window.error(str(error)) - def accept_designed_voice(self): candidate = self.voice_context() if candidate.voice.source != "VoiceDesign": @@ -293,31 +382,39 @@ def accept_designed_voice(self): return True - class CodexModelPicker(QWidget): def __init__(self, dialog): super().__init__() self.dialog, self.loading = dialog, True self.setLayout(QVBoxLayout()) - self.layout().setContentsMargins(0,0,0,0) - self.connection=label('') + self.layout().setContentsMargins(0, 0, 0, 0) + self.connection = label('') self.layout().addWidget(self.connection) - self.layout().addWidget(button('Account settings…',lambda:dialog.preferences_requested.emit('Account','codex_signin'))) - self.codex_model=combo([('Account default','')],self.model_changed) - self.codex_effort=combo([('Codex default','')],self.model_settings_changed) - fields=form(self) - for key,editor in [('codex_model',self.codex_model),('codex_effort',self.codex_effort)]: - field=SettingField(SCHEMA[key],dialog.scope,dialog.edit_setting,editor) - dialog.fields[key]=field - fields.addRow(SCHEMA[key].label,field) - self.loading=False + self.layout().addWidget( + button('Account settings…', lambda: dialog.preferences_requested.emit('Account', 'codex_signin')) + ) + self.codex_model = combo([('Account default', '')], self.model_changed) + self.codex_effort = combo([('Codex default', '')], self.model_settings_changed) + fields = form(self) + for key, editor in [('codex_model', self.codex_model), ('codex_effort', self.codex_effort)]: + field = SettingField(SCHEMA[key], dialog.scope, dialog.edit_setting, editor) + dialog.fields[key] = field + fields.addRow(SCHEMA[key].label, field) + self.loading = False def refresh_models(self): previous = self.loading self.loading = True wanted = self.dialog.setting_value("codex_model") self.codex_model.clear() - default = next((m.get("displayName") or m["model"] for m in self.dialog.window.codex_settings.get("models", []) if m["model"] == self.dialog.window.codex_settings.get("model")), self.dialog.window.codex_settings.get("model", "")) + default = next( + ( + m.get("displayName") or m["model"] + for m in self.dialog.window.codex_settings.get("models", []) + if m["model"] == self.dialog.window.codex_settings.get("model") + ), + self.dialog.window.codex_settings.get("model", ""), + ) self.codex_model.addItem("Account default" + (f" ({default})" if default else ""), "") for model in self.dialog.window.codex_settings.get("models", []): if "image" in model.get("inputModalities", ["text", "image"]): @@ -328,7 +425,6 @@ def refresh_models(self): self.refresh_efforts() self.loading = previous - def refresh_efforts(self): previous = self.loading self.loading = True @@ -341,106 +437,124 @@ def refresh_efforts(self): for option in selected.get("supportedReasoningEfforts", []): effort = option["reasoningEffort"] self.codex_effort.addItem(effort, effort) - self.codex_effort.setItemData(self.codex_effort.count()-1, option.get("description", ""), Qt.ItemDataRole.ToolTipRole) + self.codex_effort.setItemData( + self.codex_effort.count() - 1, option.get("description", ""), Qt.ItemDataRole.ToolTipRole + ) if wanted and self.codex_effort.findData(wanted) < 0: self.codex_effort.addItem(wanted + " (refresh availability)", wanted) self.codex_effort.setCurrentIndex(max(0, self.codex_effort.findData(wanted))) self.loading = previous - def model_changed(self): if not self.loading: - self.dialog.edit_many([('codex_model',self.codex_model.currentData() or '',False),('codex_effort','',False)]) + self.dialog.edit_many( + [('codex_model', self.codex_model.currentData() or '', False), ('codex_effort', '', False)] + ) def model_settings_changed(self): if not self.loading: self.dialog.edit_setting("codex_effort", self.codex_effort.currentData() or "") - class AudioAssets(QWidget): def __init__(self, dialog): super().__init__() self.dialog, self.loading = dialog, False self.setLayout(QVBoxLayout()) - self.layout().setContentsMargins(0,0,0,0) + self.layout().setContentsMargins(0, 0, 0, 0) if dialog.scope == 2: - self.clip_select=combo([],self.show_clip) + self.clip_select = combo([], self.show_clip) self.layout().addWidget(self.clip_select) - self.clip_gain=number(0,2,1,self.clip_changed) - self.clip_gain.setSingleStep(.05) - self.clip_placement=combo([('Before narration','before'),('After narration','after')],self.clip_changed) - fields=form(self) - fields.addRow('Volume',self.clip_gain) - fields.addRow('Play',self.clip_placement) - self.remove_clip_button=button('Remove',self.remove_clip) - self.layout().addLayout(row(button('Add…',self.add_clip),self.remove_clip_button)) + self.clip_gain = number(0, 2, 1, self.clip_changed) + self.clip_gain.setSingleStep(0.05) + self.clip_placement = combo( + [('Before narration', 'before'), ('After narration', 'after')], self.clip_changed + ) + fields = form(self) + fields.addRow('Volume', self.clip_gain) + fields.addRow('Play', self.clip_placement) + self.remove_clip_button = button('Remove', self.remove_clip) + self.layout().addLayout(row(button('Add…', self.add_clip), self.remove_clip_button)) else: - self.background_button=button('Add background track…',self.add_background) - self.remove_background_button=button('Remove background',lambda:dialog.edit_setting('background',None)) - self.layout().addLayout(row(self.background_button,self.remove_background_button)) + self.background_button = button('Add background track…', self.add_background) + self.remove_background_button = button('Remove background', lambda: dialog.edit_setting('background', None)) + self.layout().addLayout(row(self.background_button, self.remove_background_button)) def load(self): - if self.dialog.scope!=2: - background=self.dialog.project.background - self.background_button.setText('Background: '+Path(background.file).name[:16]+'…' if background else 'Add background track…') + if self.dialog.scope != 2: + background = self.dialog.project.background + self.background_button.setText( + 'Background: ' + Path(background.file).name[:16] + '…' if background else 'Add background track…' + ) self.remove_background_button.setEnabled(background is not None) return - self.loading=True + self.loading = True try: - selected=self.clip_select.currentIndex() + selected = self.clip_select.currentIndex() self.clip_select.clear() self.clip_select.addItems([Path(c.file).name for c in self.dialog.slide.clips]) - self.clip_select.setCurrentIndex(min(max(0,selected),len(self.dialog.slide.clips)-1)) + self.clip_select.setCurrentIndex(min(max(0, selected), len(self.dialog.slide.clips) - 1)) finally: - self.loading=False + self.loading = False self.show_clip() def show_clip(self): if self.loading or not self.dialog.project: return - self.loading=True + self.loading = True try: - clips=self.dialog.slide.clips - index=self.clip_select.currentIndex() - valid=0<=index{html.escape(url)}' for url in p.sources) if p.sources else '') + p = self.dialog.project + self.read_button.setEnabled(p.mode != 'Quick') + for key in ('audience', 'objective', 'conference_url', 'scope'): + self.dialog.fields[key].setEnabled(p.mode != 'Quick') + self.sources.setText( + 'Sources: ' + + ' · '.join(f'{html.escape(url)}' for url in p.sources) + if p.sources + else '' + ) def read_conference(self): - url=self.dialog.project.conference_url.strip() + url = self.dialog.project.conference_url.strip() if not url: self.dialog.window.error('Enter a conference website URL, or type the scope directly below.') return + def done(result): - self.dialog.edit_many([('scope',result['scope'],False),('sources',result['sources'],False)]) - self.dialog.start_job('Reading conference website…',partial(extract_scope,url,model=self.dialog.project.codex_model,effort=self.dialog.project.codex_effort),done,project_returning=True) + self.dialog.edit_many([('scope', result['scope'], False), ('sources', result['sources'], False)]) + + self.dialog.start_job( + 'Reading conference website…', + partial(extract_scope, url, model=self.dialog.project.codex_model, effort=self.dialog.project.codex_effort), + done, + project_returning=True, + ) diff --git a/src/autotalk/settings_fields.py b/src/autotalk/settings_fields.py index 17424cd..4885942 100644 --- a/src/autotalk/settings_fields.py +++ b/src/autotalk/settings_fields.py @@ -1,7 +1,18 @@ # SPDX-License-Identifier: MIT """One field builder and loader for schema rows and inspector inheritance.""" -from PySide6.QtWidgets import QWidget, QLineEdit, QPlainTextEdit, QCheckBox, QDoubleSpinBox, QHBoxLayout, QVBoxLayout -from .ui import combo, button, label + +from PySide6.QtCore import Qt +from PySide6.QtWidgets import ( + QWidget, + QLineEdit, + QPlainTextEdit, + QCheckBox, + QDoubleSpinBox, + QHBoxLayout, + QVBoxLayout, + QSizePolicy, +) +from .ui import combo, button, label, ElidedLabel class SettingField(QWidget): @@ -19,27 +30,38 @@ def __init__(self, spec, scope, edit, editor=None, compact=False): editor.setProperty('setting_key', spec.key) editor.setProperty('setting_scope', scope) editor.setProperty('value_editor', not self.read_only) - self.source = label('') + self.source = ElidedLabel() if compact else label('') self.source.setWordWrap(False) self.reset = button('Reset', lambda: edit(spec.key, None, True)) self.reset.setToolTip('Remove this override and inherit the parent value') box = QVBoxLayout(self) if compact else QHBoxLayout(self) box.setContentsMargins(0, 0, 0, 0) - box.addWidget(editor, 1) if compact: + box.setSpacing(10) tail = QHBoxLayout() + tail.setSpacing(5) + title = label(spec.label) + title.setWordWrap(False) + tail.addWidget(title) + self.source.setSizePolicy(QSizePolicy.Policy.Ignored, QSizePolicy.Policy.Preferred) + self.source.setAlignment(Qt.AlignmentFlag.AlignRight | Qt.AlignmentFlag.AlignVCenter) box.addLayout(tail) else: tail = box - tail.addWidget(self.source) + box.addWidget(editor, 1) + tail.addWidget(self.source, 1 if compact else 0) tail.addWidget(self.reset) + if compact: + box.addWidget(editor) self.source.setVisible(not spec.metadata) self.reset.setVisible(not spec.metadata) def make_editor(self, edit): spec = self.spec + def changed(*_): edit(spec.key, self.read()) + if spec.kind == 'choice': widget = combo(spec.choices) widget.setMinimumContentsLength(0) @@ -55,7 +77,7 @@ def changed(*_): widget = QDoubleSpinBox() widget.setRange(*spec.limits) widget.setSuffix(spec.unit) - widget.setSingleStep(.1 if spec.key == 'pause_seconds' else 5 if spec.key == 'background_gain' else 1) + widget.setSingleStep(0.1 if spec.key == 'pause_seconds' else 5 if spec.key == 'background_gain' else 1) self.read = lambda: widget.value() / spec.scale self.write = lambda value: widget.setValue(value * spec.scale) widget.valueChanged.connect(changed) @@ -75,7 +97,7 @@ def load(self, value, source, overridden): blocked = self.editor.blockSignals(True) try: if self.read_only: - self.editor.setText(('On' if value else 'Off') if isinstance(value,bool) else str(value)) + self.editor.setText(('On' if value else 'Off') if isinstance(value, bool) else str(value)) elif self.write and self.read() != value: self.write(value) finally: diff --git a/src/autotalk/settings_schema.py b/src/autotalk/settings_schema.py index 15c61eb..9353b98 100644 --- a/src/autotalk/settings_schema.py +++ b/src/autotalk/settings_schema.py @@ -4,6 +4,7 @@ Rows describe editors, not a second set of defaults. Custom owners supply voice, sampling, shared presets and imported audio; their fields are placed only once. """ + from dataclasses import dataclass, replace from .project import SETTING_DEFAULTS, SETTING_CHOICES @@ -11,25 +12,41 @@ CUSTOM_OWNED = {'voice', 'delivery.sampling'} CUSTOM_AREAS = ('delivery presets', 'clips', 'background') ATTRIBUTES = { - 'pitch': ('Low', 'Medium', 'High'), 'texture': ('Clear', 'Warm', 'Breathy', 'Raspy'), - 'energy': ('Low', 'Moderate', 'High'), 'pace': ('Slow', 'Moderate', 'Brisk'), + 'pitch': ('Low', 'Medium', 'High'), + 'texture': ('Clear', 'Warm', 'Breathy', 'Raspy'), + 'energy': ('Low', 'Moderate', 'High'), + 'pace': ('Slow', 'Moderate', 'Brisk'), 'age': ('Young adult', 'Middle-aged adult', 'Older adult'), - 'articulation': ('Natural', 'Precise', 'Relaxed'), 'projection': ('Soft', 'Conversational', 'Confident'), + 'articulation': ('Natural', 'Precise', 'Relaxed'), + 'projection': ('Soft', 'Conversational', 'Confident'), 'accent': ('Beijing Mandarin', 'Sichuan Mandarin'), 'expression': ('Restrained laughter', 'Audible sigh', 'Thoughtful hesitation', 'Enthusiastic interjection'), } LABELS = { - 'language_policy': ('Separate versions and mixed passages', 'Separate versions; one language per slide', 'Separate single-language versions'), - 'quick_timing': ('Fit, then start (up to three revisions)', 'Generate once, then start', 'Require timing match before start'), + 'language_policy': ( + 'Separate versions and mixed passages', + 'Separate versions; one language per slide', + 'Separate single-language versions', + ), + 'quick_timing': ( + 'Fit, then start (up to three revisions)', + 'Generate once, then start', + 'Require timing match before start', + ), 'realtime_script': ('Write the complete script first', 'Plan the deck; write ahead by slide'), 'speech_priority': ('Consistency first', 'Earliest playback'), 'recording_source': ('Slide video + narration', 'Screen + system audio (Linux)'), - 'recording_policy': ('Keep fullscreen pauses; omit time outside fullscreen', 'Keep all elapsed time', 'Skip pauses, buffering and time outside fullscreen'), + 'recording_policy': ( + 'Keep fullscreen pauses; omit time outside fullscreen', + 'Keep all elapsed time', + 'Skip pauses, buffering and time outside fullscreen', + ), 'after': ('Advance automatically', 'Wait for presenter', 'Pause for live demo'), 'export_rate': ('24 kHz (native)', '44.1 kHz', '48 kHz'), 'export_bitrate': ('AAC 96 kbit/s', 'AAC 128 kbit/s', 'AAC 192 kbit/s'), } + @dataclass(frozen=True) class Setting: key: str @@ -50,43 +67,129 @@ class Setting: def setting(key, label, page, section, **kw): choices = SETTING_CHOICES.get(key, ()) - return Setting(key, label, page, section, scopes=SETTING_DEFAULTS.get(key, (None, (1,)))[1], - choices=tuple(zip(LABELS.get(key, choices), choices)), **kw) + return Setting( + key, + label, + page, + section, + scopes=SETTING_DEFAULTS.get(key, (None, (1,)))[1], + choices=tuple(zip(LABELS.get(key, choices), choices)), + **kw, + ) + ROWS = [ - *(setting(key, label, 'Talk', 'Talk & conference', kind=kind, metadata=True) for key, label, kind in ( - ('title', 'Talk title', 'text'), ('audience', 'Audience', 'text'), ('objective', 'Talk objective', 'text'), - ('conference_url', 'Conference website', 'text'), ('scope', 'Conference scope', 'multiline'))), - setting('language', 'Language', 'Voice & language', 'Language', read_only_scopes=(1,), - help='Selecting a talk language restores its saved version or starts an empty version. Missing narration is generated from the slides, never translated from another version.'), + *( + setting(key, label, 'Talk', 'Talk & conference', kind=kind, metadata=True) + for key, label, kind in ( + ('title', 'Talk title', 'text'), + ('audience', 'Audience', 'text'), + ('objective', 'Talk objective', 'text'), + ('conference_url', 'Conference website', 'text'), + ('scope', 'Conference scope', 'multiline'), + ) + ), + setting( + 'language', + 'Language', + 'Voice & language', + 'Language', + read_only_scopes=(1,), + help=( + 'Selecting a talk language restores its saved version or starts an empty version. ' + 'Missing narration is generated from the slides, never translated from another version.' + ), + ), setting('language_policy', 'Language arrangement', 'Voice & language', 'Language'), setting('writing_style', 'Writing style', 'Writing & delivery', 'Writing & delivery'), setting('delivery.style', 'Spoken delivery', 'Writing & delivery', 'Writing & delivery'), - setting('delivery.instructions', 'Custom vocal directions', 'Writing & delivery', 'Writing & delivery', kind='text'), - setting('delivery.attributes.persona', 'Speaker background / persona', 'Writing & delivery', 'Vocal attributes', kind='text'), - setting('delivery.progression', 'Gradual delivery across slides', 'Writing & delivery', 'Vocal attributes', kind='text'), + setting( + 'delivery.instructions', 'Custom vocal directions', 'Writing & delivery', 'Writing & delivery', kind='text' + ), + setting( + 'delivery.attributes.persona', + 'Speaker background / persona', + 'Writing & delivery', + 'Vocal attributes', + kind='text', + ), + setting( + 'delivery.progression', 'Gradual delivery across slides', 'Writing & delivery', 'Vocal attributes', kind='text' + ), setting('mode', 'Mode', 'Timing & playback', 'Preparation', read_only_scopes=(1,)), - setting('tolerance_seconds', 'Allowed timing difference', 'Timing & playback', 'Preparation', kind='number', limits=(0,600), unit=' sec'), + setting( + 'tolerance_seconds', + 'Allowed timing difference', + 'Timing & playback', + 'Preparation', + kind='number', + limits=(0, 600), + unit=' sec', + ), setting('quick_timing', 'Quick timing policy', 'Timing & playback', 'Preparation'), setting('realtime_script', 'Realtime narration', 'Timing & playback', 'Preparation'), setting('speech_priority', 'Realtime speech priority', 'Timing & playback', 'Preparation'), - setting('buffer_seconds', 'Realtime startup/refill buffer', 'Timing & playback', 'Preparation', kind='number', limits=(2,30), unit=' seconds'), - setting('pause_seconds', 'Pause after slide', 'Timing & playback', 'Playback', kind='number', limits=(0,10), unit=' sec'), + setting( + 'buffer_seconds', + 'Realtime startup/refill buffer', + 'Timing & playback', + 'Preparation', + kind='number', + limits=(2, 30), + unit=' seconds', + ), + setting( + 'pause_seconds', + 'Pause after slide', + 'Timing & playback', + 'Playback', + kind='number', + limits=(0, 10), + unit=' sec', + ), setting('after', 'After slide', 'Timing & playback', 'Playback'), - setting('record_presentation', 'Record presentation as a video', 'Audio & recording', 'Recording', kind='bool', read_only_scopes=(1,)), + setting( + 'record_presentation', + 'Record presentation as a video', + 'Audio & recording', + 'Recording', + kind='bool', + read_only_scopes=(1,), + ), setting('recording_source', 'Recording source', 'Audio & recording', 'Recording'), setting('capture_microphone', 'Include microphone', 'Audio & recording', 'Recording', kind='bool'), setting('recording_policy', 'Recording pauses', 'Audio & recording', 'Recording'), setting('recording_destination', 'Video destination', 'Audio & recording', 'Recording', kind='text', metadata=True), setting('export_rate', 'Export audio sample rate', 'Audio & recording', 'Output quality'), setting('export_bitrate', 'MP4 / M4A audio encoding', 'Audio & recording', 'Output quality'), - setting('background_gain', 'Background volume', 'Audio & recording', 'Background audio', kind='number', limits=(0,100), unit=' %', scale=100), + setting( + 'background_gain', + 'Background volume', + 'Audio & recording', + 'Background audio', + kind='number', + limits=(0, 100), + unit=' %', + scale=100, + ), setting('background_loop', 'Loop background audio', 'Audio & recording', 'Background audio', kind='bool'), setting('codex_model', 'Model', 'AI model', 'Narration AI — Codex', kind='custom'), setting('codex_effort', 'Reasoning effort', 'AI model', 'Narration AI — Codex', kind='custom'), ] -index = next(i for i,r in enumerate(ROWS) if r.key == 'delivery.attributes.persona') -ROWS[index:index] = [Setting('delivery.attributes.'+key, key.capitalize(), 'Writing & delivery', 'Vocal attributes', - scopes=SETTING_DEFAULTS['delivery.attributes.'+key][1], choices=(('Model default',''),)+tuple((v,v) for v in values)) for key,values in ATTRIBUTES.items()] -SCHEMA = {r.key: replace(r, order=i, scopes=(0,1) if r.key in ('after','pause_seconds') else r.scopes) for i,r in enumerate(ROWS)} +index = next(i for i, r in enumerate(ROWS) if r.key == 'delivery.attributes.persona') +ROWS[index:index] = [ + Setting( + 'delivery.attributes.' + key, + key.capitalize(), + 'Writing & delivery', + 'Vocal attributes', + scopes=SETTING_DEFAULTS['delivery.attributes.' + key][1], + choices=(('Model default', ''),) + tuple((v, v) for v in values), + ) + for key, values in ATTRIBUTES.items() +] +SCHEMA = { + r.key: replace(r, order=i, scopes=(0, 1) if r.key in ('after', 'pause_seconds') else r.scopes) + for i, r in enumerate(ROWS) +} del ROWS diff --git a/src/autotalk/ui.py b/src/autotalk/ui.py index c8a1c3d..157e097 100644 --- a/src/autotalk/ui.py +++ b/src/autotalk/ui.py @@ -188,12 +188,20 @@ def __init__(self, window, title): self.cancel_job.hide() outer.addWidget(self.cancel_job) kinds = QDialogButtonBox.StandardButton - self.buttons = QDialogButtonBox(kinds.Close) + self.buttons = QDialogButtonBox() + self.set_buttons(kinds.Close) self.buttons.setContentsMargins(12, 0, 12, 0) self.buttons.accepted.connect(self.accept) self.buttons.rejected.connect(self.reject) outer.addWidget(self.buttons) + def set_buttons(self, kinds): + self.buttons.setStandardButtons(kinds) + for control in self.buttons.buttons(): + shortcut = control.shortcut() + control.setText(control.text().replace("&", "")) + control.setShortcut(shortcut) + def add(self, title, page_name=""): name = page_name or title matches = self.navigation.findItems(name, Qt.MatchFlag.MatchExactly) @@ -416,7 +424,7 @@ def command(menu, title, callback, shortcut="", locked=False, control=None): inspector_scroll.setFrameShape(QScrollArea.Shape.NoFrame) inspector.layout().setSizeConstraint(QVBoxLayout.SizeConstraint.SetMinimumSize) inspector_scroll.setWidget(inspector) - inspector_scroll.setMinimumWidth(200) + inspector_scroll.setMinimumWidth(200 + inspector_scroll.verticalScrollBar().sizeHint().width()) for pane in (navigation, center, inspector_scroll): w.editor.addWidget(pane) w.editor.setSizes([154, 644, 226]) diff --git a/tests/test_settings_drafts.py b/tests/test_settings_drafts.py index be7983e..f1036d1 100644 --- a/tests/test_settings_drafts.py +++ b/tests/test_settings_drafts.py @@ -286,7 +286,7 @@ def fail(): raise OSError('disk unavailable') @pytest.mark.parametrize('scope,caption,page,focus',[ (0,'Account settings…','Account','codex_signin'),(1,'Account settings…','Account','codex_signin'), (0,'Speech engine settings…','Speech engine','engine_state'),(1,'Speech engine settings…','Speech engine','engine_state'), - (0,'Display & sound settings…','Display & sound','screen'),(1,'Display & sound settings…','Display & sound','screen')]) + (0,'Display && sound settings…','Display & sound','screen'),(1,'Display && sound settings…','Display & sound','screen')]) def test_scoped_links_open_preferences_not_another_transaction(qtbot,project,scope,caption,page,focus): from PySide6.QtWidgets import QApplication,QPushButton w=MainWindow();qtbot.addWidget(w);w.adopt(project);w.show() diff --git a/tests/test_settings_polish.py b/tests/test_settings_polish.py new file mode 100644 index 0000000..537546f --- /dev/null +++ b/tests/test_settings_polish.py @@ -0,0 +1,139 @@ +# SPDX-License-Identifier: MIT +"""Save is atomic, literal ampersands stay literal, and compact controls fit.""" +import copy +import re +from dataclasses import asdict +from unittest.mock import Mock + +import pytest +from PySide6.QtCore import QPoint, Qt +from PySide6.QtGui import QAction +from PySide6.QtWidgets import QAbstractButton, QDialogButtonBox, QLabel, QTabBar, QToolButton + +from autotalk import settings +from autotalk.app import MainWindow +from autotalk.project import Project + + +@pytest.mark.parametrize('scope', [0, 1, 2]) +@pytest.mark.parametrize('fail_at', [1, 2]) +@pytest.mark.parametrize('modified', [False, True]) +def test_failed_replay_is_atomic_and_retryable(qtbot, project, monkeypatch, scope, fail_at, modified): + project.save() + w = MainWindow() + qtbot.addWidget(w) + w.adopt(project) + w.show() + if modified: + w.minutes.setValue(17) + w.setWindowModified(modified) + dialog = w.settings[scope] + dialog.show_section('Writing & delivery') + for key, value in [('writing_style', 'Conversational'), ('delivery.style', 'Storytelling'), + ('delivery.instructions', 'Keep a steady pace.')]: + dialog.edit_setting(key, value) + live_before = copy.deepcopy(asdict(w.project)) + defaults_before = copy.deepcopy(w.defaults) + draft_before = copy.deepcopy(asdict(dialog.project)) + operations_before = copy.deepcopy(dialog.operations) + expected = copy.deepcopy(w.project) + target = Project(expected.root, defaults=copy.deepcopy(w.defaults)) if scope == 0 else expected + for operation in dialog.operations: + settings.apply_edit(target, scope, dialog.slide_index, operation) + if scope == 0: + expected.set_defaults(target.defaults) + before_bytes = project.manifest.read_bytes() + before_mtime = project.manifest.stat().st_mtime_ns + before_config = w.config.value('setting_defaults') + real_apply = settings.apply_edit + count = 0 + + def faulty_apply(*args): + nonlocal count + count += 1 + real_apply(*args) + if count == fail_at: + raise ValueError('injected replay failure') + + with monkeypatch.context() as fault: + fault.setattr(settings, 'apply_edit', faulty_apply) + save = Mock(wraps=w.save) + fault.setattr(w, 'save', save) + dialog.accept() + assert save.call_count == 0 + assert count == fail_at + assert dialog.isVisible() and 'injected replay failure' in dialog.status.text() + assert asdict(w.project) == live_before + assert w.defaults == defaults_before and w.config.value('setting_defaults') == before_config + assert asdict(dialog.project) == draft_before and dialog.operations == operations_before + assert project.manifest.read_bytes() == before_bytes + assert project.manifest.stat().st_mtime_ns == before_mtime + assert w.isWindowModified() == modified + assert dialog.generation == w.project_generation + dialog.accept() + assert not dialog.isVisible() + assert asdict(w.project) == asdict(expected) + if scope: + assert asdict(Project.load(w.project.manifest)) == asdict(w.project) + else: + assert w.defaults == target.defaults + assert w.config.value('setting_defaults') != before_config + + +def test_buttons_actions_and_tabs_have_no_accidental_mnemonics(qtbot, project): + w = MainWindow() + qtbot.addWidget(w) + w.adopt(project) + w.show() + single_ampersand = re.compile(r'(?= field.reset.minimumSizeHint().width() + assert field.editor.width() == field.width() + title = next(child for child in field.findChildren(QLabel) if child is not field.source) + assert not title.wordWrap() + assert title.width() >= title.fontMetrics().horizontalAdvance(title.text()) + assert w.inspector.parentWidget().parentWidget().horizontalScrollBar().maximum() == 0 diff --git a/tests/test_ux_redundancy.py b/tests/test_ux_redundancy.py index 403baac..87a974f 100644 --- a/tests/test_ux_redundancy.py +++ b/tests/test_ux_redundancy.py @@ -4,6 +4,7 @@ from types import SimpleNamespace import pytest +from PySide6.QtCore import Qt from PySide6.QtWidgets import QLabel, QComboBox, QToolButton from autotalk.app import MainWindow, clock @@ -95,7 +96,10 @@ def test_inspector_source_pause_and_delivery_independence(qtbot, project, talk_o project.set_setting('delivery.instructions', 'Speak softly', project.slides[0]) w = MainWindow(); qtbot.addWidget(w); w.defaults['after'] = 'demo'; w.adopt(project); w.show(); reveal_timing(w) source = 'talk' if talk_override else 'app' - assert w.inspector.after_field.source.text() == f'from {source}' + caption = w.inspector.after_field.source + assert caption.toolTip() == f'from {source}' + assert caption.text() == caption.fontMetrics().elidedText( + caption.toolTip(), Qt.TextElideMode.ElideRight, caption.width()) assert w.inspector.slide_after.currentText() == ('Wait for presenter' if talk_override else 'Pause for live demo') assert w.inspector.slide_pause.isEnabled() w.inspector.slide_pause.setValue(0)