Tech Over Tea - Fixing KDE Plasma One Issue At A Time | David Edmundson

Episode Date: October 20, 2023

Today we have the one and only David Edmundson a frequent KDE Plasma and QT contributor who's been responsible for things like the XwaylandVideoBridge and the recent KDE robustness changes. ======...====Guest Links========== Season Of KDE: https://dot.kde.org/2022/12/14/join-season-kde-2023 KDE Twitter: https://twitter.com/kdecommunity/ KDE Website: https://kde.org/ Blog: http://blog.davidedmundson.co.uk/ Github: https://github.com/davidedmundson ==========Support The Show========== ► Patreon: https://www.patreon.com/brodierobertson ► Paypal: https://www.paypal.me/BrodieRobertsonVideo ► Amazon USA: https://amzn.to/3d5gykF ► Other Methods: https://cointr.ee/brodierobertson =========Video Platforms========== 🎥 YouTube: https://www.youtube.com/channel/UCBq5p-xOla8xhnrbhu8AIAg =========Audio Release========= 🎵 RSS: https://anchor.fm/s/149fd51c/podcast/rss 🎵 Apple Podcast:https://podcasts.apple.com/us/podcast/tech-over-tea/id1501727953 🎵 Spotify: https://open.spotify.com/show/3IfFpfzlLo7OPsEnl4gbdM 🎵 Google Podcast: https://www.google.com/podcasts?feed=aHR0cHM6Ly9hbmNob3IuZm0vcy8xNDlmZDUxYy9wb2RjYXN0L3Jzcw== 🎵 Anchor: https://anchor.fm/tech-over-tea ==========Social Media========== 🎤 Discord:https://discord.gg/PkMRVn9 🐦 Twitter: https://twitter.com/TechOverTeaShow 📷 Instagram: https://www.instagram.com/techovertea/ 🌐 Mastodon:https://mastodon.social/web/accounts/1093345 ==========Credits========== 🎨 Channel Art: All my art has was created by Supercozman https://twitter.com/Supercozman https://www.instagram.com/supercozman_draws/ DISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase we may receive a small commission or other compensation.

