4 ms·
Spoiler alert: the author of the article is using Wayland. Lots of things aren't working on Wayland yet. (I'm also being pretty handwavy here about Wayland. Way
by alxlaz 7y ago
Spoiler alert: the author of the article is using Wayland. Lots of things aren't working on Wayland yet. (I'm also being pretty handwavy here about Wayland. Wayland "the protocol" isn't a piece of software you use -- lots of problems are not specific to Wayland, but to a particular compositor).
Screen sharing works OK on Linux under X11. I can't remember the last time that was a problem. I was definitely doing it on a daily basis back when KDE was somewhere at a 3.x release, so before 2008. At least single-monitor setups work fine, I can't say I've tried it on multi-monitor setups in a very long time. When I did (that was so long ago my two monitors were bulky CRTs) it was OK but who knows, maybe it got broken in the meantime.
I mean yes, once in a blue moon I run into a system that has a weird glitch, but that's just as true with Windows and TeamViewer. Every once in a while you run into a machine that just won't budge and you need to ask Google. That's true on any OS.
(Before you tell me how you've had no problem with Wayland on your Thinkpad running Fedora 87 or Arch, yes, I get that. Making it work on everyone's laptop, and getting it to do what everyone needs, is a real hurdle in software development, and Wayland isn't even halfway there when it comes to this particular hurdle).
- Aardwolf 7y agoAren't working yet in Wayland, or never? Afaik they don't want programs to see each others pixels or input for security reasons (but thereby also breaking your own control over programs) so the following useful things will never be possible by design except with specific solutions on case by case basis (so: brittle) Screenshots, video capturing, automating mouse and keyboard input (autoclicking), screen sharing, ssh with graphics, clipboard in scripts, ... Or are those things planned anyway?
- tjoff 7y agoSway 1.4 (wayland window manager), just released, has this in the changelog: Support for VNC via wayvnc. https://github.com/swaywm/sway/releases https://github.com/swaywm/sway/releases Wayland/wl-roots compatible screen-recorder: https://github.com/ammen99/wf-recorder https://github.com/ammen99/wf-recorder
- alxlaz 7y agoThere's nothing inherently preventing any of these things from working on Wayland. I mean yes, the protocol (and its implementations) are meant to disallow programs from seeing each others pixels and input events by default and/or without authorization, which isn't a stupid idea at all. But you can certainly implement screenshots, video capturing, automatic input, screen sharing and whatever in Wayland compositors. I think Sway implements most of these things, in fact. (FWIW, X11's approach to program isolation isn't ideal for everything, either. The same things that make it so convenient to automate mouse and keyboard input make it very hard to write a good screen locker, for example.) Whether or not we'll see free (as in freedom and beer) compositors that conveniently implement all these things is a whole different story. A lot of XFree86's (and later Xorg's) feature set was developed by well-paid teams of experienced engineers, who benefited from a lot of work done by other well-paid teams on other platforms, and the architecture and licensing of the whole thing meant that everyone could benefit from their work. That's not really the case with Wayland. There's actually a lot of work, and a lot of money being poured into Wayland compositors. Lots of car infotainment systems run one, for example, and Wayland support has been pretty much a standard requirement for virtually every BSP I've worked on in the last four years. But most of that work is very system-specific, platform-specific, and its substantial part -- the code -- never gets upstreamed, because "upstream" is just a protocol spec. A lot of the Wayland protocol has been standardized that way, but it's still up to every compositor to implement it. There's some hope due to projects like wlroots and Drew de Vault, its lead developer, is one of those people who seem like they can pull anything off. (Oh yeah: https://drewdevault.com/donate/ https://drewdevault.com/donate/ ). But -- unlike twenty years ago -- there's very little commercial backing for Linux on the desktop. I don't know if the FOSS community will be able to keep up with these things.
- sprash 7y ago> There's nothing inherently preventing any of these things from working on Wayland. In theory that is correct. In practice, the Wayland protocol fails to address the required access control policy interfaces necessary for a modern Desktop to work. A Desktop is not a phone interface or a car entertainment system. Resource sharing that enables basic things like push-to-talk, remote work or full screen streaming are absolutely essential for a Desktop computing environment. Wayland developers push such functionality down as a particular "implementation detail" of a Wayland compositor, which is a huge mistake. Donating to braindead projects like wlroots will not solve the problem at all. Access control policy needs to be made part of the core protocol ASAP or Wayland will have no chance to succeed in any meaningful way in the future.
- emilfihlman 7y agoBig conspiracy time: Wayland is just Google pushing for everything to go into browser.
- diffeomorphism 7y agoAlready planned and/or working. See waypipe, screen sharing in gnome etc. . What is true is that you don't want any random app to also log everything for security reasons. Instead it will have to ask for permission first.
- lima 7y agoSharing a single window does not work on X11 either via Chrome screen capture, though. We have resorted to custom tooling that uses VNC via the company VPN, which works decently with better quality.
- Izkata 7y agoGoogle Hangouts on Firefox used to be able to share a single window on X11 (Ubuntu). It broke or was removed at some point, and we've moved over to Zoom at work since then (so I don't know the current state).
- Spivak 7y agoThis one isn’t because of any inherent problem with Xorg but because Chrome doesn’t have the feature to select a specific client and instead is just capturing the root window always. Nothing is really preventing Chrome or any other app from doing this. A workaround would be to launch a second Xorg instance and point Chrome and the app you want to share at that server.