@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,
@rmader@floss.social avatar

If we go for an alternative, the main requirement is surely / with adaptive UI. For distros it's probably also important to have some kind of dependency management to install missing codecs.

The language could probably be anything from c, rust, vala or gjs.

I wonder about the backend - should sticking with be a requirement or is something based on / ok as well?

rmader,
@rmader@floss.social avatar

One option based on and would be Clapper (https://github.com/Rafostar/clapper).

IMO a solid choice, but surely needs some polishing.

rmader,
@rmader@floss.social avatar

Another option I see would be Celluloid (https://celluloid-player.github.io/), a frontend for

We'd need to check if the offloading support from can be well integrated and if it generally would be a good fit for a core app.

End 🧵

rmader, to linux
@rmader@floss.social avatar
rmader, to firefox
@rmader@floss.social avatar

enables by default \o/

Let's hope it sticks 🤞

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

rmader, to random
@rmader@floss.social avatar

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

rmader, to linuxphones
@rmader@floss.social avatar

For #LinuxMobile and Linux #embedded folks I'd like to point out this post by @hergertme :

https://fosstodon.org/@hergertme/111331619547963573

These patches should help #GTK4 performance on drivers/devices using the GLES3 backend - besides #Asahi notably #panfrost and #v3d, maybe also some #freedreno ones (those where the hardware doesn't support GL 3.2).

If your distro targets such devices and doesn't ship GTK 4.12.x, it might be worth backporting those.

Not an expert here, but I think it's mainly the use of VAOs.

mort, to linux
@mort@fosstodon.org avatar

One of the most frustrating thing about : is so incredibly close to working perfectly witch a notch. Literally all you need to do is to increase the size of the top bar size a bit and move the calendar/notifications menu to the right and it's perfect.

But GNOME doesn't have those options, you have to use extensions. And changing the top bar size from an extension is buggy and breaks in weird ways after suspend.

But with the top bar size tweak, maximized windows end up obscured by the top bar after a resume.

rmader,
@rmader@floss.social avatar

@mort @agx @cassidy Do you know if the notch info can be expressed in the device tree so there's a canonical place to look it up?

rmader,
@rmader@floss.social avatar

@agx @mort @cassidy Thanks! @cas do you know if there was any movement on this? The mentioned issue that the DT is not a "userspace configuration store" sounds a bit dubious to me. I mean - nowadays we use it for stuff like camera orientation which is also only useful for userspace.

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 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 firefox
@rmader@floss.social avatar

and upstream just landed support for rotated cameras, making video chat usable on .

It still requires the experimental flag media.webrtc.camera.allow-pipewire - mobile distro may want to enable it by default already.

Also note the camera indicator ;P

I'll ship in FF 119 (https://bugzilla.mozilla.org/show_bug.cgi?id=1843786)

rmader, to firefox
@rmader@floss.social avatar

(nightly) just got rounded bottom corners \o/

The border radius comes from the theme and can be overwritten by e.g. the FF theme.

https://bugzilla.mozilla.org/show_bug.cgi?id=1850827

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,
@rmader@floss.social avatar

With this in place a simple "mpv --vo=dmabuf-wayland sintel_trailer-1080p.mp4 --fs" should give you very power efficient playback on a lot of hardware, notably Intel and AMD systems where VA-API is automatically used.

Note that / Mutter does not support YUV buffers yet - but will ship it in \o/

We just need to get https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3177 over the finish line so scaling can also be done with fixed-function hardware (if the video resolution does not match your display perfectly)

rmader, to random
@rmader@floss.social avatar

For folks: just found out about https://wayland.app/protocols/ - quite neat!

rmader, to GNOME
@rmader@floss.social avatar

Just watched Sintel in 4K using display hardware YUV->RGB conversion and scaling on Mutter with - no 3D GPU usage (no shaders, no compositing) and also very littly CPU usage (video decoding done by VAAPI) and thus very power efficient.

We are finally getting there - unleash the power of :P

If you're interested in the technical progress or want to try: https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3177
https://github.com/mpv-player/mpv/pull/12237

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,
@rmader@floss.social avatar
  1. If you additionally implement support for the camera portal and ship your app as a sandboxed , you'll get a better privacy rating on , Gnome-Software & co. Show people that your app is a good citizen and respects users privacy. Make it easier for users to trust your app when they first use it.
rmader,
@rmader@floss.social avatar
  1. If you use you get to see the neat little indicator :P

And other DEs will hopefully/likely start showing similar indicators soon, just as they already do for screen sharing.

rmader,
@rmader@floss.social avatar
  1. If your app has its own indicator - like had until recently - you can drop it and rely on DEs to inform the user for you, be it for cameras, microphones or screen sharing.

You may have seen that the FF indicator never worked well on because apps don't get to choose window positioning themselves.

I've spoken to some devs from and and we all agreed that DE indicators are a much better solution.

rmader,
@rmader@floss.social avatar

@cdamian @mattdm I think you could take the output of pw-dump - it's json - and check if there is a camera node and whether it's active.

rmader,
@rmader@floss.social avatar

@cdamian @mattdm Ah, I see. For such monitoring jobs you'll probably want to use the C API as constantly polling pw-dump is more expensive.

I guess sooner or later we'll want to have a pipewire-monitor library that can be used by scripting languages - maybe you can start it? :P

rmader,
@rmader@floss.social avatar

@cdamian @mattdm If you want to give it a try: I think https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/src/shell-camera-monitor.c should be pretty reusable.

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