ChanServ changed the topic of #wayland to: https://wayland.freedesktop.org | Discussion about the Wayland protocol and its implementations, plus libinput
elliptic_saki has quit [Remote host closed the connection]
cmichael has joined #wayland
cmichael has quit []
<DemiMarie>
There is one case I know of where I have read that X11 is legitimately better than Wayland, and that is e-book readers using e-ink displays.
feaneron has quit [Quit: feaneron]
<soreau>
what is all this 'reading' as opposed to 'measuring'?
<soreau>
anyone can write something for someone else to read but provable measurements are much more telling
<DemiMarie>
soreau: the embedded hardware in question (Amazon Kindle) is locked down
<soreau>
how does this make any difference?
<DemiMarie>
I also don’t remember the post in question
<DemiMarie>
in other words: this is hearsay, which is why I made a deliberately weak claim
<DemiMarie>
I believe the reasoning was that the expose model lends itself very easily to partial repaints, as opposed to having to do delta calculation in software.
<soreau>
It's like a nanosecond race to see who can link input to output the fastest - and there's nothing that is provable without hardware instruments designed for such measuring
<soreau>
the winner might as well be printf :P
<ezzieyguywuf>
so xdg_toplevel::close is a request sent by the server? what if I want to close the window on the client size, do I send a particular event or request or do I just destroy smthn?
garnacho has quit [Ping timeout: 480 seconds]
<soreau>
ezzieyguywuf: you can exit(0) in any flavor you'd like
<soreau>
most decent compositors are prepared to handle client crashes even
<ezzieyguywuf>
hah true true - curious though, what if I just want to close the wayland window but still keep the program running
<soreau>
close event just means 'you might want to exit gracefully because we aint gonna give you much more attention from this point on'
<ezzieyguywuf>
also, my compositor doesn't have server-side decorations, so in this case, how do I e.g. add a title bar and close/minimize/maximize buttons, do I have to like draw these things in gimp and load them in somehow, or is there a more elegant way to do this?
<ezzieyguywuf>
soreau: but for example, let's say I add a close button, how do I tie that to the close event?
<ezzieyguywuf>
soreau: yea I was reading that, but it was unclear to me what triggers the event
<soreau>
ezzieyguywuf: if you're close button is rendered by the compositor (i.e. SSD) then you'd tie that to a close event. If you're the client doing SSD, the close button does whatever you want it to, typically exit gracefully, the same as what you'd do when getting a close event
<soreau>
your*
<ezzieyguywuf>
hm I see
<soreau>
ezzieyguywuf: to do compositor decorations i.e. SSD, you have to figure out what works best from compositor POV
<soreau>
if you want to do it with GL, cairo, compute, whatever..
<soreau>
it's all up to you
<soreau>
for CSD, it's up to the client
<soreau>
very conflicted and confusing, but such is the protocol API designed
<ezzieyguywuf>
I see. thank you for the help
<soreau>
np
<soreau>
ezzieyguywuf: if you want to 'close' the window but keep the program running, you might want your compositor to simply not render the window
<soreau>
like an unmap of sorts
<danieldg>
note the 'close' event is also sent by the compositor if the user hits alt-f4 or similar "close" key combinations, regardless of ssd/csd
<ezzieyguywuf>
👍 yes I'm already handling theh 'close' event gracefully, moreso I was wanting to emit the event myself
<ezzieyguywuf>
but I see now that I don't rly need to do that
<ezzieyguywuf>
wrt decorations I think server-side decorations are really ideal, since I expect they will provide the most "native" experience, however in the absense of server support I guess I'll have to draw my own. they'll be pretty ugly though lol
<danieldg>
yep, gnome expects everyone to use gtk (therefore getting native looking csd)
* soreau
uses pixdecor
<soreau>
ezzieyguywuf: since it sounds like you're writing a client, you might look into libdecor
<DemiMarie>
danieldg: yup, which is why I consider Wayland not requiring SSD (and thus requiring CSD) to be a mistake
<soreau>
it is
<soreau>
but it was the easiest thing to get going in the beginning
<DemiMarie>
during early Weston development?
<danieldg>
it also works better for apps like chrome that want to put tab bars in the title bar
<danieldg>
but yeah, I mostly agree with you
<DemiMarie>
I think Mutter is the only major desktop compositor that doesn’t support xdg-decoration
<soreau>
what makes it major? let's be real here - people are largely disappointed with the show and moving on to bigger and better things
<danieldg>
major as in a significant number of people use it
<soreau>
metrics?
<danieldg>
I think it's default in rhel9, maybe 8 too?
<danieldg>
no I don't have metrics, and I don't want them
<soreau>
defaults are meant to be changed, especially when it comes to linux :P
<danieldg>
it's amazing how lazy some people are
<soreau>
maybe users == those that are forced to use it by some corporation
<danieldg>
and that too
<DemiMarie>
I think it is the only supported Wayland compositor in RHEL8+, and the only supported KMS application in RHEL10.
<DemiMarie>
There are definitely people who choose to use GNOME of their own free will, and who strongly prefer GNOME to other desktop environments.
<soreau>
because none of the other users that actually make up the base, matter
<danieldg>
yes, I know some of those people
<soreau>
DemiMarie: probably the same group that complains incessantly about the very platform they chose :P
<DemiMarie>
soreau: I’m not so sure. I don’t think I know anyone who would say GNOME is _perfect_, but I wouldn’t say that the GNOME fans I know constantly complain about it.
nerdopolis has quit [Ping timeout: 480 seconds]
iomari891 has quit [Ping timeout: 480 seconds]
<DemiMarie>
GNOME really does have a place, and there are people for whom it is the best option. It’s what I would recommend to someone who wanted desktop Linux for their child’s first computer.
glennk has joined #wayland
Calandracas_ has joined #wayland
Calandracas has quit [Ping timeout: 480 seconds]
bitblt_ has joined #wayland
bitblt has quit [Ping timeout: 480 seconds]
bitblt_ is now known as bitblt
garnacho has joined #wayland
* Ermine
have met a genuine gnome fan
slim has joined #wayland
<colinmarc>
if I want to write a test vulkan app that displays the difference between swap and the presentation time, I have to bypass the wsi, right? because the present time extension hasn't shipped
<colinmarc>
Ok, so I figured out that I can just create a second feedback object on my surface even when using WSI, that makes reading the presentation time easier. However, I'm stuck trying to get the frame callback timing. Mesa doesn't even use the frame callback if wp_presentation is available: https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/src/vulkan/wsi/wsi_common_wayland.c#L2524-2533
<colinmarc>
That makes me wonder if I'd even be simulating a "real" app with my test app. Or if timing the frame callback even reduces latency for fullscreen games. I feel like I'm missing something here about how this frame scheduling thing is supposed to work
<colinmarc>
Basically my question is: how can I control when MAILBOX apps render, especially if they're limiting themselves to a certain framerate?
<colinmarc>
cool to at least visualize the problem :)
<daniels>
colinmarc: when you say ‘control’ - what’s the context? are you trying to modify app behaviour from within a compositor, toolkit, plugin lib, other?
rasterman has quit [Quit: Gettin' stinky!]
vincejv is now known as Guest9288
vincejv has joined #wayland
<colinmarc>
<daniels> "Colin Marc: when you say ‘..." <- sorry - context is I'm the compositor, and I want to do frame scheduling to reduce input lag
<daniels>
ah, right, I see
<daniels>
the best thing you can do is implement fifo and commit-timing
<colinmarc>
why fifo? I think my client here is using mailbox
<daniels>
that will actually increase latency for some clients, but can make it better for smarter ones
<colinmarc>
most of my clients are games running via xwayland, if that helps
CuteMath has quit [Quit: Leaving]
<colinmarc>
I've seen examples online of delaying the frame callback based on an estimation of the client's frame time, is that not a recommended strategy anymore?
CuteMath has joined #wayland
Moprius has joined #wayland
Guest9288 has quit [Ping timeout: 480 seconds]
<ifreund>
its a good strategy if the client uses frame callbacks
<ifreund>
xwayland games dont though in general
<colinmarc>
what's the right strategy for xwayland games?
<colinmarc>
or is there none?
<ifreund>
colinmarc: afaik, the fifo protocol is the best approach
<colinmarc>
@ifreund it's on my list to implement anyway - do you mind explaining why it helps in this case though?
<colinmarc>
like I was under the impression that these games are using mailbox under the hood (unless I uncheck vsync)