@rmader@floss.social
@rmader@floss.social avatar

rmader

@rmader@floss.social

Mostly #wayland stuff around #gnomeshell, #gstreamer, #Firefox, #Pipewire, #libcamera, #linuxmobile - https://floss.social/@collabora

Generally thing that make the Linux desktop use graphics hardware features. And sometimes random boosts.

Based in Berlin.

Member of the German green party.

This profile is from a federated server and may be incomplete. Browse more on the original instance.

rmader, to GNOME
@rmader@floss.social avatar

For app folks: IMHO we need to think about what to do with Totem / Gnome Videos. It has not yet been ported to , which is increasingly becoming an issue.

Apart from not fitting nicely UI wise, it prevents us from using the newly introduced hardware offloading (zero-copy playback) and, crucially, from (properly) supporting HDR content going forward.

I.e. we either need a port - or should consider making an alternative a core app to focus on.

Short 🧵

rmader, to random
@rmader@floss.social avatar

So we'll have a neat little camera indicator in .

It will only show up for apps that use for camera access so we depend on more apps switching to that.

During the "State of the Shell" talk I was asked what incentives there are for app developers to do so and unfortunately I messed up to make the probably most convincing ones, so short 🧵

  1. support for modern cameras via (as opposed to only / UVC cameras).

rmader, to linux
@rmader@floss.social avatar

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.

https://flathub.org/apps/org.sigxcpu.Livi

rmader, to GNOME
@rmader@floss.social avatar

Regarding the future of video playback in I'd like to add some more context around current developments in , and in a short 🧵

TL;DR: by making use of more modern hardware features we're finally in the position to catch up to other platforms with regards to energy efficiency. So let's do it!

rmader, to firefox
@rmader@floss.social avatar

If you use on you might know the privacy indicator. Yeah, that little floating window that's supposed to be "always-on-top" and positioned at the top of the screen, just that it isn't because on Wayland we don't want apps to have the power to do such things by themselves. The one that mostly duplicates stuff that's provided by your DE already, informing you that you're sharing the screen.

So we finally disabled it on Wayland: https://bugzilla.mozilla.org/show_bug.cgi?id=1668358

You're welcome.

rmader, to linuxphones
@rmader@floss.social avatar

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.

If you trust the sandbox you can get them here:
https://cloud.silentundo.org/s/r8733siTjP4yRJp

I expect quite a few people hitting driver bugs, so please help tracking those down :)

#LinuxMobile #gtk #GStreamer #Wayland #GNOME

A picture of a PinePhone Pro easily and smoothly playing a 4k@60fps VP9 video.

rmader, to GNOME
@rmader@floss.social avatar

My presentation about video offloading is online. If you are interested, you can watch it here: https://fosdem.org/2024/schedule/event/fosdem-2024-3557-the-state-of-video-offloading-on-the-linux-desktop/

I'm happy about feedback, both on the technical side as well as how I can improve doing presentations :)

rmader, to archlinux
@rmader@floss.social avatar

/ now ships 6.4 which has all patches for correct camera rotation and location (front/back - used for automatic mirroring in some apps and better camera naming).

