|
|
Subscribe / Log in / New account

Wayland the "successor" LCA: The X-men speak

Wayland the "successor" LCA: The X-men speak

Posted Feb 14, 2013 17:06 UTC (Thu) by Serge (guest, #84957)
In reply to: Wayland the "successor" LCA: The X-men speak by daniels
Parent article: LCA: The X-men speak

> Multiple monitors are actually supported by the protocol.

They're not really supported, just partially exposed. To configure them they must be supported by compositor. Userspace tools can no longer switch/move/rotate monitors. For X.Org you can use xrandr tool anywhere. For Wayland you'll have to use compositor-specific tool, if it exists. And you can't write a presentation tool that will automatically rotate monitor to portrait orientation and back, unless you make it part of the compositor.

> The other bits you've called out have no effect on clients, so they aren't supported in the client-server protocol.

"Client" definition in Wayland is different from X.Org. For X.Org all visible apps on the screen are X.Org clients. And most of them could never be Wayland clients. Under Wayland same apps have to be integrated with compositor.

> Weston is totally pluggable

As long as there's no stable Weston API for dynamically loadable plugins, "weston plugin" won't be much different from "weston patch".


to post comments

Wayland the "successor" LCA: The X-men speak

Posted Feb 14, 2013 17:16 UTC (Thu) by Cyberax (✭ supporter ✭, #52523) [Link]

>They're not really supported, just partially exposed. To configure them they must be supported by compositor. Userspace tools can no longer switch/move/rotate monitors. For X.Org you can use xrandr tool anywhere.
Except with binary NVidia drivers.

Wayland the "successor" LCA: The X-men speak

Posted Feb 14, 2013 17:16 UTC (Thu) by daniels (subscriber, #16193) [Link] (3 responses)

> They're not really supported, just partially exposed. To configure them they must be supported by compositor.

An X server has to support multiple monitors for X clients to be able to use them, too. Which wasn't the case for a very long time. Also, bear in mind that XRandR 1.2 is very recent - I think it landed in about 2007 or 2008? (And that massive massive chunks of how X works today, including multiple workspaces, etc, are not in any way part of the protocol, and require the compositor to participate in a number of _extremely_ complex protocols. But never mind that.)

> And you can't write a presentation tool that will automatically rotate monitor to portrait orientation and back, unless you make it part of the compositor.

We'd rather have the client tell the compositor about the orientation change, and let the compositor handle it in the most optimal way: either have the display rotated (which is only possible in a vanishingly small amount of hardware, and I do mean vanishing in the most literal way) by the hardware, or have the compositor do the rotation when it does the final blit. X usually emulates this with one extra blit from a shadow buffer, because it has no way to tell the compositor to do it. This has a very real power and performance cost.

Oh, and when your presentation tool crashes, one of your monitors isn't inexplicably left rotated. Also when anything else pops up on that monitor, it isn't inexplicably rotated because the monitor itself isn't actually rotated.

Ditto resolution changes: instead of having games change your resolution and then forget to change it back, with all your desktop icons moving around too, we have the games flag their window as fullscreen, and the compositor works out what to do - be it changing the mode or doing the scaling, or just centring the window if the client asks.

Again, instead of providing direct literal functionality equivalents, we've taken a step back, looked at the problem these interfaces were trying to solve, and tried to come up with a better way.

> "Client" definition in Wayland is different from X.Org. For X.Org all visible apps on the screen are X.Org clients. And most of them could never be Wayland clients. Under Wayland same apps have to be integrated with compositor.

Technically speaking, they (desktop, panels, screensavers) are actually Wayland clients; they're just using special private interfaces the compositor doesn't expose to arbitrary clients. They're not running in-process with the compositor.

> As long as there's no stable Weston API for dynamically loadable plugins, "weston plugin" won't be much different from "weston patch".

You might have more of a point if this actually changed frequently. The X server changes its driver API far more often than Weston does its shell API, and yet no-one complains (except driver authors).

Wayland the "successor" LCA: The X-men speak

Posted Feb 15, 2013 17:57 UTC (Fri) by mgedmin (subscriber, #34497) [Link] (1 responses)

> Again, instead of providing direct literal functionality equivalents, we've taken a step back, looked at the problem these interfaces were trying to solve, and tried to come up with a better way.

And this is why I can't wait too have Wayland on my laptop!

Wayland the "successor" LCA: The X-men speak

Posted Feb 15, 2013 18:37 UTC (Fri) by Serge (guest, #84957) [Link]

> And this is why I can't wait too have Wayland on my laptop!

You're free to try: http://sourceforge.net/projects/rebeccablackos/

Wayland the "successor" LCA: The X-men speak

Posted Feb 21, 2013 9:47 UTC (Thu) by mmarq (guest, #2332) [Link]

" An X server has to support multiple monitors for X clients to be able to use them, too. Which wasn't the case for a very long time. Also, bear in mind that XRandR 1.2 is very recent - I think it landed in about 2007 or 2008? (And that massive massive chunks of how X works today, including multiple workspaces, etc, are not in any way part of the protocol, and require the compositor to participate in a number of _extremely_ complex protocols. But never mind that.) "

lol... by the tick pace that the IT clock usually goes, that is as old as my grandpa.

_extremely_complex ? ... can't think exactly why... matter of fact to work really well with modern GPU hardware, not crap or obsolete stuff posing as modern... the ideas that goes my mind is exactly making it _nec_plus_ultra_multi-threading_complex...

There are reasons why some have success while others don't... why some can while others don't... perhaps what the Linux graphics/display is in need, is of code "Ninjas"... first and before of thinking of any new mechanism...

Wayland the "successor" LCA: The X-men speak

Posted Feb 14, 2013 17:47 UTC (Thu) by raven667 (subscriber, #5198) [Link]

> To configure them they must be supported by compositor. Userspace tools can no longer switch/move/rotate monitors.

Isn't the compositor a userspace tool? Can't it expose an interface for a command line tool if desired, maybe even have that interface standardized (such as via D-BUS). Doesn't the window manager/compositor have to participate at a fairly low level for R-and-R events anyway? I don't see this as something that's going to be a big change. The window manager/compositor already does mediate pretty much everything, with the existing X system being a giant wart on the side to be worked around.


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds