ChanServ changed the topic of #wayland to: https://wayland.freedesktop.org | Discussion about the Wayland protocol and its implementations, plus libinput
crazybyte has quit [Read error: Connection reset by peer]
crazybyte has joined #wayland
sima has quit [Ping timeout: 480 seconds]
riteo has quit [Ping timeout: 480 seconds]
riteo has joined #wayland
Narrat has quit []
emays has joined #wayland
emays has left #wayland [#wayland]
mblenc1 has quit [Read error: Connection reset by peer]
agd5f_ has joined #wayland
fmuellner has quit [Ping timeout: 480 seconds]
agd5f has quit [Ping timeout: 480 seconds]
Brainium has quit [Quit: Konversation terminated!]
balrog_ has quit [Ping timeout: 480 seconds]
kode54 has quit [Quit: The Lounge - https://thelounge.chat]
kode54 has joined #wayland
garnacho has quit [Ping timeout: 480 seconds]
nerdopolis has quit [Ping timeout: 480 seconds]
glennk has joined #wayland
yrlf has quit [Quit: Ping timeout (120 seconds)]
yrlf has joined #wayland
garnacho has joined #wayland
iomari891 has joined #wayland
crazybyte has quit [Ping timeout: 480 seconds]
slim has joined #wayland
rasterman has joined #wayland
coldfeet has joined #wayland
narodnik has joined #wayland
coldfeet has quit [Quit: leaving]
sima has joined #wayland
kts has joined #wayland
coldfeet has joined #wayland
yrlf has quit [Quit: The Lounge - https://thelounge.chat]
yrlf has joined #wayland
kts has quit [Ping timeout: 480 seconds]
kts has joined #wayland
mriesch_ has joined #wayland
narodnik2 has joined #wayland
mriesch has quit [Ping timeout: 480 seconds]
sally has quit [Quit: sally]
mriesch_ has quit []
mriesch has joined #wayland
andyrtr has quit [Ping timeout: 480 seconds]
andyrtr has joined #wayland
kts has quit [Ping timeout: 480 seconds]
andyrtr_ has joined #wayland
andyrtr has quit [Ping timeout: 480 seconds]
andyrtr_ has quit [Ping timeout: 480 seconds]
sally has joined #wayland
andyrtr has joined #wayland
funderscore is now known as f_
andyrtr_ has joined #wayland
andyrtr has quit [Ping timeout: 480 seconds]
andyrtr_ is now known as andyrtr
andyrtr_ has joined #wayland
andyrtr has quit [Remote host closed the connection]
andyrtr_ is now known as andyrtr
Moprius has joined #wayland
fmuellner has joined #wayland
crazybyte has joined #wayland
andyrtr_ has joined #wayland
Sid127 has quit [Quit: ZNC - https://znc.in]
coldfeet has quit [Remote host closed the connection]
andyrtr has quit [Ping timeout: 480 seconds]
andyrtr_ is now known as andyrtr
Sid127 has joined #wayland
narodnik has quit [Quit: WeeChat 4.5.1]
narodnik2 has quit [Ping timeout: 480 seconds]
nerdopolis has joined #wayland
iomari891 has quit [Ping timeout: 480 seconds]
iomari891 has joined #wayland
FreeFull has joined #wayland
narodnik has joined #wayland
balrog has joined #wayland
<bitblt> does the wayland protocol dictates the use of logical coordinates, and if they should be integer or fractional?
<linkmauve> bitblt, pixels are always spaced by integers, but you have protocols such as wl_viewporter which let you scale a given buffer to an almost arbitrary scale and crop.
<linkmauve> For input, clients always receive logical coordinates yes.
<bitblt> yes, thats why I'm asking this. It is obvious that when dealing with buffers (to be presented on screen) the dimensions will be in integer pixels that must be in the same space as the resolution of the screen
<bitblt> but when doing things such as fractional scaling, the 'logical' space may be fractional too in order to correctly map to the physical resolutions
<bitblt> I see that in wlroots, the logical positions and dimensions are expressed with integers and this seems wrong
<bitblt> so either this is a wlroots implementation problems, or the wayland spec dictates the use of integers for the logical coordinate system and wlroots adheres to that
<emersion> all surface sizes etc are integers in logical coords
<emersion> almost everything on the wire is logical coords, and almost everything is integers
<bitblt> emersion: yes, this is my question, is it dictated by the spec that they should be, or its a choice in wlroots implementation?
<emersion> exceptions: when creating a new buffer the size is in buffer-local coords, xdg-output and wl_output position are in layout coords
<emersion> and input events are in general wl_fixed
<emersion> it's spec'ed in the protocol
<bitblt> buffer-local coords make sense to be in integers (its a pixel buffer with discrete pixels), xdg-output and wl_output and in general layout coords do not make sense to be integers, especially now that the fractional scale protocol exists
<bitblt> let me give a specific example: in wlroots here: https://gitlab.freedesktop.org/wlroots/wlroots/-/blob/master/types/scene/wlr_scene.c?ref_type=heads#L2029 the logical render_data width is calculated from the real output resolution and the scale factor
<bitblt> in my setup which is a laptop with resolution 2560x1600 and a scale factor of 1.75, this results in a logical resolution of 1462x914 which is way different from the 1462.8571x914.2457 that it should be
<bitblt> so further calculations based on these truncated logical dimensions will be off
<bitblt> if you take 1462*1.75=2558.5 and 914*1.75=1599.5
Brainium has joined #wayland
<bitblt> even with rounding, you cannot infer the physical resolution correctly, so I thought that in general logical space coordinates/dimensions should be fractional for this to work correctly
<vyivel> hot take setting a scale such that logical size is fractional shouldn't be allowed
<bitblt> the problem is that logical sizes are everywhere, every window can result to a a fractional logical scale depending on its dimensions
Vaughn has quit [Read error: Connection timed out]
Vaughn has joined #wayland
<vyivel> no it can't
<vyivel> logical sizes of windows (surfaces) are always integer
<vyivel> you're probably thinking about per-output physical sizes
<bitblt> that means that each wayland client should get a slightly different scale value from the compositor, in order for it to have proper buffer size that matches its logical size * scale?
<zamundaaa[m]> <vyivel> "hot take setting a scale such..." <- That doesn't work in practice
<zamundaaa[m]> bitblt: see https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/149 for a proper solution of that problem
<bitblt> zamundaaa: it seems that you have done plenty of work in kwin as a poc for the fractional scale v2 protocol
<bitblt> I think this might be the solution to this too: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3793
narodnik2 has joined #wayland
bitblt_ has joined #wayland
bitblt has quit [Ping timeout: 480 seconds]
bitblt_ is now known as bitblt
bodiccea_ has quit [Remote host closed the connection]
bodiccea_ has joined #wayland
iomari891 has quit [Ping timeout: 480 seconds]
cyrinux has quit []
cyrinux has joined #wayland
hugeblank has quit [Quit: WeeChat 4.5.1]
bodiccea_ has quit [Remote host closed the connection]
bodiccea_ has joined #wayland
bodiccea_ has quit [Remote host closed the connection]
sima has quit [Ping timeout: 480 seconds]
<wlb> wayland Merge request !460 opened by Rahul Sandhu (nvraxn) server: wl_client: introduce method for getting client security context https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/460
agd5f_ has quit [Remote host closed the connection]
rasterman has quit [Quit: Gettin' stinky!]
nerdopolis_ has joined #wayland
nerdopolis is now known as Guest9851
nerdopolis_ is now known as nerdopolis
Guest9851 has quit [Read error: Connection reset by peer]
<wlb> wayland Merge request !461 opened by Simon Ser (emersion) scanner: use separate guards for validator functions https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/461
glennk has quit [Ping timeout: 480 seconds]