Tech Over Tea - Chatting OBS With The AUR Legend | Tytan652
Episode Date: April 12, 2024Today 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)
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.
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
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.
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.
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
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
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
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.
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.
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
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.
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
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,
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,
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,
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.
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.
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,
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
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
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.
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.
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.
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.
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.
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,
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
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
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
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,
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
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.
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...
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
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
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
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.
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.
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.
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
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
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
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
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
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.
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.
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...
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
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.
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
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
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
is
how do you
redirect users
to the right
support
right
because
when we
when we get
on the
obvious server
community
we arrive
someone with
the snap
installed
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
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.
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
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.
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.
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
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.
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.
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.
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
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
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,
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.
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,
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
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
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
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
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.
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?
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
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
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
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.
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
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.
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
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
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.
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
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
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
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
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
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
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
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.
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.
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,
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
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,
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.
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
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
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,
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.
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
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
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.
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
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
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
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.
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.
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.
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
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?
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.
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
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,
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
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
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
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
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,
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,
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
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.
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
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...
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,
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.
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
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
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.
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.
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
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,
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
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
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
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
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.
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
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
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,
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
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
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
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
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
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.
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.
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
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
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
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,
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
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
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.
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.
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
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.
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.
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.
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
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
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.
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,
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,
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,
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.
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
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
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
in
on next digital
portals
he named it
p2p media sharing
okay
I understand
what it means
but it's so
confusing for some
kind of people
right
if you understand
what I mean
because it means
p2p but
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,
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.
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.
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,
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
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
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
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.
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.
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
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,
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.
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,
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.
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
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,
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.
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...
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.
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
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
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
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
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
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.
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...
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.
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,
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.
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
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
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
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
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
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,
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
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
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
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.
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.
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
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.
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,
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
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.
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.
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
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
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
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,
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?
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.
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,
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
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
forever
we have
we have a hole
for v4 l2
as an example
and
once i'm done
once i'm done
with the
app to app
i forgot to mention
for app to app
screen sharing
there is the virtual cam part
yes
yes
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
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.
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.
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.
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,
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.
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.
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
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
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
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
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,
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.
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
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,
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.
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.
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.
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.
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.
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
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.
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.
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
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.
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,
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
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.
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.
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
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.
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.
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.
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.
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.
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
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
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
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.
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
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,
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,
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.
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.
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
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
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.
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,
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.
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
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?
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.
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...
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.
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
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
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,
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
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
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.
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.
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.
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,
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.
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
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.
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
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
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.
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
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
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
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
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...
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,
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.
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.
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...
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
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...
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.
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
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
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.
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
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.
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.
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.
Absolutely!
Absolutely!
See you guys later.