Screen sharing support for KDE's virtual desktop

Currently, when triggering screen sharing, the choice is between sharing a window and Entire Screen (a single display in multi-monitor setup).

However, I observed that my peers who are working on Macs are able to screen share one of their virtual desktop. That is, they have one physical screen with multiple virtual desktop, where the “screen” being shared is just one of the virtual desktops. This is great, as we might need to show more than one window in online meetings (a virtual desktop), while not everything that can be seen in our physical screen (especially when working with only one physical display).

Knowing that virtual desktop exist in KDE, I of course tried it, both under x11 and wayland (KDE 5.111.0 / Plasma 5.27.8, openSUSE Tumbleweed 20231023). The “New Virtual Output” in KDE Portal on wayland only create a new virtual output that seems to pipe directly into the browser screen share, where I cannot see the screen at all. This is of course, not usable. (I actually wonder what exactly is the use case for this virtual output).

So my feature suggestion would be to allow each virtual desktop as a sharable device in Portal screen picker. Of course the naming of the screen should be clear to distinguish sharing an actual screen (ie “Laptop Screen”) versus a virtual desktop (“Virtual Desktop 2 on Laptop Screen”).

2 Likes

I’ve been doing lots of screen sharing this week and have asked myself the same thing. I was running sessions on a Miro board in the browser, shared to a virtual whiteboard with a MS Display Adapter via Gnome Network Displays the whole week, and I had a few awkward moments when I quickly needed to switch to another window to look something up and everybody in the room saw it.

The obvious solution would have been to put the browser on a separate virtual output. But it’s hard to do interactive work on because network screen sharing is laggy.

It would have been so much more convenient if I could have had the browser on a virtual desktop and share only that desktop.

I’ve created a KDE bugzilla report that might help continue this discusison.

1 Like

So you do NOT use KDE, you use Gnome… ok…?

  1. Run a screensharing program (Google Meet on Microsoft Edge Browser in my case)

It’s great with bugreports and all, but are you SURE this is a kde thing?
Have you tried something like a simple VNC server and know that does not work?

Edit
I just realized how necro this thread is.

(IIRC) I’ve used Gnome Network Displays myself to cast to a TV. Gnome Network Display is usable in KDE.

CMIIW, in KDE virtual desktops is managed by the window manager (Kwin). The setting is in KDE’s System Setting. So pretty sure this is a KDE thing.

Krfb / VNC server is used to be able to access GUI from a remote machine. Screen sharing via browser is an entirely different feature (think online meeting screen sharing using Google Meet, Zoom, MS Teams).

Which is why I created the bug report :slight_smile:

This feature request began as I watch my colleagues using Mac sharing their virtual desktop. So multiple window on that virtual desktop can be shared, not the actual physical screen.

If virtual desktop is sharable, I can have my email / chat apps I don’t want shared in my meeting on another virtual desktop, while on the shared virtual desktop I can share just what needed to be shared (frequent switching between Figma and VSCode for example). Pretty sure we don’t always have access to multiple (physical) monitors at all times.
I know KDE Activities can do this, but switching between activities isn’t that straightforward as a left/right swipe.

Ah, it’s casting you are after.

Not as “virtual desktops” no, but if it that hinders your workflow you can easily switch between activities with one button combination.

Thanks for the reminder on the shortcut.

I just tried screen sharing with KDE Activities, the programs I put on other the other Activity is still shared when I share the screen and switch activity.
So KDE activity helps in grouping programs together, but doesn’t help much with regards to (selective) screen sharing.
I believe sharing a Virtual Desktop is logically the way to go (not Activities).

I believe it is the exact opposite, virtual desktops I think is an extension from one desktop, ie shared applications.
With a different activity, applications are separated.

Isn’t the second exactly what you want to achieve?

Never the less, I have no solution to your question, I just thought using activities would be neat if it worked for you.

I agree that activities are great for grouping applications. I would say virtual desktop is similar to the activities in that we can group applications, either into an activity or a virtual desktop.
With activity, we organize conceptually as activities can be named (even further customization is possible).
With virtual desktop, we organize spatially (desktops are arranged in rows/grid).

When in online meeting with only 1 screen (on the go with only laptop), I think of using virtual desktop when screen sharing.
Left virtual desktop: what is shared.
Right virtual desktop: what is private.
If I am using 2 physical monitors, this is never a concern as I can just share the left physical desktop and put private apps on the right physical desktop.

Sharing virtual screen is for case of Miracast, network displays.

Can you enlighten me on how to actually use this virtual output, with regards to screen sharing?
I tried Gnome Network Display before, however there is no way to configure it via KDE System Settings (as is not part of KDE). I believed this feature is also not available yet.
Also, I don’t think that having a virtual output created through Screensharing feature is “right”. It should be created through (KDE) System Settings, where it is available afterwards to share via Screenshare Portal.

Also, network display virtual output does not help on the scenario I’m discussing, where there is only one physical screen available.

I use wayland and KDE asks what to share. I can select create new output. Miracast allows attach new screen remotely.