Wayland's First Protocol Without Pointless Drama

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
I have spoken countless times on the nightmarish whan protocol discussions some of them have been stalled for years with no end in sight sometimes a solution is put in place by every single desktop except one and then they say hm let's do something different even though we all agreed to do this 5 years ago and sometimes the most pedantic bik shedding discussions you will ever see I do not think there is a project in the open source space that has some worse discussions than what I've seen coming out of the whum project there is a lot of really good contenders but my personal favorite discussion right now is add xdg top level icon to allow Windows to set dedicated icons this is being able to set an icon this is a real project now this has only been going for 4 months so you know there's still another 7 years to get this resolved but every single time it's about to be ready to be merged someone comes in and says hm what about this case hm what about this thing we've already rehashed 12 times already have you considered rehashing it again and then things are changed and then the cycle just repeats itself a couple of weeks later WS that might be my favorite it's by no means a rest site I can think of at least five other protocols off the top of my head that all meet very similar criteria what is a rare site is the exact opposite where a protocol merger is opened and then not 5 years later not a year later not even 6 months later a conversation happens and the protocol merger is done just completed a protocol where a merge got opened and then just over a month later it got merged and the only reason it took a whole month is because a month is the minimum amount of time fore whan protocol discussion whilst that might be a little bit annoying is nothing compared to the way it normally works and the reason why it's a month is it gives people time to actually find out the protocol exists if it was done basically straight away you might have a protocol get merge where people had concerns but they just didn't know it existed yet to actually have those concerns it just gives people time to find the protocol properly reason out what they're trying to say and actually have a useful discussion and I know after all the wh and protocols I've discussed on this channel that might seem impossible it might seem completely impossible that a protocol discussion could go smoothly but it did happen at least once this is staging ad Alpha modifier protocol made by Xavier hugle it was open for merger on March 5th and got merged 2 weeks ago this actually got merged in a reasonable length of time now in this context zav ug's operating as part of the KDE project and he shown up in countless other wh and protocol discussions but one that you might recognize him for is the tearing updates protocol from three whole years ago this was the protocal to support screen tearing on whand this is another one that took way too long to be merged anyway back to the protocol that didn't take multiple years and way too many comments this protocol allows clients to set an alpha multiplayer for the whole surface as in the whole window which allows it to offload Alpha changes for the whole surface to the compositor which in turn can offload them to KMS that being konel mode setting not the other KMS and kernel mode setting is basically for configuring the display in kernel space now being a fairly simple protocol in its current state it also has a fairly simple use case the main use case is gamescope running nested in kwin and offloading some blending animations to kwin that way I intend to later hook it up for nested kwin too does nested kwin need to be semi-transparent no I'd add overly planes to the whan back end which is pretty easy to do with whan surfaces and those can be semi-transparent as part of kwin scene this is one of those little backend efficiency changes which really doesn't need to be done you can live without this and everything has worked just fine without it but if you can get it merged things are going to be a little bit better and unlike another fairly minor thing it doesn't have 401 comments actually to be fair they're not really comments because gitlab counts the changes to the merge request as a comment it's more like 401 events as opposed to 82 also only a month do you know the very first step in identifying how this is a completely non-controversial protocol the very first comment on here isn't about the functionality isn't about the protocol nothing at all important it's about the name should we pick a name a bit more generic than Alpha multiplayer in case we need to add more related features to this protocol in the future I'd prefer to keep this single purpose to be honest another example of something this protocol might want to do in the future would be to drop the alpha Channel or override it with a fixed value okay renamed it to Alpha modifier that's the end of that discussion there's not like 50 other comments in here arguing what the name should be that's it that's all of it following that there is one argument about the protocol brought up by Sebastian Wick of gnome this is really tricky because the alpha here cannot be premultiplied Alpha but interacts with it in its current form the behavior here is not specified at all and making sure it is semantically Meaningful might get really tricky which had no replies no one argued with it they just ignored the comment then Z went and made the merge quest for the kwin implementation and surprisingly this actually had a bit more argumentation than the main whan one I say argument but it's more like a very Min disagreement basically over whether this should affect individual windows or every window at the same time and how different toolkits are going to expect this functionality to actually work along with what should happen on window closure we definitely do not want the surface to become opaque when the window is closed the alpha modifier is double buffered but still it's weird to require the surface to be valid when the destructor request is called it limits potential ways how the client can perform cleanup and apparently this is how Simon sir of the W Roots project requested the protocol Z says it was the intention of the protocal to limit the ways that cleanup can be done so the client is required to destroy this before the surface is destroyed the same restriction exists in the xdg top level decoration this is for server side decorations and it's terrible there's no good reason justifying this Behavior it just makes tear down more complicated can we not do this in this protocol but the discussion of how this is done is a little bit bigger than just the KDE project and I'll get back to this in just a moment going back to the main merge next we saw the implementation from W roots and as is generally the case in Roots uh there's not really any discussion here if Simon says it's going to happen generally it's going to happen following this and implementation in gamescope this one done by Joshua Ashton of valve again they're going to have internal discussions about how this is going to be done this is just a g tree there's nothing directly being done for game scope in here then the next step is getting the axe getting the acknowledgement basically the different desktop project saying we think this is a good idea let's go ahead and do so now Joshua in this case doesn't actually count so the First Act is from Simon then there is an act from Vlad who was from the KD project and now we're at two we need three of them next up people contacted from the Western project Cosmic and also gnome as we've seen there hasn't really been any discussion from gome here so we can basically cross them off the list very shortly after we got the act from cosmic at this point they have the three acts they have the three implementations so pretty much they have the go-ahead and can go and implement it but they do need to wait for the 30-day discussion period at which point PQ otherwise known as pekka from the Western project also replied with some concerns this could have massively slowed things down but surprisingly it didn't and thankfully it wasn't some weird concern that nobody had really thought of yet it was basically the exact same concern that Vlad had over in the KD side regarding the destroy order as I said though this is a lot bigger than just this one protocol every time asked over the years I have been trying to tell people not to assume any specific order of w resource destruction when a w client is suddenly destroyed like in the case of a disconnect lib whan server might have some order or maybe it indeed depends on object ID assignments but another implementation could have a different order so even if the protocol spec mandates a specific destroy order the compositor must internally be able to handle any order but because this was a whale and wide problem and not just relevant to this one specific protocol a separate merge was opened staging SL Alpha modifier relaxed rules around surface destruction along with a separate issue discussing how object destruction should be done thankfully because this affects so many other protocols this is not blocking on this one specific issue so Pekka said looks good to me and act on behalf of Weston even though they didn't need a fourth they now had it thankfully even though it could have very easily happened like it's happened in so many other cases this didn't block the protocol for 5 years into the future about a complete nothing burger and then the craziest things happened Simon sir removed in 30-day discussion period Simon sir removed needs review Simon sir removed needs axe merging since all the requirements for inclusion have been met and there were no recent comments thank you Simon sir merged two weeks ago and that's it that's the end of the thread there's no like oh let's uh let's reject the merger oh let's say how we don't actually need to do this or let's say maybe we should do it in this complete different way that nobody up until this point has suggested no it just got merged work actually got completed in the whan project in a reasonable length of time now this hasn't been released in a new version of the wh and protocols yet so the downstream projects like w root like KDE haven't merged the protocol yet these are still open discussions and maybe things are going to change with the desktop projects but at least in the place where things always fall apart at least there it actually got dealt with quickly I know I often talk about how there is hilarious bike shedding the whm project because that's just what generally is happening and I also talk about how it may have been different if when all of this started there actually was a whale in bdfl but when I see protocal discussions like this it does give me hope it gives me hope that people in this project even though they have these completely different desktop goals sometimes can actually work together and get something done in what seems like a reasonable length of time but what do you think do you think this was actually a good protocol discussion do you wish that everything else went like this I would love to know so if you like the video go like the video and if you really like the video and you want to become one of these amazing people over here check out the patreon scribes Le baray Linked In the description down below that's going to be it for me and we are never going to see this again your best you get if itol I don't don't invol money I don't [Music] [Music]
Info
Channel: Brodie Robertson
Views: 22,031
Rating: undefined out of 5
Keywords: brodie robertson, linux desktop, brodie robertson arch linux, brodie robertson linux, wayland, brodie robertson wayland, wayland linux, wayland desktop, foss, open source, wayland protocol, the linux experiment, distrotube, chris titus tech, linux tutorial, wayland vs x11, x11 vs wayland, wayland vs xorg, xorg vs wayland, linux news, tech news, hyprland, hyprland linux, sway, sway linux, sway vs hyprland, wlroots, gnome, kde, kde linux, gnome linux
Id: 1kwrP54L5mM
Channel Id: undefined
Length: 13min 53sec (833 seconds)
Published: Sun Apr 28 2024
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.