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,960 So the Graphical Stack is all the components that make that you can work in a graphical 3 00:00:13,960 --> 00:00:15,580 environment. 4 00:00:15,580 --> 00:00:20,719 And on current Linux distributions, Wayland is used as the 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 the 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:42,019 And a compositor as such is the display server, which in X11 was implemented by a window manager. 24 00:01:42,019 --> 00:01:47,139 Common compositors in Wayland are Mutter and KWin, as already discussed. 25 00:01:47,260 --> 00:01:51,500 Wayland has no native network access and that changes things quite a bit. 26 00:01:51,500 --> 00:01:57,779 Because on X11, you could have a remote X client drawing screens on a local X server. 27 00:01:57,779 --> 00:01:59,480 That's not the case in Wayland. 28 00:01:59,480 --> 00:02:05,139 So no remote graphical client that draws screens on a local Wayland server, which is something 29 00:02:05,139 --> 00:02:08,460 which from a security perspective is not bad at all. 30 00:02:08,460 --> 00:02:11,679 Now Wayland is offering a couple of advantages. 31 00:02:11,679 --> 00:02:17,059 In many graphical applications, the X server has become the bottleneck in performance. 32 00:02:17,059 --> 00:02:19,820 And Wayland is using a much simpler architecture. 33 00:02:19,820 --> 00:02:23,059 And for that reason, it's also much faster. 34 00:02:23,059 --> 00:02:26,779 Wayland is more secure and runs applications in more isolation. 35 00:02:26,779 --> 00:02:29,940 But native Wayland applications need to be used. 36 00:02:29,940 --> 00:02:34,839 And that means that your classical X applications don't work anymore, unless you do something 37 00:02:34,839 --> 00:02:36,820 about the compatibility. 38 00:02:36,820 --> 00:02:41,779 Now X11 has some legacy code that must stay for backward compatibility reasons. 39 00:02:41,779 --> 00:02:45,339 And in Wayland, you get rid of that all at once. 40 00:02:45,339 --> 00:02:50,220 But one major disadvantage, and that is that your classical X11 applications don't work 41 00:02:50,220 --> 00:02:55,699 anymore, which is also why you won't find them in the distribution repositories anymore.