@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 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

(this thread is written in real-time and on satellite inet, so please bear with me :P).

While "complex" cameras have been common for phones and professional cameras for a long time now, the linux ecosystem more or less got away with only supporting UVC cameras via V4L2.

By now more and more laptops using non-UVC cameras are entering the market on one hand and new use-cases like become more common on the other.

Switching to gives you support for for free.

rmader,
@rmader@floss.social avatar
  1. If you use for cameras support in turn comes for free via the PW GST plugin. Additionally supporting proper sandboxing via the camera portal is possible with little work using or and the GstPipeWireDeviceProvider. Feel free to ping me if you need help with this - there'll also be a new example in for this soon.
rmader,
@rmader@floss.social avatar
  1. A simple API. If your app has its own handling code, switching to gives you a much nicer API to work with. This is especially true if your app already support screen sharing on - in that case you already have both and portal support and can reuse a lot of that. That's for example done in for and .
rmader, to linuxphones
@rmader@floss.social avatar

I'm incredible happy that we finally landed YUV support for . It'll allow us to make video players much more efficient in many cases (like or , but also regular laptops/desktops) and especially make developing such features more pleasant on the desktop. I'll write more in detail about it soon.

Thanks goes to @collabora for allowing me to work on it during my work hours and to @jadahl and some other devs for helping pushing it over the line!

alatiera, to random
@alatiera@mastodon.social avatar

Preaching about Firefox is veganism for tech nerds

rmader,
@rmader@floss.social avatar

@alatiera "Preaching" and "You won’t fix anything alone." are contradicting each other, don't you think?

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

@Exagone313 There's some package providing an indicator for Sway (don't recall how it's called - @emersion, do you remember?) which has the advantage that it works for all apps in a consistent way - is that on option for you? (IMO every Wayland DE should provide that by default, but Sway is of course very minimalist and modular).

rmader,
@rmader@floss.social avatar

@1ace @Exagone313 @emersion Sorry, no, have to leave that Simon. In any case you should be able to get the info from either wlroots or Pipewire.

However: you may want to have a look at the Pipewire camera indicator I'm working on (https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2840). That will work for all apps using cameras through PW / the camera portal. PW makes tracking such stuff pretty easy!

rmader,
@rmader@floss.social avatar

@1ace @Exagone313 @emersion Yes, you should be able to detect microphones by looking for PW_KEY_MEDIA_CLASS:'Audio/Source'. For screen sharing probably PW_KEY_MEDIA_CLASS:'Video/Source' and the client being Sway/wlroots.

rmader,
@rmader@floss.social avatar

@1ace @Exagone313 @emersion Pipewire doesn't know what is shared, it only knows it's video and it's a source. So a camera would count as well. Or an app using pipewire for streaming to another app. For screen sharing, you thus want to limit it to the compositor being the source.

I can recommend to play around with Helvum to get a better idea: https://flathub.org/apps/org.pipewire.Helvum

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

@craftyguy Yes, mostly - but unfortunately not fully and you still can't use the cameras on the PPP with an upstream kernel :/

Help with upstreaming patches is very welcome!

rmader,
@rmader@floss.social avatar
rmader, to linuxphones
@rmader@floss.social avatar

@dino 0.4.3 just got released with some exciting improvements for

  1. Several fixes for touch input, making audio/video calls actually usable on phones
  2. Fixes for video support so devices with / support like the work now
  3. The app is now recognized as mobile friendly on
  4. Stricter sandbox - no device/all any more

The new version is available on and lots of distro repos.

rmader, to random
@rmader@floss.social avatar

One of the issue preventing distros from shipping a / camera stack is the fact that it requires as session manager, which again does not always play nicely with , if that is still used as sound server.

Unfortunately switching to PW for sound is not always possible yet because some mobile-specific packages depend on PA. So if you want to help with camera enablement, please consider helping with issues such as https://source.puri.sm/Librem5/wys/-/issues/13 :)

rmader, to random
@rmader@floss.social avatar

Another thing I forgot to mention regarding cameras: s Kamoso also supports rotations for a while now. The image is taken with the version. It thus joins an increasing number of mobile-camera-ready apps like Snapshot, Authenticator, Decoder, and (once the next release happens) @dino

Rotation support is required to display the image correctly on devices like the , or - hopefully soon -

rmader, to linux
@rmader@floss.social avatar

Just came home and there are great news: the last patch needed for the to expose proper camera orientation (front/back) just got pulled into 6.4. Together with previously landed patches (partly upstream, partly megi) for the right rotations (90/270 deg), users using and will have a much better camera experience.

Meanwhile, there's a coup attempt in 🇷🇺 by Wagner. I'd say a good day for , 🇺🇦 and the world :)

rmader, to firefox
@rmader@floss.social avatar

116 can finally be build without dependencies / only \o/

ac_add_options --enable-default-toolkit=cairo-gtk3-wayland-only

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

I hope we'll also get Mutter/ over the line for 45

Not having to deal with X11 is especially nice on

rmader, to firefox
@rmader@floss.social avatar

Just gave with / / support a go on my . Works pretty well apart from missing rotation support and UI issues on small screens.

It currently requires "media.webrtc.camera.allow-pipewire" to be set to "true" in "about:config". Other then that the same requirements like for other apps like Snapshot, Authenticator and Decoder apply: a working Pipewire/libcamera/xdg-portal setup (IMO this should be left to distros/images).

Firefox camera selection dialog on the PPP, using landscape mode to fit on the screen. The dialog correctly offers both cameras with recognizable names: "Build-in Front Camera" and "Build-in Back Camera".
Firefox on the PPP with a webrtc test page open, demoing that the camera actually works in FF.

rmader, to random
@rmader@floss.social avatar

Wow, cool day for on . After and thus camera support, now hardware video decoding with V4L2-M2M is landing as well.

https://bugzilla.mozilla.org/show_bug.cgi?id=1833354#c23

rmader, to random
@rmader@floss.social avatar
rmader, to random
@rmader@floss.social avatar
rmader, to random
@rmader@floss.social avatar

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

Using the modern video stack

rmader,
@rmader@floss.social avatar

Just to clarify: this will work on any device with support. Hoping to try this soon on the !

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