Tech Over Tea - Chatting OBS With The AUR Legend | Tytan652

Episode Date: April 12, 2024

Today we have the one and only Tytan652 on the show, who you probably know from his famous AUR package or maybe packaging every even remotely useful OBS plugin on Arch. ==========Support The Channel==...======== ► Patreon: https://www.patreon.com/brodierobertson ► Paypal: https://www.paypal.me/BrodieRobertsonVideo ► Amazon USA: https://amzn.to/3d5gykF ► Other Methods: https://cointr.ee/brodierobertson ==========Guest Links========== Today we have the one and only Tytan652 on the show, who you probably know from his famous AUR package or maybe packaging every even remotely useful OBS plugin on Arch. ==========Support The Channel========== ► Patreon: https://www.patreon.com/brodierobertson ► Paypal: https://www.paypal.me/BrodieRobertsonVideo ► Amazon USA: https://amzn.to/3d5gykF ► Other Methods: https://cointr.ee/brodierobertson ==========Guest Links========== Website: https://tytan652.frama.io/ Mastodon: https://framapiaf.org/@tytan652 Gitlab: https://gitlab.com/tytan652 Github: https://github.com/tytan652 ==========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, Rudy Robertson. And today, we have a very nondescript image on the show. But, if you're an Arch Linux user, you probably recognize the name. Welcome to the show, Titan652. How's it going? It's going fine. So, for anyone who doesn't know who you are, or never heard of a lot of the stuff you get involved with, give yourself a brief introduction. I think I'm just a random guy that happened to begin contributing to OBS years ago and suddenly have an urge to create mini OBS IAR packages.
Starting point is 00:00:41 have an urge to create mini OBS AR packages. Yeah, just to help people to have an easier life to have OBS on Arch Linux. Because when you started doing stuff, that was long before the Flatpak existed. At least the Flatpak being like an
Starting point is 00:00:59 official part of the OBS project. So back then... Yeah, the Flatpak backpack was it was unofficial at this point yeah when did you start so most people probably are going to know you from one specific package you do a lot more than just that but the package in particular uh obs studio titan 652 um yeah for a long time that was the obs package that most people would recommend i've talked about my personal issues with the uh actual arch linux obs package and how it it's really badly packaged and they they will not fix it no matter how many times they're told it's badly packaged.
Starting point is 00:01:45 So usually people would have recommended your package to actually have basic things working. Like I remember the main reason people would suggest it back then was the OBS browser stuff, which still to this day does not work in the Arch official package. There was another package which was OBS Studio Browser. Yes. To provide.
Starting point is 00:02:09 Yes, but for Titan Secrets 2, the main point was mainly to have most of the upstream features available. Because OBS Browser was a little incomplete, if I remember correctly. I don't remember because now the ownership of browser was given to me so I see that I was confused for a second I just noticed that you're the maintainer on both of
Starting point is 00:02:30 them now yeah uh technically it was orphaned and then I take ownership right right okay okay so the difference between the two of them now is just a patch why did you take over that package when it got orphaned? Because I think it was better, because many people were already using this package, and I
Starting point is 00:02:55 thought about improving it, because it's not... I was trying to avoid if there was no guarantee someone would take ownership of it and the level of maintenance burden
Starting point is 00:03:13 is almost to zero because there is many common modifications between the two packages now Was it like that before or has it become more like that as you've been maintaining it? When I took the ownership of Dutch browser, I modified heavily the package to match more Titan Secret 2, but just for the part. I don't remember completely. I need to check the package build Git tree.
Starting point is 00:03:43 I need to check my package the package build git tree But it was mostly using VLC Lua JIT to avoid VLC crashes because it was really a common issue Because when we when you were loading Lua symbols to the VLC plugins OBS will crash. Because he was loading Lua52 symbols at this time, and OBS was loading LuaJIT, which is 5.1.
Starting point is 00:04:15 Yes, okay. It's been a while since I've been messing around with the AUR packages. And the Arch packages decided to disable the VLC feature. Right, right. So, I definitely talked about
Starting point is 00:04:31 the problems with the OBS package on my main channel before, but with the actual Arch Linux package, what are the issues for anyone who isn't already aware? I know there's more than one of them, so maybe this is going to take a while.
Starting point is 00:04:48 As it is now, there is missing VLC packages. The VLC plugins, sorry. There are no browsers, because the logic behind it is right, is that we use OBS uses custom versions of CEF and so because of the wall of screen rendering patches that we need on CEF
Starting point is 00:05:19 we can't use upstream CEF to build OBS and so Arch Linux can't package those specific versions just for OBS. This is the outcome of debug tracker. And then I think there is the lack, there was the lack of OBS VST. But now we matched the plugin entry. So now by trinket effect,
Starting point is 00:05:50 I think it's the right word. I don't remember. It goes down something like that trickle down. Yes, trickle down, trickle down, but they forgot to enable it by default. So someone made a bug report to have it enabled. So now it lacks mostly browser, VLC, WebSocket, EJA, which is like another, it's like DeckLink devices, but another vendor. I think it's mainly those ones. Also, I forced the presence of Qt Wayland when installing the package because otherwise OBS will crash on Wayland because the backend is not there. It's not that it crashed,
Starting point is 00:06:49 it's that Qt goes and says, oh, the backend is not there, I'm not starting. Right, right, that makes sense. I think it's mostly the main ones. And also I enforced, unfortunately, for the users FFmpeg OBS, a custom build of FFmpeg, to have the REST protocol support as it is advertised in,
Starting point is 00:07:17 as it is advertised in the upstream project in the flatpack. And also some fixes around aom profiles that if i think ffm upstream still provides only eight um eight eight levels and upstream aom provides 10 i don't know if they increase the number since then but it's the main patches the main differences but ffpc obs is a stupidly big package build because since i enforce ffpc obs a certain ffpc package on everyone i decided to let's add options to uh to be able to if someone wanted ffFBank full, they can build FFBank OBS full with the same package build. I just opened up the package build.
Starting point is 00:08:09 Yeah, I see what you mean. Yeah. It's a 500-line package build. Yeah. Okay. I didn't realize that all of those problems were there with the... Only to reduce frictions with users, I did that.
Starting point is 00:08:33 Because I don't want it to be a burden on them. Oh, I need to use this specific effect. You can customize it. If you wanted to use Vulkan, just enable the Vulkan option. And you're good. So, I think it's fair to say that if you're going to make use of OBS,
Starting point is 00:08:53 you probably shouldn't make use of the Arch package. It's fine as a baseline you're just trying to capture your screen, for the most part. Sorry, I remember a long Baseline you're just trying to capture your screen for the most part. Yeah for the most it was Sorry, I remember the a long time issue about it's fine as long you can capture your screen. There was a period there
Starting point is 00:09:17 That they forgot to add the pipe or your dependency So the Linux capture plugin was not loading because the Linux X capture plugin and Linux pipewire were one at this time. Uh-huh. Do you remember when that was? I think you can... It's the first version that was providing pipewire capture. Okay, so that would have been still
Starting point is 00:09:43 before the flatpack then, yes? At the same time, because the pipe warrior stuff and the flat pack were both made by George. George's strobekass. So, there are almost the same time, I think it's maybe 27.1. I don't remember, it's been a while. Okay. So a while now. Yeah.
Starting point is 00:10:07 Yeah, definitely. I think back then I was probably, I don't think I had even tried Wayland at that point. So I don't think I would have noticed that problem. Yeah. 27.1 was, yes. It's 27. Wayland on Linux.
Starting point is 00:10:23 And Flatpak at the same time. Yeah. Okay. Okay. Yeah. Okay. Okay. Yeah. I definitely, I would have swapped over to the Flatpak at that point, but I wasn't using Wayland yet.
Starting point is 00:10:34 So I didn't even realize that had happened. Ah, here we go. I can send a link. Oh, that was a while ago. Wow. Yeah.
Starting point is 00:10:42 And at the same time, I arrived and I made service integration a thing on the Flatpak. Because we could, because how the Flatpak manifest was, Flatpak builder and Flatpak manifest were designed, there was no way to have secrets, which are in our case, API keys. Let me find the PR about it. If you can find it, I'll definitely show it. I can find it because GitHub has the by order filter. The point was literally how we could. So the point of the API is we write on the manifest, we have these secrets, but they're not written in the manifest.
Starting point is 00:11:38 They are interpreted at runtime while building. And so when you check the manifest manually, you can see there is secrets, but you don't know them. Because it was the main problem is that you were leaking the secrets without this new feature. Was this for the YouTube integration? Twitch, YouTube and Ristream integrations, yeah. Okay, yeah, okay, makes sense. Yeah, it was just... We were discussing in the development channel about it,
Starting point is 00:12:17 and I just said, I would check the Flattop builder code, and the same day I just got out with the better idea than what george's workers had provided first it was it's it's in the first sentence of the pr he was he had created a way to not install the manifest inside the package which was not good because he was really preferred than manifest stay in the flatpack package sorry and I did I proposed
Starting point is 00:12:53 this approach and it got approved so it was my first contribution to the flatpack ecosystem in general yeah so on that list of things the arch package doesn't do there is another one because the whole yeah they don't have the secrets there so you don't have the youtube well you don't have the browser stuff which also i it we well it doesn't even matter like
Starting point is 00:13:16 so much other stuff's broken anyway this is just a cherry on top um yeah so you don't have the youtube twitch and restream integration which doesn't even matter because you don't have the YouTube, Twitch and Restream integration, which doesn't even matter because you don't have the browser integration anyway, and a lot of the functionality that comes from the YouTube integration is built in with the browser integration because it opens up browser docs, so it doesn't even matter that it's broken, you won't get to use it anyway. Technically, yeah, technically until the new a new brother dog happened for arrived for youtube youtube was what could be literally the youtube integration was the only situation that could
Starting point is 00:13:53 be built without the browser integration okay but nobody's gonna google's have a rate limit on APIs. Right. So I don't think even distributions would even try to provide their own API keys for the YouTube API because you will reach the rate limit rather quickly if you have multiple users using the integration. Yeah, this is one of the things,
Starting point is 00:14:26 whenever I bring up the integration stuff, people always ask me, well, why can't they just add their own API keys? And they could add their own API keys, but that's the problem. It's more complicated because of how Twitch and Restream or this API are designed, It's more complicated because of how twitch and restream or This API or design we are we are a sort of man in the middle
Starting point is 00:14:53 software I Send the link Okay So we have this thing to be able to have, because when you're asking for API key for Restream or Twitch, you have to put, I always forgot, you need to set a specific HTTP address, a redirect URL, you need to set that.
Starting point is 00:15:33 And so it's not easy to do that locally because you have a random HTTP port and stuff like that. And so we use that in the middle to be able to have the same redirect URL each time we try to use the integration. to have the same root text URL each time we try to use the integration. So they technically need to host something similar to this at the same time. But also you...
Starting point is 00:15:57 And since all the distributions have the... None of them provide the way to have secrets. So mostly you always happen to leak the API keys at some point. Right, right. You don't want to have them misused. So theoretically
Starting point is 00:16:19 it would be possible if they modified some of the infrastructure it's just they're not gonna do it. Yeah possible if they modified some of the infrastructure it's just they're not gonna do it yeah if they want to create the infrastructure I think Nobara did it I think but it's I don't look at
Starting point is 00:16:36 it because it's it's a kind of package I try to not look into yeah we can talk about that later but there there's some packages i i don't look at it or when we do supports which we are forced to send them back to the distro support i i feel like a major one here is probably the snap. Yes. I don't know if... I don't think this is a snap-specific issue. There just seems to be this trend of
Starting point is 00:17:13 when someone decides to make a third-party snap, there's just a lot of bad things that have happened with really complex applications recently. Did you pay any attention to the Steam Snap? It was a fun one, yeah. I said, oh, this one on the Snaps goes wrong.
Starting point is 00:17:37 The devs are just like, can we please don't use this? And they had issues where their internal developers didn't realize they had it installed and they were using it as well and it was just an absolute nightmare this is the biggest issue is that people are not conscious of what they're installing because ubuntu is swapping devs for snaps that's the the real problem. If you were just installing a snap and you knew you were doing it, that's one thing.
Starting point is 00:18:07 When it hides the fact... This is one of the biggest problems I have with Ubuntu and Canonical is this simple decision. I could always put out the server side is proprietary, but really forcing the user without being conscious.
Starting point is 00:18:24 It's not a conscious decision I don't want to snap so bad if they are when you're using flatpack you're conscious usually or you're in immutable distributions and flatpacks are mostly
Starting point is 00:18:40 the only way but yeah I will make an exception for the case where mostly the only way. But yeah. I will make an exception for the case where the snap is the official package. Like if I believe with the newer versions of Ubuntu they're doing snap
Starting point is 00:18:58 cups. Yeah, their printer stack is becoming snaps. So if they hide the fact they're installing the snap in the background that's the official way from the application developer to make use of the project so in that case it's not as bad like i still don't like taking the control away from the user but at least in that case they're not diverting you to a version of the project that is being like is just not supported yeah the case of cups is that they're trying to stop
Starting point is 00:19:25 being... They try to be closer to the user space side, to avoid having to root access, if I remember correctly. Something like that, yeah. Also, when it's first party, like Mozilla's Splash Snaps, you can... Sometimes
Starting point is 00:19:41 I think it's just to avoid to have the same issues we had. Just to avoid to say, let's make it good so we don't have people throwing rocks at us it's not us right right so with the OBS snap
Starting point is 00:19:59 I didn't even realize I assumed there was something that existed I didn't realize like what the OBS snap actually was though because it's not just an obs snap which would be fine it's a batteries included package there is two variants of snaps there is the oh i didn't even realize it's in the in the in the in the whole story of T-Snap, there is two variants of the package. There is the one that was stuck on 29.1 for a while.
Starting point is 00:20:38 It was batteries included. It has, I think, 20 plugins. And then suddenly, out of nowhere, it gets upgraded. It's 50 plugins included. Wait. Wait. Wait.
Starting point is 00:20:59 Are there 50 plugins? Wait, I didn't even know there were 50 plugins that regular people would want to use. I know there are lots of OBS plugins, but how do you find 50 just generic plugins that normal people would want? You don't. You just... I think I might find the...
Starting point is 00:21:27 I don't remember where it is, but the Snap got based on other project. It's someone who created its recipe to build OBS with all the plugins he wants. And one of the Snap meters thought it was a good idea to use this recipe to provide the package as a snap. I just saw one of the plugins, I'm confused why it exists. One of the plugins is called
Starting point is 00:21:56 Source Clone. Add Source Cloning. Wait, can't you just do that? What? Wait, I'm confused. It's an Excel group plugin, so I think it's a good way to exist. I'm sorry. I know there is a use case, but I don't remember which one. I package it on EUR. Right, right. Yeah. The main issue is that.
Starting point is 00:22:20 Right. Yeah. The main issue is that... The main issue with that is... I returned a post on Mastodon a while ago. I was complaining about the batteries included thing and the fact that it was completely forgetting to communicate about but the fact
Starting point is 00:22:50 there is tons of third-party plugins and this is not the best way to how do you communicate that to the user it's my main point how do you communicate to the user oh all these features are not in OBS
Starting point is 00:23:06 if you take a few to keep from the PPA or if you took it from the flat pack or any other package variant And they don't communicate about it and there is when you it's It's also the support part
Starting point is 00:23:26 is how do you redirect users to the right support right because when we
Starting point is 00:23:33 when we get on the obvious server community we arrive someone with the snap installed
Starting point is 00:23:39 arrives we set post a log and we have a log analyzer installed in the server in the server discord and we saw it has distributions ubuntu core so we have to say you either go to the snapcrafter
Starting point is 00:23:56 support or you swap to the ppa or the flatpak right yeah we clearly don't... We don't try to... We can... If someone wants to help, they can help us, Snap users, but they're not forced to. We are all volunteers when it comes to the Linux support. Right.
Starting point is 00:24:16 And the Snap is usually a real pain, so we don't. Well, I think it would also depend if they are aware of what the problem is if they know it specifically with a plugin and there's someone who knows about that plugin
Starting point is 00:24:35 it would be a lot easier to help that person if they don't even realise that they are using a plugin they think it's just a feature of OBS you're going to run into a lot of problems there where you're just like i don't i don't know what you're using like this is not a feature in the project like i i need some information to go on here yeah and we all it's all the plugins loaded or returning the log so sometimes we don't even we we just scroll and we saw all the plugins and we take a guess.
Starting point is 00:25:07 And then we scroll up and we say, Obutuka, I was right. Right, right. We take guesses. And sometimes I weird, as an example, I don't know how snaps works, but I think the issues with snaps batteries included is that snaps or have no design for extensions right they say nothing to have extensions and rather than trying to create extensions they're doing the this thing that is technically wrong because when the user installs the Snapseed, it doesn't read the world with me.
Starting point is 00:25:53 Yeah, I understand how users get confused with it, right? It makes sense because you think, oh, I've installed OBS. Yeah, it does have this big unofficial thing here but every package you install is unofficial If you install a package on Debian or a package on Arch Linux, these are all unofficial packages But you have less, not more
Starting point is 00:26:15 Yeah, what really annoys me about the Snap Store is they will put this nice little verified badge next to things where nice little verified badge next to things where Snapcrafters is the developer of the package. It's like, you're not the project developer. Can we not have these verified badges here? Like, it just leads to confusion.
Starting point is 00:26:35 Ah, I always forget that they are over... It's so wrong from them to do that. Mm-hmm. Because on... You already did a video i found quickly about flat flat have verified yes yes yeah there you are either verified by gitlab but but there is specific is there a custom pass for gnomes and kds developer but you are verified because you have the case github account you have verified because you have put this TXT file in your domain name.
Starting point is 00:27:09 Here we say, oh, it's a first party. It is a domain. The purpose of the verified on Flathub is it's first party. Yes. And Snaps is not first party. It's that, oh, you can trust us. Yes. Snaps is like, oh that, oh you can trust us. Yeah, Snaps is like, oh, Snapcrafters is the publisher, like, okay, right, but like... Yeah, no.
Starting point is 00:27:35 Like, there are so many things published by Snapcrafters, like Discord, like... I get... I get I get what they're trying to say here they're trying to say that like I don't know what they're trying to say actually I try to give them the benefit of the doubt here I actually don't know what they're trying to say
Starting point is 00:27:58 I don't know if I'm right for the Spotify Flatpak package we package the Snap one. I don't know if the Discord is not first party, right? I don't know. I think the FlatHub is trying to make it first party. It's currently published by Snapcrafters, so maybe
Starting point is 00:28:26 they're trying to. Flathub, I think, is trying to ask the upstream if they want to maintain the flatpack. Do you want to maintain it? Otherwise, we still maintain it. Because actually,
Starting point is 00:28:47 there is a few people that maintains all these packages. I think the and really, really do I think about it, but it's packaging Discord and Spotify on the Flatpak is really a nightmare. Because you have I don't know if you know about it, but sometimes they use electronic CF.
Starting point is 00:29:19 And the issue is you have two sandboxes trying to communicate to each other. Sometimes it's a real mess. Ah, right. We have the Flatpak sandbox and I think the name is Zygote for Chromium. And so someone from the Flatpak devs created something called ZygPack. And so almost every Chromium-based application,
Starting point is 00:29:44 if they use the sandbox is patched with zigot zig pack as an example obs we don't have the sandbox available for cf but i don't remember why but it was it was not usable for now but we have other issues for CF OBS like the infamous it does not work, BrotherDucks and Weyland yeah I didn't
Starting point is 00:30:15 so I actually right now I'm on KDE so I I've actually got my OBS running through XWeyland so I can make use of KDE's global shortcut thing until that finally gets dealt with at some point in the future. So my browser docs work great, but... Yeah, but we reserve the right to say no to your bug report
Starting point is 00:30:41 because you're running X-Wayland. If you're conscious of the of the decisions no problem the four freedoms of the free software is there well if I did have
Starting point is 00:30:59 some sort of bug I would just test it on the Wayland version first to make sure there actually is a bug there on the Wayland version. But that's totally understandable. It's really complicated. CF, the issue is that
Starting point is 00:31:16 the actual API provided by CF is for what we used for the docs, not for the sources. Sources are another code path. We used IPs that are related to X11 and Xorg.
Starting point is 00:31:33 So we use the X window handle and we insert it into a queue widget. And so when you forced it to work on the Wayland backend, since it's X11 handle inside the Wayland window, what do you want to happen?
Starting point is 00:31:49 Nothing. So you have nice transparent windows. Right. And so you need to create the wall plumbering for Wayland stuff to be done on CF to allow to access Wayland senders and surfaces and you need to in more way you need the Wayland compositor to have the oh god I always forgot the name on the protocol weight check mm-hmm
Starting point is 00:32:20 yeah we check it exig for rain protocol to be able to import and export Wayland handles. Right, right, right. And you need so many stars aligned and you need someone who wants to maintain and upstream the
Starting point is 00:32:39 CF plumbering for Wayland. Even Steam is still using ex-Wayland. The whole application is inside the CEF. Well, Steam's another application that has a sandboxing issue because they have
Starting point is 00:32:59 they run their games in a little sandbox as well, so if you're launching the flat pack, there's that whole issue as well. So if you're launching the flat pack, there's like that whole issue as well. And I think that's part of the reason. At least that's their original reason for not wanting to officially support the flat pack. I don't know now if they could properly do workarounds with that.
Starting point is 00:33:19 The issue is that there is so many holes to keep as it is. Right. And when you're doing a flat pack, you're sort of trying to remove those holes as far when you progress toward that. And actually the main issue, for example, one of the issues you can have with Steam is that when you're doing remote play
Starting point is 00:33:46 with your Steam Link or another computer, you will have the XDG portal popping up. You will need to change room to pick the right screen and stuff like that. I don't know if it has changed since then. But you have stuff like that happening.
Starting point is 00:34:02 So Steam may need to change some paradigm. I'm not up to date on the situation because I don't choose multiple computers. I only use my main one, so I play only one computer. But yeah, Wayland support
Starting point is 00:34:19 is a long journey and I think the CF will be the longest one. Yeah, I just opened up the the issue for the transparent browser docs and I'm guessing right now it's basically just
Starting point is 00:34:37 something needs to be done in upstream CF before anything can really be done in the O obs project yeah it's uh i can talk about it since it's in public conversation there is someone that arrived in the discord and just dive into the cf code and current code to make up uh of screen sharing works with the newest renderer inside of Chrome. Because we were using all CFBuild because we were relying on this, V-I-Z.
Starting point is 00:35:17 I think it was the name of the renderer. And now we need to rely on Skia. And so this is why we are stuck on... I remember the number of chromium, but it's old already And the guy literally upstream patched to chromium And so now there is a PR for CF to add of of screen of screen rendering or Windows and Mac OS. Linux is not far behind
Starting point is 00:35:49 because someone's working parallel with him to make it happen too because Linux is the only one of the three to not have the browser acceleration. Right. But people say Linux is behind. When we talk about Chromium and CF you need someone who wants to do it it's not everybody's pleasure to dive into Chromium's code yeah I certainly wouldn't want to do that and CF patches
Starting point is 00:36:20 because CF patches Chromium and also there is the Google loves creating their own build systems so you have to learn to use the GN build system and also you you need you need it to compile Chromium and CF you need to have a nice CPU with nice mini cores unless you want to do some cloud rendering
Starting point is 00:36:53 that's also an option oh it's not a good idea for development it's not but hey it's an option yeah and yeah but now we can
Starting point is 00:37:09 now, we might soon be able to upgrade CF in OBS. But it might. It's soon TM. It's yeah, people it's the most vocal ones but
Starting point is 00:37:26 people need to understand that we can do things fast sometimes it sounds like just it sounds like a nightmare in some ways to deal with everything going on with OBS because there are so many moving pieces you have this CEF in some ways to deal with everything going on with OBS because there are so many
Starting point is 00:37:45 moving pieces. You have this CEF thing you have to worry about then now we do this whole Wayland thing. You have these pipe wire and portals to worry about and there's all of these Hmm? Wayland is problematic only on the
Starting point is 00:38:02 Qt side of things. Okay. Nowadays. Because portals is here to create an agnostic API. So when you're using portals, you have no need to care about X11 or Wayland. Except when you want to give a window handler. Where Qt is really a pain. Sorry, I'm going to talk about Qt. Please go ahead. Qt is really a pain. Sorry, I'm going to talk about Qt.
Starting point is 00:38:28 Please go ahead. I'm going to make a parallel with GTK, fortunately, because it's the two biggest UI toolkit on Linux. You have GTK that say all our APIs in GTK are cross-platform. So GTK functions in Windows, Mac OS, and Linux are the same. But we have backends named GDK. In GTK, you have a backend for X11, a backend for Wayland, a backend for Mac OS, a backend for Windows.
Starting point is 00:39:04 And there is not much abstraction, so if you're using a GDK function, you need to guard it for being used on the right platform. Qt has nothing like that, and only have unstable APIs. and only have unstable APIs. So each time you upgrade Qt, you can break the API of the private headers can change. So we can't export a Waylander handle. And so when you're using the screen share on OBS,
Starting point is 00:39:49 the window to choose your monitor or your window will appear, but it will not be linked to OBS. So you will not be forced to touch the screencast window before being able to use another window. There is no model between the two windows. being able to use another window. There is no model between the two windows. And this is the biggest issue of Qt with docking. Docking is also a fun one because there is, I think it's top-level drag
Starting point is 00:40:20 that got recently merged. Ah, yes, yes. I was talking about that one, yes. Yeah, I always have a problem to remember the name of the protocol, but I was there since the... I was looking at it since the creation of the previous one,
Starting point is 00:40:35 Extended Drag Protocol. Hmm, yes. That was the... This top-level drag protocol, for anyone who doesn't remember, that was... The uh, this, this top-level drag product, for anyone who doesn't remember, uh, that was, the main thing it was being advertised about was with, um, with Chrome, uh, because it was coming from the Chrome project, they wanted to be able to drag a tab out of a browser, and then have that tab actually be attached to the cursor.
Starting point is 00:41:03 That was the main thing that they were pushing for, but it did have a bunch of other implications as well. Yeah. And it got merged, but now we are all waiting for a Wayland Protocol release. And then we could ask Gnome, is there any plan to implement it, etc., etc.? They hacked it. Gnome could you is there any do you need is there any plan to implement it extra extra even they act it Gnome acted so there's nothing to complain too much
Starting point is 00:41:31 because this many people complain oh Gnome is not gonna implement XYZ from the violent protocols Gnome has act things before and then never implemented it but there is there is the whole vr situation uh we can you can talk to it a little with me but i have i don't dive into enough and and like i said qt's and as it provides unstable ap and GTK provides GTK, but GTK is a stable API. So when you're using GTK, you can
Starting point is 00:42:14 use all the things that the headers provides and Qt, if you want to do feature computes, you need to wait for it. You need to go on the minefield. And this was the main complaint I was given to, I think it was because literally a KDEV jumped on my throat when I said QTs. But because it literally said it's because you don't,
Starting point is 00:42:43 when something says something bad about my projects, I will not take it the right way. Right. Yeah, so it was the same thing. But we didn't... We just discussed and said yes. I said GDK is stable. EQT is not stable.
Starting point is 00:43:00 It's not helping OBS to be able to improve features. Qt is not stable. It's not helping OBS to be able to improve features. And the main issue is not KDE's devs. The main issue is Qt that want to create abstractions at levels you can't. Because you can't have a function that, a handle function that works for Wayland and for X because there is differences between the two handles
Starting point is 00:43:24 by design. function that works for Wayland and for X because there is differences between the two vendors by design. It's a complicated subject but... And to come back to the exigidrug protocol, actually if you used, if you're using KWIN6, you might have working docs with Qt applications, with the WLAN backend, because Qt and KWIN used the Qt namespace protocol, variant of the XDG drag protocol. And this is where the fun part is, is that, oh, it works on KDE Plasma, but not tokenome. Yeah. Yeah. Okay. KDE is using a namespace protocol and it's not the right one, technically. And people use Lambda users
Starting point is 00:44:28 will not understand that. And so they don't care. It works on A, it doesn't work on B. But the issue is KDE devs have reasons to use Namespace protocol because there was the Qt 6.6 deadline.
Starting point is 00:44:45 They need to have the new docs code inside Qt's tree, so it was understandable. Understandable. I'm a little sad that it had to happen because it creates
Starting point is 00:45:00 disparities between... I just wish that the Qt... It's just... The main point is Wayland protocols are a slow process and some people deal with it a little wrong. But we can... I can fight against it because they have good reasons to do it their way the QTNM space one was needed
Starting point is 00:45:27 to make it upstream so it's I must run for nothing it's complicated so okay I'll ask you this then if you were the BDFL of Weyland
Starting point is 00:45:43 and you had the ultimate say on how everything was done, how would you want it handled? I think it's... I think none of the peers should be left alone for months without a new message.
Starting point is 00:46:01 They need to have activities because there is so many... Because the Extended Drug Protocol got left in the dust, mostly. And the creator of this PR was glad that the KD dev... Sorry, I forgot your name. I'm sure.
Starting point is 00:46:21 And took it over, simplified it, removed some, and used only the necessary stuff to make docs and Chromium tabs work on Wayland, the best way. And then there was... I think the name you're thinking of was David Redondo? Yeah, David Redondo. Okay. And there was activities. If you were subscribed to the PR, you were getting messages.
Starting point is 00:46:52 There is maybe sometimes one month without messages, but it was getting active. When you check out the session management PR, there is not much activity I think
Starting point is 00:47:09 the issue is that everyone in the way everyone there is busy at something else and this is not this is not is there a way to make it better?
Starting point is 00:47:28 Maybe. Is it all their fault that it's as bad? Maybe not. It's really... It's hard to keep up with activities. Because as an example, due to clear lack of communications, I don't know, now there is a waging war about how we should implement DRM leasing.
Starting point is 00:48:00 You wanted me to talk about that? Oh, I hate... It's such a... It's such a bad situation. The core... It's simple. Should we create an API
Starting point is 00:48:16 that is agnostic to what Waylander X11 or we should implement a Waylander only API and there is no going back. Right. This is why, I think this is why GNOME still didn't have implemented yet,
Starting point is 00:48:32 because once they do it, even if it's temporary, there is no going back. There is no temporary solution. If you implement it, it's going to be used forever. if you implement it it's going to be used forever right
Starting point is 00:48:44 and I I don't take side I really would prefer a new stick one so developers don't have to develop for two things at the same time one for Xeve and one for Wayland but
Starting point is 00:49:04 it's up to the ecosystem to it's not my fight because i don't have i don't choose vr stuff right right but yes it's the rm looks from far uh at the at the crusade crusade between people more like a crusade or something else because as an example i returned to qt but for example obs to function completely we still lack the session management protocol because i remember someone one day i come to the discord and ask why dox behave like this under Weyland, it was a while ago but
Starting point is 00:49:50 I said oh because Weyland was liking this and this we can't do this and this and you can even if it's not Waka only messages you knew you disappointed someone yeah session management for anyone who doesn't
Starting point is 00:50:07 know is um for restoring windows to their previously open states so if you uh have your browser docs nicely placed around your desktop you close obs you reopen it they'd be placed in the exact same location again yeah yeah that, that's the hope at least. It actually is a output all in the same place, which is the... Yeah, Wayland is a slow thing, but I think the... Yeah, in fact,
Starting point is 00:50:43 the more I think about it last time is that I that i think x wayland is a double-edged sword because it gave a way to make all programs that work with x11 to work in the wayland but also give some sort of a comfort, not pushing devs to create alternatives if there was no X-Wayland. Right. Because now, not many people think about, because since some users may run all their apps under X-Wayland without knowing,
Starting point is 00:51:17 because it's up to the developers to make these decisions, OBS made the decisions to force the Wayland backend because we don't support X-Wayland and the issue is I think it it can slow down the Wayland progress
Starting point is 00:51:35 when it comes to protocols because nobody is trying to fill the gaps since X-Wayland between quotes somehow fill the gaps right it's a big complex machine and will, between quotes, somehow fill the gaps. Right, right. It's a big, complex machine, and it's still another long journey to make it right, or make it better.
Starting point is 00:51:55 Yeah, I think... I think the... Wayland obviously is getting really... It's getting a lot better, right? We are in a much better state even than just go look at like 2020 for example a lot of the issues that were present then a lot of the missing protocols have been addressed since that point but you are absolutely right it is a slow process and one of the things that i have i've said a bunch of times is what really slows it down
Starting point is 00:52:26 is the fact there isn't like a a central voice of the project like you don't have a wayland bdfl so when something is going to get done you're going to have the gnome devs talking about it the kde devs talking about it the w roots devs talking about it and the WRoutes devs talking about it, and all of them are going to have different things they want to do, and sometimes they align. You forgot the Western one. Oh, sorry, the Western devs as well. Also, there's going to be...
Starting point is 00:52:56 Yeah, Western is mainly for... Western is more in the point of view of cars and stuff, automobile. So, yeah yeah because in case people forgot wayland is not only for desktops yes yes um and i guess i i don't think they're officially involved yet but i would imagine that the system 76 guys will get involved with smithy as well because once they have their desktop actually shipping, it wouldn't make any sense if they didn't get involved,
Starting point is 00:53:26 because they are another base of the project. You might need to check the governance paper, but I think it just needs to be spread enough to have a seat in the governance. But I think the process is simple. Yeah, it's just they're not shipping anything yet. So I don't think they've done anything. But that's going to be another seat at the table then.
Starting point is 00:53:55 So there's another voice that has another direction they want to go in. Yeah, I don't know if it will help or not. I think the main problem is the lack of activity on some peers. Absolutely, yeah. Yeah, because being a slow process is not a problem, but it becomes a problem if the reason behind the slow process is the lack of activity. Right, right. When lack means months
Starting point is 00:54:25 right at least if you have a my favourite one as of late is the whole windows being out of position themselves how there's like 4 different protocols with hundreds of comments each at least in that case
Starting point is 00:54:43 people are trying to address the problem. Nobody agrees on how to address the problem, but at least people are talking about it. When no one's talking about it, nothing's gonna get solved. Yeah. Yeah.
Starting point is 00:54:59 And, yeah, and technically, X-Foil and High hidden this problem until now. And this is Matthias Klump. If I remember correctly. Yes, yes, yes. That bring up the problem and finally began all this spread of peers closing and opening.
Starting point is 00:55:22 I lost count. I think we're at 3 right now I think we're at 4 maybe 4 maybe I counting the icon 1 right there's the icon one as well
Starting point is 00:55:37 that one's even crazier the fact that there is all those comments arguing over how icons should be handled is like, I get it, right? Because if you implement a protocol, that protocol is going to be relied on and you're never going to be able to change it. But it is just wild to me that there is that much discussion about it. And the issue is that if it's an EXT protocol, you're lost at the start of the sprint. Because you know, once it's in the EXT namespace,
Starting point is 00:56:15 there is between code no obligations. You have a low chance to have it implemented everywhere. Because if it's an XDG1, Gnoms might implement it, Plasma might implement it. I don't say Bungie because they're mostly mature-based. But most of the double routes might implement it. Double routes will implement it because there is so many
Starting point is 00:56:45 namespace protocols in that side. In case people don't understand namespace protocols, it's protocols that are not part of the Wayland protocols. They have their own namespace, for example, Qt
Starting point is 00:56:59 or WLR for double roots. Yeah. And yeah, it's slow process. Yeah. But I think I just wish that there is no bad face happening sometimes because when you are someone that has a that have bad face you can have it Would not go right
Starting point is 00:57:30 Because when because I Read the I read I read the pure but icons Yeah, I get the program and when you go to the sandbox territory You say oh, can I trust this? How can I? The question, the main question, I think, is security about the image of the icon. And yes, there is many questions to ask and answer. And this is why Toospiers needs activity, because we need to ask questions and to have
Starting point is 00:58:07 answers to them because otherwise how how can we forge a protocol that we be good for the long term absolutely um yeah because it's hard yeah because x11 x11 is the thing we don't want they don't want to remake. And this is why Wayland is a slow process. But everyone's in the Wayland stuff is busy at something else.
Starting point is 00:58:40 Yeah, you know, they're busy. If you ask them, I'm sure they all say they're busy to do something else. For sure, yeah. It's like, for me, I'm not going to plan to propose a protocol to Weyland. Because what, I'm pretty bad at waiting stuff, and I already had enough pain with obvious RFCs I'm very happy that the people who
Starting point is 00:59:11 are involved are involved because there's so few people who actually want to do that and like it's easy enough to propose a protocol but actually deal with that back and forth and try to improve upon it try to step away from your specific implementation and listen to
Starting point is 00:59:35 what other people are saying about ways to improve it like that is it takes a lot of time to do and like it makes like i I know like it's annoying that sometimes a protocol takes three years to get implemented, but like that's what has to be done when like really Wayland is very much like a design by committee. People will say things like,
Starting point is 01:00:00 oh, how has it taken 15 years and we've only gotten this far? Like in the case of X11 the original specification was made by a bunch of nerds at MIT like it wasn't this big design by committee it was like a handful of people that had
Starting point is 01:00:16 a goal and then over the next 30 years things were bolted onto the protocol like things like X-Render for example that's a really recent addition in the history of X-11 like it took
Starting point is 01:00:32 X-11 a long time to get to the state it's in today and it's gonna take Wayland a long time as well yeah yeah yeah yeah and fortunately we Wayland is not the only thing that needs to be
Starting point is 01:00:49 improved there is the audio stack and video stack that needs to evolve further I'm surprised with Pipewire I'm surprised like how quickly that got adopted because I remember that came out and then
Starting point is 01:01:05 when it hit like one of its early releases like it kind of just became the default that everyone just was like oh okay i guess we're just gonna use it yeah i i can i what i can do at all this name i forgot ah the oh i forgot the naming of the patch being yeah I can do patch B without having to use personal and Jack at the same time let's go yeah I think I use it it since O2. When O2 hit Arch Linux I was on it because I have needs to do patch being for some stuff and it aroused me to do but to not have the hassle to manage Perseudo and Jack together because it's a hassle because if I'm not correctly it's literally you making you asking Jack to have a Persuadeo device
Starting point is 01:02:09 and Persuadeo needs to provide sound to this device where just pipewire you have just you start by way you install pipewire purse you install pipewire Jack you make sure that pipewire jack is the default jack library to be loaded and you're done yep and that's just the audio side like i i already find if pipewire was just the audio stuff that by itself would already be useful i remember the pipewire is video first. Yeah. So the reason why I originally fell in love with Patch Bays. So the way I play console games is I have everything just running through my capture card all the time because I don't want to unplug it. Oh, you were directing to your headset? So, what I did before Pipewire is I would open OBS and listen to the loopback audio from OBS.
Starting point is 01:03:12 Like, the monitoring audio from OBS. So, it was, like, there was a delay. It was not good. Oh, Perseudio plus OBS monitoring, it's a latency killer. Yup. And then Pipewire came out, and now what I do is I take the audio from my capture card and just direct it to my speakers. That's all. Yeah, done.
Starting point is 01:03:37 And you're done. And there was also the world transition from the default implementation of the Pipewire session that was never meant to be used to wire plumber seriously being able to hide my useless audio devices from my graphics card was a blessing yup yup i completely forgot that um my gpu had wire plumber audio devices. Yeah. And then I can also rename my devices so if the
Starting point is 01:04:09 manufacturer is like, oh, I'm going to give this a 50 character long name. Like, no. Microphone. No, not long. Meaningless. No relation with what
Starting point is 01:04:25 the device is. Yeah, yeah. You can find that it's horrible because they just expect you to use their Windows driver or macOS driver. Yeah. It's annoying. But Pipewire and Wireplumber
Starting point is 01:04:41 solves everything. And then you grab whatever patch bear you like i use um qpw graph i know there's another one that people like um i'm blanking on the name of it uh that one yes help them yeah yeah help me is just for quick patch being because you don't have you have nothing to say you were nothing to there is no automatism, it's really manual. I use Elvum to just watch. Because I'm actually working on the... Because since Pipewire video stack is becoming more and more mature,
Starting point is 01:05:22 there is now... I'm working on the app-to-app screen sharing. And I need to look if the I will soon need because I began to dive into the paper API to see if the
Starting point is 01:05:40 node exists or not. For anyone who just doesn't know anything about the app-to-app media sharing, give people a brief explanation of that. Since people do I need to explain
Starting point is 01:05:56 the concept of portals first? It probably would help, just like a basic explanation. So, when Wayland was introduced, another project and Flatpak and the concern of security and sandboxing arrived through the table.
Starting point is 01:06:13 Something was created named XDG Desktop Podols. We sometimes name it XDP or Podols in general. And those are mainly meant to provide display server agnostic or desktop Evernote agnostic or window compositor agnostic APIs to applications. So as an example with OBS, if OBS wants to share your monitor or your window, OBS suggests to interact with the screencast portal, which is provided by the desktop environment or the window compositor.
Starting point is 01:06:56 Because there is portals that require a backend implementation. In the case of screencast, the Dextrome Station must show, no, not must, should show a window where you choose your monitor and you click, I want to share this monitor, and then OBS gets the pipe or your node to be able to share it. I said should because, as an example, the W-roots variant of the screencast portal just sends the monitor, period. But the XDG screencast portals, you have the camera portals for sharing the camera. You have the global shortcut which is the only way to have global hotkeys
Starting point is 01:07:47 on Wayland the TLDR, if you want me to talk about it later you can, about the global shortcuts and OBS I definitely want to get into that as well for sure yeah, I can talk about it later right now everyone has worked I'm going to focus on screencast.
Starting point is 01:08:06 Yeah. And when you should, when you, you can test portals with applications like DonoCur, which is made by me, and SHPD demo to test the portal itself.
Starting point is 01:08:20 SHPD demo, SHPD stands for Aperture Science handheld portal device. Sorry, what was it called? SHPD demo. SHPD stands for Aperture Science Handheld Portal Device. Sorry, what was it called? I've not heard of this one. A-S-H-P-D demo. A-S-H-P-D. It's the... There is some... We implemented LibPortals to have EasyC API.
Starting point is 01:08:44 And there is someone who made the Rust API to access EZ portals in Rust. He created a demo application, which is named shspd. The name is literally a joke with portal2 and the portal gun. I didn't know this existed. Okay, thank you for that. Yeah. We are trying to... There is people who want to improve the existing desktop portal documentation
Starting point is 01:09:10 by coaching my apps, Don'tOccur and HHPD demo. Because you can test portals through HHPD demo. And when you want to screencast, you have switchers. Do you want to screencast you have switches do you want to screencast monitors and or windows and or virtual devices virtual stuff you can choose the throw them you can choose only one of them actually obs you have a screen capture and
Starting point is 01:09:39 window capture technically we could unify them as one sources Technically, we could unify them as one sources. And then you have a window that will pop up or not. If you are using a really simple implementation that only have one source like WR. It was you or it was me? I got a notification, I think. Sorry. It was you or it was me? Hmm? I got a notification, I think. Sorry. No, no.
Starting point is 01:10:10 That was your side then, yeah. Mine are always muted. Yeah. And. Sorry, I need now the notification to take me. Well, you can choose between monitor, Windows, and virtual devices. And you choose what you want to share. Nowadays, on Windows and Mac OS,
Starting point is 01:10:43 you have software components like Spout oriphon that are used to easily share usually it's open gel texture and sometimes and or and behind the scene a direct x or metal texture through another app with the less the least latency possible with the least latency possible. And I try to create the same thing, but with pipeware portals and DMA buff. DMA buff, that is the ability to share graphics. Graphics stuff, I will not go deep to what's behind it, to share graphics stuff. I will not go deep to what's behind it,
Starting point is 01:11:27 but it allows you to do the same stuff as Pout and Syphon on Linux, but adding it, Pipewire and Portals to the stack will simplify the use of it. And so my plan is when you open this window to choose monitor windows or virtual stuff, if you have selected virtual stuff applications, if application says,
Starting point is 01:11:56 Oh, I want to share, I can share this stuff. It will be shown on the window. And so applications like I don't have many in my mind. Usually the only example that comes to my mind from a pure desktop thing is InnoC2D. Which is a... InnoC2D session, the VTuber with the least latency directed to OBS would be a great thing.
Starting point is 01:12:35 Actually InnoC2D already does that with spout on Windows. And also if you, I imagine you did a video about these GitHub discussions, because for now it's just GitHub discussions. I'm talking about Gamescop that wants to do weird stuff. Yeah. Yeah, when I saw the P on Ob side I say oh yikes I don't say yeah I don't say yikes because the feature is bad I'd say yikes it's a hole keeper yeah it didn't seem like there was a much positivity from the OBS side to do it because it was like from my understanding it would have been adding a
Starting point is 01:13:26 specific capture for game scope and from my point of view it would be forcing us to keep the pipe oil socket access permissions where in the long term we should get rid of it
Starting point is 01:13:42 but we need portals we need audio portals in the long term, we should get rid of it. But we need portals. We need audio portals. We need improvements. And so I try to make this app-to-app sharing. The naming is completely unstable. As an example, George named it in the in the githubs project
Starting point is 01:14:07 in on next digital portals he named it p2p media sharing okay I understand what it means
Starting point is 01:14:16 but it's so confusing for some kind of people right if you understand what I mean because it means p2p but
Starting point is 01:14:24 not in the current sense right right so i came out with app to app just to make it simple simple and this screencast is actually video only and the questions of adding audio comes into the table too. There is discussions about adding audio. But the issue is from what I saw from Farway, I didn't dive enough into that. But the issue is that actually we are between Pipewire and Perseidio for audio APIs. And portals should use only one,
Starting point is 01:15:03 which is Pipewire. Exigedly, extra portals depends use only one, which is pipewire. XDGDLedex.portals depends on pipewire. And when you want to share a window application, it's complicated to share the audio sometimes because sometimes you have Chromium that generates dozens of audio sources. Chromium that generates dozens of audio sources. Yeah.
Starting point is 01:15:30 And the issue is that when you have Electron apps and CF-based apps, they're all named Chromium. Nice job, Chromium. Yeah. Don't worry. When I used an application named Tongram, which is a WebKit GTK-based application to have to have a window browser kept like Ferdi or applications like that. And when I have multiple audio stuff, I always see multiple Tangram audio sources.
Starting point is 01:16:05 But it's a pain when one application generates multiple things. It's not things, it's sources. I don't know how to name correctly. I don't have the naming scheme for your stuff right now. But yes, there is many discussions. If people follow closely what's going on with GNOME and the Sovereign Tech Fund, they should see that there is some work, there is some push to work on portals and USB devices,
Starting point is 01:16:33 with USB devices. But one important point, I should say it sooner, is that XDigi portals, the XDigi desktop portals has a few maintainers really less than you can count them in one hand technically and so
Starting point is 01:16:57 it's not easy because like Wayland protocols everyone is busy to do something else so it's Like we learned protocols, everyone is busy to do something else. So it's ExigePortals falls into the slow process thing. But it's going forward. Because Portals tries to be long-term Wise so we're not going so they don't want to add stuff that we know temporary walk around if possible, right? Yeah, it's fun and
Starting point is 01:17:46 Yeah, and and and the in the world and I don't know if you take a look at the situation that happened recently with xdg desktop portal 118 118 is that every every every wroot compositor based user complained that
Starting point is 01:18:02 portals stopped working because user complained that portals no longer stopped working. Because 118 changed how configs work. Wait, 118 on which repo, sorry? Existing desktop portals. 118 is an email portal issue from 2017. Did you tell me to say the wrong number? No, 118. 118.
Starting point is 01:18:28 Am I stupid? Did I go to the wrong place? You're on flatpak slash xdg portal xdg desktop portal. Yeah. Wait. Wait. I might be dumb.
Starting point is 01:18:45 Did you just send me the link to it? I sent you the link to the releases. But there is a 118. Maybe I mispronounced it, because I know sometimes I pronounce things the wrong way. Oh! Oh, release. Oh, okay, sorry, I thought
Starting point is 01:19:07 you said issue 118. No, no, no. No, I am stupid. Okay, yep. Thank you. Yeah. Is there a reason then now we don't ask,
Starting point is 01:19:22 we don't check the change of paradigm of port portals are loaded. Portals are loaded. So every compositor or desktop should provide a config file. But the issue is that some... I think Sway, the Sway developer is against it. And so it's, it's unfortunately a pain on the obvious support to have to, because it's a complicated process to expand. Oh, you need to add a new config file. You need to do that, that, and that.
Starting point is 01:20:06 Right. Where Hyperland did, I think, Hyperland is actually the most appreciated double root-based compositor in the OBS support. Because you know you don't need to have a fucking config file to be made. Because you know that Hyperlandens did all the things right to make it work right. Even if sometimes us, OBS,
Starting point is 01:20:33 we did stupid assumptions. And so that sometimes the pipeware capture bug was Hyperlens' fault and not us. The issue was that in the RGB color space of the stream, the R and the B were swapped. Okay.
Starting point is 01:20:57 In the call, I say we, but I didn't... We forgot to swap the two planes but the issue is that but i think at the end someone said oh it's really our for it's already obvious side issue we fixed it now everything is fine but it But it was a little dumb from us, I think. But the issue is that we were in the middle of... We were not used to add the whole xdgportals diagnostic
Starting point is 01:21:39 in our issues. You know, you need to enter, oh, this implementation has problems, this implementation has no problems. As an example, when someone comes to the support, they say, okay, you aren't swear, you need GTK, you need WLR,
Starting point is 01:21:59 you need the right implementations. I don't know if Hyperlens somehow asks for GTK, the GTK backend, to be installed. I don't know. It is mentioned on the wiki, I believe. Yeah.
Starting point is 01:22:18 For those who don't know, the GTK backend proposes some default stuff, like the file chooser, some stuff that are desktop agnostic, to not force people to reinvent the wheel if they don't want to have a certain UI toolkit being used. Mm-hmm. I feel like it did. Maybe I'm...
Starting point is 01:22:41 The default config file on the portal side shows GTK. Yeah, on the wiki for Hyperlink it does mention that. Yeah, so since XGPortals 1.18, you need a new config file. So normally, normally, from my point of view, normally, compositor users would be used to add more config files. I'm not a user.
Starting point is 01:23:18 A long time ago, I was a Spectrum user. But because I really need to get rid of my bad habit to have hundreds of windows for nothing and yes it works but I 1 known 40 got out and decided that tailing was not my stuff I switched to Gnome40 but
Starting point is 01:23:48 I think my point of view on truth compositors is that if you don't support portals you're not helping us at all you're not helping us I know it's hard to create your own implementation
Starting point is 01:24:04 but it's really not create your own implementation each time you create but it's really not helping us to have to do the job, to have to explain how to how to configure your portals to make it work everywhere right, right
Starting point is 01:24:19 I think you mentioned HypeLand in there, the one issue I do have with Hyperland is the portal is a little bit flaky I didn't check if it was working perfectly but I
Starting point is 01:24:36 think he's the only one actually making a specific implementation for his WR compositor that I do appreciate because the With Hyperland you have window capture and this is... you do. Yes. I I know that this WL roots has had a window capture issue open for like three years now. Yeah
Starting point is 01:25:00 I think there's some progress being made on it But Hypland is the only WL Roots-based compositor that supports window capture. The problem is the portal. I have had multiple issues that I've been going back... I had been going back and forth with Vax3. Multiple issues that led to the desktop seg faulting, which is a problem.
Starting point is 01:25:24 The war station was dying. Oh, God. The thing is, it was consistent. So there was at least that. Or reproducible, so nice. At least on my system. He couldn't reproduce it himself, so...
Starting point is 01:25:42 Which was fun. Oh, nice. We did this whole thing. he wanted me to go set up a sand to like do memory dig dig into the memory the problem is OBS does not like opening with it because not many things like opening with a set yeah I don't know I don't know if it's me but yeah sometimes i have a hard time to load the bs into stuff for deeper debugging yeah yeah um i hope at some point w roots does sort out the window capture issue because i would like to use some of the other WL Roots-based compositors, but I need window capture to work.
Starting point is 01:26:28 Like, when I do these podcasts, I have a... One of my overlays has a capture of my browser, and I window capture that. If I cannot window capture, I cannot use the compositor. Yeah. This is why I said Hyperland is good,
Starting point is 01:26:43 because it provides exactly what people just need. It is the window capture. Yeah. It's maybe buggy, but Vaxxery is alone on that, right? Yeah. Vaxxery's dealing with stuff. I don't know what's happening with the Arch package for Hyperland because it's been in testing for like three weeks now. I don't know why they haven't moved it.
Starting point is 01:27:08 I'm not sure. I don't have any insight with that, but... I don't know. Maybe they finally swapped to vendor the very roots. I don't know. I don't know what what um what's going yeah you need to you need to check the git labs what they did to their package build yeah probably should do that um yeah yeah anyway uh before we go way off uh down that direction um you mentioned the
Starting point is 01:27:41 global shortcuts portal yeah so right now, Global Shortcuts with OBS is very, very... Non-existent on Wayland. Well, on the Wayland version, it's very weird, right? Because different compositors will implement solution hack workarounds. So Hyperland has their fun solution, which is basically let applications snoop in on certain keys yeah uh then you used web socket at some point you right there of course the web socket's also uh an option uh but that's that's circumventing the issue completely and just
Starting point is 01:28:20 binding to web socket calls which also works, for sure. And then KDE, they have their legacy X11 app support, which if you run an application through XWayland, it'll then let those applications snoop in on keys. I don't remember if
Starting point is 01:28:39 Gnome allows by default if XWayland window can access the world keyboard i think kd just added more security where they wanted to for his switch the issue is that uh sorry i'm gonna i'm gonna touch a word no not english spanish no not english spanish yeah yeah well the on x11 keyboard or keyboard strokes and mouse movement were literally a self-serve
Starting point is 01:29:18 buffet for applications yeah you can write a x11 keylogger in one line of Python. Yeah, every app is a potential keylogger. Yeah. And on Wayland, they changed. Of course, by security, they didn't let this happen again. And only focus windows
Starting point is 01:29:38 I besides XWayland stuff only the focus window and the compositor I, besides X-Wayland stuff, only the focus window and the compositor slash the desktop environment get interactions with the keyboard. And the point of the global shortcut is to say to the compositor,
Starting point is 01:30:01 hey, I would like to allow my user to set hotkeys to trigger these features. But when it comes to OBS, in OBS, when you set up your hotkeys, it's inside the OBS user interface, inside the settings. the OBS user interface inside the settings. The issue is that the paradigm is completely different in the way London global shortcuts portal is your keys or when we can say that OBS is using an internal hotkey resolution, hotkey settings. When it comes to portals, the application needs to accept
Starting point is 01:30:50 that hotkeys are not managed by the application itself. It's managed by the compositor. So it's mainly, oh, I want, I give you, it's mostly the application. I have all hotkeys callbacks. And when the user set up its keys it to use these callbacks and when i say callbacks is trigger this function trigger the start stop it's and the issue is that obs is not designed with this way in mind
Starting point is 01:31:20 in mind it's only designed to be to have this it's the same in Windows macOS I didn't dig around but apparently if you ask permissions you can do whatever you want at the end where Linux
Starting point is 01:31:38 is really more restrictive I still didn't find an application using the global shortcut portal. I'm still searching for one. Yeah, I was really excited when the portal was implemented, but... GNOME does not even have it implemented. Geez. even implemented. Jeez. Not on the last this week on GNOME.
Starting point is 01:32:10 It was noted that someone was on it, was beginning to work on it. Zazer needs people. It's like the variable refresh rate. They have someone, they fix all the bugs. Now we can do T-Wing. Can someone do T-Wing? It's like the variable refresh rate. Save someone, they fix all the bugs. Now we can do T-Wing.
Starting point is 01:32:26 Can someone do T-Wing? It's... Like, yeah. Yeah, it's complicated. And so the world hotkeys... And so you need to change how OBS works internally. You need to... From what I saw in my, consider in my mind is that you need to make OBS
Starting point is 01:32:50 able to have the two paradigms, internal hotkey settings and externals. External management, internal management, external management of hotkeys. The other issue is that when you are... It is how the portal works. When you... The portal is not dynamic.
Starting point is 01:33:15 Once you create a session, you're creating a session with a fixed amount of hotkeys. Right, right. OBS is more dynamic. Each time you create a source, each time you remove a source, each time you're dealing with plugins, filters, et cetera, et cetera,
Starting point is 01:33:33 you're adding hotkeys or you're removing hotkeys. But you're not limited to one session. So you can create dozens of sessions of global shortcuts. But you need to implement everything. And this is not an easy task. You need to create the UI UX. Because no, OBS is not going to spam you
Starting point is 01:34:03 with dozens of global shortcuts. Pront. So you need to create a flow that allows you to say, Oh, okay, these plugins, I would like to have the hotkeys on it. Enable the session on it. And then you have the... most of the portals, screencast. I think remote session has it too. And the global shortcut have session restorations.
Starting point is 01:34:39 And I'm not saying that's on the screencast case that restorations works well. It just depends if you're lucky that the Windows name match the name that was saved. It's parent implementations, the restoration. And so you really need to adapt OBS on it. It's not easy task. It's not.
Starting point is 01:35:01 adapt OBS on it. It's not an easy task. It's not... And... Some people could say I could work on it since I can say all those things and say we should do that, we should do that. But I can't because my
Starting point is 01:35:16 development can't allow me to work on global shortcuts. And I'm not in a hurry because I... I'm sorry in a hurry because I I'm sorry I don't use shortcuts hotkeys I need to learn to use more my keyboard rather than just
Starting point is 01:35:34 the mouse this is why I take the hard path of using vmotions on some stuff well just on this layout which is i i have like the least number of hotkeys configured i have six of them and like you know you couldn't do it the way that um screen capture is being handled for example you couldn't just open up six different windows being like oh configure
Starting point is 01:36:05 this key and configure this key and configure this key like some of my layouts i've got like 20 different hotkeys configured like how you conveniently do that and have a an interface that makes sense oh you mean to set up all the hotkeys? Yeah, I just happened to forget to say that. Since the hotkeys are externally managed, the settings are inside the desktop session settings. Right. So in the KDE, because they are the only ones to have it implemented so far,
Starting point is 01:36:39 I don't know if Rax3 did it or not, because I think it was waiting for a consumer to come up first. Is that there is somewhere I still, like I said, I'm searching for an application. I use the Global Sugar Portal to see what happens. Does that demo application support the portal?
Starting point is 01:37:05 No. No. Because the developer of SHHPD is GnomeDevs. Right. Yeah, he's... I don't know if it's... Maybe SHH... I don't know if he implemented global shortcuts inside SHHPD.
Starting point is 01:37:21 Maybe the application is not showing to me the global shortcut because I don't have it enabled. I don't have a global shortcuts. And the normally you have a wall settings page to hotkeys. But how it's shown how it's managed, it's up to the desktop environment. The XDG desktop portals,
Starting point is 01:37:56 as beside the 2D bus interface definitions, there is not much forcing users. It needs to work like that, but the UI, do whatever you like. So Gnome is going to need two mockups, global shortcuts too. And yes, I think the main issue with OBS would be the amount of hotkeys. Right. To be shown. I think grouping hotkeys will need to be shown I think grouping code keys need to be thought about
Starting point is 01:38:27 the change in paradigm is really big it takes time it's like our flat packs have many holes in the sandbox and we don't plan to make them
Starting point is 01:38:49 forever we have we have a hole for v4 l2 as an example and once i'm done once i'm done
Starting point is 01:39:00 with the app to app i forgot to mention for app to app screen sharing there is the virtual cam part yes yes
Starting point is 01:39:08 and once OBS can replace every V4L2 features with a Piper one we can just duplicate V4L2 I guess that'll be nice I really don't like VFW. Oh you know we OBS has
Starting point is 01:39:29 an ALSA input source but we don't provide it in the flatpak because ALSA is not accessible from the sandbox. Right. I didn't realize that was even a thing it could do. I completely forgot about that. Yeah because you only see it on the Arch Linux package.
Starting point is 01:39:48 Right. You only see it on native packages, unofficial packages, and the PPA. I think people who are PyPaya users are mainly using either the personal one or the Jack one. are mainly using either the Persolio one or the Jack one. And the app to app clearing is trying to fix what is lacking for some features to be replaced. And global shortcuts, it's again a long journey. But I think it's like the camera portals. Until now, there was zero consumer of the camera portal.
Starting point is 01:40:43 And this year, Firefox, oh, we added it as experimental OBS. Oh, we now have our actual OBS 30.1 beta has it as a beta. Yeah, that's the real challenge with trying to implement anything like this. You need somebody who actually wants to use it. Because it's all well and good to make the solution. But if the solution is just not in use like you can't really go much further with that yeah i think i think it uh i really hope i hope I always forget the wording. Sorry.
Starting point is 01:41:26 Yeah. No, it's... Jordy and me were discussing on the chat about Flatpaks and Podalls, and we say... and he said to me that we can add... we can... we are kind of the beta testers of those APIs, and they're... and they make them consumed by users. I don't have the exact wording. Sometimes things explode. Sometimes things work. But as an example, actually the PyPy portals,
Starting point is 01:42:02 camera portals, implementation in OBS only support one format of camera. I think it's NV12. I think it's YUV, I don't remember. Because you need format conversions. And since we needed to add consumer, we only support one format. And progressively, more format will be added. But it's a long journey.
Starting point is 01:42:34 Always. It's always a long journey. But yeah, like me trying to add app to app stuff. And... trying to add the app2app stuff. And it's portals are trying their best. And just in case, even if the xdgdextro portals are Just in case, even if the xddictor portals are between quotes under the flatpack organizations, they're not only for flatpacks.
Starting point is 01:43:16 I think at the end of the day, like every... We are making progress, but you know, as you said before before people have other things they are working on this isn't like their primary project so everything is going to move slowly but we are moving slowly in a positive direction and eventually things are going to be better it's just a lot of people want things to be done now and it's really hard to see especially if you're not getting involved in these repos if you're not at least like reading up on what's going on it's really easy to think that nothing is happening that people
Starting point is 01:43:56 are just sitting around it's like oh well no not nothing's getting done that's not exactly it's literally there's two people and we wish they do not burn out it's sometimes that yeah honestly the people like I'm sorry if I'm easy sometimes no it's all good honestly like people
Starting point is 01:44:24 like people like Georg'm sorry if i'm easy sometimes that no no it's all good honestly like people like um people like george sorakis and like other people like him who do like tons and tons and tons of work like the foss world would not function without people like this like it's great that we have all of these other people who get involved and do little bits here and there but having these people that do tons of work yeah like they are really the driving force behind everything yeah and i'm trying to do my best to even if it's not easy well you also have i don't know how i don't think we mentioned this on the well you also have I don't know how, I don't think we mentioned this on the recording
Starting point is 01:45:08 you also have 72 AUR packages you maintain yeah I need to check I need to check if they still build again how many of them do you actively maintain
Starting point is 01:45:23 it's not 4 OBS plugins How many of them do you actively maintain? It's not for OBS plugins that are more There is more than 50 of them or best plugins like I catched Packaging is the one word. It's providing a recipe Is that it's if the gate an update and I saw it in the OBS forum in my OBS forum notification and if I go to the OBS forum so sometimes you can notify me on the AUR package to ask me to update and I update it as an example I'm a little stuck with the event switcher, event switcher update. And not because of the update,
Starting point is 01:46:09 it's because I discovered some stuff that was not building inside the switcher plugin. I think it was built, but without some features. And now I'm trying to make them work. So for the plugins, it's day-to day, once I get the notification to update. But I recently fixed... I feel... just for the... I don't know, I just love this plugin. I've just saved... All right, I'll just give you the link. Okay. Oh, God.
Starting point is 01:46:54 I never remember the name of the repo. So let's go with... Billy find it. It's the stupidest plugin, but I do my best to keep it buildable okay anyone just listening this is a DVD screensaver plugin
Starting point is 01:47:17 for OBS it's one C file and so it's easily yeah it's it's one C file and so it's easily yeah technically you can replace the logo but yeah I recently maintain it it's one what if what's one of my first aOR packages related to OBS. And because of how we changed, because with OBS 28 and progressively OBS,
Starting point is 01:47:56 recent versions, OBS 28, I said OBS 28, right? Yes, I believe so. Yeah. We changed how our build system was written. And so it blocks how the... When you're building with CMake or with Meson, you can add stuff like a package config file or a CMake package.
Starting point is 01:48:26 And we broke the name. We broke the case and see... We fixed how the library name should be written. So I think before it was written libops with uppercase L and uppercase O, which was really wrong. So we fixed it, but some plugins that don't update, like the DVD Screen Saver one, they didn't update their build system to work with the new one, with the new name.
Starting point is 01:49:03 So sometimes... with the new name. So sometimes for this one, I completely rewritten the build system because it's a 1C file. So writing a build system for 1C file is easy. Right. Yeah. But I need, when I have time, I think about it, I try to build the oldest updated and to CC build again.
Starting point is 01:49:32 And if people notify me in the comments or saying it's off to date, I try to see it. It's like the... Sometimes I maintain packages. I mean, most of my packages are really Libob's dependencies. Mm-hmm. As an example, you have... I wrote the name, the library? libAjah-ntv2.
Starting point is 01:50:11 This is literally the library to be able to build the AJA plugins inside of OBS. I made a package for it. We have libdata channel for the WebRTC features. Even if I'm using Nice for the ICE library, Arch Linux decided to take the original recipe, which was using multiple vendor libraries. Where I tried to do the opposite, I tried to... My package build used the least vendor dependencies.
Starting point is 01:51:02 Because normally you should be able to believe that a channel with external dependencies and not always the vendor ones and this is what does to be done on libidata channel because i i did it i made lib that i helped making libidata channel able to work without having Git submodules because many distros would refuse to build to package libdatachannel because of this fact. Right, right, yeah. Debian is a good example that is not super happy about it. Yeah, in the actual situation it was many Fedora packages live detection all okay yeah but it
Starting point is 01:51:46 was i was there before nil gompa got there to fix the data is there was other issues like the the eso versions that was not right he fixed that but yeah lead attention i need to be improved to be better at being packaged. Because if you can't package it, it's going to be hard to spread the feature even in unofficial packages. I don't know which other dependencies I built. Is there a CF OBS is CEF OBSs. CEF minimal OBS bin.
Starting point is 01:52:30 And the funniest part of this package is that I receive many people complaining about, oh, but my OBS studio package doesn't work because it searched for CEF minimal OBS without the dash bin. Yeah.
Starting point is 01:52:48 I never answered this message because I think the answer would be rude is did you read a euro wiki page there is some a euro helper that tries to find but normally a bin package provides the non-bin so in my OBS Studio packages I should not add the dash bin inside of them I should just ask the non-bin one
Starting point is 01:53:17 and the bin one provides the non-bin one it's just it's like I don't want to shame anyone but i really i have in ior you have pin comments and sometimes i receive message i say what does this package has more than the extra archinux unofficial package did you read the comments did you read the description the answer is no but I learned that before it happens that people don't read sometimes. Sometimes, yeah. Sometimes we are in italic.
Starting point is 01:54:13 It is... Yeah. But packaging... And actually, I was really bad at packaging and now I try to follow more the guidelines because what's good with the Arch Linux wikis is to write guidelines depending on the type of packaging. It is a CMake program. Here's how you should use CMake. As an example, Arch Linux doesn't want you to use the build type release,
Starting point is 01:54:44 or release with depth symbols. It wants you to use the type none, not because it's release with depth or problematic. What I think is that they want you to use the C flags and the C++ flags, build flags that they provide, and none allows to use those flags, where release would override I think as an example
Starting point is 01:55:10 Arshinix I think Arshinix provides O2 optimizations where in CMake release would force O3 right I didn't realize they had a different section I've seen like the Arch package guidelines for it. I never actually scrolled down to the bottom.
Starting point is 01:55:28 I didn't realize they had sections on each different thing. No, no. The CMake, there is dozens of pages for dozens of build systems. Oh, I see it now. You have one for Go, you have one for Rust, you're one for Meson, you're one for PCMag. It's like Arch Linux recently changed the licensing system to make us use the SPDX notation. Which is more, which is SPDX.
Starting point is 01:56:13 Yeah. I'm trying to give you the page with the, yeah. If you can find that or the, or the ID fires. Ah, yep. Here we go. All the identifiers? Ah, yep. Here we go. And so rather than using the good old GPL2
Starting point is 01:56:30 that we're putting less in, now it's GPL-2.0-0-Later, which is more widespread than you think. As an example, applications meta-info use it to the identifiers. So really, it's just being, because when you write GPL2, you need to ask these questions, GPL2 only or later? Right, right. Because there are two variants of the gpl and sometimes normally by default it's or later but spdx decided if you were if you return without the or later or only mentions consider it's only, so... Well, that makes sense, yeah.
Starting point is 01:57:26 Unless you specify all later, it probably should just be only. Yeah, but if... I may be bad at reading, but I remember that by default, the all later mentions is in the... I always thought that all later was the default, but I think it's true.
Starting point is 01:57:45 Yeah, but maybe it's because to avoid confusion or risk, just only... Yeah. Logically, it would make sense that it's just only, but yeah, maybe it is different. Also, coming back to the package build, is there something I do more than other AUR packages? Because AUR rules, it's up to yourself to rebuild the packages you built.
Starting point is 01:58:08 If you build the AUR packages and it breaks, rebuild it first just to check if it's not just because of dependency ABA break. Yeah, I've definitely had that happen a couple of times. If you look at my OBS studios package build, you can see that I force some rebuilds to happen with packages which like a dash x264 equals, because versions equals. And because if OBS doesn't load some libraries, it explodes. And only people who are used to this kind of log can guess what's happening. Yeah. As an example, if OBS is unable to load OBS FFmpeg, he can't record.
Starting point is 01:59:08 That's a problem. Because the record output in the OBS backend record is an output. It's inside of OBS FFmpeg. So if you don't load, and as an example, and sometimes it breaks. So I try to help users to rebuild when it's needed. But sometimes you have ABI breaks you don't wish to see happening. I don't know if you have an OBS Studio package build opened.
Starting point is 01:59:44 Yes, I've got a I've got the Do you see the do you see the Qt ver equals 662 Qt? Yes This one should never ever happened but Qt broke API between 661 and 662 Uh-huh. Yeah. But it's not only Arch Linux that got the issue. OpenSUSE table with had
Starting point is 02:00:16 the issue. Guess which other package got the issue. I'm not sure. The flat pack. It's the only the beta one, but the flat pack got the IBA break. So each time you were loading OBS with the latest KDE runtime, it was the error is simple. It's searching for C++ symbol named
Starting point is 02:00:51 ZDebugQDockWidget. I don't have the full name. It's not meant to be learned. But we had to... The fix is simple rebuild the package but
Starting point is 02:01:09 it's ABI promises is a thing and it's again it's not KD's fault I repeat because sometimes I feel that people confuse Qt and KD's Qt broke KDE.
Starting point is 02:01:26 Qt broke API. I don't know if they fixed the bug or not, but it trickled down to OBS support. Oh, no, it didn't trickle down to OBS support. It trickled down to OBS issues. And we got multiple issues. But the moment I saw the end of the log with the same error, fail to find symbol, I just say, ask your distributions
Starting point is 02:01:55 to rebuild the package. That's annoying. Yeah. Yeah. But issues and duplicated issues were a funnier one on the OBS Linux side. I need to refine it. But long story short,
Starting point is 02:02:23 we have the video acceleration API I need to refine it. But long story short, we are, there is, for those who don't know, we have the Video Acceleration API for hardware encoding, for hardware video encoding and decoding. And we have NVIDIA in its all might decided to create an alternative decoding API or participate to create one named VDPAU. Ah, yeah, OK. And so there is 10 years ago and more. Some people created a libvapi that functions with drivers. So as an example,
Starting point is 02:03:11 Mesa provides drivers to work with AMD's video encoders. Intel provides it for its own on Intel's and like we used to it, NVIDIA does not. But people try to create a plugin that bridge the VI API to VDPIU. The main issue is that it's 10 years old. The main issue is that it's 10 years old. It's sometimes installed by default on some Arch-based distro. It makes OBS explode. Why? Because OBS got in OBS 28.1, if I remember correctly.
Starting point is 02:04:09 I need to find the issue. But there is multiple back end in VIPI drivers, but the driver, the VADPU is so old that it only has one back end, which is the X11 back end, obviously. Right. And so nowadays, we have the DRM back end and the Wayland back end. OBS relies on the display-agnostic one, which is the DRM one.
Starting point is 02:04:44 But the VDPAU driver does not have this backend. It's 10 years old. It's not developed anymore. And so it makes the driver crash. It makes OBS crash because it tries to load X11 symbols where it should not. In fact, we don't even have an X11 context
Starting point is 02:05:04 where it needs to, so it crashed. And look, you can see, if I had to guess, without backtrace, it installed this package. Yeah, and you can see all my OBS Studio packages on AUR have a conflict with this package to prevent user to install it side by side of OBS. But this bug is not triggered because the package is installed. It's triggered because you have an NVIDIA card
Starting point is 02:05:37 and the package installed. Or a VDPAU capable GPU, but it's mostly only NVIDIA's. But the fun part of this issue is that it's the one with the most duplicated issues. We close to 10 duplicated issues. Yeah, I'm seeing them all right now. Jesus Christ.
Starting point is 02:06:04 Ah, wait, am I seeing a trend here? I'm seeing them all right now. Jesus Christ. Ah. Wait, am I seeing a trend here? Am I seeing a trend of the distro it's affecting? No, Manjaro was the least problematic. Okay. I like how you instantly realized which one I was talking about. No. It's the least problematic,
Starting point is 02:06:28 because Monjaro is pretty common there, but the most problematic was the Garuda Linux one. Okay. Because they have meta packages that if you have an NVIDIA card, or you ask for Video Acceleration, it installs every VIPI driver. Right.
Starting point is 02:06:51 So to install the VDPU driver, you need to remove some system packages when it comes to Garuda. I don't know if they fixed it, but it was quite problematic they did that. But like I said
Starting point is 02:07:13 on the issue, there is an alternative. Someone created the NVIDIA VAPI driver. But I guess one day maybe everyone will be running NVK and so what with reverse engineering the NVN controller and made a VIP driver That would be nice, wouldn't it?
Starting point is 02:07:34 Yeah We should probably end off the recording because we're like it's like 2 hours and 7 minutes now I can go longer if you want. Yeah, I'm sure you can, but I need to get to sleep at some point. Yeah, I'm sorry. Maybe we should mention some stuff you wanted to mention quickly.
Starting point is 02:07:57 Let's see. I think we actually touched on... I think you didn't want to talk about Dawnhacker. Oh, yeah. It's quick, so I think you can... Yeah, if you want to talk a bit about Dawnhacker, sure. Dawnhacker comes from... It's born from the same trouble...
Starting point is 02:08:27 It's the trouble that many people... Portals were coming on the Linux desktop and there was no way for the user to know if they had portals present or not. So Downhacker just checks... not so donaker just checks if the just checks if the if the xdg portal desktop provides each portal interfaces for example ignome it will not enable the global shortcuts one Yeah, on fourth, if you have the WR and the GTK in portal, and you have the Gnome keyrings installed, you would probably... It's the last screenshots of Flathub.
Starting point is 02:09:17 There's many portal absence in the WR roots stuff. It's just a tool to allow the user to quickly diagnostic if he has the portal or not. And sometimes I only did it for the screencast portal for now. I need to focus to
Starting point is 02:09:36 find time to do that for other portals. If you click on the screencast, you can have detailed, like, oh, you can screencast monitor, you can screencast application windows, you can have cursors as metadata, etc., etc. Okay, that's actually really useful. Yeah. useful. Yeah. It's really trying to, to allow ease of diagnostic. And the fun side is that is the icon that I used for it. I don't know if you're in the flat page or the code. Yes. the code version yes on flat hub you can you can still see my old icons my old icon
Starting point is 02:10:28 which was made by me if you go on the codeberg repo you can see the new icon i just recently was recently made by gnome folks yeah in the links in Flathub. Yep, ah yeah, ah okay. Yeah, yeah I'm bad at drawing so... So at the point where I needed to match the Flathub guidelines, which began to ask more than just the icon to work. So for people who try to follow the GNOME guidelines,
Starting point is 02:11:15 there is some folks that there is a repo to ask for request. But normally Flathub should work. They do not have time to do that. But normally you can ask them for help if you have issues to, for example, to find branding colors. But yeah, I brought up the issue on Mastodon, and I got
Starting point is 02:11:42 answers, and they changed the documentation to say if you have trouble, to say they acknowledge that it could be, it could be a big, big, something big. Some people might not be able to make it, but they can ask for help to Flatshop folks. Even if I think it's gonna be, even if I think it's gonna be not everyone is gonna ask but technically if you don't follow the guidelines you might
Starting point is 02:12:10 end up being not being seen you're less visible yeah so it's actually simple it's just my only concern with these guidelines was simple and clean it's simple, it's just, uh, my only concern with these guidelines was simple and clean, it's just, please notice us, the people who are not good at art.
Starting point is 02:12:32 Yeah, that, I didn't even bring that up in my, in the video that I did, that people got annoyed with, um, because they focused on another part of the video. But no, that's actually a good point as well. Yeah. Yeah. Logos are hard. Well, I do think door knocker is really cool. This, like, there are two problems that I have on Weyland. One was checking portals.
Starting point is 02:13:00 A second one was checking protocols. Both of these problems have now been addressed. WayCheck is really cool. Yeah. Yeah. I try to make my app the most user-friendly possible. I need to add more layman explanations.
Starting point is 02:13:21 Because as an example, you can see the row, what is a portal. If you click it, there is a bunch of text explaining what are portals. I may need to fix it. Also translations. If you want, you can help translating don't occur. Yeah, I can't help with that. Yeah, besides English, yeah. Oh, you know, I don't know if I enabled British English,
Starting point is 02:13:56 but replacing S with Z and color by color would be fun. You know, I can do that for you. No, but... It's really an app I did alone. And I think the hardest part I had to... I wanted to make an app. Having an ID is nice, but having a name. What a hassle.
Starting point is 02:14:19 Yeah, yeah. Well, there's a reason why my main YouTube channel is my name. I'm not good at naming people either and when I and when I say the portals portals and I remember oh what is the name because since I'm French
Starting point is 02:14:38 I only had the French word and I said oh Donaker I have the name it works I feel now I bond icon but sorry it wasn't I in skipping me or not friends I'm not good at art but yeah even the I think it was Sony and Tobias Bernard. Tobias Bernard said, who find the name of this application? It was, I think he really loved the name. Yeah, because it's stupid.
Starting point is 02:15:23 It's, oh, we just can nom on the portal to see if it's stupid it's oh we just nom on the portal to see if it's there but yeah I can really improve the application for now the only screencast for the next version of Don't Looker I just changed how dialogue got shown so
Starting point is 02:15:43 you can see on the readme on Codeburg. No, not on the, no, sorry. You can't, I can send you screenshot for now. You can check also my outputs. I'm sorry, I'm stealing your night time screenshot yeah
Starting point is 02:16:14 I changed it now it's not separate window it's a dialog that shows up like it's swapping up I see it's a new thing. Ah, I see. I see. It's a new thing from the new 46 stack from D-Bad Waiter.
Starting point is 02:16:31 That's cool. And you can swap down on the touchscreen to remove it. That's really cool. Yeah. So I swap the world UI to that yeah that does look pretty neat
Starting point is 02:16:51 yeah I wasn't aware of this I wasn't aware of this application before I started looking into some of the stuff you've done but I'm definitely going to have to give this a proper look. Besides
Starting point is 02:17:08 door knocker and my obvious contributions, there is not much. Because on the pipeware side, I only fixed a link in the documentation, and on Jelly, I just fixed the RST. There is a tool to convert
Starting point is 02:17:23 DBoss interface definitions into RST. There is a tool to convert Dbus, Dbus interface definitions into RST files. It needs to be fixed to work on on the Xdg desktop part of documentation pages. I try to contribute upstream when I can, but sometimes it's not. It's little, but it's fine. Well, is there anything else you want to bring up, or can we
Starting point is 02:17:55 end off the episode? Oh, no. Maybe we could bring other stuff next time if you want, but... I'm sure you'll have plenty to talk about next time. The thing is that once you bring me up a subject, I can find another one, find another subject. Sometimes I know I'm sometimes...
Starting point is 02:18:21 I'm sure people will complain that I took most of the talk. No, that's fine. No, that's totally fine. The less that I talk, the better. So let people know where they can find your stuff. I know that you've got a donation link on your website. Anything you want to direct people to do? I think the link stack I have,
Starting point is 02:18:49 my MasterDome profile would be good because it lists most of the things. But yeah. Oh, copy paste. No, it's copy-pasting between X-Wayland and Wayland. It's fun. Ah, I forgot the HTTP.
Starting point is 02:19:17 Fine. It'll work. It's a link stack. It's just a link tree like system thing. But it's entirely open source. Oh, cool. You can self host it if you want. I just use the official French instance, but not official the main French instance, I think. Or not. I just used the main instance. Yeah.
Starting point is 02:19:48 The fun part is that you can see how many times links were clicked. And I'm like, grand surprise, it was my useless website that got the most clicks. Well, give a name like that, obviously people are going to go to it and find out what it's all about. Yeah. Yeah, I will...
Starting point is 02:20:10 Like you said, I accept donations. My situation is really simple. It's just I'm just an idiot that doesn't... That is unemployed, never got a job, and and I tried to contribute to FOSS and I explained on the site about donations about how it works in France because when you're in France
Starting point is 02:20:38 you can't give donations to someone easily because it's complicated so you need to do some paperwork you can't give donations to someone easily because it's complicated. So you need to do some paperwork. And so, yes, I have tax on donations. But it's like that. Sometimes, I'm sorry, I'm...
Starting point is 02:21:11 I'm just creating the donations links just to people because people were asking me on the discord if they How they could give money to give donations to me But sometimes I just have this dream to maybe one day being able to do what I want all the time. Right now, I'm still with my mom, with my siblings. I don't know how to kickstart my life correctly, so I'm doing fast stuff.
Starting point is 02:21:47 I'm sorry it became a life. No, no, it's all good, it's all good. Well, I'm sure, hopefully after this, people know the work that you do, so hopefully some people go and decide to support you with it. Yeah. the work that you do so hopefully some people go and decide to support you with it yeah somewhere in my website I say I'm lost in this world so
Starting point is 02:22:11 yeah thank you for inviting me yeah I'm absolutely pleased to have you on I'm more than happy to do this again as I said before I'm sure that we'll find plenty to talk about another time i still don't know how you're gonna cut this episode in parts for youtube uh so what i normally do is i upload the entire thing on it yeah i know and then yeah i have the the different
Starting point is 02:22:37 parts usually what i do is i go through i find the bits where i start prompting a direction and then just wing it. That's pretty much how it goes. Okay. Is there anything else you want to direct people to or is that pretty much it? No, my link stack contains most of the links. Okay.
Starting point is 02:22:55 I guess I'll do my outro then, unless there's anything else you want to say. If you love FBS Studio or any kind of project think about donating to them it's pretty nice to do that absolutely as for me
Starting point is 02:23:18 my main channel is Brody Robertson I do Linux videos there 6 days a week I've got a lot of podcasts recorded in advance so I have no idea what will be out by the time this comes out. Because this will be out in like three or four weeks.
Starting point is 02:23:36 My podcast channel if you're on the podcast channel. If you listen to the audio version of this, you can find the video version on YouTube at Tech Over Tea. If you're watching the video, you can find the audio version on pretty much every podcast platform. There is an RSS feed. Put it into your favorite app. I've also got the gaming channel that is Brody on Games.
Starting point is 02:23:55 I'm probably still playing through God of War 2. And I'm probably getting towards the end of Neo The World Ends With You. So pop around for that if you want to see me rant about nonsense. Yeah, that's pretty much it. So, I'll give you the final word. How do you want to end off the show? Please use the right tissue tracker.
Starting point is 02:24:21 Absolutely! Absolutely! See you guys later.

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