ABSCHRIFTEnglish

Session Restore Finally Exists On Wayland

19m 26s2,968 Wörter542 segmentsEnglish

VOLLSTÄNDIGE ABSCHRIFT

0:00

Wayland absolutely never ceases to amaze me.

0:03

Finally, finally, after so long,

0:07

the XDG session management protocol has finally been merged into Wayland.

0:13

This was opened by Jonas Adahl and Mike Blumenkrantz back in 2020,

0:17

and then finally merged by Vlad Zahorodnii about a week ago.

0:22

It has taken a while to get here,

0:26

but unlike some of the protocols I've talked about,

0:28

not for the reason you might think.

0:32

Firstly, though, what is the protocol?

0:35

Why did anybody care?

0:37

For a variety of cases,

0:39

it's desirable to have a method for negotiating the restoration

0:41

of previously used states for a client's windows.

0:45

This helps for e.g. a compositor slash client crashing,

0:48

definitely not due to bugs,

0:49

or a background client deciding to temporarily destroy its surfaces

0:52

in order to conserve resources.

0:54

This protocol adds a method for managing such negotiations

0:58

and is loosely based on the Enlightenment session recovery protocol,

1:02

which has been implemented and functional for roughly two years.

1:05

So roughly two years as of 2020.

1:08

All be it confusingly named,

1:14

what does session management mean?

1:17

This is the session restoration protocol.

1:20

So if your compositor crashes,

1:22

you can then reopen the compositor

1:24

and the applications are back like they were.

1:27

Now, in some contexts,

1:29

this is a little bit more complicated than just bring the window back.

1:33

They also have window state.

1:34

That does require functionality on the side of the applications.

1:38

And as we'll see,

1:39

there is a major application involved in supporting this.

1:43

Whilst this is exciting and whilst this is cool,

1:46

it may not be as exciting to see the merger as you might think,

1:50

because this has been around for a while

1:52

and this has been supported for a while.

1:55

So you've actually seen a merger of this support

1:58

into mainline desktops.

2:00

And it's entirely possible you were already using this

2:04

and didn't even realize.

2:06

One thing I want to say is it's technically a lie

2:09

to say this was opened in 2020.

2:12

Technically, it was actually opened back in 2018,

2:16

again, by the same people,

2:18

Jonas Adahl and Mike Blumenkrantz.

2:20

But this was over on the mailing list

2:21

and the mailing list isn't really used at this point.

2:25

And the GitLab is the main place to do things.

2:28

One thing I want to say is it's technically a lie

2:31

to say this was opened in 2020.

2:34

Technically, it was actually opened back in 2018,

2:38

again, by the same people,

2:40

Jonas Adahl and Mike Blumenkrantz.

2:42

But this was over on the mailing list

2:43

and the mailing list isn't really used at this point.

2:47

And the GitLab is the main place to do things.

2:50

So this is really a continuation of that older work.

2:53

This means we're about eight years of discussion

2:56

into this protocol.

2:59

But not eight years of really, really intensive discussion.

3:05

And here we get into why it's kind of taken eight years

3:09

to get here.

3:10

Most protocols I talk about that I think are really interesting

3:13

have some level of major infighting,

3:17

some big arguments happening,

3:19

some big blockers that come up that say,

3:21

hey, I don't want to support this.

3:23

Hey, we shouldn't have this in Wayland.

3:27

That's not what happened here.

3:30

In fact, it's actually the complete opposite.

3:35

For the first year on the GitLab,

3:37

there were some threads opened up regarding like spelling mistakes

3:40

and some minor implementation details.

3:45

Like, hey, how should we phrase this thing?

3:47

How should we phrase that thing?

3:48

But for the most part,

3:50

it's all pretty basic stuff

3:53

where nobody had like a major disagreement.

3:56

Frankly, not many people were even involved

3:59

in working on the project at that point.

4:01

It was pretty much just the two of them.

4:04

For the most part,

4:04

and I know this is rare in Wayland,

4:06

basically smooth sailing.

4:10

Like, no blockers,

4:12

not really much work from people outside of the two of them,

4:16

but nothing crazy going on,

4:19

which for Wayland, especially at this time,

4:23

that's weird.

4:24

Probably because people were distracted

4:26

with other projects and other protocols

4:29

that were a lot more mentally intensive, we'll say.

4:34

As of September 2021,

4:36

someone posted a ping.

4:38

There was a minor question

4:39

which wasn't really relevant to the protocol.

4:41

Then we have Xaver from the KDE project

4:43

who actually had some,

4:45

maybe not questions,

4:46

but some clarifications about the protocol.

4:49

I think this protocol could use a restoration reason flag.

4:52

There are multiple situations

4:54

