Posts
4417
Following
315
Followers
471
Linux kernel hacker and maintainer etc.

OpenPGP: 3AB05486C7752FE1

Jarkko Sakkinen

In a conference where Microsoft, Google and Meta employees are giving talks, Jack Dorsey and Block Inc. is the prime evil :-)

#FOSDEM #hypocrisy
3
1
4

Jarkko Sakkinen

A #vim thing that I tend to forget.

q: in normal mode gives you a buffer containing the history of ex command-lines for the sake of convenient copy-paste.

0
0
4

Jarkko Sakkinen

Edited 5 months ago
Does SDL 3.x do immediate mode GUI like for plugins and stuff? I.e. similarly as egui and imgui (with appropriate backends)?

#libsdl #sdl
1
0
2

how an interns attempts to familiarize themselves with a codebase, and spice up the comments resulting in finding a major security vulnerability. Via Reddit, via 🤷‍♀️

4
10
1

Jarkko Sakkinen

One more existential reason for v4l2-loopback: testing video4linux features other than v4l2-loopback.

It is always nice to have a module in the stack that can pretend to be a piece of hardware in various end-to-end tests.

Just writing these down so that I can make a credible cover letter at the time :-)

I did this one big refactor few days ago: https://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd.git/commit/?h=v4l2-loopback&id=ccb1b6e1247887be17bf22b3809c50848e87a4db

I'm still editing it up until I'm happy with capture/output separation and some other things related (e.g. life-cycle and removal).

Obviously once I sent a patch set I will squash everything before sending...

#video4linux #linux #kernel #media
0
2
1

Jarkko Sakkinen

With these I wonder "why even bother" o_O
1
0
1

Jarkko Sakkinen

Edited 5 months ago
I've talked to my colleagues that one thing that strikes me in presentations given about any blockchain technology, is that they have a problem that the presentation goes straight into cryptography and smart contracts.

What you *actually* should start with is how the network discovery works. I.e. plain and simple how network nodes find each other. It's not flashy but it is like the first question for any seasoned engineer.

In order to do the secret handshakes you need to first bump into someone else to do your dance.
1
0
0

Jarkko Sakkinen

Edited 5 months ago
Multiple capture/output devices issue in the OOT driver and v4l2-loopback. It has the unfinished "SPLIT_DEVICES" compilation options, which I DO NOT fully cope with. I don't get what the heck they are aiming for TBH.

A video device can be either something like camera or something that takes input from client and displays that, e.g. similar device to ChromeCast would be a good example in this context.

I'm aligning to a solution where the initial "ADD" ioctl has:

1. flags (for setting the RW properties)
2. video_nr
3. video_fd (for server to read OR write)

And the direction is determined by flags. I did not fully understand why OOT driver aimed to do both capture and output device simultaneously, which does bother me a bit since it would be best to know the original reasoning, even if the conclusions were wrong.

Moving slowly in this area still and experimenting with options.

#linux #kernel #media #video4linux
0
2
1

Jarkko Sakkinen

At least something done in the kernel side for the v4l2-loopback driver this week:

  1. The first baby step towards anonymous inode based loopback device: https://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd.git/commit/?h=v4l2-loopback&id=90235ae07630962e6dc7c6b2b67f9e94584a6b74
  2. And a reflective step in my test program: https://codeberg.org/jarkko/v4l2-loopback-test/commit/8950e975817e9d9b8012880dd9f2443d2fe13c77

The next small push is to split v4l2_loopback_fops into two: one for /dev/videoX and other for the anonymous inode returned back from the ioctl.

#linux #kernel #media

1
1
2

Jarkko Sakkinen

Edited 5 months ago

Got tired of updating clangd data manually so did a quick script to automate it :

#!/usr/bin/env bash
# Copyright (c) Jarkko Sakkinen 2025

set -e

run_build() {
  make ARCH=x86_64 O=.clangd -j$(nproc)
  scripts/clang-tools/gen_compile_commands.py -d .clangd
}

run_menuconfig() {
  if [[ ! -d .clangd ]]; then
    exit 1
  fi
  make ARCH=x86_64 O=.clangd menuconfig
  run_build
}

while getopts ":m" opt; do
  case $opt in
    m)
      run_menuconfig
      exit 0
      ;;
    *)
      echo "Usage: $0 [-m]"
      exit 1
      ;;
  esac
done

if [[ ! -d .clangd ]]; then
  make ARCH=x86_64 O=.clangd tinyconfig
fi
run_build

#linux #kernel #clangd

0
1
0

Jarkko Sakkinen

Reported to rust-lang/rust if anything to get some ideas how to fix this in the downstream:

https://github.com/rust-lang/rust/issues/135704

It's weird...

#rust #rustlang
0
0
2

Jarkko Sakkinen

Related to the recent #LWN article: can Sequoia already all kernel maintainer workflows or not?
0
0
0

It feels suboptimal that each fedi service requires a different account.

e.g. I have a Flohmarkt instance, which is different from my Mastodon instance. If I also ran a pixelfed instance, that would be a third account.

Rather than one "me", with different linked services.

Perhaps there is a need for a fedi directory service / "main" account, which people can use for discovering of sub-accounts?

(I can see that, for some users, separation of accounts will be valuable, so I wouldn't want to remove that ability.)

11
2
0

Jarkko Sakkinen

Edited 5 months ago
After trying bunch of things over the last few weeks I finally have a test program for feeding the data for a video loopback device, i.e. to work as fake webcam:

- Has zero dependencies other than libc. Draws the frames, converts the pixel formats and writes them to the device.
-.Has optional debug display using minifb.
- Predictable cyclic motion, which useful in future for automated testing.

Repository: https://codeberg.org/jarkko/v4l2-loopback-test/
BuildRoot package: https://codeberg.org/jarkko/linux-tpmdd-test/src/branch/main/package/v4l2-loopback-test

I've not been able to make any major changes to the driver I would like to do because it does not make much when being blind. Now it is finally possible to forget user space and move on to the kernel changes.

#linux #kernel #media #video4linux
1
2
3

The New Yorker has unveiled its Jan. 20 (Inauguration Day) cover. https://www.newyorker.com/culture/cover-story/cover-story-2025-01-20

2
8
0
Show older