ChanServ changed the topic of #wayland to: https://wayland.freedesktop.org | Discussion about the Wayland protocol and its implementations, plus libinput
<kennylevinsen>
danieldg: at least in wlroots' wlr_scene, there are no checks - the surface and the output transforms just cancel out during rendering
<danieldg>
I assume somewhere in the rendering pipeline there's a check to see if it needs to actually do scaling
RAOF_ has joined #wayland
RAOF has quit [Ping timeout: 480 seconds]
kts_ has quit [Ping timeout: 480 seconds]
RAOF_ is now known as RAOF
<kennylevinsen>
danieldg: No, textures are always rendered with a projection matrix - it is just sometimes a really boring matrix.
neniagh has joined #wayland
neniagh_ has quit [Ping timeout: 480 seconds]
sevz has joined #wayland
columbarius has joined #wayland
co1umbarius has quit [Ping timeout: 480 seconds]
DragoonAethis has quit [Quit: hej-hej!]
DragoonAethis has joined #wayland
nerdopolis has quit [Ping timeout: 480 seconds]
tesjhg has quit [Ping timeout: 480 seconds]
tristianc6704 has quit [Read error: No route to host]
tesjhg has joined #wayland
<emersion>
IOW: multiplications are cheaper than conditions
Company has quit [Quit: Leaving]
Guest656 has quit [Remote host closed the connection]
carlos_ has quit [Ping timeout: 480 seconds]
kts has joined #wayland
cool110 has joined #wayland
cool110 is now known as Guest802
kelnos has quit [Remote host closed the connection]
kts has quit [Quit: Leaving]
kelnos has joined #wayland
junaid has joined #wayland
<Nefsen402>
We do actually use conditionals to compute the matrix because textures origin is bottom left while compositing origin is top left. It hurt my brain too much to write it without conditionals :P
tesjhg has quit [Ping timeout: 480 seconds]
Guest802 has quit [Remote host closed the connection]
cool110 has joined #wayland
cool110 is now known as Guest807
tesjhg has joined #wayland
tesjhg has quit [Ping timeout: 480 seconds]
alarumbe has quit [Ping timeout: 480 seconds]
Brainium has quit [Quit: Konversation terminated!]
sima has quit [Read error: Connection reset by peer]
sima has joined #wayland
<RAOF>
Hm. Is there any good overview of sync fences in DRM? EGL_ANDROID_native_fence_sync just defers to “the native fence sync object”.
<RAOF>
Particularly: is there any way to create a fence fd and then insert it into the command stream at a later point? This looks to be possible with the NV fence extensions, but was dropped in the KHR version?
ZhangTingAn has joined #wayland
Fischmiep has quit [Ping timeout: 480 seconds]
ZhangTingAn is now known as Lihua
<Lihua>
hi everyone,I would like to ask a question, I have made a Qt application and would like to write data to other applications (such as a text editor) via a button. The way it works now is: let this app not get focus, focus is always on the editor, when the button is clicked, the data is written to the clipboard, and then by simulating a keystroke, the data is written to the editor. But now in Wayland system, after Qt writes the clipboard data, when
<Lihua>
processing the data in Wayland, it will determine `dataDevice->client() == keys.focus.surface->client()` in many places, because the data is coming from the Qt application and the focus is in the editor, which leads to a lot of unexecuted places code.
<Lihua>
Would like to ask if there is a solution to handle this situation.
tzimmermann has joined #wayland
mvlad has joined #wayland
mblenc1 has joined #wayland
junaid has quit [Remote host closed the connection]
mblenc has quit [Ping timeout: 480 seconds]
Fischmiep has joined #wayland
sevz has quit [Quit: WeeChat 4.0.4]
mblenc has joined #wayland
privacy has quit [Remote host closed the connection]
rv1sr has joined #wayland
mblenc1 has quit [Ping timeout: 480 seconds]
<ascent12>
RAOF: They split out the ability to wait on a fence (on the GPU) into its own extension: EGL_KHR_wait_sync
<RAOF>
ascent12: Hm. I'm actually after the other way - the equivalent of eglFenceNV, which inserts the “signal when I'm reached” end of the fence into the command stream, rather than the “wait until fence is signalled” end of the fence (which is indeed EGL_KHR_wait_sync).
<ascent12>
RAOF: I think simply creating the EGLSync object adds a fence to the command stream.
<RAOF>
ascent12: Yes, it does, and I'd like it to not. :)
<RAOF>
Specifically, because I'm dealing with threads, I'd like to create the sync object first, ship it off to the rendering thread where it needs to be inserted into the command stream after rendering, and then wait for it somewhere else.
<RAOF>
I don't _think_ that's possible with EGL as is, but I'd be happy to manually poke at the drmSyncobj/sync-file API (as I understand that's the native fence object ANRDOID_native_fence_sync backs onto), but that particular bit of the DRM API is not well documented. At least that I can find!
Dami_Lu has quit [Remote host closed the connection]
Dami_Lu has joined #wayland
<RAOF>
Hm. It's not _entirely_ clear to me, but I _think_ that maybe what I want to do is possible.
<ascent12>
I think creating a sync object (drmSyncobjCreate) then exporting an fd (drmSyncobjExportSyncFile) in the first thread, then eglCreateSyncKHR(EGL_SYNC_NATIVE_FENCE_FD_ANDROID) with it on the render thread (after rendering commands), will do what you're trying to do.
<RAOF>
The trick would be that exporting to a sync file is documented to snapshot the state of the syncobj, so the sync file created in the first thread would have no fence in the syncobj and would never have a fence in the syncobj?
MajorBiscuit has joined #wayland
Guest807 has quit []
cool110 has joined #wayland
<RAOF>
So I think what I'd need to do is create the sync object, export _that_ to an fd in the first thread, then… stuff?
<RAOF>
There's probably a way :)
cool110 is now known as Guest822
manuel1985 has joined #wayland
Guest822 has quit [Ping timeout: 480 seconds]
cool110_ has joined #wayland
cool110_ is now known as Guest826
<daniels>
RAOF: what you’re after is a timeline syncobj. fences can’t be materialised until their work has actually been flushed to the kernel
mblenc has joined #wayland
rederick29 has quit [Remote host closed the connection]
<kennylevinsen>
Lihua: clipboard access is only allowed from focused surfaces. Depending on what the purpose of the application is, text input or clipboard manager protocols could be relevant.
ohmltb^ has quit [Remote host closed the connection]
<heeen>
should wl_output mode reflect screen transform?
<heeen>
would a compositor be correct in switching to e.g. 800,1280 when in a portrait configuration?
<pq>
mode is the video mode, so no, but also the mode is kinda... should not exist
<pq>
well, at least the non-current modes are useless
<pq>
the spec even has a note that it might be fake
<heeen>
should geometry reflect orientation?
<pq>
I would tend to say no, so it matches mode.
cmichael has joined #wayland
<heeen>
hrm
<pq>
whatever you want to use these for, it would be good to think if a different interface would be better
<pq>
these are one of the oldest parts of wayland.xml and the Wayland paradigm was not fully baked at that time.
<heeen>
"The compositor works in the 'compositor coordinate system' and an output corresponds to a rectangular area in that space that is actually visible. "
glennk has quit [Remote host closed the connection]
<heeen>
I am reading from this it should be transformed coordinates if the respective output is rotated
<pq>
in particular modes and geometry were added just because surely they must be useful for something, IIRC
<pq>
i.e. cargo culted from X11
<pq>
heeen, I think that sentence has no intention to imply anything about coordinate system orientations, it's just geometry (in math sense).
<pq>
but if everyone read it like that...
<heeen>
maybe I'll have to use xdg_output after all
glennk has joined #wayland
<pq>
one could also understand that mode describes the framebuffer, physical width/height match the mode, and geometry.transform tells you (incomplete!) what the area in compositor coordinate system is.
kasper93 has quit [Remote host closed the connection]
psykose has quit [Remote host closed the connection]
psykose has joined #wayland
cstub has joined #wayland
nerdopolis has joined #wayland
cmichael has quit [Quit: Leaving]
cmichael has joined #wayland
rasterman has quit [Quit: Gettin' stinky!]
<MrCooper>
heeen: according to Xwayland code, wl_output does not adjust geometry to rotation, xdg_output does
bodiccea has quit [Ping timeout: 480 seconds]
<deathmist>
pq: thanks, udevadm info now shows it as ID_INPUT_TOUCHSCREEN=1 but it still otherwise shows up/behaves like a touchpad; here's a quick comparison of what libinput vs evtest see for "taps" and "tap moving" https://paste.c-net.org/0q27lvlgibvg
Company has joined #wayland
cstub has quit []
<pq>
deathmist, I have no idea, sorry
rgallaispou has joined #wayland
Guest826 has quit [Remote host closed the connection]
cool110 has joined #wayland
cool110 is now known as Guest846
<deathmist>
one thing I haven't tried is bisecting libinput itself as the previous working ver was 1.6.3 which correctly shows the current code as creating cap:t device and such
<deathmist>
the "broken" libinput ver is 1.15.5
<deathmist>
on the old one I don't even need the udev rule as it was automatically given ID_INPUT_TOUCHSCREEN=1
<deathmist>
so I'm wondering if I'm missing something to make libinput autodetect the new uinput device a touchscreen without udev rules even
<deathmist>
mhm, debug-events --verbose says "tagged by udev as: Touchpad Touchscreen", "Internal or external? Please file a bug." followed by "device is a touchpad" on 1.15.5
<deathmist>
that's with the udev rule in place btw and udevadm info showing the expected result
<colemickens>
Hi. With X11, I think that X itself can handle font discovery. With Wayland, most applications use freetype/fontconfig. I'm encountering an application that does /not/ use fontconfig. The author is currently hard-coding well known font dirs to search, but the distro I use does not use any such standard paths. I believe that it just configures fontconfig to know about the appropriate fonts. Is there an option for an application using
<colemickens>
a custom font renderer to do font discovery, other than just pulling in fontconfig for the discovery?
<kennylevinsen>
deathmist: Also, both versions you're testing are *ancient*. 1.6.3 is from 2017, 1.15.5 from 2020. Latest release is 1.24.0
<deathmist>
yeah I know, these are on Ubuntu Touch 16.04 and 20.04 respectively
<deathmist>
later this year UT is moving to 24.04, but those are the previous and current release respectively
<kennylevinsen>
well, no one will remember what source looked half a decade ago. :)
<kennylevinsen>
(and a few years late for upgrading away from 16.04, but that's another topic altogether)
<deathmist>
thanks for the pointers though, I'll see what I can figure out
<kennylevinsen>
colemickens: why not just use fontconfig? it is just a font discovery library.
<colemickens>
I wasn't sure, mostly. And I'm not the dev ;). But that more or less answers my question.
<MrCooper>
X's own font management APIs only cover non-antialiased bitmap fonts, fontconfig was created for anti-aliased text with X
pochu has quit [Quit: leaving]
<deathmist>
ok wow so I reverted all my input changes (which compiled but created a device libinput ignored) and it just works with the udev rule in place!
<deathmist>
now if only I can get udev to auto-tag it as touchscreen capable that would be awesome
manuel_ has joined #wayland
manuel1985 has quit [Ping timeout: 480 seconds]
manuel_ has quit [Ping timeout: 480 seconds]
tzimmermann has quit [Quit: Leaving]
fgdfgdfgd has joined #wayland
mblenc has quit [Read error: Connection reset by peer]
mblenc has joined #wayland
mblenc has quit [Ping timeout: 480 seconds]
MajorBiscuit has quit [Ping timeout: 480 seconds]
floof58 has quit [Ping timeout: 480 seconds]
leon-anavi has quit [Quit: Leaving]
d42 has quit [Ping timeout: 480 seconds]
d42 has joined #wayland
floof58 has joined #wayland
iomari892 has joined #wayland
iomari891 has quit [Ping timeout: 480 seconds]
cmichael has quit [Quit: Leaving]
Cyrinux9474 has quit []
Cyrinux9474 has joined #wayland
iomari892 has quit [Ping timeout: 480 seconds]
cstub has joined #wayland
vyivel has quit [Read error: Connection reset by peer]
mvlad has quit [Remote host closed the connection]
vyivel has joined #wayland
rasterman has joined #wayland
jkl has quit [Quit: Gone.]
jkl has joined #wayland
mblenc has joined #wayland
nerdopolis has quit [Ping timeout: 480 seconds]
sima has quit [Ping timeout: 480 seconds]
sima has joined #wayland
mblenc1 has joined #wayland
Ermine has quit [Remote host closed the connection]
Ermine has joined #wayland
mblenc has quit [Ping timeout: 480 seconds]
tesjhg has joined #wayland
sima has quit [Ping timeout: 480 seconds]
Ermine has quit [Remote host closed the connection]
Ermine has joined #wayland
Moprius has joined #wayland
mblenc1 has quit [Ping timeout: 480 seconds]
Ermine has quit [Remote host closed the connection]
Ermine has joined #wayland
Fischmiep has quit [Ping timeout: 480 seconds]
Fischmiep has joined #wayland
Moprius has quit [Quit: bye]
mblenc has joined #wayland
jkl has quit [Quit: Gone.]
tesjhg has quit [Ping timeout: 480 seconds]
mblenc has quit [Ping timeout: 480 seconds]
tesjhg has joined #wayland
rv1sr has quit []
manuel_ has joined #wayland
thevar1able_ has quit [Remote host closed the connection]
thevar1able_ has joined #wayland
junaid has joined #wayland
tesjhg has quit [Ping timeout: 480 seconds]
mblenc has joined #wayland
mblenc1 has joined #wayland
mblenc has quit [Ping timeout: 480 seconds]
fgdfgdfgd has quit []
cstub has quit []
tesjhg has joined #wayland
Guest846 has quit [Remote host closed the connection]
cool110 has joined #wayland
cool110 is now known as Guest876
rasterman has quit [Quit: Gettin' stinky!]
nerdopolis has joined #wayland
junaid has quit [Remote host closed the connection]