시몽

Status update, December 2018

The end of December has been pretty busy with not-open-source-stuff, so this status update comes a little bit late and will be shorter than usual. Sorry about that! Let’s dig in.

Sway and wlroots now support the new data-control-unstable-v1 protocol. This paves the way for clipboard managers and xclip replacements. A notable tool that already supports it is wl-clipboard. Thanks Sergey Bugaev for helping us finishing this protocol!

A new project I’ve just started is xdg-desktop-portal-wlr. It’s similar to xdg-desktop-portal-gtk and xdg-desktop-portal-kde: it’s a backend for the xdg-desktop-portal D-Bus interface that allows Flatpak and regular clients to perform screenshooting and screencasting (among other things). This is a missing piece to allow for a screen capture mechanism that works on all desktops (yeah, GNOME looooves D-Bus). Right now it’s pretty basic and only supports screenshooting via grim. Next up is screencasting.

I’ve spent quite some time experimenting with DRM (the Linux API responsible for managing GPU resources). First, I’ve played with planes, which makes the hardware perform composition (take two images and blend them together). This could be used to improve battery consumption in wlroots by putting some clients on a plane and be able to skip rendering completely. I’ve tested this on my ThinkPad (whose iGPU only has 3 planes) but also on a Raspberry Pi 3 which has a lot more planes (10 of them).

Screen with 10 planes connected to a RPi 3

The second thing I’ve tried is the new writeback connector feature. Writeback connectors allows to read back the image displayed on screen. This is useful for improving performance while screencasting and for automated testing. While most drivers don’t support writeback connectors yet, VC4 does and the Raspberry Pi 3 exposes one, so that was pretty handy to try out everything.

I’d like to keep experimenting with output cloning next, which allows to have more screens connected and save resources if some of them share the same image. In the end, playing with DRM has allowed me to better understand how it works, and since I’ve only used the latest features (atomic modesetting, universal planes) it’ll probably help designing and reviewing the next DRM backend for wlroots.

While doing this DRM work, I’ve extensively used ascent12’s drm_info tool. It’s pretty useful to have a look at the whole DRM state while debugging. I’ve contributed a few patches, mostly to support more features: DRM modes, writeback connectors, aspect ratio, stereo 3D and so on.

Last topic: mrsh got some patches from contributors. Ben Brown has implemented the umask builtin and added a getopt implementation. Drew DeVault has added support for the case clause. Some have tried to build it on macOS, but there’s still a linking issue left (patches welcome!). I’ve slowly continued to work on job control, I’ll bump this task on my TODO-list a little.

That’s all for December! I said this post would be short, I guess I lied and picked a few things that happened this week to compensate, so January’s post will be short instead. ;)


Articles from blogs I follow

Vulkan 1.4 sur Asahi Linux

English version follows. Aujourd’hui, Khronos Group a sorti la spécification 1.4 de l’API graphique standard Vulkan. Le projet Asahi Linux est fier d’annoncer le premier pilote Vulkan 1.4 pour le matériel d’Apple. En effet, notre pilote graphique Honeykrisp est…

via On Life and Lisp

Display/KMS Meeting at XDC 2024: Detailed Report

XDC 2024 in Montreal was another fantastic gathering for the Linux Graphics community. It was again a great time to immerse in the world of graphics development, engage in stimulating conversations, and learn from inspiring developers. Many Igalia colleagues …

via Wen.onweb

Unleashing Power: Enabling Super Pages on the RPi

Unleashing the power of 3D graphics in the Raspberry Pi is a key commitment for Igalia through its collaboration with Raspberry Pi. The introduction of Super Pages for the Raspberry Pi 4 and 5 marks another step in this journey, offering some performance enha…

via Maíra Canal

Generated by openring