ShayBox / Mon2Cam

Workaround for multi-monitor Discord screensharing
MIT License
337 stars 33 forks source link

Not Working On Gnome #54

Closed AkiraTenchi closed 2 years ago

AkiraTenchi commented 3 years ago

Is there a way to fix this not working on Gnome given that wlr-screencopy-unstable-v1 is not supported on Gnome but used in the program.

ShayBox commented 3 years ago

If you're using gnome Wayland, mon2cam only supports wlrecord, I wouldn't suggest Wayland though, no advantages to it yet, just future promise of more.

botiapa commented 3 years ago

I wouldn't advise against it either. I've been using it in the past 5 months, and there aren't many things that don't work, however it already fixes a lot of problems that X11 has.

ShayBox commented 3 years ago

What does it fix? Last I checked it didn't improve anything for me, not even freesync works

botiapa commented 3 years ago

The overall experience was much better for me. For example: I experienced no stutters, or graphical glitches at all, the performance is also much better, because the compositor is implemented in the window manager itself. I think the biggest drawback, is not having nvidia support. And this is a huge one.

Tsubajashi commented 3 years ago

I actually had more success in using multiple monitors with different refresh rates fluently. On x11, animations would act 60fps-ish, instead of 144hz when my second monitor was connected.

ShayBox commented 3 years ago

To get gnome support I would need to know something like wf-recorder that works on gnome, or wlrecord would have to add support

botiapa commented 3 years ago

After searching around a bit, I concluded the following: Gnome has a built in recorder tool, that supposedly works on wayland as well. An application can communicate with it using the DBUS. By looking at the code, I'm pretty sure it uses gstreamer as a backend, and you can pass it flags through the dbus as well. Therefore to build gnome support, we'd have to build a gstreamer pipeline and pass it through the dbus to gnome.

Here's some code that might help: It's from peek, an open source wayland recorder tool

I don't know much about gstreamer, but @ShayBox would you mind looking at some code, and deciding that this is something we can/want to do, or not?

ShayBox commented 3 years ago

As far as I can tell there's no dbus library for deno currently, so to use dbus we'd have to write one ourselves or use a separate language like rust as an api for dbus, probably not going to happen unless a dbus library comes out, gnome adds a cli tool to interact with the recorder, or someone else makes one.