New interfaces needed for plasma-desktop-session

@jamesh are you aware of any mechanism in snapd prioritizing auto-connections to ubuntu-desktop-session in case there are multiple connection candidates? From the output shared by @kottens it looks like plasma-desktop-session auto-connected to ubuntu-desktop-session:pulseaudio even though there are multiple connection candidates (pipewire and ubuntu-desktop-session). Am I missing something?

pulseaudio              plasma-desktop-session:pulseaudio                       pipewire:pulseaudio                    manual
pulseaudio              plasma-desktop-session:pulseaudio                       ubuntu-desktop-session:pulseaudio      -

Yes, it looks like most of the remaining issues are due to this. If I build an image not containing ubuntu-desktop-session then the auto-connections are fine. Firefox connects where it should, I don’t have this weird pulseaudio extra connection.

Cool. Thanks for checking @kottens

So summing up:

  • @kottens and @jamesh to check why the sound control applet doesn’t work at all without the pulseaudio plug being connected

  • @jamesh any clue why connections to ubuntu-desktop-session slots (desktop, x11, wayland) are prioritized over other providers (i.e. plasma-desktop-session) if ubuntu-desktop-session is available?

  • @jslarraz to grant auto-connection to pipewire interface

Anything else missing?

I think that sums it up. Thanks.

There is no special priority code here. My guess is that the system started with ubuntu-desktop-session installed and then had plasma-desktop-session added afterwards.

When only one is installed, auto-connection works because there is a single candidate slot. When the second is installed, auto-connection does not occur because there are two candidate slots. Any connections that happened before hand will remain connected though.

We do eventually want to support having multiple desktop sessions installed simultaneously, but that will require some more testing and probably some snapd side changes. The solution will likely involve both snaps having their snap-declarations updated to use slots-per-plug: * (aka “greedy plugs”).

I have granted auto-connection to pipewire interface. Please let me know if anything does not work as expected

1 Like

I managed to test right now on a fresh image, and it autoconnected to pipewire just fine. Thanks!