in which it makes sense to restore some specific properties,

4:57

but not all of them.

4:58

Examples would be

4:59

application was started normally,

5:01

size the window,

5:02

key above state,

5:03

optionally position on the screen.

5:05

Actual session restoration and compositor crashes,

5:07

position, size,

5:08

key above,

5:09

virtual desktop,

5:10

position in the stacking order.

5:12

And system tree activation,

5:13

position, size,

5:14

key above,

5:15

but not VD,

5:16

or position in the stacking order.

5:17

And the consensus here is pretty much that

5:20

this is implementation details,

5:22

this is something that is relevant on KDE,

5:24

but doesn't necessarily need to be defined

5:26

within the protocol itself.

5:28

Granted,

5:28

there was some interest in maybe going down that route

5:31

and exploring that idea.

5:32

And that's sort of the point of these early protocol discussions.

5:35

You have the core idea of what you want to do,

5:38

and then you flesh things out.

5:39

Maybe there's cases you missed.

5:40

Maybe there's additional functionality you want.

5:42

You have to decide,

5:43

what is the scope of the protocol,

5:46

what makes sense to be in the protocol,

5:48

and then in the desktops implementing the protocol.

5:52

This happened in October of 2021,

5:55

and then, well,

5:57

nothing happened for another two months.

5:59

From Simon Sir of the WL Roots Project,

6:01

any chances MR can be revived?

6:04

From Jonas,

6:05

I'll try to allocate some time,

6:07

again,

6:07

an entire month later,

6:09

to address the raised issues.

6:11

Should be a bit more up-to-date now,

6:13

but needs more work,

6:14

I think,

6:15

August of 2022.

6:18

So,

6:18

there's like,

6:21

a seven,

6:22

eight month gap

6:23

between,

6:25

hey,

6:26

you know,

6:27

what's going on here?

6:29

And then,

6:30

something actually happening.

6:32

And from then on,

6:33

we finally start to see some sort of

6:35

interest in working on the project.

6:37

We have David Edmondson from KDE.

6:40

We have Sebastian Wick from GNOME.

6:43

And in the replies here,

6:44

you're also going to see a bunch of other people

6:46

from various other projects as well.

6:49

Finally,

6:50

it seems like people actually realized

6:53

that this protocol exists,

6:55

or,

6:56

if not the protocol exists,

6:58

that maybe they just weren't

7:00

fully busy with the other things

7:02

they were working on.

7:03

So,

7:04

about two and a half years

7:05

into the protocol,

7:07

existing,

7:08

in the repo,

7:09

open,

7:10

being kinda discussed,

7:13

then people finally jump in.

7:16

Truly,

7:16

Wayland broken down

7:18

to its absolute core.

7:20

But again,

7:21

still no major disagreements

7:23

on the protocol.

7:25

More like just,

7:26

general concerns,

7:27

and technical implementation details.

7:30

How should things be done?

7:32

Should it be this way?

7:33

Should it be that way?

7:35

We need to like,

7:35

iron these things out

7:36

so everybody has an implementation

MEHR FREISCHALTEN

Melden Sie sich kostenlos an, um Premium-Funktionen zu nutzen

INTERAKTIVER VIEWER

Sehen Sie sich das Video mit synchronisierten Untertiteln, anpassbarer Überlagerung und voller Wiedergabesteuerung an.

KOSTENLOS ANMELDEN ZUM FREISCHALTEN

KI-ZUSAMMENFASSUNG

Erhalten Sie eine sofortige KI-generierte Zusammenfassung des Videoinhalts, der wichtigsten Punkte und Erkenntnisse.

KOSTENLOS ANMELDEN ZUM FREISCHALTEN

ÜBERSETZEN

Übersetzen Sie das Transkript mit einem Klick in über 100 Sprachen. Download in jedem Format.

KOSTENLOS ANMELDEN ZUM FREISCHALTEN

MIND MAP

Visualisieren Sie das Transkript als interaktive Mind Map. Verstehen Sie die Struktur auf einen Blick.

KOSTENLOS ANMELDEN ZUM FREISCHALTEN

CHAT MIT TRANSKRIPT

Stellen Sie Fragen zum Videoinhalt. Erhalten Sie Antworten von der KI direkt aus dem Transkript.

KOSTENLOS ANMELDEN ZUM FREISCHALTEN

HOLEN SIE MEHR AUS IHREN TRANSKRIPTEN HERAUS

Melden Sie sich kostenlos an und schalten Sie interaktiven Viewer, KI-Zusammenfassungen, Übersetzungen, Mind Maps und mehr frei. Keine Kreditkarte erforderlich.

    Session Resto… - Vollständiges Transkript | YouTubeTranscript.dev