 I get bombarded with requests for topics that I should cover on the channel, and one of the topics that, since the very beginning of the YouTube channel, people have been asking me to do something on camera about is taking a look at the Wayland display server, which I don't quite understand what folks want me to do with Wayland, because A, Wayland is alpha quality software, and B, it's a display server. What exactly am I supposed to show you about Wayland? Hey, you know, it actually will serve up a graphical display. I really don't know what people want from me, but most of these people that ask me about Wayland typically then tell me about Sway. It's really, most of these people actually just want me to take a look at a particular window manager that runs on top of Wayland, and the one they're mostly interested in is Sway. Sway is an i3 clone designed to run on Wayland instead of X. Now, I have always been resistant to install Wayland on my main production machine, is because, again, Wayland is kind of alpha quality software. It's nowhere near feature complete, as far as being able to compete with Xorg. I mean, even if you run Wayland like on a main production machine, you also have to have X11 installed as well, otherwise you're not going to be able to do some basic things on your computer that you expect to be able to do. I mean, it's only been recently that I think you could actually do screen capturing in Wayland and, you know, things like that. And Wayland's been in development, I think since 2009, 2010, it's been under development like 11 or 12 years, and it's still, again, alpha quality software. It's nowhere near being ready to ship out of the box default on distributions. And I know some people are going to say, well, Fedora ships it out of the box by default, yeah, but X11 is still there, handling all the things that Wayland doesn't handle properly yet. And because, you know, I make video content, you know, I produce videos on YouTube and library, I could never install Wayland on my main production machine and try to live in a Wayland only compositor slash window manager like Sway. It's just not feasible for somebody like me. But since some of you guys want me to take a look at it, what I thought about doing is today I'm going to install Sway inside a virtual machine. That way I can actually record the virtual machine and you guys can see me playing around with Sway a little bit inside a virtual machine. You guys have told me that Manjaro makes a Sway edition. So what I did is I went to the Manjaro website. Now their main flavors are XFCE, KDE and GNOME. They also have an architect edition that's just a command line installer. They do have several community editions. So I went to the community editions and their community editions are Awesome Window Manager, BSPWM, Budgie, Cinnamon, i3, LXD, LXQ, Mate and OpenBox. I did not see Sway in here. So I actually had to do a search on the internet and I did find Manjaro dash Sway over on GitHub. So this is an unofficial community edition of Manjaro. So that scares me a little bit because Manjaro has so many community editions. Why isn't Manjaro Sway a community edition? Is it buggy? That's what I'm thinking is it probably just doesn't make the grade yet as far as being able to be a Manjaro community edition yet. But what I'm going to do is I'm going to go ahead and download the ISO and I'll fire this up inside Vert Manager. All right, so I created this virtual machine here. I gave this virtual machine four gigs of RAM and I gave it two threads of my 12 core 24 thread threadripper on my main production machine. Plenty of system resources for this thing to work correctly in the boot menu. I just went ahead and booted up with the open source drivers, which should work just fine here inside Vert Manager. We were doing this on physical hardware, especially if you had like an NVIDIA card or something that needed proprietary drivers, you would probably choose the boot with proprietary driver option on the boot screen. All right, and this is the standard Manjaro installer, which is the Calamaris installer. So I'm just going to quickly run through this. You guys have seen this installer many times. I'm going to choose American English and click Next. I'm going to choose somewhere in the central time zone here in the US and then click Next. And then I'm going to choose English US for my keyboard layout and click Next. I'm going to choose a race disk and use the entire 20 gig virtual hard drive for this. I don't want to waste space in a VM because we're so limited on space on a swap. So I'm not going to do a swap partition, but I could do a swap file if I wanted to. So I'll choose the swap file and then click Next. And then we need to create our username. So I'm going to call my user DT. I'm going to call the host name of this computer DT-vert for Vert Manager. And then we need to choose a strong and complicated password for the DT user. All right. And then we need to decide do we want to use the same password for the administrator account or not. I want to use the same password for the DT user and the sudo user. So I'm going to tick that on. That way I only have one password to remember instead of two different passwords. All right. And then we get our summary location looks good. Keyboard looks good. The partition scheme looks good. I'm going to click Install. And it's going to warn me that it's about to format our drive and write to the disk. So click Install. Now going to begin the installation process. This portion of the installation typically takes five to ten minutes on my machine. I'm going to pause the video until the installation is complete. And the installation has completed that installation process, probably took three minutes. Maybe it was very fast, which leads me to believe it probably doesn't install a whole lot of programs out of the box. Although the ISO was 1.7 gigs in size. So it's not a terribly small ISO. All right. Now that in the Calamari's installer here, we need to click Restart now. Make sure you check that on. And then let me hide my head here so you guys can see this button here. Click Done. And it should reboot and we should get some kind of grub menu or something coming up. Now, we don't get a grub menu. We get authenticate into DT-vert. I'm assuming this is going to be our username and password that we put inside the installer. I'm assuming that's what this is. So I'm going to do DT and then I'm going to do the strong and complicated password for DT and it boots us directly into Manjaro Sway. Now, typically in I3, Super Enter will bring up a terminal and Super Enter does bring up a terminal, but there's a bunch of error messages in the terminal. I don't know why that is. Let me open up a second terminal. We get more error messages in this terminal and another error message in this terminal. If I ran the LS command, I actually don't get an LS. I just get error messages and do an LS dash LAH for long format and show all the files, including the hidden files. All right. So the only thing in this directory are hidden files. That's why the standard LS command didn't work. Although this time when I do LS dash LAH, I get the standard LS output, but I still get errors. So that's interesting that it doesn't create a home directories for our home user. It doesn't create things like downloads, documents, videos, things like that. Let me see. Does SuperShift C close? No, SuperShift Q probably closes. I'm not sure what the standard key bindings are. Looking at the GitHub page, it looks like SuperShift and the question mark gives us some information about key bindings. Well, it gives us a man page. Well, I'm not exactly sure why the man page is so small. I can't really resize the man page, though, inside the VM, because I know how to do it with the super key in the mouse. But it's actually just going to drag the whole VM around because the super key is also the mod key on my main production machine, you know, the host window manager that's hosting the VM. So what I'm going to do is just quit out of that. That, yeah, I don't know what was going on with all the error messages in the shell. So let me clear the screen if I can. Type correctly. Why is the L on the keyboard not wanting to work? OK, that's weird. Probably just some input lag from me being in a VM. But I even the clear command, I still get an error. Let's see what the shell is. Maybe it has a problem to do with whatever shell we're using. We're using ZSH for the shell. Let me switch over to Bash. And when I switch over to Bash, I get errors. So if I do an LS and Bash, do I also get errors? Yeah, except the error is before the output of the LS instead of after it like it was in ZSH. Let me exit out of Bash. So I don't know what the deal is. I'm kind of concerned about all these errors in the shell. That that would be a deal breaker because I'm going to be in a terminal all the time. Typically in a tiling window manager, especially I'm not. I don't want to see all of that crap in my shell. Well, let's see if we can get a bigger display 1920 by 1080 resolution here because the resolution here is a little small. Now, typically on standard Linux distributions, you would run the Xrander command XRNR because that's your standard way to change resolutions on the X11 display server. I don't expect that command to be available, though, in Weyland. Well, actually, if I do Xrander, I do get some output. So maybe Xrander is available. But 1920 by 1080 is not available as a resolution. But it does say that line right here, it says minimum resolution, I could say it is 16 by 16 16 pixels by 16 pixels. Who would say that resolution to that? And it says the maximum is 32 767 by 32 767. That's weird. Let's see if Xrander dash S 1920 by 1080 actually works because just because I get these this output saying all of this doesn't necessarily make it so. No, I can't do that. Now, I didn't think Xrander would work in Weyland. I think Weyland has a different kind of a A Rander replacement called W display or W displays. Let's try W displays with an S. OK, yeah. And this is similar to the GUI front end to Xrander A Rander. This is kind of like that, except for Weyland. And for this, let me see if I go in here and manually set to 1920 by 1080. And click apply. And that actually works. And we close that program and I'm going to close this terminal so you guys can see full screen what the desktop looks like, the default wallpaper and everything. So we know that Super Enter opens a terminal. Super Shift Q closes any program with focus. But what about like getting a D menu run prompt? Typically in many window managers, the default key binding for DWM and X-mode add for a prompt is Super P. That does nothing in I3. A lot of people do it as Super R for a run prompt. So if I do Super R, does that get us a prompt? Now, that's the resize command here in I3. I'm actually not sure what the command is. So let's check out the config file for Sway so we can actually see our key binding. So what I'm going to do is I'm going to end them. Let's open up dot config slash Sway slash. Is it config? Yeah. And correct VIM to VI. Not sure. I don't want to use VI. Dang. All right. So they don't actually have VIM installed here. I don't know why, but let's see if we can install VIM really quickly. I mean, I could use nano, but nano is I struggle with nano because I'm going to do VIM like things in nano and I'm going to create all kinds of errors in the config by using nano. And VI VI is just a poor substitution for VIM. So let me actually use the VIM command now that I actually have it installed. So instead of using VI, we're going to do VIM and then dot config slash Sway slash config. And it's still I chose the wrong thing there. Sorry, guys, I am really struggling here. This is I don't know why distributions do not have VIM installed out of the box. And then it keeps asking me, do I want to switch from VIM to VI? And I'm choosing the wrong thing each time. Correct VIM to VI. No, there we go. And now this is VIM. Can I actually zoom in here? Yeah, I'm not sure what terminal we're using. We'll check that out here in just a second. This config file, though, is not a standard like I3 type config file. There's no key bindings in it. So all of that was for nothing because yeah, there's there's nothing in this. So let me CD into dot config slash Sway. And then I'm going to run it LS and how I get his errors. Well, no, there is config and config dot D. So there is another directory here. So I'm going to CD into dot config dot D. Miss typing a lot. Some of it is input lag. It's a little sluggish in this VM, but that's to be expected. It is a virtual machine here. And then let me do an LS. I didn't, I didn't CD in the right directory. I needed to CD into config dot D without the dot. And now let's run an LS and see what's in this directory. User.conf. Okay, well, let's open that file. So I'm going to do VM zero zero dash user.conf. And is this our config file? No, because this is nothing but commented outlines. So it's probably using like the default Sway config. A lot of times your default window manager configs are in slash Etsy. So let me see, let me copy over the default config. I'm going to assume it's in slash Etsy slash Sway. We got it right. And then slash, let's do config. So I'm going to copy slash Etsy slash Sway slash config over to our home directory dot config slash Sway slash config. So we're just going to overwrite that config that really has nothing in it with the default config that's in slash Etsy overwrite. I'm going to write the word yes, hit enter. I'm going to CD back up a directory. So I'm in home slash dot config slash Sway. And now let's open that config file once again. All right, and this is a normal config. And let's actually see what is set. The first thing I notice is that the directional keys inside Sway are corrected. They are actually HJKNL, the standard Vim motion keys in I3. One of the reasons I3 I think is not a great titling window manager is it has really bad defaults. The fact that it uses JKL semicolon as the motion keys where everything else in the world uses HJKL really bugs the hell out of me. And I'm really glad that the Sway guys fixed that. Looks like our standard terminal is set to a Lackrity. So I guess this is a Lackrity we're using. And then I go down a little further. What was I looking for? I was looking for some of the key bindings. I was looking for a menu key binding. It says bind sim mod D to execute menu. I don't know what menu program they're using, but let's do mod D. So super D. This is definitely not D menu. And it doesn't look like Rofi either because this looks like a terminal window. This looks like some kind of fuzzy finder script here that they're using. Some custom bash script probably using fuzzy finder is what they're doing there. That's kind of interesting, but why wouldn't you just install D menu? I don't know. Well, what I'm gonna do is I'm gonna open up a second terminal and let me zoom in here. That's so many error messages. The error messages are really concerning to me. I don't know. Maybe I should update the system and see if that solves the problem. I doubt it would, but maybe that's something I should try here in a minute. But first let me do a yay. And I'm gonna install my build of D menu that's in the AUR. So I'm gonna do yay dash capital S, D menu dash distro tube dash get. And diffs to show. I don't need to see the diffs. We need to give our root password to install. My D menu build and install some font dependencies for my D menu build. Getting more errors. Cannot find the strip binary for the required object file. Now I know my D menu build in the AUR works because I install it all the time. I don't know. It probably has something to do with some build dependencies. I know my D menu build in the AUR depends on get is get installed. It looks like it because get the color turns green when I type the command. So that command should be available. Yeah, I mean get is installed because I get output when I just type the command get. So I'm not sure why I can't install or why it won't build my package in the AUR. So instead of having to do something that's got to build from source, let's just do the standard D menu package that's in the standard arch repositories. Install that. It looks like it installed it just fine. Let's do D menu underscore run. Let's see if that command works. Oh, it does. We get D menu at the top and really extremely small font. Well, I mean it is what it is, but what I'm not typing in D menu though. I'm typing over here. Let's undo all of that. We don't want to, what's going on with D menu? That is weird. And D menu is not over here in the terminal anymore. It's like it runs it and then it errors out of it but it's still displayed on the screen. It's like, that's not really D menu. It's like an artifact or something that's still left on the screen. I get cannot grab keyboard over here in the terminal. See if I can move this terminal here. The super shift H move this. No, how do I move the windows around? Maybe instead of H, J, K and L maybe they're using the arrow keys. Maybe if I do super shift and lift. No, that's not exactly what I wanted. There it is. Okay, yeah, I'm not sure because it said we were gonna use H, J, K and L but it looks like I had to use the arrow keys anyway. I'm not sure what's going on with this config. Of course, I could spend some time with the config and set it to the key bindings I'm used to but I'm a little concerned that I can't get D menu working properly here. I'm not sure what that is. Now, Alacrity was our terminal according to the config. I think Alacrity is set as the default sway terminal. Like that's what sway always expects to be on the system. That's why Alacrity is hard-coded in that slash etsy slash sway config file. So let me see if I kill all Alacrity would kill these terminals. It says no, Alacrity is not found. So this is not the Alacrity terminal we're running. So it's typically an arch, arch-based distros. A lot of them use termite as the terminal. So let's kill all termite. Okay, so that kills termite. And how do I get out of the window manager? Mod, is it mod zero? Mod shift zero, mod shift q kills window. Mod shift x maybe, mod x. I'm not sure. Let me just open up termite again. Let's run a kill all sway. I wanted to get out of this window manager and get back into it. All right. Now that we've got a new config because I didn't reload the new config. You know, when I copied it over. So that may have been the problem. So this is strange because now we have this new default sway config. So everything's gonna be different. Super enter, will it bring up a terminal? Super enter will not bring up a terminal because super enter, the default sway config expects Alacrity to be on the system and Alacrity is not on the system. Remember, termite is on the system. How about super D for D menu? Looks like D menu now is working now that we've restarted sway with the new config. So that's good. So now let's just open up termite. And because the default sway config expects Alacrity to be on the system, why don't we just go ahead and install Alacrity to make our lives a little easier. That way, the standard config file will actually work without us having to go and edit it. All right. And let's one more time do the W displays command to set the 1920 by 1080 screen resolution that I want here. And I'm gonna click apply. All right, let me close all of this. Well, why did that change when I tried to close the window? I think I know what the problem is while we're getting an error here is I'm not actually closing this program with the right keybinding. I keep doing super shift C because that's the standard keybinding to close things and other window managers like Xmonad, super shift Q closes a program. Yeah, I don't know why super shift C probably reloads the config. That's probably what was going on there. So there was no error there. That was just my bad. I was not hitting the correct keybinding because I'm not familiar, of course, with this window manager. I will say now that I've got the standard config file copied over and now that I've got Alacrity working, although still the shell inside our terminals, the shells are broken. I think what I need to do is actually take some time and do an update really quickly just to see if the update actually fixes this. I'm gonna do a sudo pacman dash capital S, lowercase y, lowercase u here and just do a quick update and let's see what updates. And there's very few updates, nothing that really has anything to do with Wayland or the display server or anything important, pulse audio, stuff that really doesn't matter, YouTube DL, I'm gonna take the update, we'll run a quick update here and I'm gonna sudo reboot to reboot the VM and let's see if it fixes the problems in the shell and it finished updating. So I'm gonna sudo reboot and our username and our password, get back into Sway here. And yeah, we're still getting the errors in the shell. Yeah, I don't know. That would bug me a lot actually. Obviously, again, Sway is kind of alpha quality software, not Sway itself, but Wayland. Sway is a Wayland compositor, but Wayland of course is really not ready for prime time and I suspect that's probably why Manjaro Sway, I had to go look for it on GitHub instead of the Manjaro website is probably why they don't have Manjaro Sway listed as one of the official community additions on the Manjaro website. I think that's all I'm gonna do for this very quick cursory look of the Sway Manjaro edition for those of you interested in Sway, you could install it on physical hardware and check it out. If you like the i3 window manager, Sway is almost an exact clone of i3. I'm not a fan of i3, so it's not something that really appeals to me. The only thing to install Sway for really though is if you like i3 and for some reason you're interested in Wayland development, then maybe install it. If you do a lot of work on your computer, if your computer is mainly a workstation for doing things like a video work, similar to what I do, I wouldn't bother with Wayland, yeah, it's just not ready. One of the problems you're gonna find with Wayland is a lot of the Xorg tools you're used to working with, like Xrander and Xsetroot and Xql and all these X commands that you're typically running, Xscreensaver and things like that, maybe Wayland has replacements for those tools, but a lot of them they don't quite yet. And for those of you that do a lot of scripting and in your scripting, you incorporate a lot of those X11 command line tools. Obviously it's gonna break your scripts if you don't have Xorg installed on the system. So take that into account as well. Overall though, I am glad that people are working on Wayland and some of these Wayland window managers to further the progress along. I just wish the process was a little faster. I mean, it's been, what, 11, 12 years now and Wayland's still nowhere near ready. It's probably gonna be another decade or so before Wayland is ready to actually be the display server on our Linux systems without Xorg, really there to do all the heavy lifting. Now, before I go, I need to thank a few special people. I wanna thank the producers of the show, Ebsi, Devin, Fran, Gabe, Corbinian, Mitchell, Akami, Archvius, 30, Chris, Chuck, David, the other David, Donnie, Dylan, Gregory, Louis, Paul, Pickviem, Scott West, and Willie. They are the producers of the show. They are my highest tier patrons over on Patreon. Without these guys, this first look at the Manjaro Sway edition would not have been possible. The show is also brought to you by each and every one of these ladies and gentlemen as well. These are all my supporters over on Patreon because the DistroTube channel is sponsored by you guys, the community. If you'd like to support my work, you'll find DT over on Patreon. Look for DistroTube over on Patreon. All right, guys. Peace. I can't wait for Waymonad to be ready. That might actually get me to switch.