Skip to content

Instantly share code, notes, and snippets.

Wayland transition notes for X11 users

Please comment below to contribute. Thanks!

X11 concept Wayland concept Notes
"Window" "Top-level Shell Surface" An entire window, including window decorations
X11 (the specfication) Wayland (the protocols) Neither X11 nor Wayland are binaries that can be installed
Xorg, one universally shared default implementation Multiple competing Wayland compositors Unfortunately there is no universally used single Wayland compositor; apparently every desktop environment does its own, and as a result what works in one may not work in another
export DISPLAY=... export WAYLAND_DISPLAY=... How to know which WAYLAND_DISPLAY one needs to export? The sockets (and their names) should be located in /run/user/*. If WAYLAND_SOCKET is detected, the client will prefer to use the socket provided using that environment variable.

Raspberry Pi 5

Raspberry Pi OS Wayland based desktop

  • Performance is acceptable for a desktop on a Pi for the first time, including 1080p YouTube in Chromium
  • Uses Wayfire window manager with Wayland backend by default but can be switched to Xorg with Openbox
  • wfrespawn is used to restart processes like the panel and the desktop (pcmanfm)
  • Screen recording works with sudo apt install wf-recorder. https://github.com/ammen99/wf-recorder is like screen recording with ffmpeg and it really "just works"! sudo apt install wf-recorder -a also records audio.
  • Screen sharing with Webex does not work in Chromium, desplite Wayland and Pipewire being there
  • Hence, how can I switch from Wayland to a X11 session? --> Using the Raspberry Pi Software Configuration Tool (raspi-config) under "6 Advanced Options" --> System then uses Openbox after rebooting. Seems to then use /usr/share/xsessions/LXDE-pi-x.desktop which in turn runs /usr/bin/startlxde-pi which in turn runs `exec /usr/bin/lxsession -s L

DJI Mini 4 Pro Review

Pros

Watch the reviews, they usually show the pros. Key ones:

  • Size: Can actually carry this around casually
  • 360 degrees obstacle avoidance (except at night and in sport mode)
  • Great tracking modes
  • C0 certified

Lubuntu Live ISO session with helloDesktop key components

This is purely for experimentation and development. It gives you a partial helloDesktop experience on Linux including a work-in-progress from-scratch rewrite of the Filer. For the full experience, use helloSystem.

image

Instructions

  • Run Lubuntu 22.04 Live ISO (on real hardware or in a virtual machine), don't install
  • From the Live session, run the script below
@probonopd
probonopd / spur1.md
Last active February 13, 2024 21:25

Märklin Spur 1 digitalisieren

Update 2024: Hier hat es jemand gemacht (mit Fotos): https://www.stummiforum.de/t160883f47-Digitalisierung-M-rklin-BR-aus-Startpackung.html (ESU 51965 + Decoder in Märklin BR 80 aus Startpackung 5500)

Mit Märklin-Bordmitteln sind die Preise für das Unterfangen, 3 Spur 1 Loks aus dem 80ern zu digitalisieren und digital zu fahren, im Jahr 2024 prohibitiv (in Summe wohl ca. 2.000 EUR). Mit Open Source und Fremdhardware ginge es wohl locker für ein Fünftel(!) davon. Wenn das jemand von Märklin liest: Da habt ihr noch eine Marktlücke (Stichwort: 5A Anschlussbox für die Spur 1 und erschwingliche Nachrüstsätze inkl. Permantentmagneten und Lokdecodern für die Spur 1). Ist diese Marktlücke nicht groß genug um lukrativ zu sein?

Lokomotiven

Aus den 80ern:

ESP32-S2 CircuitPython on S2 Mini board

On helloSystem, get CircuitPython from https://circuitpython.org/board/lolin_s2_mini/ and flash with:

python3 -m esptool  --after hard_reset write_flash  0x00000  '/tmp/user/_home_user_Downloads_tinyuf2-lolin_s2_mini-*.zip/combined.bin'

Replug the device, a S2MINIBOOT disk drive will be mounted on the desktop.

F-Droid for old Android versions

It would be nice to be able to use F-Droid and other open source software on an Android 4 based device to prolong its lifetime beyond what commercial vendors support (even if it means to use older versions of apps). I am sick and tired of perfectly fine hardware being unable to run applications just because "app stores" don't care about them anymore.

https://gitlab.com/fdroid/fdroidclient/-/issues/2510

D-Bus, I have some questions

Every couple of months I am trying to wrap my head around D-Bus. Every time I give up, thinking it is way overcomplicated.

Maybe it is just because no one explained it in simple terms. Or maybe it is really overcomplicated.

I mean, things like MQTT are quite easy to grasp for me. But D-Bus... not.

So here are my questions.

@probonopd
probonopd / shorts.txt
Last active April 15, 2023 22:15
This can be loaded into Falkon but apparently it doesn't work. Why? (Based on https://letsblock.it/filters/youtube-shorts.)
[Adblock Plus 2.0]
! Version: 202210181525
! Title: YouTube Shorts
!
! -----------------------YouTube Shorts blocking filters-----------------------!
www.youtube.com##ytd-guide-renderer a.yt-simple-endpoint[title="Shorts"]:upward(ytd-guide-entry-renderer)
www.youtube.com##ytd-mini-guide-renderer a.yt-simple-endpoint[title="Shorts"]:upward(ytd-mini-guide-entry-renderer)
www.youtube.com##ytd-browse #dismissible ytd-rich-grid-slim-media[is-short]:upward(ytd-rich-section-renderer)
www.youtube.com##ytd-browse ytd-grid-video-renderer:has(span.ytd-thumbnail-overlay-time-status-renderer:has-text(/\s(0:\d\d|1:0\d)\s/))
www.youtube.com##ytd-browse ytd-rich-item-renderer:has(span.ytd-thumbnail-overlay-time-status-renderer:has-text(/\s(0:\d\d|1:0\d)\s/))