ChanServ changed the topic of #wayland to: https://wayland.freedesktop.org | Discussion about the Wayland protocol and its implementations, plus libinput
rasterman has joined #wayland
glennk has quit [Ping timeout: 480 seconds]
rasterman has quit [Quit: Gettin' stinky!]
fmuellner has quit [Ping timeout: 480 seconds]
sima has quit [Ping timeout: 480 seconds]
kode54 has quit [Quit: The Lounge - https://thelounge.chat]
kode54 has joined #wayland
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
coldfeet has joined #wayland
yrlf has quit [Quit: The Lounge - https://thelounge.chat]
yrlf has joined #wayland
<daniels> colinmarc: correct :\
<daniels> soreau: also even if I didn’t happily use GNOME, you know better than to start desktop wars here
iomari891 has joined #wayland
mriesch_ has joined #wayland
mriesch has quit [Ping timeout: 480 seconds]
iomari891 has quit [Ping timeout: 480 seconds]
rasterman has joined #wayland
mriesch_ has quit []
mriesch has joined #wayland
lsd|2 has joined #wayland
<soreau> daniels: is that kinda like Star Wars?
* soreau has never heard of 'desktop wars' before
<soreau> I guess you have to pick Light or Dark side - and this all depends.. on your theme!
<soreau> In the end, everyone falls for Wayfire, the Princess Leia of the parody 👍
<soreau> and don't forget the Star Wars xscreensaver, because how would we have moved forward (or backward) without it ;)
lsd|2 has quit [Quit: KVIrc 5.2.2 Quasar http://www.kvirc.net/]
lsd|2 has joined #wayland
<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?
kts has joined #wayland
lsd|2 has quit [Ping timeout: 480 seconds]
sima has joined #wayland
jbit has quit [Quit: Quitting]
CuteMath has joined #wayland
CuteMath has quit []
CuteMath has joined #wayland
<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)
kts has quit [Ping timeout: 480 seconds]
kts has joined #wayland
bodiccea has joined #wayland
fmuellner has joined #wayland
bodicceaII has quit [Ping timeout: 480 seconds]
kts has quit [Ping timeout: 480 seconds]
bodiccea_ has joined #wayland
<colinmarc> here's the same game with an artificial 10ms delay in sending frame callbacks. it seems to work empirically at least
<colinmarc> that 6ms is the input lag between commit and present
<colinmarc> I have an nvidia system, let me try there with a different WSI stack
jbit has joined #wayland
<llyyr> colinmarc: all the games running through wine for me are using fifo, not mailbox
<llyyr> regardless of vsync setting in individual games
Moprius has quit [Quit: bye]
<colinmarc> <llyyr> "Colin Marc: all the games..." <- hm okay. how are you checking that?
<llyyr> mangohud's present_mode config
<llyyr> it should be reliable (works correctly with vkcube present_mode)
<llyyr> Maybe the overlay layer in mesa should provide this info too, it seems mangohud is guessing
kts has joined #wayland
kts has quit [Ping timeout: 480 seconds]
OtzmaYehudit has quit [Remote host closed the connection]
OtzmaYehudit has joined #wayland
kts has joined #wayland
kts has quit [Ping timeout: 480 seconds]
nerdopolis has joined #wayland
kts has joined #wayland
kts has quit [Remote host closed the connection]
kts has joined #wayland
kts has quit [Remote host closed the connection]
kts has joined #wayland
coldfeet has quit [Quit: Lost terminal]
rasterman has joined #wayland
coldfeet has joined #wayland
qyliss has quit [Quit: bye]
qyliss has joined #wayland
qyliss has quit [Quit: bye]
qyliss has joined #wayland
qyliss has quit [Remote host closed the connection]
qyliss has joined #wayland
qyliss has quit [Quit: bye]
qyliss has joined #wayland
qyliss has quit [Quit: bye]
qyliss has joined #wayland
nerdopolis has quit [Read error: Connection reset by peer]
nerdopolis has joined #wayland
lsd|2 has joined #wayland
CuteMath has quit [Quit: Leaving]
Moprius has joined #wayland
Moprius has quit []
Moprius has joined #wayland
lsd|2|2 has joined #wayland
lsd|2 has quit [Ping timeout: 480 seconds]
Moprius has quit [Quit: bye]
Moprius has joined #wayland
lsd|2|2 has quit []
rasterman has quit [Quit: Gettin' stinky!]
coldfeet has quit [Quit: Lost terminal]
kts has quit [Remote host closed the connection]
mohit815822635306 has quit [Quit: mohit815822635306]
kts has joined #wayland
mohit815822635306 has joined #wayland
kts has quit [Remote host closed the connection]
kts has joined #wayland
mohit815822635306 has quit [Remote host closed the connection]
mohit815822635306 has joined #wayland
kts has quit [Quit: Konversation terminated!]
iomari891 has joined #wayland
iomari891 has quit [Quit: WeeChat 4.3.1]
pavlushka has joined #wayland
agd5f_ has joined #wayland
agd5f has quit [Ping timeout: 480 seconds]
agd5f_ has quit [Read error: Connection reset by peer]
agd5f has joined #wayland
pavlushka has quit [Ping timeout: 480 seconds]
Moprius has quit [Quit: bye]
OtzmaYehudit has quit [Remote host closed the connection]
OtzmaYehudit has joined #wayland
lsd|2 has joined #wayland
sima has quit [Ping timeout: 480 seconds]
OtzmaYeh1 has joined #wayland
OtzmaYehudit has quit [Remote host closed the connection]
lsd|2|2 has joined #wayland
lsd|2 has quit [Ping timeout: 480 seconds]
lsd|2|2 has quit []
agd5f_ has joined #wayland
Brainium has joined #wayland
agd5f has quit [Ping timeout: 480 seconds]
agd5f_ has quit [Read error: Connection reset by peer]
agd5f has joined #wayland
CME has quit [Ping timeout: 480 seconds]
rasterman has joined #wayland