1
00:00:00,000 --> 00:00:10,360
In this video, you will learn about the Linux Graphical Stack.

2
00:00:10,360 --> 00:00:13,980
So the Graphical Stack is all the components that make that you can work in a graphical

3
00:00:13,980 --> 00:00:15,600
environment.

4
00:00:15,600 --> 00:00:20,719
And on current Linux distributions, Wayland is used as a display protocol.

5
00:00:20,719 --> 00:00:24,799
It's the heart of the Graphical Stack and it defines a set of rules on how applications

6
00:00:24,799 --> 00:00:25,799
communicate.

7
00:00:26,240 --> 00:00:30,959
On top of that, the Wayland Compositor implements the Wayland protocol.

8
00:00:30,959 --> 00:00:35,480
It communicates with the graphical hardware and it receives application windows and draws

9
00:00:35,480 --> 00:00:37,400
them on the screen.

10
00:00:37,400 --> 00:00:40,840
Mutter is the part that is the default compositor in GNOME.

11
00:00:40,840 --> 00:00:45,799
And KWin is the default in the KDE desktop environment.

12
00:00:45,799 --> 00:00:52,099
The desktop environment runs on top of Wayland to provide the user graphical interface.

13
00:00:52,099 --> 00:00:56,220
And the two common desktop environments are GNOME and KDE.

14
00:00:56,220 --> 00:01:00,939
And they include all graphical components and even some graphical applications.

15
00:01:00,939 --> 00:01:04,379
Then there is a thing called the Graphical Display Server.

16
00:01:04,379 --> 00:01:09,059
To show graphical application output, a display server is needed.

17
00:01:09,059 --> 00:01:12,099
And X11 is the old monolithic display server.

18
00:01:12,099 --> 00:01:19,019
It was introduced in 1984 and has been used until the early 2020s.

19
00:01:19,019 --> 00:01:20,019
Wayland is a new standard.

20
00:01:20,019 --> 00:01:26,580
It's a protocol that defines how applications talk to the compositor and it replaces X11.

21
00:01:26,580 --> 00:01:32,360
In Wayland, the compositor is used as the additional component that arranges that applications

22
00:01:32,360 --> 00:01:34,739
can draw screens.

23
00:01:34,739 --> 00:01:39,699
And the compositor as such is the display server, which in X11 was implemented by a

24
00:01:39,699 --> 00:01:42,019
window manager.

25
00:01:42,019 --> 00:01:47,139
Common compositors in Wayland are Mutter and KWin, as already discussed.

26
00:01:47,260 --> 00:01:52,419
Wayland has no native network access and that changes things quite a bit, because on X11

27
00:01:52,419 --> 00:01:57,779
you could have a remote X client drawing screens on a local X server.

28
00:01:57,779 --> 00:01:59,480
That's not the case in Wayland.

29
00:01:59,480 --> 00:02:05,139
So no remote graphical client that draws screens on a local Wayland server, which is something

30
00:02:05,139 --> 00:02:08,460
which from a security perspective is not bad at all.

31
00:02:08,460 --> 00:02:11,679
Now Wayland is offering a couple of advantages.

32
00:02:11,679 --> 00:02:17,059
In many graphical applications, the X server has become the bottleneck in performance.

33
00:02:17,979 --> 00:02:19,820
And Wayland is using a much simpler architecture.

34
00:02:19,820 --> 00:02:23,339
And for that reason, it's also much faster.

35
00:02:23,339 --> 00:02:26,779
Wayland is more secure and runs applications in more isolation.

36
00:02:26,779 --> 00:02:29,940
But native Wayland applications need to be used.

37
00:02:29,940 --> 00:02:34,839
And that means that your classical X applications don't work anymore, unless you do something

38
00:02:34,839 --> 00:02:36,820
about the compatibility.

39
00:02:36,820 --> 00:02:41,779
Now X11 has some legacy code that must stay for backward compatibility reasons.

40
00:02:41,779 --> 00:02:45,339
And in Wayland, you get rid of that all at once.

41
00:02:45,339 --> 00:02:50,220
But one major disadvantage, and that is that your classical X11 applications don't work

42
00:02:50,220 --> 00:02:55,699
anymore, which is also why you won't find them in the distribution repositories anymore.

