TRANSCRIPTIONEnglish

Session Restore Finally Exists On Wayland

19m 26s2,968 mots542 segmentsEnglish

TRANSCRIPTION COMPLÈTE

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

DÉBLOQUER PLUS

Inscrivez-vous gratuitement pour accéder aux fonctionnalités premium

VISUALISEUR INTERACTIF

Regardez la vidéo avec des sous-titres synchronisés, une superposition réglable et un contrôle total de la lecture.

INSCRIVEZ-VOUS GRATUITEMENT POUR DÉBLOQUER

RÉSUMÉ IA

Obtenez un résumé instantané généré par l'IA du contenu de la vidéo, des points clés et des principaux enseignements.

INSCRIVEZ-VOUS GRATUITEMENT POUR DÉBLOQUER

TRADUIRE

Traduisez la transcription dans plus de 100 langues en un seul clic. Téléchargez dans n'importe quel format.

INSCRIVEZ-VOUS GRATUITEMENT POUR DÉBLOQUER

CARTE MENTALE

Visualisez la transcription sous forme de carte mentale interactive. Comprenez la structure en un coup d'œil.

INSCRIVEZ-VOUS GRATUITEMENT POUR DÉBLOQUER

DISCUTER AVEC LA TRANSCRIPTION

Posez des questions sur le contenu de la vidéo. Obtenez des réponses alimentées par l'IA directement à partir de la transcription.

INSCRIVEZ-VOUS GRATUITEMENT POUR DÉBLOQUER

TIREZ LE MEILLEUR PARTI DE VOS TRANSCRIPTIONS

Inscrivez-vous gratuitement et débloquez la visionneuse interactive, les résumés IA, les traductions, les cartes mentales, et plus encore. Aucune carte de crédit requise.

    Session Restore… - Transcription Complète | YouTubeTranscript.dev