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

Force use of software rendering #214

Merged
merged 1 commit into from
Jun 25, 2024
Merged

Force use of software rendering #214

merged 1 commit into from
Jun 25, 2024

Conversation

ben-grande
Copy link
Contributor

@rustybird
Copy link
Contributor

There's also GDK_DEBUG=gl-disable which I've been using for a while. Would it make sense to set that as well? It seems to be similar to GSK_RENDERER=cairo but I don't know how the two are related, maybe one covers more situations than the other.

@ben-grande
Copy link
Contributor Author

Using only GDK_DEBUG=gl-disabled works but it is slow because it tries vulkan:

$ env GDK_DEBUG="gl-disable" LIBGL_ALWAYS_SOFTWARE=1 zenity --question --title title --text text --timeout 1

Gsk-Message: Failed to realize renderer of type 'GskNglRenderer' for surface 'GdkX11Toplevel': GL support disabled via GDK_DEBUG

Gsk-Message: Failed to realize renderer of type 'GskGLRenderer' for surface 'GdkX11Toplevel': GL support disabled via GDK_DEBUG


(zenity:2633): Gdk-CRITICAL **: Vulkan: ../src/imagination/vulkan/pvr_device.c:854: Failed to enumerate drm devices (errno 2: No such file or directory) (VK_ERROR_INITIALIZATION_FAILED)

(zenity:2633): Gdk-CRITICAL **: Vulkan: Loader Message: setup_loader_term_phys_devs: Call to 'vkEnumeratePhysicalDevices' in ICD /usr/lib64/libvulkan_powervr_mesa.so failed with error code -3

(zenity:2633): Gdk-CRITICAL **: Vulkan: ../src/imagination/vulkan/pvr_device.c:854: Failed to enumerate drm devices (errno 2: No such file or directory) (VK_ERROR_INITIALIZATION_FAILED)

(zenity:2633): Gdk-CRITICAL **: Vulkan: Loader Message: setup_loader_term_phys_devs: Call to 'vkEnumeratePhysicalDevices' in ICD /usr/lib64/libvulkan_powervr_mesa.so failed with error code -3

(zenity:2633): Gdk-CRITICAL **: Vulkan: ../src/imagination/vulkan/pvr_device.c:854: Failed to enumerate drm devices (errno 2: No such file or directory) (VK_ERROR_INITIALIZATION_FAILED)

(zenity:2633): Gdk-CRITICAL **: Vulkan: Loader Message: setup_loader_term_phys_devs: Call to 'vkEnumeratePhysicalDevices' in ICD /usr/lib64/libvulkan_powervr_mesa.so failed with error code -3

(zenity:2633): Gdk-CRITICAL **: Vulkan: ../src/imagination/vulkan/pvr_device.c:854: Failed to enumerate drm devices (errno 2: No such file or directory) (VK_ERROR_INITIALIZATION_FAILED)

(zenity:2633): Gdk-CRITICAL **: Vulkan: Loader Message: setup_loader_term_phys_devs: Call to 'vkEnumeratePhysicalDevices' in ICD /usr/lib64/libvulkan_powervr_mesa.so failed with error code -3

With vulkan disabled also, it takes half the time of the previous example:

$ env GDK_DEBUG="gl-disable vulkan-disable" LIBGL_ALWAYS_SOFTWARE=1 zenity --question --title title --text text --timeout 1
Gsk-Message: Failed to realize renderer of type 'GskNglRenderer' for surface 'GdkX11Toplevel': GL support disabled via GDK_DEBUG

Gsk-Message: Failed to realize renderer of type 'GskGLRenderer' for surface 'GdkX11Toplevel': GL support disabled via GDK_DEBUG

Gsk-Message: Failed to realize renderer of type 'GskVulkanRenderer' for surface 'GdkX11Toplevel': Vulkan support disabled via GDK_DEBUG

@rustybird, from the thread you shared, I found the following comment:

PS @marmarek although I strongly discourage this in general practice, for this situation, have you tried GSK_RENDERER=cairo nautilus
...
GDK_RENDERER doesn't help because it's not a known envvar
GDK_DEBUG=gl-disable probably has the same effect as GSK_RENDERER=cairo, but give it a try anyways
...
Remember, setting the renderer to cairo is not a recommendation. I only suggested it for this very specific use case