This is a great step for having a good camera experience out of the box - the only thing still missing is being installed by default (see https://github.com/dreemurrs-embedded/Pine64-Arch/issues/537)

After that, one can e.g. install or @dino from and it should just work.

rmader, to linuxphones
@rmader@floss.social avatar

#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.

rmader, to random
@rmader@floss.social avatar

My MR for the demo video player finally landed \o/

That means you if you build main on top of main, you can now run gtk4-demo --run=video_player and get zero-copy video playback - at least when using HW with VA-API support, i.e. Intel/AMD for now, and a compositor with YUV format support (most importantly NV12).

https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/6618

rmader, to GNOME
@rmader@floss.social avatar

For those who like me find themselves often listening radio on youtube during work - lofi stuff in my case - I can really recommend giving 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, to GNOME
@rmader@floss.social avatar

I'm slowly discovering all the nice stuff in that other 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.

🧵

rmader, to random
@rmader@floss.social avatar

After some more debugging, here are two videos proving that / video playback with fullscreen GL/VK overlay works on a and / on / , each maxing out their video decoders with 1080p@60 and 4k@60 respectively.

The message here is: no matter what hardware - if you want to make a video/camera app that needs to be highly efficient, you can do it with a proper, yet still lightweight toolkit now. No need for a custom kms/drm backend.

The GTK4 demo video player on a Raspberry 4, playing BBB. The camera moves over to another screen with Weston debug output, showing that the compositor uses hardware planes, which is needed for optimal playback performance.
The GTK4 demo video player on a Pinebook Pro (using a RK3399 SoC), playing BBB. The camera moves over to another screen with Weston debug output, showing that the compositor uses hardware planes, which is needed for optimal playback performance.

rmader, to random
@rmader@floss.social avatar

Just found out that on one can add a + to an issue or MR link, making the preview show the whole title. I.e. instead of "" you get "Some thing is broken ()" - if you write "+"

So if you don't know, now you know 🤷

rmader, to random
@rmader@floss.social avatar

Hacking at : first video call using @dino between two s

Using the modern video stack

rmader, to GNOME
@rmader@floss.social avatar

Got the last bug fixed to make play video with overlay in full zero-copy / hardware plane only mode \o/

This allows highly efficient playback with e.g. subtitles and other overlays, only using the GPU when GTK needs to repaint parts of the main window / the overlay.

I'll talk more about this at my presentation at , see https://fosdem.org/2024/schedule/event/fosdem-2024-3557-the-state-of-video-offloading-on-the-linux-desktop/

The video shows a weston desktop. The gtk4 video player demo is launched, a video started and put into fullscreen. The camera moves to a second screen where weston debug output is printed, showing that weston indeed uses a cursor, overlay and primary plane (and no rendering / compositing) to display the video and overlay (and thecursor).

rmader, to random
@rmader@floss.social avatar

The demo video player in full pass-through mode. We're getting there!

rmader, to firefox
@rmader@floss.social avatar

enables by default \o/

Let's hope it sticks 🤞

https://phabricator.services.mozilla.com/D189367

rmader, to RaspberryPi
@rmader@floss.social avatar

The 5 is here and like its predecessor it supports decoding and displaying H.265 in 4K@60fps.
Some of you may wonder: does that really work on a modern / desktop? If my laptop fan starts spinning when playing such content, how can the PI handle it?

Here I'd like to draw your attention to a pretty cool feature we just introduced in - support for YCbCr or YUV pixel formats in the system compositor (Mutter).

Short 🧵

rmader, to linuxphones
@rmader@floss.social avatar

Just want to quickly share with folks that the new softwareISP does indeed work with the - and with a + 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.

rmader, to firefox
@rmader@floss.social avatar

with the patches will now use (and thus ) by default, allowing cameras to work out-of-the-box on distros shipping that patchset (well, assuming the camera works with libcamera of course).

https://gitlab.com/postmarketOS/mobile-config-firefox/-/merge_requests/38

rmader, to random
@rmader@floss.social avatar

How do I say "I have a crush on you" in JS?

rmader, to random
@rmader@floss.social avatar

Just landed a fix for a small issue in the dmabuf backend, where the overlay surface was always present, even when empty (no controls or subtitles).

This prevented direct scanout of the video surface on AFAICS all common compositors (and would have added an extra blending step of the full window size where it did still work).

https://github.com/mpv-player/mpv/pull/12237

rmader, to GNOME
@rmader@floss.social avatar

What I really like about 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 are now much faster and responsive. I mean, damn, even switching tabs doesn't trigger a full redraw!

A video of Gnome-Console running on a Thinkpad T400. The Mutter damage overlay is enabled, showing that updates to the content only updates the areas that actually change - even when switching tabs.

rmader, to linuxphones
@rmader@floss.social avatar

Is there anyone from the community living in Berlin with a working 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).

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • everett
  • InstantRegret
  • thenastyranch
  • magazineikmin
  • khanakhh
  • rosin
  • Youngstown
  • slotface
  • mdbf
  • cubers
  • kavyap
  • ethstaker
  • DreamBathrooms
  • provamag3
  • ngwrru68w68
  • Durango
  • osvaldo12
  • tacticalgear
  • cisconetworking
  • tester
  • normalnudes
  • anitta
  • GTA5RPClips
  • modclub
  • Leos
  • megavids
  • lostlight
  • All magazines