Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace pulseaudio with pipewire for Archlinux #75

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

alimirjamali
Copy link

@qubesos-bot
Copy link

qubesos-bot commented Jan 17, 2025

OpenQA test summary

Complete test suite and dependencies: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2025012310-4.3&flavor=pull-requests

Test run included the following:

New failures, excluding unstable

Compared to: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2024111705-4.3&flavor=update

  • system_tests_network_updates

    • TC_11_QvmTemplateMgmtVM_whonix-gateway-17: test_010_template_install (failure)
      qvm-template: error: Template 'debian-12-minimal' not found.
  • system_tests_dispvm

    • TC_20_DispVM_fedora-41-xfce: test_100_open_in_dispvm (failure)
      AssertionError: './open-file test.txt' failed with ./open-file test...
  • system_tests_kde_gui_interactive

    • gui_keyboard_layout: wait_serial (wait serial expected)
      # wait_serial expected: "echo -e '[Layout]\nLayoutList=us,de' | sud...
  • system_tests_guivm_vnc_gui_interactive

    • gui_filecopy: unnamed test (unknown)
    • gui_filecopy: Failed (test died)
      # Test died: no candidate needle with tag(s) 'file-copy-prompt' mat...
  • system_tests_basic_vm_qrexec_gui_ext4

  • system_tests_guivm_gui_interactive

    • clipboard_and_web: unnamed test (unknown)
    • clipboard_and_web: Failed (test died)
      # Test died: no candidate needle with tag(s) 'clipboard-copy-notifi...

Failed tests

10 failures
  • system_tests_network_updates

    • TC_11_QvmTemplateMgmtVM_whonix-gateway-17: test_010_template_install (failure)
      qvm-template: error: Template 'debian-12-minimal' not found.
  • system_tests_dispvm

    • TC_20_DispVM_fedora-41-xfce: test_100_open_in_dispvm (failure)
      AssertionError: './open-file test.txt' failed with ./open-file test...
  • system_tests_kde_gui_interactive

    • gui_keyboard_layout: wait_serial (wait serial expected)
      # wait_serial expected: "echo -e '[Layout]\nLayoutList=us,de' | sud...

    • gui_keyboard_layout: Failed (test died)
      # Test died: command 'test "$(cd ~user;ls e1*)" = "$(qvm-run -p wor...

  • system_tests_basic_vm_qrexec_gui_zfs

    • switch_pool: Failed (test died)
      # Test died: command 'qubes-dom0-update -y zfs' failed at /usr/lib/...
  • system_tests_guivm_vnc_gui_interactive

    • gui_filecopy: unnamed test (unknown)
    • gui_filecopy: Failed (test died)
      # Test died: no candidate needle with tag(s) 'file-copy-prompt' mat...
  • system_tests_basic_vm_qrexec_gui_ext4

  • system_tests_guivm_gui_interactive

    • clipboard_and_web: unnamed test (unknown)
    • clipboard_and_web: Failed (test died)
      # Test died: no candidate needle with tag(s) 'clipboard-copy-notifi...

Fixed failures

Compared to: https://openqa.qubes-os.org/tests/119126#dependencies

2 fixed
  • system_tests_extra

    • TC_00_QVCTest_whonix-gateway-17: test_010_screenshare (failure)
      ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^... AssertionError: 0 == 0
  • system_tests_audio@hw1

Unstable tests

@marmarek
Copy link
Member

marmarek commented Jan 21, 2025

pipewire-qubes got installed by this update, and qubes-vm-pulseaudio got removed. But pipewire-pulse wasn't, and plain pulseaudio remained installed. This means any app using pulseaudio API won't have sound. This could be about dependencies in the gui-agent-linux repo maybe?

BTW, tests need pw-play utility, but I can't find which package has it on Arch. Any idea?

@alimirjamali
Copy link
Author

alimirjamali commented Jan 21, 2025

BTW, tests need pw-play utility, but I can't find which package has it on Arch. Any idea?

This is included in extra/pipewire-audio.

This could be about dependencies in the gui-agent-linux repo maybe?

Most likely. Instead of doing it here in qubes-meta-packages, I guess this has to per properly done in gui-agent-linux repository.

@marmarek
Copy link
Member

Now that pw-play is installed, pipewire tests are used. And they say audio via pipewire doesn't work in Arch... I'm not sure what exactly is broken, pipewire-qubes is installed, pipewire service is running, yet no audio is played.

@marmarek
Copy link
Member

I poked at an Arch VM with broken audio a bit, and I'm not much wiser... The pipewire qubes module seems to be loaded (according to pw-dump), there are also "qubes-sink" and "qubes-source" nodes registered, pavucontrol in dom0 shows the VM entry (which suggests the VM did connected to the pacat-simple-vchan process in dom0). But pw-play in the VM hangs, and nothing plays in dom0.

@marmarek
Copy link
Member

Oh, wireplumber is not installed! Installing it seems to help quite a bit.

This looks like some dependency issue, but TBH I'm not sure what should pull in wireplumber. Should it be the main pipewire package? Or maybe pipewire-qubes? Or this meta-package? Or maybe something else?

@alimirjamali
Copy link
Author

Or maybe pipewire-qubes

Yes. I believe qubes-gui-agent-linux/pipewire-qubes should pull in the required dependency. This line?

@marmarek
Copy link
Member

Yes. I believe qubes-gui-agent-linux/pipewire-qubes should pull in the required dependency. This line?

Makes sense

@alimirjamali
Copy link
Author

Makes sense

Submitted the PR. Also included pipewire-alsa for people who might need Alsa client support. But not pipewire-jack.

alimirjamali added a commit to alimirjamali/qubes-gui-agent-linux that referenced this pull request Jan 22, 2025
alimirjamali added a commit to alimirjamali/qubes-gui-agent-linux that referenced this pull request Jan 22, 2025
alimirjamali added a commit to alimirjamali/qubes-gui-agent-linux that referenced this pull request Jan 23, 2025
alimirjamali added a commit to alimirjamali/qubes-gui-agent-linux that referenced this pull request Jan 23, 2025
alimirjamali added a commit to alimirjamali/qubes-gui-agent-linux that referenced this pull request Jan 23, 2025
alimirjamali added a commit to alimirjamali/qubes-gui-agent-linux that referenced this pull request Jan 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Arch: pulseaudio (17.0+r43+g3e2bb8a1e-1) breaks dependency 'pulseaudio<=17.0' required by qubes-vm-pulseaudio
3 participants