@aeva From a quick search, Framework's touchpad (PixArt PIXA3854) should be handled by hid_multitouch just fine, so if it shows up as a mouse you may have something misconfigured or some kernel modules missing.
@aeva > (which linux sees as a mouse)
Awful. What kind of laptop is that? Only seen that with shitty USB touchpads in lapdocks (...and Pinebooks), presumably done for compatibility with Android(?)
@pavel Outputting AYUV is trivial and makes encoding slightly faster, but then you lose the viewfinder for free as that's not a format that can be passed to the compositor.
Ideally we would output planar YUV (perhaps with multiple render targets?) as that can be sampled from with recent etnaviv: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3418
For now I'm limiting myself to what's possible on bookworm/crimson though :)
@SpookyDoom @maxleibman As if the current incentives actually worked 😄
@pavel Displaying the viewfinder is free with (gl)waylandsink, as the dmabuf gets passed directly to the compositor in a subsurface, so the resolution is not important - it goes straight to the GPU for compositing. It's important for encoding and that's where uncached buffers can bite you, but since my shader is currently too heavy to handle higher res anyway it's not a thing I concern myself with right now.
And the code is basic, it just takes time to get familiar with the problem space 😜
@pavel So I was just adding autofocus to my toy code and I wanted to be able to trigger it by tapping on the viewfinder. Just replaced waylandsink with gtkwaylandsink, grabbed its GtkWidget and added it to my GtkWindow and it works 😛
@maxleibman This is actually unironically one of the rare use cases where it does make some sense, especially when you keep waiting for your PDF reader to search through thousands pages of reference manual just to find out that you need to come up with yet another synonym as a search phrase.
Well, at least theoretically. Most AI integrations I've seen so far looked like they were put together with sticks and mud, probably written by that AI itself 😂
@pavel Doing it via GStreamer makes buffer queue management easier, but of course it can be done either way. With SDL you get GL context already, so you just do it the way I showed you some time ago. You skip the context creation part and you're done.
@pavel Of course. The driver doesn't handle that right now, but it's just some straightforward plumbing. Good entry level task.
@pavel There's plenty of apps that embed GStreamer's output to look at, and you can even skip it completely and simply import the V4L buffer into SDL's GL context and don't create your own one at all. This is just gluing things together at this point.
@pavel @datenwolf @dcz @martijnbraam @NekoCWD By the way, the actual framerate limits (verified to work) are 120 FPS @ 1052x780, 60 FPS at 2104x1560 and 20 FPS (8-bit) or 15 FPS (10-bit) at 4208x3120. Full res could go up to 30 FPS, but only once we get 4 lane configuration to work.
I can even produce 120 FPS video, although it doesn't skip frames only once downscaled to 127x93 right now 😂
@pavel @datenwolf @dcz @martijnbraam @NekoCWD I'm just using waylandsink at this point, but it could be passed anywhere else. That's literally the least interesting part of the thing 😂
@lord @datenwolf @dcz @martijnbraam @NekoCWD @pavel Specialized hardware. Phones usually don't have to do image processing nor video encoding on CPU or GPU at all, they have hardware ISP and encoders. L5 does not.
On other hardware there's also a matter of whether there's driver and software support for it, so Android may be able to use that, but pmOS - not necessarily.
@pavel @datenwolf @dcz @martijnbraam @NekoCWD I'd expect moving binning to a separate pre-pass to make it faster, we'll see.
Also, my stats are center-weighted. Millipixels annoyed me with its reluctance to overexpose the sky 😄
@pavel @datenwolf @dcz @martijnbraam @NekoCWD It's 526x390, but properly binned (each channel's sample consists of 4 raw pixels averaged), which reduces noise. The shader got heavy though, does only ~35 FPS at this res - but there should be room for optimization. I've been more concerned with its correctness than performance so far.
Stats counting on the CPU with NEON is fast enough for full frame with some subsampling.
I'm giving it some finishing touches and will then publish it of course 😁
I think both left- and right-masked PDAF pixels are accessible in 1:2 mode with binning disabled, though I haven't done the math yet to be 100% sure. Enabling/disabling it on demand will be somewhat clunky though. I can also read calibration data from OTP, but AFAIK there are no kernel APIs to expose that to userspace :(
https://source.puri.sm/Librem5/linux/-/issues/411#note_285719
Hi, I'm dos. Silly FLOSS games, open smartphones, terrible music and more. 50% of @holypangolin; 100% of dosowisko.net. he/him/any. I don't receive DMs.