Gnome developer says that setting the renderer to cairo or disabling gl and vulkan is not recommended. But they also didn't fix the nautilus spinner issue as a patch for it still exists.

@DemiMarie said:

The problem is that the alternate backend (Cairo) is not fully functional (it does not implement 3D transformations) and so enforcing its use will cause some programs to not render correctly.

So... maybe instead of fighting Gnome programs, like the default templates changed to Xfce, change to another tool, which I do not know if there is anything suitable that is a GUI with few dependencies that doesn't require hardware acceleration. I know it will not be good UX wise if we switch to cdialog, but yad and kdialog requires a lot of undesired dependencies, GTK dialog can take more time to implement as sometimes zenity is called from python and sometimes from shell scripts.

@rustybird
Copy link
Contributor

rustybird commented Jun 18, 2024

Agreed that it would be good to find an alternative to zenity. Also because the Debian build of it is so bloated (from WebKit support) that it's not even included in the minimal Debian template.

But the bad performance of modern GTK programs still seems like an important thing to address too. The only way I can see is switching to Cairo, even if it's not future-proof and potentially breaks some programs. (Which ones though?)

Maybe it could be done through an easier to override mechanism? E.g. as a .conf file in /usr/lib/environment.d spamming all three environment variables (and including vulkan-disable). That way, people for whom Cairo actually breaks stuff can switch away from it by masking the file with a symlink to /dev/null. Do you think that's a sensible tradeoff @DemiMarie @marmarek?

@rustybird
Copy link
Contributor

Maybe it could be done through an easier to override mechanism? E.g. as a .conf file in /usr/lib/environment.d

Ah wait, that might also interact with sys-gui-gpu 🤔

@DemiMarie
Copy link
Contributor

Agreed that it would be good to find an alternative to zenity. Also because the Debian build of it is so bloated (from WebKit support) that it's not even included in the minimal Debian template.

Indeed Zenity should not be used.

But the bad performance of modern GTK programs still seems like an important thing to address too. The only way I can see is switching to Cairo, even if it's not future-proof and potentially breaks some programs. (Which ones though?)

The proper and long-term solution is to expose the GPU to guests in a secure way. Everything else is a workaround until secure GPU acceleration can be implemented. Unfortunately, GPU security has lagged behind CPU security, but this must be fixed on the GPU side. Software rendering is a fallback for a reason.

In the short term, switching to Cairo is one option. I would be much more confortable doing so on a per-program basis than system-wide, though. Otherwise there will be programs that break for no apparent reason.

Maybe it could be done through an easier to override mechanism? E.g. as a .conf file in /usr/lib/environment.d spamming all three environment variables (and including vulkan-disable). That way, people for whom Cairo actually breaks stuff can switch away from it by masking the file with a symlink to /dev/null. Do you think that's a sensible tradeoff @DemiMarie @marmarek?

@marmarta do you have an opinion here?

@ben-grande
Copy link
Contributor Author

ben-grande commented Jun 18, 2024

Just to get an idea of all components that uses zenity and how many times it appears per file:

$ rg -c -e "zenity -" -e "'zenity', '-" -e '"zenity", "-'
qubes-app-linux-split-gpg/qubes.Gpg.service:1
qubes-gui-daemon/gui-daemon/xside.c:1
qubes-app-linux-split-gpg2/splitgpg2/__init__.py:1
qubes-core-agent-linux/qubes-rpc/qubes.SelectFile:1
qubes-core-agent-linux/qubes-rpc/qvm-copy-to-vm.gnome:1
qubes-core-agent-linux/qubes-rpc/thunar/qvm-actions.sh:3
qubes-core-agent-linux/qubes-rpc/vm-file-editor.c:1
qubes-core-agent-linux/qubes-rpc/qvm-open-in-vm:1
qubes-core-agent-linux/qubes-rpc/qubes.SelectDirectory:1
qubes-core-agent-linux/qubes-rpc/gui-fatal.c:1
qubes-core-agent-linux/debian/changelog:1
qubes-core-agent-linux/package-managers/qubes-download-dom0-updates.sh:2
qubes-core-admin-linux/file-copy-vm/qfile-dom0-agent.c:1
qubes-core-admin-linux/dom0-updates/qubes-dom0-update:2
qubes-core-admin/qubes/tests/integ/basic.py:2
qubes-app-linux-img-converter/qvm-convert-img.gnome:1
qubes-app-linux-img-converter/qimg-convert-client:1
qubes-app-linux-img-converter/qvm-convert-img-gnome:1
qubes-app-linux-pdf-converter/qvm-convert-pdf.gnome:1
qubes-core-qrexec/daemon/qrexec-daemon.c:1

