#postmarketOS just landed the last MR needed to make the #libcamera + #PipeWire camera stack work on the #Librem5 and #PinePhone by default, using the new software ISP shipped in libcamera 0.3.
So if you have such a device: just update and go install apps like Snapshot, Warp, Decoder etc. You can even use it with Firefox and - very soon - Chromium.
Note that this does not replace #megapixels or #millipixels - those continue to be the default camera apps.
Don't expect too much for now: both image quality and performance are not quite where we want them to be.
That, however, also means that there are a lot of low hanging fruits where help is very welcome :)
We need to create #libcamera tuning files for the individual cameras, the swISP could be improved to use the GPU for debayering, there are WIP autofocus patches that could be tried and improved - and in Snapshot we need to reduce the number of copies before frames reach the screen or encoders.
Note that with all of this in place, camera support on a lot of other devices is in close reach. For example the #OnePlus6 and #SHIFT6mq should only need kernel patches enabling the camera sensors. The softwareISP should then - at least in theory - "just work". Well, fingers crossed :)
P.S.: the one device where this already worked is the #PinePhonePro - but until recently it broke audio. That was also fixed in the process.
Just want to quickly share with #linuxmobile folks that the new #libcamera softwareISP does indeed work with the #librem5 - and with a #PipeWire + #GStreamer pipeline. Here's a first image running Warp (from Flathub).
There's still some stuff to iron out to make this work reliably and ship to users - but things are falling into place.
This will allow to make video playback in various apps much faster. And, if everything works out, allow the same for Camera viewfinders in apps like #gnome camera / snapshot 🤞
Is there anyone from the #LinuxMobile#mobileLinux community living in Berlin with a working #Librem5 battery who would be willing to help me booting and updating my device once? Unfortunately my battery is dead and I haven't found out how to quickly get a new one - however IIUC it would boot without battery once updated to a newer firmware (https://forums.puri.sm/t/librem-5-does-not-boot-without-battery/16954/11).
I'm slowly discovering all the nice stuff in #GNOME46 that other #gnome devs have been working on.
My personal favorite so far are the generic Cal/Card/WebDav accounts, for several reasons.
First of all, I use CalDav and CardDav extensively, both personally and at work. Especially my contacts are something that I on one side want to be available on all my devices - and on the other side really want to have control over. I.e. I only want that data on providers I trust.
On my phone - which is not yet a #linuxmobile one - I use the fabulous #davx5, while on my desktops the only real option for me was #Thunderbird
And while that is fine, trying using a Gnome Online Account suddenly showed me what I've been missing out so far, which is not only great native apps like #gnomecalendar , but also #gnomeshell integration, global search providers etc.
Until now - around two weeks - the experience has been awesome and it's definitely changing the way I use Gnome.
Another native app I find myself using more and more is #gnomemaps
Just because it started to be the most efficient way for me to look things - usually a bicycle route. I.e. its increasingly convincing me by utility, not by the additional reason of better privacy etc.
I should probably add that it actually is a clear goal of mine to use native apps more and more (again) for various reasons - one big one being that it's important for #LinuxMobile - and, well, I'd say its going great :)
I used the weekend for some spring cleaning in my brain, looking into a couple of camera issues in the #PipeWire#GStreamer#xdg_desktop_portal Gnome-Camera/Snapshot stack.
It turned out to be quite productive. If you faced one of the following issues in the past, things will likely soon get better:
Unreliable camera portal behavior, notably the portal reporting that there are no cameras present.
High delay with some cameras, especially external USB ones.
What I really like about #GNOME46 is that it turned out to be a really good release for old and low-end devices. One of my test devices is Thinkpad T400. That hardware is over 15 years old and is has actually got faster over the last few years - especially this release.
One of my favorite improvements here, headed by Christian Hergert, was the boost to VTE. Terminals using #gtk4 are now much faster and responsive. I mean, damn, even switching tabs doesn't trigger a full redraw!
There were also a bunch of improvements to screen casting, resulting in #GNOME46 being the first release where I can make fullscreen recordings on this device at reasonable speed. I can even play video during recording, as long as hardware decoding is used (only mpeg2 :P).
Friends of energy efficiency - the Light Video 0.1.0 #Flathub update is out, build with #gtk4 4.14 and #GStreamer 1.24.1.
This should be the first app targeting the #linux / FDO desktop enabling Wayland video offloading (think zero-copy playback) by default. In many cases (actually more than I expected) this can improve battery lifetime - and on low-end devices even playback performance - significantly.
This is kinda a technology preview in order to see if we can ship features like this enabled by default in a lot more apps in the ecosystem.
Thus I'd be very super happy if you'll try it on lots of hardware - be Intel/AMD laptops or ARM64 devices (with V4L2 stateless decoders, such as most #LinuxMobile devices).
Chances that you really hit a zero-copy path are highest with a recent #Wayland compositor - i.e. if you are using #GNOME46, #kde6 or a recent version of #sway, #weston, #cosmic etc.
If you run Gnome, you can enable the opaque region overlay, which draws green or purple overlays over the content whenever Mutter is compositing - and shows the content normally when doing direct-scanount / zero-copy.
You can enable it via alt+f2 -> "lg" -> "Flags" -> OPAQUE_REGION
When things work correctly, you should get a purple overlay when in windowed mode or player controls are visible - and a normal image when fullscreen without controls.
For those who like me find themselves often listening radio on youtube during work - lofi stuff in my case - I can really recommend giving #gnome#shortwave a try. If you search for a genre, chances are high that you get like 5-10 stations to choose from. And using a dedicated radio app has a bunch of benefits in different domains.
@rmader Also check out the "Monophony" sister application that does the same thing but specifically for searching and listening to YouTube audio streams… great niche app for content that is not necessarily found in webradios
@rmader Interesting fact: it uses #GStreamer, but apparently some months ago the developer was questioning whether it made sense to keep using it, because they had reliability issues (don't know what they might be, as I've never encountered problems with the app): https://gitlab.com/zehkira/monophony/-/issues/122
#GStreamer 1.24 got released today and comes with explicit modifier support for DMABuf. Fittingly the MR to add support for that to the #PipeWire Gst plugin also just landed.
This fixes some long standing issues where things could terribly break - one example being #vaapi encoding on Intel.
So if you have an app that you'd like to support screen sharing on Wayland (and uses #GStreamer): the upcoming cycle will be a great time to start with that!
Just found out that on #GitLab one can add a + to an issue or MR link, making the preview show the whole title. I.e. instead of "#1234" you get "Some thing is broken (#1234)" - if you write "#1234+"
For those of you interested in our recent video offloading / zero-copy playback work: I quickly put together some #livi#flatpak s to make it easy to test stuff already. Compositor offloading should work on all semi-recent Intel/AMD and a variety of ARM64 devices.
Things should generally work on #gnome45, #kde6, #sway and #weston - not sure about other compositors.
I haven't tried #kde myself yet as NV12 support was only added recently. But tomorrow there's a local #kde release party where I hope to convince some people to try on their devices.
For those using HW that still uses the stateful V4L2 API for decoding - such as the #RaspberryPi4 - I uploaded another build to the link in the first post that includes a #GStreamer patch that is not close to landing, but works well enough to make playback work.
With that I can play 1080p30fps videos (the decoder limit) on my big screen smoothly, which otherwise not possible (apart from reducing the resolution).
I'm really happy about this one because it should improve things for multiple use-cases:
It allows full hardware offloading of fullscreen video playback for cases when the video dimensions don't perfectly match the screen, i.e. up- or downscaling. There are not many clients supporting this yet - but hopefully we'll see more soon, especially #gtk ones.