swaywm / swaylock

Screen locker for Wayland
MIT License
832 stars 197 forks source link

Swaylock prevents gnome calls from playing ringtone #337

Closed UltraBlackLinux closed 9 months ago

UltraBlackLinux commented 9 months ago

Hey there, I'm having a bit of an issue with swaylock: I depend on gnome calls to make and receive calls, but whenever I get a call with a swaylock locked screen and gnome calls tries to play the ringing sound, it just doesn't play anything at all.

I'm 99% certain it's swaylock because I have tried all the other variations:

  1. I tried playing an audio file via aplay while the screen was locked => worked
  2. I tried running fbcli (the tool apparently used to play the ringtone, which it also does when executed without arguments) while the screen was locked with swaylock => worked
  3. I tried calling the phone while the screen was locked with waylock => worked
  4. I tried calling the phone while the screen was locked with swaylock => no ringtone

Just for the record, I just updated my system to the newest stable package versions that the archlinux arm mirrors and the aur are able to provide

Are you able to fix that? I have no idea what I could do. Thanks!

kennylevinsen commented 9 months ago

The only thing swaylock does is display an ext_session_lock surface. Only sway knows that the "session" was locked, and the only side-effect is that other windows are never shown.

Things like audio-playback is unaffected, so it might be a "gnome calls" bug (not playing ringtone if ringer screen is not visible and receiving frame callbacks?). You might also be able to reproduce using a backgrounded workspace.

UltraBlackLinux commented 9 months ago

The only thing swaylock does is display an ext_session_lock surface. Only sway knows that the "session" was locked, and the only side-effect is that other windows are never shown.

waylock does the same thing - how come it works with that then?

kennylevinsen commented 9 months ago

Assuming you are using latest release of swaylock (not a fork), then indeed waylock and swaylock does the same. Neither can or will impede use of audio.

I'd recommend starting debugging from the side of the app and pipewire/pulseaudio, as Wayland is not involved in audio. SSH'ing in and trying to play audio from there for example, and checking whatever debug the app has.

UltraBlackLinux commented 9 months ago

I will try to debug gnome calls, that's a good idea, but that still doesn't explain why swaylock manages to break gnome calls while waylock doesn't...

As I said in my issue, I have already tried the audio test that you suggested