@marmarek
Copy link
Member

But the bad performance of modern GTK programs still seems like an important thing to address too. The only way I can see is switching to Cairo, even if it's not future-proof and potentially breaks some programs. (Which ones though?)

I'm fine with this solution, if there is an easy opt-out. Nobody shown any broken apps by this approach yet, so until that happens, I would ignore this downside as it looks purely theoretical.

As for the opt-out - maybe use qvm-service? that would allow easily doing it per-qube. And on the global scale you can always place some later file in /etc/profile.d (or whichever other dir is chosen), but it needs to be documented somewhere.

@@ -1 +1,5 @@
export DISPLAY=:0 _JAVA_AWT_WM_NONREPARENTING=1
if ! test -f /var/run/qubes-service/gpu-accel; then
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd prefer a name like software-rendering or similar, instead of gpu-accel. The latter may suggest enabling it will actually get you GPU acceleration, which is not really the case.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure. I am searching where default services are set to enable software-rendering by default... Until I find them, I will commit with the same logic: ! test -f /var/run/qubes-service/hardware-rendering.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found, vm-systemd/qubes-sysinit.sh

@qubesos-bot
Copy link

qubesos-bot commented Jun 21, 2024

OpenQA test summary

Complete test suite and dependencies: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2024062200-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=2024062115-4.3&flavor=update

  • system_tests_extra

    • TC_00_QVCTest_whonix-gateway-17: test_010_screenshare (failure)
      self.assertNotEqual(vm.run('test -e /dev/vid... AssertionError: 0 == 0
  • system_tests_network_updates

    • TC_00_Dom0Upgrade_whonix-gateway-17: test_001_update_check (failure)
      self.assertTrue(self.app.domains[0].... AssertionError: '' is not true
  • system_tests_devices

    • TC_00_List_whonix-workstation-17: test_001_list_loop_mounted (failure)
      AssertionError: Device test-inst-vm:loop0 (/tmp/test.img) should no...

Failed tests

8 failures
  • system_tests_pvgrub_salt_storage

    • TC_41_HVMGrub_fedora-40-xfce: test_000_standalone_vm (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

    • TC_41_HVMGrub_fedora-40-xfce: test_010_template_based_vm (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

  • system_tests_extra

    • [unstable] TC_00_QVCTest_fedora-40-xfce: test_020_webcam (failure + cleanup)
      AssertionError: 'qubes-video-companion webcam' exited early (0): b'...

    • TC_00_QVCTest_whonix-gateway-17: test_010_screenshare (failure)
      self.assertNotEqual(vm.run('test -e /dev/vid... AssertionError: 0 == 0

  • system_tests_network_updates

    • TC_00_Dom0Upgrade_whonix-gateway-17: test_001_update_check (failure)
      self.assertTrue(self.app.domains[0].... AssertionError: '' is not true

    • [unstable] TC_10_QvmTemplate_debian-12-xfce: test_010_template_install (failure)
      AssertionError: libvirt event impl drain timeout

  • system_tests_devices

    • TC_00_List_whonix-workstation-17: test_001_list_loop_mounted (failure)
      AssertionError: Device test-inst-vm:loop0 (/tmp/test.img) should no...
  • system_tests_splitgpg

Fixed failures

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

6 fixed
  • system_tests_basic_vm_qrexec_gui

  • system_tests_extra

    • TC_00_QVCTest_whonix-gateway-17: test_020_webcam (failure)
      self.assertNotEqual(vm.run('test -e /dev/vid... AssertionError: 0 == 0

    • TC_00_QVCTest_whonix-workstation-17: test_020_webcam (failure + cleanup)
      AssertionError: 'qubes-video-companion webcam' exited early (0): b'...

  • system_tests_network_updates

  • system_tests_basic_vm_qrexec_gui_zfs

    • TC_20_AudioVM_Pulse_debian-12-xfce-pool: test_223_audio_play_hvm (failure)
      AssertionError: only silence detected, no useful audio data

Unstable tests

  • system_tests_update

    update2/Failed (1/5 times with errors)
    • job 103358 # Test died: command 'script -c 'qubes-vm-update --max-concurrency=...
  • system_tests_basic_vm_qrexec_gui

    TC_20_AudioVM_Pulse_whonix-workstation-17/test_220_audio_play_pulseaudio (2/3 times with errors)
    • job 101109 AssertionError: Command 'timeout 20s paplay --format=float32le --ra...
    • job 101758 AssertionError: too short audio, expected 10s, got 8.73532879818594...
    TC_20_AudioVM_Pulse_whonix-workstation-17/test_222_audio_rec_unmuted_pulseaudio (2/3 times with errors)
    • job 101109 AssertionError: only silence detected, no useful audio data
    • job 101758 AssertionError: too short audio, expected 10s, got 9.36446712018140...
    TC_20_AudioVM_Pulse_whonix-workstation-17/test_223_audio_play_hvm (2/3 times with errors)
    • job 101109 AssertionError: Command 'timeout 20s paplay --format=float32le --ra...
    • job 102413 AssertionError: only silence detected, no useful audio data
    TC_20_AudioVM_Pulse_whonix-workstation-17/test_252_audio_playback_audiovm_switch_hvm (1/3 times with errors)
    • job 101109 AssertionError: Command 'timeout 20s paplay --format=float32le --ra...
  • system_tests_pvgrub_salt_storage

    TC_41_HVMGrub_debian-12-xfce/test_000_standalone_vm (2/3 times with errors)
    • job 101773 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 102428 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    StorageFile/test_001_non_volatile (1/3 times with errors)
    • job 101124 subprocess.CalledProcessError: Command '/usr/lib/qubes/destroy-snap...
    TC_41_HVMGrub_debian-12-xfce/test_010_template_based_vm (2/3 times with errors)
    • job 101773 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
    • job 102428 qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...
  • system_tests_extra

    TC_00_QVCTest_whonix-workstation-17/test_010_screenshare (1/3 times with errors)
    • job 101116 self.assertNotEqual(vm.run('test -e /dev/vid... AssertionError: 0 == 0
    TC_00_QVCTest_debian-12-xfce/test_020_webcam (2/3 times with errors)
    • job 101116 AssertionError: 'qubes-video-companion webcam' exited early (0): b'...
    • job 102420 AssertionError: 'qubes-video-companion webcam' exited early (0): b'...
    TC_00_QVCTest_fedora-40-xfce/test_020_webcam (1/3 times with errors)
    • job 101765 AssertionError: 'qubes-video-companion webcam' exited early (0): b'...
    TC_00_QVCTest_whonix-gateway-17/test_020_webcam (1/3 times with errors)
    • job 102420 AssertionError: 'qubes-video-companion webcam' exited early (0): b'...
    TC_00_QVCTest_whonix-workstation-17/test_020_webcam (2/3 times with errors)
    • job 101116 AssertionError: 'qubes-video-companion webcam' exited early (0): b'...
    • job 102420 AssertionError: 'qubes-video-companion webcam' exited early (0): b'...
  • system_tests_usbproxy

    TC_20_USBProxy_core3_whonix-gateway-17/test_070_attach_not_installed_front (1/3 times with errors)
    • job 101101 qubesusbproxy.core3ext.QubesUSBException: Device attach failed: 202...
  • system_tests_network_updates

    TC_00_Dom0Upgrade_whonix-gateway-17/test_006_update_flag_clear (1/3 times with errors)
    • job 101123 Error: Failed to download metadata for repo 'test': Cannot download...
    TC_10_QvmTemplate_debian-12-xfce/test_010_template_install (1/3 times with errors)
    • job 101123 AssertionError: qvm-template failed: Downloading 'qubes-template-de...
    TC_10_QvmTemplate_fedora-40-xfce/test_010_template_install (1/3 times with errors)
    • job 101123 AssertionError: qvm-template failed: Downloading 'qubes-template-de...
    TC_10_QvmTemplate_whonix-gateway-17/test_010_template_install (1/3 times with errors)
    • job 101123 AssertionError: qvm-template failed: Downloading 'qubes-template-de...
    TC_11_QvmTemplateMgmtVM_debian-12-xfce/test_010_template_install (1/3 times with errors)
    • job 101123 AssertionError: qvm-template failed: Downloading 'qubes-template-de...
    TC_11_QvmTemplateMgmtVM_fedora-40-xfce/test_010_template_install (1/3 times with errors)
    • job 101123 AssertionError: qvm-template failed: Downloading 'qubes-template-de...
    TC_11_QvmTemplateMgmtVM_whonix-gateway-17/test_010_template_install (1/3 times with errors)
    • job 101123 AssertionError: qvm-template failed: Downloading 'qubes-template-de...
  • system_tests_dispvm

    TC_20_DispVM_fedora-40-xfce/test_100_open_in_dispvm (2/3 times with errors)
    • job 101764 AssertionError: './open-file test.txt' failed with ./open-file test...
    • job 102419 AssertionError: './open-file test.txt' failed with ./open-file test...
  • system_tests_basic_vm_qrexec_gui_zfs

    TC_00_Basic/test_120_start_standalone_with_cdrom_dom0 (1/2 times with errors)
    • job 101113 AssertionError: 1 != 0 : b'Timeout waiting for dom0:loop6 device to...
    TC_20_AudioVM_Pulse_whonix-workstation-17-pool/test_220_audio_play_pulseaudio (1/2 times with errors)
    • job 101113 AssertionError: Command 'timeout 20s paplay --format=float32le --ra...
    TC_20_AudioVM_Pulse_whonix-workstation-17-pool/test_222_audio_rec_unmuted_pulseaudio (1/2 times with errors)
    • job 101113 AssertionError: only silence detected, no useful audio data
    TC_20_AudioVM_Pulse_whonix-workstation-17-pool/test_223_audio_play_hvm (1/2 times with errors)
    • job 101113 AssertionError: Command 'timeout 20s paplay --format=float32le --ra...
    TC_20_AudioVM_Pulse_whonix-workstation-17-pool/test_252_audio_playback_audiovm_switch_hvm (1/2 times with errors)
    • job 101113 AssertionError: Command 'timeout 20s paplay --format=float32le --ra...
  • system_tests_basic_vm_qrexec_gui_ext4

    TC_00_Basic/test_141_libvirt_objects_reconnect (1/3 times with errors)
    • job 101111 AssertionError: libvirt event impl drain timeout
    TC_20_AudioVM_Pulse_whonix-workstation-17-pool/test_220_audio_play_pulseaudio (1/3 times with errors)
    • job 101111 AssertionError: Command 'timeout 20s paplay --format=float32le --ra...
    TC_20_AudioVM_Pulse_whonix-workstation-17-pool/test_222_audio_rec_unmuted_pulseaudio (1/3 times with errors)
    • job 101111 AssertionError: only silence detected, no useful audio data
    TC_20_AudioVM_Pulse_debian-12-xfce-pool/test_223_audio_play_hvm (1/3 times with errors)
    • job 102415 AssertionError: only silence detected, no useful audio data
    TC_20_AudioVM_Pulse_whonix-workstation-17-pool/test_223_audio_play_hvm (1/3 times with errors)
    • job 101111 AssertionError: Command 'timeout 20s paplay --format=float32le --ra...
    TC_20_AudioVM_Pulse_whonix-workstation-17-pool/test_252_audio_playback_audiovm_switch_hvm (1/3 times with errors)
    • job 101111 AssertionError: Command 'timeout 20s paplay --format=float32le --ra...
  • system_tests_basic_vm_qrexec_gui_xfs

    TC_20_AudioVM_Pulse_whonix-workstation-17-pool/test_220_audio_play_pulseaudio (2/3 times with errors)
    • job 101112 AssertionError: Command 'timeout 20s paplay --format=float32le --ra...
    • job 101781 AssertionError: too short audio, expected 10s, got 8.33947845804988...
    TC_20_AudioVM_Pulse_whonix-workstation-17-pool/test_222_audio_rec_unmuted_pulseaudio (2/3 times with errors)
    • job 101112 AssertionError: only silence detected, no useful audio data
    • job 101781 AssertionError: too short audio, expected 10s, got 8.17784580498866...
    TC_20_AudioVM_Pulse_whonix-workstation-17-pool/test_223_audio_play_hvm (2/3 times with errors)
    • job 101112 AssertionError: Command 'timeout 20s paplay --format=float32le --ra...
    • job 101781 AssertionError: too short audio, expected 10s, got 7.71551020408163...
    TC_20_AudioVM_PipeWire_debian-12-xfce-pool/test_226_audio_playback_pipewire (1/3 times with errors)
    • job 102416 AssertionError: too short audio, expected 10s, got 8.31034013605442...
    TC_20_AudioVM_PipeWire_debian-12-xfce-pool/test_228_audio_rec_unmuted_pipewire (1/3 times with errors)
    • job 102416 AssertionError: too short audio, expected 10s, got 8.89784580498866...
    TC_20_AudioVM_PipeWire_fedora-40-xfce-pool/test_228_audio_rec_unmuted_pipewire (1/3 times with errors)
    • job 102416 AssertionError: too short audio, expected 10s, got 9.45630385487528...
    TC_20_AudioVM_PipeWire_debian-12-xfce-pool/test_250_audio_playback_audiovm_pipewire (1/3 times with errors)
    • job 102416 AssertionError: too short audio, expected 10s, got 7.48553287981859...
    TC_20_AudioVM_PipeWire_debian-12-xfce-pool/test_251_audio_playback_audiovm_pipewire_late_start (1/3 times with errors)
    • job 102416 AssertionError: too short audio, expected 10s, got 9.19612244897959...
    TC_20_AudioVM_Pulse_whonix-workstation-17-pool/test_252_audio_playback_audiovm_switch_hvm (2/3 times with errors)
    • job 101112 AssertionError: Command 'timeout 20s paplay --format=float32le --ra...
    • job 102416 AssertionError: too short audio, expected 10s, got 6.77941043083900...
  • system_tests_suspend

    suspend/ (3/5 times with errors)
    suspend/Failed (3/5 times with errors)
    • job 102431 # Test died: no candidate needle with tag(s) 'xscreensaver-prompt' ...
    • job 102443 # Test died: no candidate needle with tag(s) 'xscreensaver-prompt' ...
    • job 103660 # Test died: no candidate needle with tag(s) 'xscreensaver-prompt' ...
    suspend/wait_serial (3/5 times with errors)
    • job 102431 # wait_serial expected: qr/2E8vz-\d+-/...
    • job 102443 # wait_serial expected: qr/2E8vz-\d+-/...
    • job 103660 # wait_serial expected: qr/2E8vz-\d+-/...
  • system_tests_update@hw1

    update2/Failed (1/5 times with errors)
    • job 103358 # Test died: command 'script -c 'qubes-vm-update --max-concurrency=...
  • system_tests_basic_vm_qrexec_gui@hw1

    TC_20_AudioVM_Pulse_whonix-workstation-17/test_220_audio_play_pulseaudio (2/3 times with errors)
    • job 101109 AssertionError: Command 'timeout 20s paplay --format=float32le --ra...
    • job 101758 AssertionError: too short audio, expected 10s, got 8.73532879818594...
    TC_20_AudioVM_Pulse_whonix-workstation-17/test_222_audio_rec_unmuted_pulseaudio (2/3 times with errors)
    • job 101109 AssertionError: only silence detected, no useful audio data
    • job 101758 AssertionError: too short audio, expected 10s, got 9.36446712018140...
    TC_20_AudioVM_Pulse_whonix-workstation-17/test_223_audio_play_hvm (2/3 times with errors)
    • job 101109 AssertionError: Command 'timeout 20s paplay --format=float32le --ra...
    • job 102413 AssertionError: only silence detected, no useful audio data
    TC_20_AudioVM_Pulse_whonix-workstation-17/test_252_audio_playback_audiovm_switch_hvm (1/3 times with errors)
    • job 101109 AssertionError: Command 'timeout 20s paplay --format=float32le --ra...
  • system_tests_suspend@hw1

    suspend/ (3/5 times with errors)
    suspend/Failed (3/5 times with errors)
    • job 102431 # Test died: no candidate needle with tag(s) 'xscreensaver-prompt' ...
    • job 102443 # Test died: no candidate needle with tag(s) 'xscreensaver-prompt' ...
    • job 103660 # Test died: no candidate needle with tag(s) 'xscreensaver-prompt' ...
    suspend/wait_serial (3/5 times with errors)
    • job 102431 # wait_serial expected: qr/2E8vz-\d+-/...
    • job 102443 # wait_serial expected: qr/2E8vz-\d+-/...
    • job 103660 # wait_serial expected: qr/2E8vz-\d+-/...
  • system_tests_basic_vm_qrexec_gui_btrfs

    TC_20_AudioVM_Pulse_whonix-workstation-17-pool/test_220_audio_play_pulseaudio (1/3 times with errors)
    • job 101110 AssertionError: Command 'timeout 20s paplay --format=float32le --ra...
    TC_20_AudioVM_Pulse_whonix-workstation-17-pool/test_222_audio_rec_unmuted_pulseaudio (1/3 times with errors)
    • job 101110 AssertionError: only silence detected, no useful audio data
    TC_20_AudioVM_Pulse_whonix-workstation-17-pool/test_223_audio_play_hvm (1/3 times with errors)
    • job 101110 AssertionError: Command 'timeout 20s paplay --format=float32le --ra...
    TC_20_AudioVM_Pulse_fedora-40-xfce-pool/test_225_audio_rec_unmuted_hvm (1/3 times with errors)
    • job 101782 AssertionError: too short audio, expected 10s, got 6.28875283446712...
    TC_20_AudioVM_Pulse_whonix-workstation-17-pool/test_252_audio_playback_audiovm_switch_hvm (2/3 times with errors)
    • job 101110 AssertionError: Command 'timeout 20s paplay --format=float32le --ra...
    • job 101782 AssertionError: pacat for test-inst-vm1 (xid 90) running(False) in ...

@@ -1,2 +1,5 @@
setenv DISPLAY ":0"
setenv _JAVA_AWT_WM_NONREPARENTING "1"
setenv DISPLAY ":0" _JAVA_AWT_WM_NONREPARENTING "1"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think you can set multiple variables with a single setenv call...

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

$ setenv test "abc" test2 "def"
setenv: Too many arguments.

setenv _JAVA_AWT_WM_NONREPARENTING "1"
setenv DISPLAY ":0" _JAVA_AWT_WM_NONREPARENTING "1"
if ( -f /var/run/qubes-service/software-rendering )
setenv GSK_RENDERER "cairo" GDK_DEBUG "gl-disable vulkan-disable" \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And here too

Hardware acceleration can be enabled by setting the qvm-service
gpu-accel to a truthy value.

Fixes: QubesOS/qubes-issues#9268
For: QubesOS/qubes-core-admin-client#294
@marmarek marmarek merged commit 0bea6c2 into QubesOS:main Jun 25, 2024
1 of 2 checks passed
@ben-grande ben-grande deleted the egl branch June 25, 2024 06:57
marmarek pushed a commit to QubesOS/qubes-core-agent-linux that referenced this pull request Jul 29, 2024
marmarek pushed a commit to QubesOS/qubes-core-admin-client that referenced this pull request Nov 5, 2024
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.

Zenity takes too long to launch (aborts on Fedora Minimal) due to GTK trying EGL
5 participants