ChanServ changed the topic of #wayland to: https://wayland.freedesktop.org | Discussion about the Wayland protocol and its implementations, plus libinput
crazybyte has quit [Ping timeout: 480 seconds]
columbarius has joined #wayland
co1umbarius has quit [Ping timeout: 480 seconds]
Guru_DE has quit [Ping timeout: 480 seconds]
Guru_DE has joined #wayland
fmuellner has quit [Ping timeout: 480 seconds]
privacy has quit [Remote host closed the connection]
andymandias_ has joined #wayland
andymandias has quit [Read error: Connection reset by peer]
andymandias_ is now known as andymandias
DragoonAethis has quit [Quit: hej-hej!]
DragoonAethis has joined #wayland
crazybyte has joined #wayland
mclasen has quit [Ping timeout: 480 seconds]
Company has quit [Quit: Leaving]
cool110 has joined #wayland
Brainium has quit [Quit: Konversation terminated!]
cool110 is now known as Guest785
Guest678 has quit [Ping timeout: 480 seconds]
garnacho has quit [Ping timeout: 480 seconds]
julio7359 has quit [Ping timeout: 480 seconds]
Guru_DE has quit [Ping timeout: 480 seconds]
Guru_DE has joined #wayland
lockywolf_ has quit []
mxz_ has joined #wayland
lockywolf has joined #wayland
mxz has quit [Ping timeout: 480 seconds]
mxz__ has quit [Ping timeout: 480 seconds]
mxz_ is now known as mxz
kts has joined #wayland
Guest785 has quit [Remote host closed the connection]
cool110 has joined #wayland
cool110 is now known as Guest788
kts has quit [Quit: Konversation terminated!]
feaneron has quit [Ping timeout: 480 seconds]
kts has joined #wayland
mxz_ has joined #wayland
glennk has joined #wayland
kts has quit [Quit: Konversation terminated!]
Guest788 has quit [Remote host closed the connection]
cool110 has joined #wayland
cool110 is now known as Guest797
rv1sr has joined #wayland
Dami_Lu has quit [Remote host closed the connection]
Dami_Lu has joined #wayland
ghishadow has quit [Ping timeout: 480 seconds]
rasterman has joined #wayland
carbonfiber has joined #wayland
mvlad has joined #wayland
sima has joined #wayland
tzimmermann has joined #wayland
privacy has joined #wayland
mart has joined #wayland
JakeSays has joined #wayland
Dami_Lu has quit [Remote host closed the connection]
lockywolf has quit []
lockywolf has joined #wayland
JakeSays1 has quit [Ping timeout: 480 seconds]
Dami_Lu has joined #wayland
Guru_DE has quit [Remote host closed the connection]
<d_ed[m]>
<Company> "zamundaaa: have you ever..." <- We have API for apps to choose between "I want to be integer and scaled by the compositor" or "I'll try and do fractional directly"
<d_ed[m]>
but it's API in the app itself, rather than a user facing thing
<d_ed[m]>
unless they meddle with env var overrides
<emersion>
would be great to have feedback on the approach, as i have no idea how to review
<kennylevinsen>
When I saw that MR I did end up questioning whether this was a case of the alpha being wrong on the client due to assuming the old blending style, rather than a flaw in the new blending
<kennylevinsen>
which in turn made me wonder how other platforms do the same blending, if something akin to transparent subsurfaces/windows are used for the same feature
<pq>
emersion, reading the very first paragraph of the MR description, this sounds like "I am used to blending electrical space, I have tuned all by source color values to look good with that, and your optical blending produces something different."
<pq>
*all my source
<pq>
blending in different spaces inherently produces different results
<emersion>
right but this MR does something different from just blending in electrical space still?
<pq>
sure - and luckily Wayland does not define how blending works, so it's up to your compositor policy what you consider "correct" or "best"
<pq>
so foremost a policy decision
<emersion>
hm
* emersion
still no clue what to do with that MR
carbonfiber has quit [Quit: Connection closed for inactivity]
<kennylevinsen>
Are we still the only ones with a renderer doing optical blending?
<pq>
there is no obviously right answer
<pq>
weston would do optical blending, if you enabled "experimental, tentative, WIP" color management.
<pq>
possibly one might want to limit that MR kind of trickery to untagged wl_surfaces, i.e. those without an image description.
<jadahl>
kennylevinsen: I have a branch that makes mutter blend using optical blending *sometimes* (e.g. wayland surfaces)
<kennylevinsen>
jadahl: I was just about to ask what the plans were in mutter :)
<jadahl>
hard to say if it looks better or worse. its very subjective
<pq>
personally I would like to standardise around optical blending, at the very least for all windows with an image description
<emersion>
kennylevinsen: gamescope does as well iirc
<emersion>
not sure about kwin
<pq>
but semi-transparent tooltips? Should they be made semi-transparent by the client or by the compositor?
<emersion>
i'm confused
<emersion>
the compositor has no say in this
<emersion>
the fact that they are semi-transparent, that is
<jadahl>
tooltips tend to be just arbitrary xdg_popup's potentially with a non opaque alpha channel
<emersion>
yea
<pq>
the compositor knows what wl_surface is an xdg_popup, so it could make them all semi-transparent
<jadahl>
thats nouds bad
<jadahl>
*sounds
mclasen has joined #wayland
<pq>
perhaps
<kennylevinsen>
If we're more or less all pushing towards optical blending, then I might be vary of workaround like this as the clients are likely to adjust their alpha values to fit optical blending anyway
<pq>
but *should* it be in compositor control?
<emersion>
yeah, that sounds pretty bad, the xdg_popup might be anything
<emersion>
like a popover form
<jadahl>
pq: are you saying it should be "make this popup a bit transparent, but expect there to be text so not too much"
<jadahl>
?
<pq>
we could extend xdg protocol to label tooltips, then compositors could handle them
<pq>
kennylevinsen has an excellent point, for those apps that are maintained
<pq>
could Xwayland vs. wayland-native be the divider?
<pq>
jadahl, I'm asking whether some DE settings would like to have "make tooltips this much semi-transparent"
<jadahl>
in Xwayland its override-redirect windows, that *might* have a tooltip hint, but they might already be a bit transparent
<kennylevinsen>
regarding having the compositor decide tooltip appearance - it is an idea if there is a clear enough role, but unless the client is forced to certain color/font parameters, or can know the compositor choices, I fear legibility could be compromised by "surprising" compositor decisions
<emersion>
imho clients should remain in control of the theming
<pq>
no, I meant: Wayland-native apps likely would get updated, while X11 apps likely would not get updated.
<jadahl>
pq: maybe toolkits wants a "make this appear as if it was blenden electrically ish"
<pq>
jadahl, then you need a blending protocol extension.
<jadahl>
or the reverse, and assume thats the case by default
<jadahl>
sure
<jadahl>
we need that anyway, for non-opaque subsurfaces and overlay planes
<pq>
then you also get to figure out what blending in electrical means, when your framebuffer is HDR
<jadahl>
(in planes too)
<jadahl>
right..
<pq>
personally I'm trying to stay as much away from blending in electrical as I can
<jadahl>
hard when *all* blending is that way now in most places :P
<pq>
perhaps quirks can be added for "legacy" apps, but how to detect such apps? Wayland-native vs. X11?
<pq>
sure
<pq>
I have always expected lots of crying
<pq>
but it's still the compositor project's policy
<jadahl>
crying because of how beautiful HDR is?
<pq>
no, people screaming at me I broke their apps
<pq>
btw. web browsers have the same problem, and more serious
<kennylevinsen>
"my workflow relies on SDR being blown out without tone mapping in HDR mode, please add an option to do the wrong thing"
<jadahl>
would have preferred happy crying, but ok
<kennylevinsen>
that usually happens in private though
<pq>
https://hg2dc.com/2019/07/21/question-9/ is the same dilemma, except it forgets to explain that often which one is "right" is whatever you happen to expect. To me, it looks like there is a light fringe replacing the dark fringe.
<pq>
our need to be able to mix SDR and HDR content complicates things
<pq>
emersion, if one needs to tweak the optical blending towards what people are accustomed to, I find the proposed algorithm a very sensible one. It modulates transparency, but does not change chromaticity.
<pq>
it also makes no assumptions about the blending target, modulating only the source opacity, which is good.
<pq>
it remains to be experimented how it looks like on various combinations of colors of destination, popup background, and popup foreground (text)
<pq>
it might conflict somewhat with font anti-aliasing
<pq>
that's due to using the "lightness" to modulate alpha
fmuellner has joined #wayland
<pq>
emersion, the middle patch is right about needing to un-premult before decoding by TF.
<emersion>
thanks pq!
<emersion>
yeah, the middle patch has been merged separately already
<pq>
emersion, it's certainly an interesting proposal, and well founded, but I would like to limit its application to "legacy apps", however you want to define that.
<mclasen>
pq: the color nerd dilemma - caring deeply about something nobody else gives a hoot about
<emersion>
i don't think it makes a lot of sense to differentiate between X11 and Wayland - to me they are in the same boat
<emersion>
but color-managed Wayland sure is different
<pq>
mclasen, no, people definitely care: people don't want change.
swick[m] has joined #wayland
<swick[m]>
I really just want everything to be blended in optical
<swick[m]>
I don't really care if old apps look a bit off because they have been tuned for electrical sRGB blending
mart has quit [Quit: Konversation terminated!]
<pq>
it does not seem "just a bit off"
<swick[m]>
it doesn't become unusable
<pq>
I see a significant difference in readability
mart has joined #wayland
<alice>
is there a visual example floating around
<pq>
if someone was struggling before, they probably can't read it after
<swick[m]>
okay, sure, but you can either fix it, or change the font size, or change scaling
<swick[m]>
the more weirdness we add here the worse it will be in the long run
<pq>
I agree on the weirdness causing problems
<pq>
blending in optical "breaks" some apps and they need to be fixed, either in the app or by quirking them in the compositor.
<pq>
I think that limiting quirking, if it is needed, to untagged surfaces could suffice. I would not want quirking with apps that use color-management extension.
<pq>
also, if we expect apps to be fixed, their developers will ask how to detect a compositor that needs the fix
<pq>
they do not want to regress their apps where they used to look just fine
f_ has joined #wayland
privacy has quit [Quit: Leaving]
Company has joined #wayland
f_ has quit [Remote host closed the connection]
f_ has joined #wayland
pitust has quit [Remote host closed the connection]
fabiancodes has quit [Remote host closed the connection]
leon-p has quit [Remote host closed the connection]
ogromny has quit [Remote host closed the connection]
kchibisov has quit [Remote host closed the connection]
raghavgururajan_ has quit [Remote host closed the connection]
kuruczgy has quit [Remote host closed the connection]
c7s has quit [Remote host closed the connection]
kindablue has quit [Remote host closed the connection]
tsujp has quit [Remote host closed the connection]
guacamolie has quit [Remote host closed the connection]
rosefromthedead_ has quit [Remote host closed the connection]
jonesv has quit [Remote host closed the connection]
elibrokeit__ has quit [Remote host closed the connection]
geemili has quit [Remote host closed the connection]
staceee_ has quit [Write error: connection closed]
atiltedtree has quit [Remote host closed the connection]
kennylevinsen has quit [Remote host closed the connection]
sumoon has quit [Remote host closed the connection]
cat_ has quit [Write error: connection closed]
moses has quit [Write error: connection closed]
rpigott has quit [Remote host closed the connection]
cpli has quit [Remote host closed the connection]
tommybomb has quit [Remote host closed the connection]
tkna has quit [Remote host closed the connection]
novakane has quit [Remote host closed the connection]
mainiomano has quit [Remote host closed the connection]
dorkbutt has quit [Write error: connection closed]
abcdw has quit [Remote host closed the connection]
dnkl has quit [Remote host closed the connection]
ifreund has quit [Remote host closed the connection]
rosefromthedead has joined #wayland
novakane has joined #wayland
abcdw has joined #wayland
jonesv has joined #wayland
atiltedtree has joined #wayland
geemili has joined #wayland
dorkbutt has joined #wayland
pitust has joined #wayland
kindablue has joined #wayland
moses has joined #wayland
guacamolie has joined #wayland
cat has joined #wayland
rpigott has joined #wayland
kuruczgy has joined #wayland
staceee has joined #wayland
kchibisov has joined #wayland
leon-p has joined #wayland
ogromny has joined #wayland
mainiomano has joined #wayland
fabiancodes has joined #wayland
tommybomb has joined #wayland
kennylevinsen has joined #wayland
raghavgururajan has joined #wayland
dnkl has joined #wayland
tsujp has joined #wayland
ifreund has joined #wayland
elibrokeit_ has joined #wayland
tkna has joined #wayland
c7s has joined #wayland
cpli has joined #wayland
sumoon has joined #wayland
raghavgururajan is now known as Guest821
Guest821 has quit [Remote host closed the connection]
mainiomano has quit [Remote host closed the connection]
kchibisov has quit [Remote host closed the connection]
atiltedtree has quit [Remote host closed the connection]
rpigott has quit [Remote host closed the connection]
kindablue has quit [Remote host closed the connection]
ifreund has quit [Remote host closed the connection]
tsujp has quit [Remote host closed the connection]
tkna has quit [Remote host closed the connection]
kennylevinsen has quit [Remote host closed the connection]
cpli has quit [Remote host closed the connection]
dnkl has quit [Remote host closed the connection]
c7s has quit [Remote host closed the connection]
pitust has quit [Remote host closed the connection]
elibrokeit_ has quit [Read error: Connection reset by peer]
sumoon has quit [Remote host closed the connection]
rosefromthedead has quit [Remote host closed the connection]
novakane has quit [Remote host closed the connection]
tommybomb has quit [Remote host closed the connection]
ogromny has quit [Remote host closed the connection]
guacamolie has quit [Remote host closed the connection]
kuruczgy has quit [Remote host closed the connection]
fabiancodes has quit [Remote host closed the connection]
cat has quit [Remote host closed the connection]
dorkbutt has quit [Remote host closed the connection]
moses has quit [Remote host closed the connection]
geemili has quit [Remote host closed the connection]
abcdw has quit [Remote host closed the connection]
jonesv has quit [Remote host closed the connection]
staceee has quit [Write error: connection closed]
leon-p has quit [Remote host closed the connection]
<zamundaaa[m]>
pq: I'm not 100% sure if differentiating between tagged and untagged surfaces is such a great idea. Toolkits might start using the protocol, and boom apps suddenly look different
moses has joined #wayland
kuruczgy has joined #wayland
tsujp has joined #wayland
pitust has joined #wayland
cat has joined #wayland
jonesv has joined #wayland
kindablue has joined #wayland
geemili has joined #wayland
staceee has joined #wayland
dnkl has joined #wayland
ogromny has joined #wayland
c7s has joined #wayland
abcdw has joined #wayland
rpigott has joined #wayland
tommybomb has joined #wayland
raghavgururajan_ has joined #wayland
leon-p has joined #wayland
ifreund has joined #wayland
fabiancodes has joined #wayland
mainiomano has joined #wayland
novakane has joined #wayland
elibrokeit_ has joined #wayland
atiltedtree has joined #wayland
rosefromthedead has joined #wayland
dorkbutt has joined #wayland
tkna has joined #wayland
cpli has joined #wayland
<pq>
well, yes - why would you do that?
sumoon has joined #wayland
kennylevinsen has joined #wayland
kchibisov has joined #wayland
guacamolie has joined #wayland
<pq>
I mean, they
<pq>
sRGB tag does not mean the same as no tag
<pq>
sRGB tag says "I am very definitely following the sRGB spec", while no tag says "try to do what has been done before"
<zamundaaa[m]>
Qt already has a way to tag images with color spaces afaik. I'd be very surprised if it wasn't tagged as sRGB by default
<zamundaaa[m]>
Though I dunno if that extends to windows
<pq>
the alternative is a blending method extension with options like "the old-school way" and "optical blending"
<pq>
and then we'd add more blending methods as they arise
<zamundaaa[m]>
As we need a way for apps to request or at least know if they'll get optical blending, that doesn't sound like a bad idea to me
<pq>
optical blending is easy, because we have a clear definition for it
<pq>
the old-school way cannot be anything explicit, because HDR, so it might be some approximation like suggested for wlroots
drakulix[m] has joined #wayland
<drakulix[m]>
I am not sure want to define the global blending-space though, but the app should at least know how blending in regards to it's own subsurfaces will happen.
<pq>
drakulix[m], neither option mentioned here defined a blending space.
<pq>
a blending space is a more detailed definition than a blending "method", and even method may allow approximate results
<drakulix[m]>
right, space != method. I always get that mixed up.
kts has joined #wayland
<zamundaaa[m]>
To throw in some practical information about this whole thing, we've had exactly one bug report about linear blending actually causing issues so far
<pq>
zamundaaa[m], interesting, what was it, and how widely have people been using optical blending?
<pq>
or do they just configure it away if it seems to bother?
<zamundaaa[m]>
It was in the logout screen, where with linear blending, text becomes effectively unreadable, if the window has something bright underneath. That problem is effectively caused by the text having too low contrast to begin with, and the background being more transparent just made it worse
<zamundaaa[m]>
pq: everyone with an ICC profile or HDR gets linear blending in Plasma 6
<pq>
right
<pq>
zamundaaa[m], do you have an idea how many people what might actually be? Why would people enable either?
<pq>
*that
<pq>
In general, what do people even want from window semi-transparency before they go look for the color and alpha values that produce the results they like to see? Is it really per-pixel coverage? Translucency? something else?
<zamundaaa[m]>
We've gotten a few bug reports about various minor things with ICC profiles, so some people are using it at least
<zamundaaa[m]>
We got more bug reports about HDR being broken in drivers, and lots of Reddit posts along with it, so I think people that have HDR screens are at least testing it pretty widely
<pq>
cool
<zamundaaa[m]>
pq: it's amost exclusively background transparency to make things look more fancy
<zamundaaa[m]>
Usually with blur
<pq>
window background see-through?
<zamundaaa[m]>
Yes
<zamundaaa[m]>
Usually only on desktop environment surfaces and semi transparent terminals, but some users go very far with theming
<pq>
That's kind of obvious, thinking about it. But what "material" should a semi-see-through window look like? matte paint on diffuse glass?
<pq>
if the material is customizable, then blending cannot be defined more than very vaguely by protocol
<pq>
hmm, customizable where, compositor or app...
<zamundaaa[m]>
How it works right now with KDE apps is that they explicitly request blur from the compositor
<pq>
right
<zamundaaa[m]>
We also have a background contrast effect that the shell uses, which can set some parameters to match the theme
<zamundaaa[m]>
But I don't think any apps use that
<pq>
window shaping is very different from any translucency with blur
<pq>
it's like window shaping should be decoupled from translucency, can use the same alpha channel for both
<pq>
*cannot
<pq>
alpha-as-coverage is shaping
<pq>
so it's actually an abuse to use today's alpha channel for window semi-transparency
<pq>
non-0 non-1 alpha values should be reserved for anti-aliasing the window shape
<emersion>
zamundaaa[m]: how do you implement ICC in the shader btw? only a 3D LUT? or a more complex pipeline?
<zamundaaa[m]>
pq: Yeah blur with rounded and anti-aliased edges is a problem. It's not *that* noticeable, but it's an issue
<zamundaaa[m]>
emersion: it's some matrices, two 1D luts and a 3D lut right now
<emersion>
and you manage to fill that from the ICC profile?
<pq>
then there are the matrix-shaper style profiles using completely different tags providing exactly 3 curves and one matrix
<emersion>
zamundaaa[m]: btw, the decoding part of lbicc is done
<emersion>
libicc*
<pq>
emersion, you weren't scared by Graeme's and Marti's comments of decades of accumulated workarounds for faulty ICC profiles that people want to use? :-)
<emersion>
zamundaaa[m]: so if both BToA and BToD are provided, you pick the BToA?
<zamundaaa[m]>
emersion: yes
<pq>
ICC spec gives the preference order, but it is conditional on what you support, so...
<emersion>
okay, that does make it easier (at the cost of precision)
<emersion>
pq, not yet
<pq>
I never got an answer to my question "Are all ICCv4 matrix-shaper profiles without the ?To?0 tags broken by ICC's definition?" :-p
<emersion>
pq, the broken ICC files i found, lcms2 couldn't parse them either
<pq>
"the" broken files?
<emersion>
x11-colors.icc from colord is one of them, for instance
<emersion>
has a broken M curve array in BToA
f_ has quit [Ping timeout: 480 seconds]
<pq>
interesting, but I was thinking more of the pieces of code I found inside LittleCMS to deal with not-quite-right profiles.
<emersion>
(was confused for a bit because lcms2 delays parsing until the last moment)