Transcript
Discussion (0)
Starting point is 00:00:00 Good morning, good day, and good evening. I'm, as always, your host, Brodie Robertson, and today, my voice is dying, apparently. We're not restarting that. I, uh, we have a KDE person on today, David Evanson, welcome to the show. How you doing? Hello. I'm doing fine, thank you very much. And luckily for once-
Starting point is 00:00:21 I've got my, I've got, I've- Sorry? I've been looking at all your fun i've been looking at all your thumbnails got a suitable shirt on now i just need to do irrelevant faces see the thing is people don't realize how their face moves sometimes like i none of those like thumbnail pictures i've forced they've just been i found weird frames throughout the video and they just happen to work weird frames throughout the video and they just happen to work pretty well like the ones I do for my like actual main
Starting point is 00:00:48 channel stuff like those are planned but anything on this channel entirely just off the cuff whatever happens there scrub through the video I find something like hmm I think that works with that what I was gonna say before is my internet's actually working Stably today which is A nice change so hopefully Everything actually works There's no thunderstorm today which is good
Starting point is 00:01:14 Um So let's just see how that goes And hopefully nothing changes there So if you freeze It just means I've bored you to death Rather than an internet problem Yeah well look let's make sure that doesn't happen Um So if you freeze it just means I've bored you to death rather than an internet problem. Yeah, well, look, let's make sure that doesn't happen.
Starting point is 00:01:28 Um, people may not know your name, but they may know some of the stuff that you've been involved with. So... we... do you want to get started on that, or do you want to start instead on, like, how you got involved in, like, KDE and stuff first? That probably makes more sense to start with. Yeah. Then we can go into like the actual stuff you've done in the project. KDE. I mean, I've been in KDE for 15 years. I'm very, in my mind, long time contributor.
Starting point is 00:01:56 There's people who go generations before me. And the backstory is the same as everyone. I was meant to be studying. I did not do that. Instead, I started hacking away at a project, and I did not finish my PhD because I got a job, and that's a way forward. Well, hey, you could have said I didn't finish my PhD,
Starting point is 00:02:20 and I didn't have a job, so, you know, there's a silver lining there. Exactly, so not worth finishing don't take me for academic advice on this but yeah i mean same story everyone you go for you get introduced to linux you have that weird gen 2 phase and then you get out of it and um yeah a point we think ah i'm so much faster with a terminal for everything because you're faster with a terminal for some things and then you start browsing your web in some console ui and then slowly that starts going away i found myself from one of these minimalistic window managers where you just have a tiny box in your terminals
Starting point is 00:03:06 to, oh, start running KMail. Oh, start running Capeta, your messaging client. And then before I knew it, I was running Kika, the main KD panel. I was like, I should just start using KD at this point. And then somehow went to my first conference started doing more and more patches became a maintainer of more and more things too many things now i'm a maintainer of quinn partly with some other amazing people cute waylon and the entire waylon back end for
Starting point is 00:03:43 all of the Qt clients as well as generally plasma stuff. You've got a lot on your plate, it sounds like. Pardon? I said you've got a lot on your plate, it sounds like. Oh, yeah, yeah, yeah. But not enough time, can still spare some time for interviews with you. Oh, thank you.
Starting point is 00:04:06 Appreciate it. So, you said you started on KDE back in 2008. How long had you been using Linux before that point, by then? I know, where dates are confusing. You have to work out how old would I be back then.
Starting point is 00:04:23 So, I mean mean not many years yeah i mean start on back in the day everyone started on mandrake or this live cd called nopics those i was gonna say the other one is red hat linux which i've i've had a lot of people say red hat linux but back when you get a cd your way to get Linux would be to go to your shop and buy a magazine with a CD on the front because installing 700 megabytes would just be an outrageous amount of phone time and you'd get shouted at a lot by your mother. So that's how you got Linux back then. So you start on Mandrake, but then university with a big internet connection to your world it was amazing and then you somehow expanded out you got to gen 2 at some point
Starting point is 00:05:14 oh i mean that's you go through your phases when you're when you start vicing start customizing everything yeah yeah yeah yeah yeah okay i. I joined this computer society group at university and they had the people who were hardcore into Linux as a technology. And then equally I had this one friend who was into open source, not into necessarily Linux as a tech, but open to open source as a philosophy. Right, right. open source as a philosophy right right and that guy was fascinating because he was blind legally blind he could see a little bit but blind and back then a lot of accessibility tech was rubbish in the commercial world and open source also rubbish but you could fix it right right so i mean he had this monitor where you had x11 and you panned around when you moved your mouse to the edge of your screen because his fonts took up like quarter of your screen each and he was amazing because one of the first things he started telling
Starting point is 00:06:21 me about was back in and dvds were how you watch media and there's a dmca at the time a digital millennium copyright act and it was illegal to make it so you can avoid strobe effects on a dvd and prevent people from having epileptic shock because that's manipulating a media so he was very passionate about all these accessibility things and making things safe was technically illegal and circumventing the law. So a whole open source thing of, or let's just change things because we can change things, was something he was passionate about. we can change things was something he was passionate about to point that he has this cool project um called a grip which was a version of quake for blind people okay
Starting point is 00:07:13 a grip.org i think you'll find it if you want to bring it up because it sounds insane it is insane i've played it got nowhere. I got shot all the time by blind people. Your walls make sound, aliens make sound, and then you navigate around. How do you spell Agrip? Because there's also a government agency. A-G-R-I-P. There's a government agency with the exact same name. Oh, here we go. No, I found it. Okay, yeah. It's agrip.org.uk.
Starting point is 00:07:44 Agrip.org is the government agency. Yeah, okay. Okay, this is... huh. And it was still being updated like as of two years ago. Oh wow. And... Quick with open source back then, and this was the idea of you take code and you make something else out of it, completely different to what the authors intended, but still amazing for some other people.
Starting point is 00:08:15 Really made an impact. I mean, I'm talking about this 15 years later because it's still in my head. later because it's still in my head and that combination of using being introduced to Linux by people who were just vicing their systems and having cool themes and this guy who's passionate about open source and that sort of made me start developing on the things that interested me which you know wasn't Quake for blind people but yeah then just started hacking more and more and more and then before you know it you end up here eventually uh you know running parts of the kde project yeah that uh that i think you mentioned about you know starting with these terminal applications
Starting point is 00:09:00 then slowly bringing these gui tools because you realise like the GUI tools actually are just a more efficient way to do it. Like that reminds me of how I used to do things with like my emails and calendar and all that. Like I would have I'd have like Calcurse and all these tools now I just use Thunderbird. It's fine. It's great. It does everything I need.
Starting point is 00:09:21 Yeah, it's about using the right tool for your job and not saying I'm sometimes fast in terminal, if I always because it's not always true. Don't get me wrong, I still use a lot of like, my main file manager is like a terminal file manager because I've got a thousand hotkeys that go to exactly where I need stuff to go. Like that is a really convenient way for me to work, but there are times when just using a, like, using a GUI is just more convenient for things like, I don't know, I want to drag a file into Discord, for example, or I want to, like, you know, like,
Starting point is 00:09:55 one thing, I upload a YouTube video, I can just have the file manager open, drag the file into the web browser, and it just uploads it like that stuff that like yeah there's like weird workarounds that you can do stuff with terminal applications but it's absolutely a workaround and half the time you end up just opening a gui anyway it's like a very minimal gui that just exists for the sole purpose of dragging a file which at that point you might as well just use a file manager properly. Absolutely. But now I'm going to sell you on my favorite feature in
Starting point is 00:10:30 KD's file manager, Dolphin. You press a button, little terminal pops up out of the bottom. That's not that insane. But when you change directory in the terminal, the UI on top changes to the same folder. And if you change folder in your UI, the terminal changes changes to the same folder and if you change folder in your ui
Starting point is 00:10:46 the terminal changes directory to the same folder so you can have a ui start clicking through clicking on your bookmarks whatever and then if you need to type grep pipe whatever you know something that's not necessarily trivial to do in a UI. You do that, you're in your UI folder, magic. That's actually really cool. Because it's pretty common to have... It's one of my favourite features. It's pretty common to have a hotkey to open up a terminal in the current directory you're in, but actually
Starting point is 00:11:16 having them directly linked like that, I don't know of another... There's probably another file manager that does it, but I don't know of one myself. It's my go-to feature of sort of in kd had this motto for a while of simple by default powerful when needed which is a cool phrase i think um and i think it sort of encapsulates what we're trying to get at with the ui of don't shove a terminal in your user's face for no reason, because that's not a good UI. And you want
Starting point is 00:11:49 to dump things... You don't want to dump things down, but you want to make it so it's easy to find the common things. But having all this stuff just slightly blow your hood so you can do this if you want to get that sort of thing, because Linux users
Starting point is 00:12:05 are mostly nerds. Sure. It's the target audience you're making stuff for. It's making stuff for ourselves. You get better things when you make things for yourself. Mm-hmm. You know what? That does make sense.
Starting point is 00:12:22 Having a... Providing those powerful tools, but... Sort of... Having a layer on top of it that's very approachable for someone who might be new to that sort of experience. Like, you know, you've moved over from Windows, you've moved over from Mac OS, you're familiar with this normal file manager approach of doing stuff. But if you want that extra level of control in those cases where maybe, you know,
Starting point is 00:12:47 does the KD file manager have like a mass renaming function? There is warm as a standalone application. I was going to say, cause that's like, that's a basic thing you could have like do in the terminal. That's really easy to do. But then doing that from the GUI tool, if there's no function for that, like maybe you don't need that like every day. Maybe it doesn. But then doing that from the GUI tool, if there's no function for that,
Starting point is 00:13:05 like maybe you don't need that like every day. Maybe it doesn't make sense to have as a GUI tool, but having a quick way to just get the terminal open and do that there, like that's really nice to have. Yeah, definitely. Dolphin, Dolphin's the name of our file manager. Yeah, yeah, yeah. Comes from users using it.
Starting point is 00:13:27 And as sometimes shows in any project is the person developing it uses it. And you don't always have that. I think certainly a lot of commercial projects lack that. It's people guessing what users want. And that's not always in sync. Yeah, yeah. Well, there's still a lot of that in
Starting point is 00:13:46 the Fossil Wars books. It's hard to understand what the users as a general collective want and what the loud people who feel like getting involved in the issue tracker want. Because those aren't always the same group.
Starting point is 00:14:05 Yeah, definitely. I I mean I spend a lot of my time on Bugzilla and you see the same names again and again and again and if that is a target audience my only audience then I should just give up what I'm doing because it's very
Starting point is 00:14:20 it's just a handful of people you're right there's definitely a huge passive voice. But most people aren't too dissimilar. It might not be the same nerd as us. I mean, we don't need tools. I mean, development tools of our own software, but they're still Linux users. I think what's important is to get something out there and then sort of test the waters with what people feel about like it's
Starting point is 00:14:55 all well and good to just sit there and theorycraft about what people might want like you know have this big this big group meeting like okay how are we going to do this? But eventually, like, something has to be released, and no matter what you do, there's going to be some people that don't like the idea. Like, for example, the recent thing with swapping from single-click to open to double-click as the default. Like, there are people...
Starting point is 00:15:20 I will ask you about your opinion on that in a minute, but there are people who are like die hard Single click to open anything besides that is terrible Then there are people like no double click to open is that's the way that everything else does it like this is like what it should be done, but what you need to do is just get something out there and then see what people actually want and Luckily in the KDE case oftentimes that also comes with
Starting point is 00:15:47 Customization as well like in this one like you can swap back to the old method if you wanted to so It's not like that for everything obviously But when there are things that do make sense to have as a configuration option It is nice to have that there as well for those people nice to have that there as well for those people so you asked about my opinion yeah people who prefer double click should take a mouse in the garden and bury it it makes no sense but i do understand that if you keep hearing the same remarks again and again and again and again, there must be some basis for it. And almost everything comes down to some levels of compromise. Because people are used to it.
Starting point is 00:16:36 There's a level of familiarity. If you swap back and forth, I understand familiarity. Keeping that familiarity to go back and forth is important we don't want to be making an exact clone of something and that's frustrating
Starting point is 00:16:48 when these people start saying oh and then you should have this setting for this here because that's the way windows does it and yeah
Starting point is 00:16:55 yeah i think it's fine i think it's fine that people should can have a learning curve sure we don't have to be the same as long as
Starting point is 00:17:03 everything's findable but yeah the fact that this one keeps coming up again and again and again means these people, despite being wrong, um, yeah, it do need to be somehow catered for.
Starting point is 00:17:19 As you said, it's only a setting. Why do you prefer single click? What's your reasoning for that? On the web. Okay, this is where we're going, right. It's where I'm going, because on the web you single click. So in my daily life, there's nothing I double click on.
Starting point is 00:17:49 And everything else, to invoke an action, button, OK, cancel, single click on it. Doesn't matter if it's a destructive action, you single click on it. So this one, why? I mean, if you don't have a preconception,clicking on it seems a questionable thing to do. I mean, I understand why. It's because you need to separate select and invoke. But it's a somewhat arbitrary thing to do. Nobody double-right-clicks on anything. Yeah, no, that's fair. Yeah.
Starting point is 00:18:24 I mean, there's probably some video game where you do it or something, but... Almost certainly. Oh! But, I mean, but... Yeah, okay, now you mention that, it definitely is. Yeah. Huh. Oh, no, I was thinking of...
Starting point is 00:18:37 Sorry, I was thinking of Armored Core, where you can have a semi-auto gun in your right hand, and you right-click to shoot it so technically you double click whatever yeah i'm just gonna nod along just so i look cool and pretend i know these references it's a mech game but i know yeah yeah yeah no um i know what you mean i mean if in video games if you play a one where it's not wasd to move and moving a mouse you'd think it's weird no matter if they come up with something better sure weird is bad so i don't understand that i guess well i personally i just do double click because that i have no actual reason for it it's just what i've always done that's that's my entire reason for it. I can only get used to single click, I just use
Starting point is 00:19:26 double click because that's, it's just how far I've managed to work for me. But if you, like, if your first computing device was a phone, or was, like, a Chromebook, and you did everything on the web, like, that's not an unreasonable
Starting point is 00:19:42 situation now. Like, there are going to be people where they won't, people where their first couple of years of using a computing device is going to be something where every single interaction is either going to be a single click or a hold click. Double click is just not an operation that exists whatsoever. We introduced a hold and click pattern in Plasma. It was to enter the edit mode of dragging it out. Oh yeah, that makes sense. And even though it was a common pattern on the phone, that also wasn't understood because it's a common pattern on the phone, nobody expects it on your desktop because you've got a mouse so we introduced
Starting point is 00:20:26 that pattern and it sort of tanked similar reason of it might be fine but if it's unfamiliar i've probably seen like one or two applications do it for a similar sort of function but it's definitely not common not common enough to be like a standard understood pattern at least. Yeah. So we sort of separated, I mean, now we've got a lot of access to what input device did what, and we started having different behaviors based on what users interacting with, because as you said, if you're, if you're touching with it with your big fingers yeah double clicking is kind of weird you want to press once and then get some sort of
Starting point is 00:21:13 ui prompt or something so yeah you do need to customize based on input because they're different. That, well yeah, that's definitely true. What is the touch support like on KDE? That's not an area that I've really paid any attention to. We're in a difficult state in KDE as a transition between two technologies. Right. We've got the old widgets, which is writing a C++, here's a push button, blah blah blah. And then we have the newer apps coming up, written in Qt Quick.
Starting point is 00:21:52 Mhm. Oh. Uhhh... I can't hear you. You're... Is that my end? Wait wait can you hear me raise your hand if you can hear me what wait what happened um uh i'm gonna drop out of the call for a moment and come back for a moment and come back. Sorry, I'm going to ask the question again.
Starting point is 00:22:28 Yeah, say to touch support in KDE. Yeah, so, oh yeah, we've got widgets and QML. Yes, sorry. So we have the old technology widgets. Yeah. I seem to edit this. Okay, sorry about that. That part kept going.
Starting point is 00:22:42 Yeah, I heard that. It was whatever you said after going. Yeah, I heard that. It was one of you said after that. Yeah. And the new technology, Qt Quick, which is being targeted towards a mobile audience at a lower level in the stack by Qt. So we have it written for YOLA
Starting point is 00:22:58 and for Android and targeting those things. And it does have that much more finer grain control over touch stuff and so because of that the experience within the kd applications is varied there are some which are amazing because we have a plasma mobile project uh so some are like touch first yeah we have been trying to push for that convergence
Starting point is 00:23:25 so there's stuff that works on your desktop, works on phone, which is perfect. And because it's a huge project, we've got stuff that simply isn't targeting that. Right. So I don't think you can paint all the KD with a single brush because in an application like KFloppy, an application
Starting point is 00:23:46 for formatting of floppy disks, nobody's gone and said, let's update this for touch. I was going to say, when was the last time someone touched the code base for that? I think it's actually been deprecated, but only in the last year or so. I'm still going to be my go-to example.
Starting point is 00:24:02 Okay, sure. Yeah, I mean, we've been releasing it, releasing it because it takes no effort to just update to new libraries and whatnot. So that's there. Plasma as a shell, again, I mean, we've got a Plasma mobile project that's really pushing it. Two-in-one support situation where it's halfway between the two. We have some support.
Starting point is 00:24:31 Things could be better, like a virtual keyboard and how it interacts. Certainly on Waylander the situation's better than on X. So generally good, could be better. That's the takeaway. Right. So it's fair to say desktop is sort of the focus, and other things, you would like it to be better, but it's not like they're being just thrown to the side,
Starting point is 00:24:54 not worried about what to say. Exactly, yeah. Yeah. Yeah, so, and the file manager's a bit quicker to get used to, but if you take something like a Steam Deck, where it's hybrid, and you can use your fingers for doing a bit of operation but there we didn't want to just make it a big touch ui because the desktop mode is there for if you want a full-fledged desktop and you've got a touch
Starting point is 00:25:17 pad anyway so yeah so things are okay ste Steam makes a really interesting device. Like, the... Valve decided to do something very different from what they tried last time when they tried the whole Debian... I think it was... What was it? Debian 9 or...
Starting point is 00:25:37 It was something old at this point. I don't remember exactly which version it was. And then... I don't even remember what they had as a... Did they even have a desktop or not? Was everything... It did have GNOME that you could access. Oh, it was GNOME, was it?
Starting point is 00:25:51 It was GNOME. Ah. And now they've got this immutable Arch thing with KDE. It seems like, I've looked at some of the Valve Linux documentation, it seems like whoever they have there clearly has a
Starting point is 00:26:09 deep understanding of Linux. Like the documentation is clearly written by someone who actually knows what they're talking about when it comes to Linux. And there's like, there's in, in, one example I like for example, is in their documentation on Linux VR support, it mentions supported things. So it's like, everything on X11, KDE Plasma, dub your roots, and then lists out, like, not just Sway, but I think it mentions Hyperland and another relatively small-ish project. Clearly whoever wrote this is not just
Starting point is 00:26:50 like, you know, I'm just going to mention the biggest thing. They actually know some of the things that exist in this environment. Oh, definitely. I mean, there's talented people and people who are in the community as names that you know from the community just working
Starting point is 00:27:05 in collaboration I'm really happy with the state that gaming's in on Linux at this point it's gotten it's gotten a lot better for sure for sure over the past couple of years but
Starting point is 00:27:23 were there any with that with that whole like extra user base that came in from the steam deck being this like sort of like big and still base for kde was there anything like that was specifically changed because the steam deck showed some sort of holes in the design or like any areas where things could be improved? If there's anything that comes to mind. With my upstream KDE hat on, very little feedback has come from the Steam community. And if you look at your social media, you can definitely see people saying, I'm using a desktop mode, I'm using a desktop mode, I'm using it and stuff. But there's been very few bug reports,
Starting point is 00:28:10 which could be a sense of not feeling like it's a community to get involved in, because it's a product you've bought rather than something you've gone and... I mean, you wouldn't install KDE on art without having an understanding of open source and all of this kind of thing so there hasn't been a lot of engagement through our typical channels from steam deck users and because of that there's been little feedback but if you look at social media there is all this stuff um i don't think anything's come in directly because of that. There's a nice positive sense within the KD community since it, because having somebody else believe in your project helps.
Starting point is 00:29:00 I mean, the social side of that within the last few conferences has been a bit more of a buzz than it has been in the previous years. So, in future years, when we get Dell and IBM on board, they'll be shipping it by default. Yeah, yeah. Well, you have to get them to stop selling devices with Ubuntu on it then. And then maybe you'll, uh, maybe you'll get something then. Yeah. Yeah.
Starting point is 00:29:30 Well. Maybe get, maybe get a little, uh, old, like, Ubuntu or something, then you'll get some, uh, some KD discussion. But I, I, I think you do make a good point about it being, like, a product, because, like, it's, it's a's a lot how would I how would I say it like when something is what you've chosen to install yourself there's going to be a lot more interest in getting it to improve and you have a more of an understanding of what you're actually running in the
Starting point is 00:30:04 first place I can imagine there are a lot of Steam Deck users who this is the Steam Deck desktop it's not this is KDE that's running on the Steam Deck. Yeah and none of the branding has been removed but definitely it's that sense of when you when you select it from the main game mode it says enter desktop mode it doesn't have that KD band yeah so I think you're absolutely right and it's nothing wrong with that I mean you want users to have that gradual introduction to Linux in in a way where it is something that people just use. I mean, most of our audience of people
Starting point is 00:30:45 are just using Linux rather than contributing back. Yeah. And that's the way it should be. I mean, you don't want your user base to be the same as your Git history. Otherwise, you're not doing it for people. No, that does make sense. It's definitely important that people get involved in repos.
Starting point is 00:31:10 I've... maybe not... not always necessarily contributing codes. That's a... that's a part I see a lot of people get confused on, when I'm like, if this is a problem, actually, like, do something about it. Like, there are people out there who don't know how to write code, and that's totally fair. But if you have, like... This is something I've certainly had to... I've gotten more used to as I've been using Linux longer. Like, if you have a problem,
Starting point is 00:31:37 actually go and mention that it's a problem. Make an issue about it. Do it in a respectful way please but actually bring up the problem like a recent one that i had is uh with caden live um where there was a regression with a with the new version of mlt which caused mkv files to duplicate the first audio track onto every other audio track, deleting all the other tracks. And nobody caught this before it shipped in a version of KDE, in Kdenlive.
Starting point is 00:32:11 So I noticed that I was like, hmm, this literally is impossible to edit videos in. So I went and reported the bug. Turns out someone had reported a bug with another name. But that's a problem that you know needed to be addressed and it clearly someone missed it when it got shipped like that part of the testing didn't get done and now that problem i believe there's already a shipped version that's fixing it like that's because there was a report made that problem
Starting point is 00:32:43 actually got dealt with and i've noticed a lot of people tend to just sit around and complain about problems without actually mentioning it's a problem. Like, I can probably bring up a thousand different Weyland examples. But,
Starting point is 00:33:03 yeah. Yeah. I'm sure you've run into very similar things.'ve noticed sorry i cut you off again i've no i scrolled through some of the things you're applied to on on reddit and i noticed there are people that like complain about something and you're like did you make an issue about it give more details about like you know balance i mean i don't think there's anything wrong with going this doesn't work for me i'm not going to use it that's absolutely fine i mean i do that with plenty of projects i don't contribute to everything i ever touch so sure responsibility but i think if you're going to go and complain on social media about something you actively use and if you're going to go and complain on social media about something you actively use and
Starting point is 00:33:46 if you're going to go to the effort of doing that you might as well go to the effort of doing something productive definitely i get like i get why people don't do it like it's easier to just sit there and complain about it like you know but But, yeah. It's also frustrating as a developer point of view because if you do see people complaining on social media, you don't want to just fix it because then you're just encouraging more people to complain on social media.
Starting point is 00:34:18 So it's an awkward balance. But you don't want to ignore it because it's getting attention. Sure, sure. That's a difficult thing to ignore it because it's getting attention and sure sure that's a difficult thing to play with because i mean as a developer i do sometimes see something get annoyed by it and then think well i'm not going to fix that now and it's a very childish attitude because there's hundreds of other people also affected by the same bug not being tools about it so you shouldn't just punish those
Starting point is 00:34:47 people just because one person's being a tool but difficult not to to sort of separate you know that's the first time i've heard that mindset about it you know i i get it it is admitting to being childish but i've seen it play out so many times yeah no i i get it like you know we're all just like i think that's something people tend to forget i've brought this up a couple of times in other episodes but a lot of people tend to forget that the people that are maintaining these open source repos are just people. Like, you see that screen name there, you see that profile picture, and it's easy to forget that the person doing that work actually is a person,
Starting point is 00:35:38 and has their own goals, has their own intentions. This played out really well with the um the thing with gnome dropping x11 in the future like that thread is an absolute disaster minefield um or that or the whalen positioning uh thread that i saw you comment on the uh uh ext placement i think it's called now yeah um like that's a minefield even though like they're all like contributors there they're like a lot of people they're like very active in this space like you could clearly see that a lot of people are getting emotional about it we're getting like very attached to their position and not really willing to have a discussion about it it's like i'm just gonna yell about what my perspective is and eventually if i
Starting point is 00:36:31 yell enough people are going to listen to me where that's just not gonna happen like especially some of the most like hot-headed people there just need to take some time away from that specific issue, come back to it later, and just remember the fact that, you know, everybody here is just trying to, especially in that, the, the Wayland placement case, like, everybody here is just trying to make the Linux desktop better, it's just that there is a lot of different perspectives on how it can be made better, and they don't really align with each other wayland definitely had a problem with a lot of talking not a lot of listening and a big technical problem in wayland where there's always tension is is all about whether applications
Starting point is 00:37:23 should be built around Wayland or Wayland needs to accommodate the existing requirements. And those two are at odds with each other. There needs to be balance, there needs to be compromise, but there's not a lot of understanding each other's perspectives and achieving that. And part of this, it's like a social problem behind this, is the people who hang out in hash Wayland on matrix and the main people on the GitLab project, they're all excited about Wayland. Therefore they're in that mindset that everyone's excited about Wayland, everyone should be doing this poor thing to Wayland and doing it just for Wayland. And if you're not in that space, if you're trying to,
Starting point is 00:38:08 in my position, I'm trying to make this in Qt, this multi-platform toolkit, I can't have Wayland specialities in a multi-platform toolkit. So I am very much between this fixed API, which is immutable from Qt API, and this Wayland protocols, which is thisutable from acute API. And there's Wayland Protocols, which is this fixed immutable API-ish. And then I'm in the middle trying to
Starting point is 00:38:31 connect these two things up. And it's an impossible job. And if it's not done right, applications break. And doing an impossible job right is a frustrating position to be in. I did see what you said, let's see if I can find the thread. I don't know exactly what you said, but what is your perspective on that protocol? Actually, for anyone who didn't see my video on it, the idea is that right now in Wayland there is no way for applications to position themselves. So all positioning is up to the responsibility of the compositor. So if
Starting point is 00:39:11 you have an application like GIMP in its multi window mode and the compositor doesn't have any rules for how those windows can be placed, like you might have a situation where instead of the windows being placed you know you have like your main GIMP, what do you call it, canvas with all the toolbars on the side, it might decide okay let's just spawn them all on top of each other, which is obviously not intent, like the intended behavior that you're supposed to be seeing. So what this would be doing is giving that sort of placement ability that exists on Windows, exists on Mac OS, exists on Linux with X11 to Wayland as well. But the Wayland devs sort
Starting point is 00:39:55 of have very different opinions about how this should be done, clients shouldn't be positioning themselves, all of these different perspectives on it, but what is your perspective at least? I know you did say that it's not like a consistent thing among KDE developers, like it's not like everybody just agrees on this is what we're going to do, but what's yours? Sure, I mean it's important, I don't want to speak on behalf of the other Quindevs who do have different opinions, so particularly I iron is the position of this cute Wayland maintainer. And the thing that Wayland's lacked a lot of is thinking about transition. Because people sometimes say when apps port to Wayland.
Starting point is 00:40:38 Apps don't do porting to Wayland. Toolkits do porting to Wayland. Applications get taken along for your ride. Wayland, toolkits do porting to Wayland, applications get taken along for your ride. So Kfloppy, that floppy disk formatter, works on Wayland because why wouldn't it? It's a new version of Qt, everything just works. But that means all your calls that it tries to do need to do something. And it's absolute positioning comes up in all these different places. So pop-ups, if you position, open like a file menu, you want it to appear, it's a new window,
Starting point is 00:41:15 you want it to appear just beneath the file menu. And Wayland has a separate protocol for that where you give it your relative position. And we can fake that on a cute level. We pretend the window's in the top left corner as far as the application code is concerned. And then when it places a menu, it tries to place it in an absolute position
Starting point is 00:41:36 and then we translate it. In theory, that works fine, right? But then as soon as you get near the screen edge, you want the menu to be on the other side. You want to know about, oh, I'm going to go off the screen, I should be somewhere else. And Wayland, brilliant on paper,
Starting point is 00:41:58 has this protocol where you give it all of this semantic information. You say, if I hit a screen edge, here are my constraints, here's what I want you to do instead. Slide the window or flip to the other side of this rectangle. And you don't give it a point, you give it a whole rectangle. And on paper, it is fantastic. It covers everything. And I remember reading it thinking, oh, this is brilliant. I can come up with all these hypothetical situations in my head where it fixes problems that were unfixable on X11.
Starting point is 00:42:29 And reality is a lot of problems, or real world problems, which are only hypothetically fixable. Because from that Q point of view, where I am, I can't just magic this information out of nowhere. I can't work out what the client wanted to do i've only just got this one point that it concluded and that's a huge challenge that's why our pop-ups are sometimes off there's a whole issue of clients don't know their own positions but do know your screens so if you have the screens in a weird position so your top left corner isn't
Starting point is 00:43:07 on a screen all the applications were going oh my menu doesn't fit i'll move it but because that's not where your window actually was it just meant the menu just went flying off into the middle of nowhere when we try to map between absolute and relative and whatnot. So it's great on paper, but it requires applications having to change. And that's an uphill battle. And you need to think about its transitions. I think a good comparison is Flatpak. Flatpak, you're introducing a new way of packaging, but it thought about
Starting point is 00:43:50 about your transition. You can just go to flat C or you can just check some boxes and if you wanted to access all your home folder, you press a button, it accesses all your home folder. And then the application can opt into these portals afterwards. Right. Whereas with Wayland, it's let's get things perfect from the get go. And that's the only thing they're trying to accomplish. They've only got this one path of we're only
Starting point is 00:44:16 going to do the right thing. And granted, all this stuff on Wayland is better on paper but it requires all of these changes to just magically happen which you can't just get out of nowhere I hadn't thought of it like in that fashion yeah having that
Starting point is 00:44:37 yeah no it is trying to like just be this revolutionary change without that transitionary step which is fine for the open source tooling especially but when you start getting into like you know you were part of the x-way on video bridge stuff that was the problem they need to be fixed just doing things in a perfect way where there's no transitionary goals
Starting point is 00:45:06 it ends up just Waylon's got this bad reputation because for so long basic things have just been broken because there's just not been a way to do it yeah so
Starting point is 00:45:23 it's an absolute position it comes up again and again in all these different places. So you mentioned with the pop-up windows, any window with a splash screen, a splash screen you want it somewhere in the middle, and that might be a default placement, but it might not. And on windows on OS X, on X11, you just set a flag and you're done. On Wayland, there is a proposed protocol. And it replaces, instead of just setting a flag on existing Windows, a new window type.
Starting point is 00:45:57 And I made a patch in Qt. And instead of being one line like it was in all the other platforms, my patch was 2,000 lines. instead of being one line like it was in all the other platforms, my patch was 2,000 lines. And then I was so embarrassed of having to submit this to acute devs who don't know Wayland that well.
Starting point is 00:46:12 And then I had to explain to them why this is a 2,000 line patch. And then I just didn't bother because it would ask what to just do better and then I wouldn't be able to have an answer, because the idea is, from a pure Wayland perspective, you don't have API calls that don't make sense.
Starting point is 00:46:35 You shouldn't be able to put a pop-up on a splash screen. But because Qt and every other toolkit abstracts that, from an application- level point of API, you still have all of your options. So instead of it failing at a protocol level, it fails in my Qt Wayland backend level. Okay. So it doesn't really solve much.
Starting point is 00:47:01 But then I'm still left with my splash screens being wrong. I, yeah, I, but I guess it makes sense you would have to, like, because you don't want to, like, fully redesign Qt every time a new Wayland protocol comes in, so you have to, like, force the Wayland protocol to function around
Starting point is 00:47:20 the things already existing Qt in a way that doesn't break existing APIs that developers are using. Absolutely. So that's what I have to do. It's what SDL maintainers have to do. GTK to an extent, though, I think it's fair to say they get- they're in a position where they get to be Linux first. Whereas Qt in SDL, not necessarily Linux first. It's Linux first. Whereas Qt and SPDL, not necessarily Linux first. It's Linux adjacent. They still support us, but it's not...
Starting point is 00:47:52 I couldn't get any public API. It's Wayland only. Because they quite rightly would say what's it going to do on Windows? Any public API has to work. And that means both ways. And then you have products like Wine. People writing Windows applications definitely not thinking about Linux at all.
Starting point is 00:48:15 And Wine's in that similar position that I'm in of you have to bridge it. And they don't even have the option of putting in some specific API for applications to opt into. The Windows calls just have to work to do something. We are just barely getting to the point where game devs are choosing to include the Linux binaries to make
Starting point is 00:48:38 their anti-cheat work. Like, that's as far as we've gotten to supporting Windows programs through Wine. Most things just work work so it's fine but like there's a lot of things that don't. Like at all and probably never will.
Starting point is 00:48:56 You know as your Wine becomes like a complete clone of Windows which maybe look one day, one day we'll be good. The Wine devs are doing great work. I have nothing but respect for the Wine devs, but they have... Oh, absolutely, I didn't mean that against... No, no, but, like, they have, like, a infinitely high mountain to climb that is only getting worse every single update.
Starting point is 00:49:20 Sorry? But somehow are managing to climb it. Somehow, yeah, I don't... There's a lot of intelligent people on that project doing a lot of great things. Definitely. So, when did you start getting involved with the Weyland stuff?
Starting point is 00:49:38 So, embarrassingly, I remember 2008, I looked it up, it was a conference where the then Quinn maintainer And, embarrassingly, I remember 2008, I looked it up, it was a conference where the then Quinn maintainer said, next year will be all on Wayland. Desktop Summit in Berlin. So, I didn't get involved in that was very much it. It's become more and more. So when that maintainer
Starting point is 00:50:13 sort of left there was a gap and I sort of right right. I'm in a lucky situation I get paid to work on what I do. But I mean, if I'm working on something, it means it's considered a problem space. And... What happened with my audio again? What... I lost you again. Why?
Starting point is 00:50:38 What is Discord doing today? Yeah, I can't hear you. What in the world is going on? Okay, I'll drop out again, I guess. Hello. Hello. What? Why is Discord so terrible? We're back, so keep going, whatever you're saying. Okay. Oh, rambling about something. I will need a prompt. We're talking about you getting involved in Weyland 2008.
Starting point is 00:51:18 Oh, yeah. Yeah, so around 2005... Sorry, back to the bit. Around five years ago, I started doing more and more Weyland, and then it sort of snowballed. It started just filling off the void, Around 205... Around five years ago, I started doing more and more Weyland, and then it sort of snowballed. It started just filling off the void, and... Yeah. And there's still so much to do
Starting point is 00:51:34 in terms of getting things right. Right now, colour paint, which I don't think is a particularly big application. You can guess from the name what it is, even if you're not familiar with it. Not all features of that work in Wayland right now. There's a toolbar on the bottom with a color palette. If you click and you drag up, it explodes.
Starting point is 00:51:56 And because it's one of those draggable windows, it's sort of that... And we fixed that in Qt we've got that we've got a proposed uh protocol which isn't approved um we've just currently got support coming up in QN6 and I know in Qt 6 already uh with support for fixing that within QN but but that's not enough. I mean, you want to fix things universally for it to be considered fixed. So we're still waiting on other implementations
Starting point is 00:52:32 of that, and every single thing is just... You can tell what's happened with Wayland. Instead of looking at the public API of SDL and Qt and saying, well, here are our requirements. It's very much starting with this minimal application
Starting point is 00:52:51 and then going, we'll start here, and then add everything as a case-by-case, solving a specific problem that comes up. So you feel like it's sort of designed backwards. Yeah, in my opinion. It's certainly, I don't want to say backwards, because that's maybe inflammatory, but it's not designed with transition in place.
Starting point is 00:53:15 It's not designed with that transition of moving existing clients. Yeah, yeah. And that's the crux of it. If it had been designed by, let's look at all the requirements of all the existing applications, start here and split things out so we can move and change things later. But start with this minimal thing. And then things like injecting keys.
Starting point is 00:53:36 I've been going around in circles for ages with, oh, remote desktop needs to inject keys. OK, we'll come up with something specific for remote desktop. Oh, accessibility needs to inject keys. I'll come up with something specific for remote desktop. Oh, accessibility needs to inject keys. Oh, we'll come up with something specific for accessibility. Oh, input methods need to inject keys. We'll come up with something specific for this. And we've ended up with multiple solutions to effectively the same problem. None truly as standard as they, as universal as they should be because you've got portals you've
Starting point is 00:54:07 got libvi and they all sort of come together but still in flux and it's still useless case coming up with you know oh now we're gonna have test frameworks wanting to do the next thing and always use cases which are similar but subtly different. And you're 98% of the way there with all the Weyland stuff, but each of that remaining part requires so much work. They're huge projects on their own. Yeah. I wasn't trying to just say Weyland was a disaster and stuff, but what I was really trying to say with it was like the idea is it wasn't designed around existing use cases it was designed around this theoretical
Starting point is 00:54:54 sort of improved desktop like this is what we want to do not how can we do something that improves upon what we have that brings everything along with it yeah absolutely and that's fine I mean a bit depends on whether you expect ex-Weyland to exist around forever for all of these old old applications or whether they should come along to Weyland and then start chopping things down afterwards and I'm of the perspective that it's easier to get along to Weyland and then start chopping things down afterwards. And I'm of the perspective that it's easy to get everyone to Weyland,
Starting point is 00:55:29 do your splits you want to do, and then start chopping away gradually at making things of, oh, now we want to introduce a pop-up way and now we want to introduce a splash screen. Now we want to do that afterwards. And session restoring for window positioning. I don't think it should be controversial that you should have a system in place. Have people use that. Introduce your new system like you'll introduce your session restore for
Starting point is 00:55:59 your absolute window positioning. Wait a couple of years for people to opt into it and then remove the fallback rather than not have a fallback and expect people to use something that doesn't exist and then make those people do their work on implementing it because that doesn't work. And we do see a lot of people making wayland issues. The compositor developers aren't going out into clients and then, okay, I'll help you make those Wayland changes.
Starting point is 00:56:31 They focus on themselves. And there's only one person who has patches in GTK, SDL, and Wayland. It's GTK, SDL, and Qt. And that person's me. And that's kind of a... I looked it it's not not not meant as a brag it's meant as a everyone's a bit too inwardly facing i think if you what we should be in a position of if someone implements a protocol for doing curses in a different way that they should be helping going into other projects and actually doing that work and we're not seeing that it's just that yet there is a very small list of names i can make like
Starting point is 00:57:15 the obvious mention is like neil gomper like neil does a lot of work in everywhere pretty much he's not big on the gnOME side but like everything else like Neil is like incredible I love Neil's work you got work you got people like Dallas Strauss doing incredible work as well but like this is a very very short list of people. Yeah, yeah. But... What... Go on. I mean, Wayland just needs a bit more cohesion and working
Starting point is 00:57:54 together towards that common goal of we all want Wayland. Let's all make this happen rather than putting the tasks on other people. It requires us doing the work everywhere to bring the applications up. I think the big issue... I think the
Starting point is 00:58:10 big issue you have with Weyland, and this is just a natural problem of not having like a BDFL or some sort of clear leadership, is Weyland is very much designed by committee. Like most FOSS projects
Starting point is 00:58:28 are like this, but most FOSS projects don't have as wide a scope as Weyland. Like I'm sure that there is a lot of bike shedding on random KDE projects where people have different ideas and how to do things, but everyone's trying to do KDE. Like, this is a very set, like, you all agree on, like, fundamental things. Like, we're going to do this with Qt. We're going to use, like, the KDE APIs. You all agree on, like, basic things. The Wayland problem is that nobody agrees. The only thing people agree on is we're going to make Linux better,
Starting point is 00:59:02 which is fine, but there's a lot of ways to do that. Absolutely. And having people push in different directions is fine as long as everyone listens to where everyone's trying to push and trying to compromise. And that's the part that's lacking. And you're right, there's different perspectives. People trying to push for a security model,
Starting point is 00:59:22 absolutely valid goal. People trying to push for compatibility. My goal is people trying to push for a security model, absolutely valid goal. People trying to push for compatibility. My goal is if people trying to push for Wayland Everywhere don't want to necessarily rely on these portals and D-Bus stuff that you know people are pushing for. And different sides. Yeah, it's tension.
Starting point is 00:59:42 And it will get there. I mean, things keep moving forward and that's my positive spin oh yeah things are going a lot better over the past couple of years like my favorite example is just just like three years ago OBS didn't work on Wayland like you couldn't capture your desktop George Sorakas did great work getting pipe wire video capture to it like work like before that like you just couldn't capture like it just would maybe there was like a special tool for certain desktops but there's nothing generic. Like George, he's one of the few Qt GTK contributors who's ever submitted
Starting point is 01:00:17 a Qt patch. Wow. One of three people who have GTK and cute patches. I don't know why I've sort of memorised this list. I don't know why either. Face in my brain it could have been used for something else, but I'll use it to shout out to George for being awesome. But as
Starting point is 01:00:42 you've been going through this whole KD and Wayland stuff now, there have been a couple of problems that but as like, as you've been going through this, this whole Katie and Waylon stuff. Now there have been a couple of problems that you've been directly involved in solving. The most notable ones are probably the compositor robustness and the ex Waylon video bridge. Um, I'm sure you've done other things,
Starting point is 01:01:02 but those are the ones that directly come to mind that i've certainly uh talked about nice i've been life's work summarized in a sentence no um seriously as i had to highlight um yeah x wayland video bridges is good because it ties into that last topic about transition and i'm quite a big believer in this don't break user space rule and the people did x-rayland excellent job and it does a lot but and to go back to our flat pack analogy your stuff not in a sandbox doesn't break just because the flat box pack exists and I think a similar situation here we shouldn't have the stuff in x regress just because the Wayland stuff exists and unfortunately the more esoteric apps are ones that are harder to push to Wayland so
Starting point is 01:02:06 gaps are ones that are harder to push to Wayland so they're ones that need to support. So X-Wayland is still important and it's become a big part of the project. I mean X-Wayland video bridges are arguably a small part but it was visual so it's why it gets talked about. The thing we spent the most time on was making sure in X-Wayland, when you use fractional scaling, and Wayland scaling you set to be scaling of 1.5, you don't want everything to appear blurry, X11 apps to appear blurry, because X11 apps don't know about your Wayland scaling mechanism. And the whaling scaling mechanism is fine but it requires the apps to do something right it requires the app to say i know you've given me a size i know what scale you want me to be therefore i'll do translation and report back saying i've opted into doing this
Starting point is 01:02:57 translation that's a summary of how it works and it's it's absolutely fine it's a good enough system but you can't retroactively add that into x where apps don't know about that so we've put a lot of work into having quinn just take care of that for it and saying to x i'm not going to tell you a size wayland uh logical size i'm going to tell you actual size, and then I'm going to translate all of your inputs and windows about so that they match what's really on the screen.
Starting point is 01:03:33 That was a huge operation, but it's working quite well now. Particularly, you've mentioned games. I was going to be on ExoWayland for a while. That's really important. You don't just... Either waste resources blowing them up and scaling them down,
Starting point is 01:03:50 or just making them blurry, because when you've bought a fancy graphic card and then you're upscaling your game you're playing, it'd be awful. I could really do a whole two-hour video just on the the wine Wayland patches because there's like seven
Starting point is 01:04:09 patch sets at this point it is a long and arduous process that's a while away from happening but it's making progress eventually definitely but I mean for now
Starting point is 01:04:23 we're using Discord right now. I mean, I'm running application. I don't want that looking blurry. I want the font to look like proper font. So that's a scaling thing. Another thing we did was making sure shortcuts still work. Yes, yes. We used a Discord example,
Starting point is 01:04:41 pressing a button, push a talk, find a new one, let's work. Wayland's got a concept of not allowing keyloggers, which is reasonable. I'm going to say it's not reasonable. But what we've introduced in Quentin is a setting that says if you press a combination or just control or shift on its own, it can send that to x. Your password isn't going to consist of ctrl or f or the volume up key. It's only going to consist of actual letters and numbers. So anything else isn't security sensitive. So we can share that.
Starting point is 01:05:26 If it unbreaks applications, and it's a setting that's unfortunately off by default, but I mean, that's maybe a discussion, but at least there's a path. At least there's a path to say, we're going to fix all your shortcuts and still do it in a safe way. And I think that's important.
Starting point is 01:05:46 It's not just we've given up. We're not saying, oh, just let everyone be keyloggers. You can actually solve the real problem that your users are facing without having to jump between these two extremes. That is one of my personal pet issues because I use OBS a lot and I will switch between my scenes using hotkeys on my keyboard and that's something that I can't do on Sway. I could do on Hyperlane because they actually have their own system. I can do on
Starting point is 01:06:16 KDE because there's like, you know, a system now, but that's a- that- like if I don't have that, that's a massive regression. Like there are like weird work- one of the workarounds I was gonna do was have like web sockets to do it because that would be the only other reasonable way to make it happen, but having- like, I know the end goal is like the global shortcuts portal, like that is the- the intention, but you are- like, you've made this point a bunch of times, having these transitionary steps until
Starting point is 01:06:47 you get to the actual good goal is so important, because the user doesn't really care about how it works. Like, there are these nerdy users who care about the technical stuff on the back end, but at the end of the day, like, I want my things
Starting point is 01:07:03 to be working, and I don't really care how you get to working yeah absolutely i i i think the kde side you've got things a bit harder than if you use don't sway wait it's got your word way in the title you'll go out of your way to only find apps that work in Wayland and there's nothing wrong with that it's just that's what your user base is catering for to not lose some of my existing user base I have to make things work for people that already have this hatred of Wayland and I think it's perfectly reasonable for me to say as a desktop engineer,
Starting point is 01:07:47 I control how your pixels get to a screen. I control how your input gets to your application. I don't think it's reasonable for me to say that media player you use from United because you like it shouldn't work anymore. And I think that shouldn't be my call to make. I think it's my job to make that work. So we've got your scaling, we've got your shortcuts. My favourite feature, the old X11 system tray, the version before your DBus standard, the version where you put a window and you embedded it in another window.
Starting point is 01:08:20 That still works on our Wayland implementation. It's a version from the 80s, and it works. The way it works is horrible. We don't talk about the way it works, but it works. You can run hex chat, which probably hasn't been used since whenever it was last written. It's my go-to example. And, yeah, system tray appears. can right click on it you can left click on it as far as it's concerned it's got its own little x11 window embedded in another panel somewhere. That panel happens to be off screen but it doesn't know that.
Starting point is 01:08:59 mm-hmm that is such a janky hacky method but I love it that's awesome Oh yeah and then that communicates via Dbus over your newer protocol to the system tray by just taking screenshots of it occasionally That is disgusting, I hate that
Starting point is 01:09:19 But what's interesting is I broke it That's not an interesting part I broke it for some esoteric setups, I broke it. Right. That's not an interesting part. I broke it for some esoteric setups. I broke it when using multi-monitor and with scaling. Right. You know. Okay.
Starting point is 01:09:32 Yep, yep, yep. Fair enough. I did that. And then we got bug reports. So that's how you know something's being used. Because if you break it and then you get bug reports, then it must be being used. And obviously somebody else went and fixed it because there's fuxing when, more shout outs. But yeah, and I think it's
Starting point is 01:09:56 important to not break other apps. And then that brings us to X-Ray and Video Bridge, which you wanted to discuss, which came out of an accident. We were using conference calling for work. We're actually using Discord to chat with somebody. And I like sharing screen to go over some code. And I've hit a problem where I can't share my code with somebody. And we're actually working on put some pipewire implementation Because we use pipewire quite a lot for you know when you hover over a task manager you get a little previews. Ah, yeah
Starting point is 01:10:43 Yeah, so we're using pipewire for that because it really helps us test all of the remote desktop stuff that's used for more edge cases. So using it as a daily driver. And we had some issue on some driver, some content were flipped or something. I can't remember what we were doing, but weird esoteric stuff with streaming. And the best thing you do is you have a test tool, you have a window, it shows your contents. And all this stuff with pipewire doesn't actually involve Wayland at all. It's pipewire. So I just went out and forced the platform to X11 and I can show a content upside down. And I was like, actually, you can see not just my debug tool,
Starting point is 01:11:26 but you can see a content of that debug tool. You can see what we're doing. That's actually quite a useful product. And we had all your code. It was written for a test. All I need to do is tidy it up, make it full screen, and do some slightly questionable things or making it appear invisible so you don't see a window twice, which
Starting point is 01:11:51 involves some creative code which no window manager developer should ever look at because they will shout at me. But I mean it shows the importance of being able to do these crazy flexible things I like that. And yeah so we packaged it up and we were planning to release that as an application of if you want to do the streaming open it up. And then I took it to people paying me and it was like oh we came up with this idea, didn't take us long, and then this fixes this extra issue. And they were like cool and now you're going to make it automatic, right? No.
Starting point is 01:12:29 No, that would be literally impossible. And they're like, yeah, you'll make it automatic. I left a call thinking, I've got no idea how I'm going to do that. I'll put in two days and then write up a report saying it was impossible. That was my plan. But and started looking for options and managed to make something that worked there's x11 extensions to let you know when other events happen to other clients and i could detect when somebody tried to redirect, when any client tried to call a redirect method for a window,
Starting point is 01:13:09 and which window ID it had. So it's a very lightweight filter. It's only intercepting this one event. And then I check, does that window match my window? If so, boom, pop up the portal. And I was quite surprised that we found something I mean it was a third attempt and
Starting point is 01:13:29 yeah I'm quite happy with it as an end user product and hopefully I was going to say I guess that's what happens when a protocol's been around for over 30 years there's going to be like weird edge case built in every
Starting point is 01:13:44 like just weird ideas that someone has at some point like i'm just going to extend this on and just happens to find something that does what you need absolutely i mean i feel like i'm doing more x11 work since we started working on wayland and i ever did back when back when i was actually working on X11, ironically. So I never had to open X11 source code before. Now it's almost a regular occurrence to try and make sure all your sex ways and stuff works as well as it should. And eventually you actually got something that, like, did the job.
Starting point is 01:14:24 Like, you can just share the thing you want to share which is awesome. Apparently it doesn't work too well under GNOME. Right, that's fair. Or in a Wazbug and Sway which was entirely my fault. Fix and version 0.2 out today.
Starting point is 01:14:42 Oh, nice. I don't know when you're releasing this. So I don't know how to run and actually do this. Next Saturday, I believe. Okay, so I'll make a release before... Now I have to time... Never promise anything.
Starting point is 01:14:59 Never mention any dates, never promise anything, and you'll be fine. You say, working on it, get it when you get it. It's been fixed, I just need to make a release. Fun paperwork of that. So yeah, it should open up to a few more desktops. Oh that's good then well obviously like your you know initial intention was to get it working like in plasma because like that's what you were using um it wasn't the intention to like have it broken on other things it's just like that
Starting point is 01:15:37 you know there are additional requirements you need to do to get it working elsewhere because once again and ultimately at some point this won't be, at some point, this won't be needed. At some point, all of your cases will just be Wayland native. I mean, I don't know what other applications exist. Discord's that common example that we keep going to because it's one that
Starting point is 01:15:59 got a lot of users. Slack, I believe, has issues. Zoom fixed their stuff. Okay. Which is crazy. I guess all of that, like, remote work money, they actually went to good use and they fixed some stuff. But Discord and Slack are basically the only two that I know of that matter, at least. Yeah.
Starting point is 01:16:19 Yeah. That matter part's a bit interesting. It's going to be some random commercial internal tool. And I mean, I want to have that available, but it doesn't necessarily need to be part of a Plasma release or anything. It can just exist somewhere on the internet. So that one company with that one weird internal tool can go grab it and continue their rail import.
Starting point is 01:16:45 Like, you mentioned that, and that makes me remember that, um, I think it's, like, five years from now, I don't remember the exact year, but Red Hat is planning to, uh, like, deprecate X11 from RHEL. So, when that happens, like like that's what we're going to hear about the commercial applications that just suddenly don't work yeah and there's definitely a situation where right now people hit a first wayland issue and then just switch yeah and there it's a silent
Starting point is 01:17:21 number you don't know how many people are doing that. I know in metrics from KDE, I know our Wayland numbers are going up and up steadily, and we haven't even made it to default. Now it's hitting around 15% or so, which is quite low, but given it's not a default, it's not that bad, except on Fedora. But in other stats are different.
Starting point is 01:17:52 Aiming on Linux.com shows Plasma Wayland usage going up and up and up and up. But overall, I think Wayland's still way beneath X11. Yeah, it depends on... I don't know, because my... I did a poll recently amongst my audience, and my audience is the more techie audience so it's like I don't know how accurate that would be to more general the general people but
Starting point is 01:18:13 amongst my audience Waylon was bigger but it's like within like 10% of like so it and then Gnome it's like a lot bigger, like they're like much more on the Wayland side, but KDE, I guess, cause KDE is more of that, like hacker desktop. Like there's more of those people who are like going to have these like 30 year old X11 setups that they just,
Starting point is 01:18:40 for whatever reason, don't want to change. I think also that big passive group, the people who don't follow blogs, there's no reason to... A lot of people won't have heard of Wayland. A big group of otaku won't have heard of it, won't care about it. Yeah. And at our point,
Starting point is 01:18:58 it defaults to the only thing that matters. Yes. I think that's a big part of why you can own a figure with the Wayland side. Absolutely. Absolutely. And I think that's a big part of why you can only figure with the Wayland side absolutely and I think it did it again
Starting point is 01:19:11 why? why does Discord keep doing this? every 20 minutes it decides that it doesn't want to let you speak okay let's do that again hi we're back. Hello. Hello. Clearly Discord wants to do an x11. It really does. I don't know what's going on today.
Starting point is 01:19:34 I mentioned that defaults bigger, that's why Gnome Wayland is way bigger than the x Xtalk side. I don't know what you're saying after that. Yeah, yeah, so Yeah, so the vast majority of our user base Don't care about X11 or Wayland. They won't even have heard of it. You need to follow developer blogs and Or some sort of social media, reddits or whatever There you can't escape it, but a lot of the people are just getting on with their jobs using it to browse the web or write their thesis or whatever. For those finishing FHEs. And
Starting point is 01:20:14 so they're not going to care. Defaults are the only thing that's going to matter. And I mean we could flip our defaults. It's it again. Why? Why did it do it again? Oh my go- I don't know if this is like- I- I've not been having any audio issues all day. Like, this- it's just Discord right now that's causing issues. Sigh.
Starting point is 01:20:43 Okay. Hi. Hello. Okay. Hi. Hello. Okay. Go ahead. Continue talking. We can change the default now. We can change the default next release. And it would have been fine. I mean, if people with a common case... All the common cases are fine. I mean, I've been using Wayland Daily Driver for years. Probably be fine for the majority. But we would definitely have a vocal minority of people be upset in that process.
Starting point is 01:21:16 And I want to find that balance of not upsetting too many people while still getting a majority getting a benefit to Wayland. upsetting too many people while still getting a majority getting a benefit to Weyland. Yeah. So I think gradual process makes sense, but there's going to be some cut off and some level compromise where we do upset some people, but hopefully that can be as small as possible. Mm-hmm. Well, on that note, what do you think of the whole, you probably heard that Neil wants to drop the whole X11 side from Fedora KDE. Where do you sort of stand on that yourself? Do you think the KD's in a state where most people are fine on Weyland?
Starting point is 01:21:57 Or do you think there are still areas where you would like to polish up first? On a technical level, I think it would be fine. On a social level, I don't think I necessarily agree with this idea of... I mean, there are things which will progress. And motivating them by breaking their stuff is not a policy that I think is very sensible. Right.
Starting point is 01:22:27 In terms of carrot versus stick ways of motivating people, you need to make that carrot bigger and more accessible rather than just introduce a bigger stick. And making your stuff, taking away an option it will work, it's definitely a way of encouraging people but in terms of if that's the right way to go about things, I'm not sold and I think everything can be done traditionally i mean i know i've been on raylan by default for a while i don't know how many of their users then change and i think having
Starting point is 01:23:14 that stat would be certainly compelling i do like as many stats as possible yeah yeah and plasma 6 is going to be a big jump in terms of wayland support because we've had our toolkit frozen for so what so long and now it's going to get a jump of all the work we've been doing for the last three years it's going to be better sorry go on i was just going to ask when um when did Plasma 5 come out? 10 years ago, roughly. Okay, yeah. That makes sense. It's been a long time.
Starting point is 01:23:56 So I'm going to look it up and go it's actually 9. I'm sure. Yeah, I should know these things, but I'm old. Yes. So is it the right approach? In terms of what you gain versus what you lose, when you take away X11 and the fallback option,
Starting point is 01:24:16 you lose quite a lot. I don't see what a gain is other than bullying people into doing more work. So it's that effort of what other games are there because it seems relatively small. Hmm. Okay. So I'm not sold on it, but I mean, it's not my project project so I want to make Wayland as good as possible so if they do that things don't reflect badly on us and we'll definitely
Starting point is 01:24:50 make sure that happens and I do trust Neil to have all the information before making whatever your call is but having full backs is good in my opinion. And we should change the default and just keep increasing our motivation rather than
Starting point is 01:25:11 keep increasing a... Increase a carrot rather than increase a stick. At this stage, is X11 still the default of the project? I mean, in terms of the default, it's what a logger manager has the first time round. X11 is the default, but configurable by distros. So, yes, it's a default, but I would expect every developer to be running Wayland, which also is a problem because then potentially we're introducing X11 regressions. And the sooner we can drop some code, the better. Wayland stuff is held back from the fact that we've got
Starting point is 01:25:56 some of this X11 stuff. No one's utilising some Wayland features because I'm inviting two code paths and that's not always feasible. Or having features that only work in one place, which nobody wants to do. So once we drop X, things will increase with more Wayland features, more reasons to actually use Wayland. But,
Starting point is 01:26:23 whether now is the right time. Right. From my point of of view we need a few more releases with us being a default from my hat because we haven't had that and we'll see that soon well there's still like a list of blockers that are like i i don't know what the link for it was but like there is a list of kd blockers that still exist yeah i mean it's a wiki so i mean take it with a grain of salt that people are adding stuff on there. But, yeah, session management's on there.
Starting point is 01:26:53 And crash handling is something you might want to bring up. The color management thing's also, like, a big one. Like, that's... Yeah. Yeah, and color management's got a couple different steps but basic srgb um stuff will be in plasma 6 i've got no doubts about that and then i think we'll just see where we are when we come to the feature fees and then make a decision based on what information we have then. So you don't see a near future where X11 has gone, but you
Starting point is 01:27:28 see a near future where at least... Right now you would say that it's sort of the development focus, like Wayland right now? Oh, unquestionably yeah. All of the developers I'd expect to be on Wayland. And developers of other projects as well, and not
Starting point is 01:27:43 just the Quinn and Plasma people, but you know people maintaining Colourfaint or KMyMoney or all of this. I want to see more of those people start using Wayland. But you don't see... Not just developers but also people who hang out in social media. The people who watch YouTube with Way Wayland in the name they're going they're going to um have switched over already you say that but my comments are like there's so many excellent comments there are every time I talk about Wayland it's like tons of excellent comments and but this goes back to the whole there the people who are most passionate are going to be the loudest. And the people who are on XOR at this point are the most passionate people.
Starting point is 01:28:34 Because it does deal with the use cases for most people. So anyone who's left over, are those people who are like, Okay, I have this network transparency set up. I have this, like, weird set. Like, it's going to be those people. It's not just like, I write code on the weekend. Like, those aren't the people who are, like, desperately holding on at this point.
Starting point is 01:29:01 It's like the people who are, like, it's like the Devuin users. Like, if you're using Devuin, you are very strongly against System D. Yeah. Which goes back to the point about vocal minority. I don't necessarily care about those people. I do care about the silent majority
Starting point is 01:29:19 who just want to get their work done. But hearing from the silent majority is also challenging because of how silent they are. So you don't see a... We're not going to see a let's drop X11 merge request from the KDE project
Starting point is 01:29:37 anytime soon. I would be surprised if Quorum were to land. I wouldn't be surprised if somebody were to make Worm just having seen Neverworm. You don't expect anyone actually, like, respectable in the project to do it just yet. Not just yet, but pushing a default is definitely coming.
Starting point is 01:30:02 That I would expect. Yeah, I mean, it's time for that it's gonna we've got this list of requirements you just brought up um and when that's all ticked i yeah i guess you did bring up the whole um you you mentioned like the session restoring stuff the robustness stuff like we can talk about that as well, because that I think is also really, really cool. That I had no idea was even being worked on until I saw the blog you put out about it.
Starting point is 01:30:34 I guess just briefly explain what the issue was and how you were trying to go about it. I mean, so the issue we've seen is X server hasn't been touched for decades, super stable, partly because of that. It's also got a lot of separation between that and the components that are being touched quite a lot and doing crazy things, the compositor,
Starting point is 01:31:03 because the compositor is doing all sorts of flashy 3D effects and it's doing all sorts of other jobs, doing your screen sharing, it's doing global shortcuts, the compositor is taking more and more jobs and you don't have that separation, you've got everything all together and if it were to crash you lose everything you lose all your stuff you've got going on and it doesn't happen often but it's enough and it's just knowing that it can happen and that's a sucky situation to be in you don't want to just lose all your stuff so we set out to try and fix that and the solution is very simple. Instead of clients quitting when they detect that the compositor is gone, they don't. And obviously that part's easy, but you still need to come back and say,
Starting point is 01:31:59 OK, I remember I was showing a window. Here's all the information for that window again. And if you're using a toolkit, which the vast, vast, vast majority of applications are doing, that's pretty trivial. Your toolkit knows about the current state that we were in. And it also knows how to cancel any operations that were happening, if you were doing a drag and drop, if your was held down or if you had keyboard focus so all we need to do is have your toolkit pretend a bunch of events have happened and then the applications come back and i mean i'm not going to do it right now but i could run quinweil and replace and applications come back. And most importantly,
Starting point is 01:32:46 because transition is very important, I don't need to touch those applications. Yep. So I wrote support in Qt and that doesn't have any external dependencies, that's going to be in Qt 6.6. So any application using Qt 6, with maybe a few exceptions for some quirky whaling things, will just reconnect and restore. And even if you're using some KDE libraries for other additional whaling things, they've all got a restart handling, it'll just come back, same as before. Other than your windows jumping about, you don't really notice it.
Starting point is 01:33:23 windows jumping about you don't really notice it. But it's not just about Qt. We also have patches for GTK and patches for SDL. The challenge with those is we also need patches in Mesa, well not just Mesa, obviously in VideoDriver, some patches in the graphics stack because we need to tell them here's a new pointer to a new connection. And all they need to do is update one tiny number
Starting point is 01:33:52 between here and this space. But sorting out that is challenging. So we've got a proposed GL extension. I've been putting it off because most of it is just dealing with all of the politics of it. GL extension I've been putting it off because mostly about just dealing with all of the politics
Starting point is 01:34:08 of it and my intention was I had some pushback with people saying oh this isn't going to work I managed to make it work without any dependencies so once we start seeing that once people start seeing well it does like I've tried it
Starting point is 01:34:24 20 times and it keeps coming back and i can't break it then when i submit these other merge requests people are going to say well actually it's it's it's fine let's do it let's let's opt into this so that's all my plan is i'm quite a slow person um because i've been doing this for years just every now and again just pushing things forward trying to get a cute side in. And once that's more established, I'll just upload these other patches. And SDL has already merged some of this stuff already behind a niff death. So SDL support is coming and I had Counter-Strike. CSGO has Counter-Strike, isn't it? Yeah, yeah, yeah. Okay. I had CSGO just surviving,
Starting point is 01:35:08 just catching any issues. And I technically had to patch that game to use a newer SDL, but I didn't patch the game itself because I can't. And, you know, SuperTuxCart, all these things, they just worked. And the patches are fairly minimal.
Starting point is 01:35:27 I've got GTK patches, I was running Gnome Chess and all these other things. Something like Firefox might prove harder, but Firefox already has its own crash handling system. So one of the design goals was to be flexible. If Firefox is better off just quitting and reopening, well, let's do that then. And we just need a small hook to reopen it again, and maybe not have that prompt saying,
Starting point is 01:36:03 do you want to restore your session? But that should be a relatively small patch and and then we're flexible with different approaches and i think that's important get something to talk it to handle everything if you want to do something on your own do something on your own something like wl paste a command line tool to paste something from your clipboard if the Wayland Composer crashes, that exits. Who cares? It doesn't matter. What matters is your file transfers and all of your more boring stuff. So it's not an insane concept. Windows does this under your hood, but it's under your hood. Because Wayland's so low level, I'm having to re-implement it in a few places.
Starting point is 01:36:48 But it's going to work. And it's going to... Hopefully most users will never see it. But when you do need to see it, I think having that safety net is important. That... And I think that's, having a safety net is important. That is not, sorry. Sorry, yeah. No, no, I've gone into just giving a presentation mode.
Starting point is 01:37:15 No, go ahead, that's fine. Okay, yeah. But it's not just about crashes. I mean, the developer experience, we're going twice as fast as we did before. Because I have my print statement. Like, uh, press the button, Quinn's come back, I don't have to reopen my IDE. Why is Discord like this? Why does it keep doing this? It's done it again.
Starting point is 01:37:42 It does not want to start this conversation! Go on, take, Let me just see something. Yeah, I'm looking at my QPW graph. It says everything's still connected, so it's just Discord that decides it wants to cut out the audio. That's really weird. Um...
Starting point is 01:38:04 I thought it may have been like Pipewire dying, but there's nothing wrong on Pipewire's end from what I'm seeing. I don't know. Um, I'm not gonna fix it from here. Yes, uh, shall I continue? Yes, yes. Yes Shall I continue? Yes It's not just about crashing Developer experience has increased significantly
Starting point is 01:38:32 I can just add my print statement, restart and just continue where I was getting information and I think it's helping why we've seen our Wayland productivity just jump in recent weeks, we're catching up so much faster than we did before. And that's good.
Starting point is 01:38:50 Plus it opens up some new advert news that aren't just about crash handling. I did some demos in my blog, which I know you saw, of switching between different compositors at one time and having that just work and so i have some extra caveats in here in the version that's being shipped in cute there is some detection of making sure that you can't replace a compositor because that could be a security role sort of right we check your original sockets the same. So I just had to disable that code and disable that code in SDL to do this demo.
Starting point is 01:39:31 So cheating slightly from the ship code. But it's definitely doable. And with some added infrastructure, you could sort all of this out. And that's interesting. maybe not just for globally, but if you could do this on a per application basis of saying well I've got this one application open now send that down Waypipe and then bring it back or stick it on another compositor which is purely on even on a different GPU or anything like that that's got some added perks
Starting point is 01:40:07 like I don't know where you want to take it I just know it unlocks it so we can take it in some of these places just having something there that's being shipped that then people are like if you give people the option to mess with something they will find a use case for it
Starting point is 01:40:26 a use case that you'll have no idea why anyone would ever want to do but they find it useful for some reason absolutely i think yeah i'm not going to tell people how this can be used i think other people are going to tell me and absolutely's going to be interesting. And another thing I demoed and again, this is stuff about robustness handling. That's stuff that's shippable quality. It's being shipped. It's other stuff in more researchy, you can't use it right now state of checkpoint restore in user space of having this application, suspending it to disk,
Starting point is 01:41:09 and then moving it to another machine and then reopening it. All of this becomes possible. And I remember I was reading through your Creo docs and kept seeing, oh, X1111 you can't do this x11 or you have to also nest an x11 server horrible hacks we're using vnc to try and achieve this stuff and they kept saying it was not possible it's not possible and it was like it should be possible now because i'm not um because we don't actually if you can handle a composite crashing, you can handle it being a new composite when you reopen. It's the same thing, you just need to close the socket. So there is actually a patch in Creo which I didn't mention, again, cheating. There's a patch in Creo that says if you find the socket Wayland 0, instead of saying you can't handle it, just close the socket.
Starting point is 01:42:04 It'll be fine and it's this tiny tiny patch of don't suck it it'll be fine and and then everything just unlocked everything just worked and it has all the same caveats that using checkpoint restore and user space has like if if you checkpoint color paint Paint and then Update Color Paint and then try and resume it, it will just say no. Which is fair enough. And it does detect it, it does just say... It's a very long message that effectively is no, but with a lot more words. And there's also some issues of if a PID's already being used and other caveats but I think when you combine this with flat packs some of those problems start to
Starting point is 01:42:55 go away everything's its own PID namespace everything's its own mount namespace you can control what version of something you know exactly what's in that bundle there's not a lot of stuff coming from the system and you can pin a version so and you can prevent update or warn something so this isn't a solution in itself it's we've unlocked this somebody might want to combine it with these other things and make something new maybe Maybe I don't. Maybe it's something that will only exist for a few niche cases, but I think unlocking it could be
Starting point is 01:43:32 interesting. I just think this is really cool. Just the fact that somebody thought this was a good idea, and just, like, let's see if it's possible. Everyone's like, no, it's not possible. But you're like, no, I'm going to do it. Like, that's just awesome.
Starting point is 01:43:54 It kind of reminds me of how... I think it was DXVK came along, where the author was... No, it was the DX9 translation, I think it was DXVK came along where the author no it was the DX9 translation I think it was one of the parts where Joshua Ashton was like hmm people are telling me that this is not
Starting point is 01:44:17 possible there is no way to translate these DX9 calls into something that works on Linux no I'm gonna do it I don't care what No, I'm going to do it. I don't care what you say, I'm going to do it. And then he did it. And now we have TXPK and like everything just works.
Starting point is 01:44:34 Absolutely. So, and this has still got to enter mainstream. And is this a difference between something that we rely on for a few apps and something that works everywhere for every niche case but and it's handled everything i've thrown at it so gonna be interesting to see i think what just space which is space so something sounds like something a YouTuber would say. I'm fine, I'm fine. Take over as well.
Starting point is 01:45:08 It kind of sounds like it, yeah. Or someone who's trying to pretend to be a YouTuber. Wow, that was an absolute burn. So I presume at this point you are just daily driving driving Wayland, like just full stop, yeah? Absolutely, yeah, yeah, yeah, yeah. What are you actually using as a distro at this point? I use Arch. Okay.
Starting point is 01:45:37 The thing with being a distro is all of the stuff that I'm working on, all of the KDE stuff, that's all self-compiled because it's a lot easier to just jump in a project if you've got that available. So to a large extent, it doesn't really matter. But for that reason, anything that's KDE specific actually ends up being in the way
Starting point is 01:45:58 because then I've got all of their customizations. I don't want to distro those KDE packages. So I needed something that's as vanilla as possible and nice and up to date so that's where Arch kind of fits in. Yeah I guess that makes... look you could have gone on Gen 2 if you want to compile everything. I don't want to compile everything. I mean for all of this restart work, I've been trying to do some patches in Firefox and Electron and it takes a while.
Starting point is 01:46:29 It's like definitely you start something going and then you work on your laptop on something else for your day. You're saying there's some, possibly some issues with doing like the restart on Firefox.
Starting point is 01:46:39 What would have been the problem? And I know obviously they have their own like recovery system, so it makes more sense to use that, but why would it have been an issue with Firefox to do it in another way? Simplest problem means they use
Starting point is 01:46:54 GTK3. Changing GTK3 is impossible. Right, okay. You can get a bug fix into GTK3. You're not going to get a new feature. And that does put a bit of a problem in this restarting work. It's only going to be... If you want to rely on it for all applications,
Starting point is 01:47:15 it's going to be several years down the line before all your applications survive, because I can't do anything for classic apps. I can do something for X-Wayland, but that awkward gap in the middle of these Wayland clients are on Wayland and are old. My file manager is PCManFMGTK2. At least you're running on X-Wayland, so that'll be fine. Yeah, well, actually, I'm actually on X11 right now.
Starting point is 01:47:44 I am very heavily... You have no idea how many comments you're gonna get from that. You're- No, people know that I'm being awesome right now. I was using Hyperland, I had some- So, I know that KDE does not have this issue. On KDE you can capture like individual windows on Wroot you can't there's like
Starting point is 01:48:09 there's an open bug report about it for a while you cannot do pipeline video capture for individual windows, it's a known about problem, there's some issues that Simon's been trying to deal with for a long long time but Hyperland has a custom portal that lets you do the window
Starting point is 01:48:27 capture um i was using hyperland the custom portal you know whenever you're doing additional things on top of what's already there you might have some buggy code and there were some issues that were causing my entire compositor lockup at the time so right now I'm back on X11 but I'll probably- Only you had a way to restart a compositor without losing your running apps. Imagine that. Well I have- It's not just about crashes, it's about your lockups as just as- I have said that I'm probably gonna swap to Plasma 6 when that comes out. It'll be my first desktop environment I've been using i3, BSPWM Awesome, Hyperlens, Sway
Starting point is 01:49:09 It'll be the first time I actually use a full on desktop environment We have a reputation with.0 releases so I'm not going to throw it out there but no, yeah, it'll be fine I know about I know about... I know about four. Four is obviously the most...
Starting point is 01:49:29 Yeah. No, 6.0 is not going to be the same state. Yeah. And, yeah, definitely try it out. And then I expect to... I'll be in the comments saying nice things. Well, look, surely everything I've heard, it's not like a revolutionary,
Starting point is 01:49:53 we're just trying to reinvent the wheel situation. It's like, we have a wheel, let's put some rubber on it. Let's make the wheel a little bit better. The thing with these big releases is it's not so much about adding stuff it's more about removing some old stuff because it's only time to get to break API and that is problematic is it's your only time to remove some old stuff. And sometimes you do need to remove some old stuff to go forwards. And yeah, so point O releases generally shouldn't
Starting point is 01:50:32 be that exciting. It should just be the same, but you remove loads of stuff. And it's kind of frustrating because from a user point of view, you expect point O, big new number, more stuff. Right. So we end up having to comply with that a little bit. We still throw in a few new features because you can't not have any new feature development for a year while you're doing boring...
Starting point is 01:50:54 Double-click default, there's your new feature. Yes. No, there's still going to be some exciting visual stuff. As I said, I've not used it at all before, so everything's going to be exciting for me. Oh, okay. Just having a desktop environment there is going to be crazy. Having all of these extra applications, having all of this stuff just pieced together and working.
Starting point is 01:51:18 You don't need to install all the other applications. You just install a Plasma base. That's fair. And it's going to give you all of the stuff, like being able to choose your network and your Bluetooth and your volumes. I remember in the days of the old, just running it like a window manager, you have to do all of that by hand.
Starting point is 01:51:40 So you're going to have all of that stuff. But applications bring in what you need. That's fair I think there is a meta package that will bring in the entire world but I don't think everyone uses that particularly on the Arch base to be fair I already have a bunch of KDE dependencies installed
Starting point is 01:52:00 because I have Kdenlive installed which pulls in a lot of things. Yeah we tried to split our packages up to be really tiny and the rationale behind that wasn't so much for Linux usage but it was about people making embedded clients. Qt's got a huge world there and if one of those people needs to extract a zip archive or whatever grab the relevant library. If one of those needs to do some advanced translation, grab grab our libraries. I'm making it more accessible for those people to just compile and stuff. And that meant our dependencies look bigger, so it could have gone from instead of having KDLibs, which is one library, we've now got 50 tiny libraries, but it could have gone from instead of having KDLibs, which is warm library, we've now got 50 tiny
Starting point is 01:52:46 libraries, but it's actually smaller because of that. You're only pulling in what you need. But it looks like a bigger number. I guess that makes sense, yeah. That does make sense. I've said this before, but I have
Starting point is 01:53:02 currently 1903 packages on this system. 1903. So in frameworks, a KD library is roughly 100 if you get all of them. Yeah. I can't imagine Kdenlive is using all of them, but it wouldn't be far off. It'll be using quite a bit. No, my problem is that I've had this system for probably like four or so years
Starting point is 01:53:26 when i last reinstall and i you know will i i will do these showcases of applications and then i sometimes forget to uninstall them so i build up a lot of garbage over the years um i've considered doing like a fresh install and then doing that testing inside of like DistroBox. Just having containers there so I can just delete the containers whenever I'm done with the application. But that involves me just doing a reinstall and I really don't want to do that.
Starting point is 01:54:01 I'm too lazy. It all works. So I just don't want to touch it right now. I'll do a reinstall when my root drive dies. Your Discord doesn't work. Burn. Yeah, that's true.
Starting point is 01:54:15 I don't know why. I don't know what's going on today with Discord. No, no, no, we didn't fix it. I wish I... Look, if a reinstall would fix the Discord right now, I'll go if a reinstall would fix the discord right now I'll go do a reinstall but yeah that's that one that one's definitely not gonna help for that
Starting point is 01:54:33 I don't know I'm happy with like Arch it does everything I need but like yeah I I do have another episode planned soon with Nate Graham, so I'm sure he's going to tell me plenty of stuff about why Plasma 6 is going to be great.
Starting point is 01:54:55 He's a better salesman, definitely. He said have the technical discussions with you and save the other stuff for him. Ah. He was saying that you're going to be a lot better at the technical stuff than he would be. I don't know. I've read his blog post.
Starting point is 01:55:13 He might be selling himself short, but... Nate does an absolutely important job because, same with your YouTube channel, I mean, communicating what's happening is as important as actually doing it. But it doesn't seem it when it comes to actually writing a blog post. And because it's time before I could spend that fixing a bug. And I know long term that writing a blog post might inspire somebody else to get
Starting point is 01:55:44 involved and they'll end up doing more work yeah than if i just fix the bug but in a short term it's still like no i should just do something more productive more productive so nate's role of summarizing what we're all doing and then actually telling people i think there's been this perception of plasma just gaining momentum in recent years and I don't think it has, I think it's just changed the perception because it changed
Starting point is 01:56:14 our communication and it's so important and he does a great job of that Yeah, it can seem like, especially with some of these bigger repos, like Wayland Protocol is a good example of this, it can seem like, especially with some of these bigger repos, like Weyland Protocol is a good example of this. It's like this impenetrable wall of just discussion.
Starting point is 01:56:32 Like, it's hard for someone who's not involved in that fairly frequently to really understand what's going on. I can imagine KD is exactly the same, where you need someone that can summarize what the intentions are here, what's trying to be solved, what's actually being worked on. And that, even if someone doesn't directly go and help out, it may encourage someone to want to donate to the project even or they they might get involved in something else similar they might want to you know having this is i don't remember who said it to me but they would like to see more communication between these like between like
Starting point is 01:57:22 youtubers bloggers and then the developers sort of bridging the gaps people have a better understanding of uh like what's really going on in the foss world it goes back to the thing i was saying earlier where the developers seem like these like faceless entities it's just a name and a a profile picture it's unclear really what's going on and people like me people like nate can sort of act as that way for people to have an understanding without obviously you know getting into the the source the line by line source code changes that are happening like that's important as well but it's also important just to know that things are happening and things are getting better. Absolutely.
Starting point is 01:58:11 And doing it in a way where you're not doing it just for your clicks. I mean, there's new sites which sometimes intentionally stir up drama just to get those click-baited titles, but there's plenty of just views. It's only a drama. there's not a need for that there's plenty of there's plenty of drama I I don't know what I meant
Starting point is 01:58:27 so your blogs that come from the ones that come from net and KD they're only focusing on one thing but they're not trying to stir anything up yeah yeah you don't need to like cherry pick anything with
Starting point is 01:58:44 once again go back to Wayland Protocols you Once again, go back to Weyland Protocols. You can just say what's happening in Weyland Protocols. You don't need to make anything up about it. It's drama enough by itself. Absolutely, yes. And then with Plasma, there's a lot of exciting things that are happening. Just talking about what's going on, that by itself is already interesting enough. Like, yeah, maybe not every single change is super exciting, but, like, there is enough interesting stuff there that,
Starting point is 01:59:13 you know, gets, like, there's plenty to talk about. And I'm, I have this giant list of topics that I want to talk about at some point, and I never get a chance to talk about everything that I want to talk about, like, there's always things I have to cut from the list, just because, this is, I do six videos a week, there's only so many slots for what I want to talk about, so I, I have to focus on, like, the, like, the things that, I tend to focus on the things that really excite me, they may not be the things that exc tend to focus on the things that really excite me they may not be the things that excite everyone but if i'm talking about something i'm talking about it because this is something that like i really want people to know about i think that makes sense
Starting point is 01:59:56 because i mean from a developer point of view you know when someone's working on something that interests them and that's important for for people to work on interest on them and you videoing it about it it's the same as hashing on it it needs to be interesting otherwise it's not gonna go anywhere yeah no that yeah you summed up pretty well um I think we talked about pretty much everything I want to talk about um
Starting point is 02:00:32 I think so actually also we're pretty much on the two hour mark as well I did want to mention the the um whaling input method stuff if you want to just briefly touch on that otherwise we can stop off now
Starting point is 02:00:52 you did a blog post about like I don't know if there's really much to say about that outside of what was in the blog but yeah I mean it the only news from that is the input method guy somebody who does fcitx came and said a lot of the way input methods works fundamentally is broken um so that was an added twist now i'm happy to wrap things up you can always have me on again. Awesome. Um, yeah, I guess direct people to where you want to direct them to, like your blog
Starting point is 02:01:29 or anything else you want to send people to. Give out some links. Single click setting. Uh, give us some links where they should go, whether it's KDE stuff
Starting point is 02:01:42 or your stuff. Planetkde.org. So universal. What is planetkde.org? Is that... Oh, my goodness. How do you find anything? Yeah, so planetkde.org is an aggregator
Starting point is 02:01:59 of all of the KDE blogs. Oh. Which, if you're interested in KDU, it's the place to follow. If you're not, I mean, why would you? No more to have a planet. It used to be a thing back in the day,
Starting point is 02:02:15 back when RSS was cool. I have people just send me links. Alright. If people want me to talk about something, I have a suggestions tab in my Discord, and it's always just got people being like, hey, talk about this thing, talk about this thing. I didn't know this thing existed, that's cool. Lots of planets.
Starting point is 02:02:35 But I mean, if people are sending you links, then you don't need this. I think you've got your own magic world. It's not everything that I talk about, but there's definitely a lot of it. Is that the only one you wanted to mention, or anything else? No, it's only thing vlog.davidemerson.co.uk. I don't update it very often,
Starting point is 02:03:00 because of the reasons I said. Absolute laziness. But, that does mean all we're posting on now are hopefully interesting. Not too much spam content on there. You focus too much on development code.
Starting point is 02:03:16 There's your reason for not writing blogs. Oh, I'll make a note. Is that the only thing you want to mention? I'll just leave that in the description down below and I'll edit stuff. Yeah, I think so. Cool. Thanks for having me. If there's anything you specifically
Starting point is 02:03:35 forget about, just let me know and I will just chuck it in the description as well. Okay. Awesome. As for me, the main channel is Brody Robinson. I do Linux videos there six-ish days a week. for me the main channel is brody robson i do linux videos there six ish days a week i have the gaming channel brody on games right now i'm playing through armored core 6 and kingdom hearts dream drop distance be sure to go check that out um especially if you want to see me very angry watch me play armored core 6 i get
Starting point is 02:04:01 very heated playing that game um And if you're listening to the audio version of this, you can find the video version on YouTube at Tech Over Tea. If you're watching the video version, you can find the audio version pretty much on any podcast platform, and there is an RSS feed. Search for Tech Over Tea, and you will find it. I'll give you the final
Starting point is 02:04:20 word. What do you want to say? Remember to like, comment and subscribe! And smash that bell button for notifications about bells! Perfect. Nailed it. One ever YouTuber. See you guys later.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.