Posts
5046
Following
330
Followers
504
Linux kernel hacker and maintainer etc.

OpenPGP: 3AB05486C7752FE1

Jarkko Sakkinen

It is quite obvious that devices that embed Linux, Pipewire and for the app tailored tiled wm, Plasma and similar tools are the future of devices of this category:

https://www.youtube.com/watch?v=fZitBeVx3ow

Self-programmable MIDI controllers are a category where "the product" does not yet exist for doing anything very efficiently at least. E.g., for an artist OSC/Pilot requires whole team of specialists on tour, so it is not really for everyone, and TBH even that demo is "not that amazing" ;-)

Off-the-shelf self-contained Linux based MIDI device where you could setup similar control widgets on touch screen would essentially replace the team of IT specialists with a backpack (on tour).

Such device could be easily larger than e.g., 1010music's Blackbox [1], and it still would be super convenient and cheap the build :-)

[1] Blackbox is quite a amazing sampler and is about the size of two CD covers piled together.
0
0
0

Jarkko Sakkinen

Lol, it seems that doing proactive work to not use systemd is still a thing.

However, I wish some day Busybox could figure out service units given upstream projects prefer them ;-)

Note: I don't really know much of the problem space in this area tbh, and current situation is totally sustainable.

#systemd #busybox
0
0
1

Jarkko Sakkinen

Edited yesterday
Having used Bitwig Studio a bit now in Linux I can only say that if the lack of plugins is not a problem, Linux is superior audio platform even to macOS and CoreAudio.

Just to name one example of MANY, routing is the most user friendly experience that exist if you need that. In macOS some stuff for MIDI is configured through a some settings dialog I cannot recall anymore where it is located, and for more generic audio routing one has to buy a Loopback from Ameoba Audio. With Pipewire, you just open Helvum or similar tool, and wire the shit.

Comparing anything audio to Windows is not wort of the effort because audio in Windows is a disaster broken from all possible angles :-) I don't know Microsoft's priorities but personally I would fix audio before poisoning world with the worst AI assistant ever.

Through audio I've got into using Niri as my window manager because that topology fits really for "studio alike environment" because it gives a tactical rack/modular like environment, and is a advantage too in that sense.
0
0
1

Jarkko Sakkinen

Edited 3 days ago
If ever have to use Windows machine, 'gopass' seems to working replacement for pass (and gpg4win enables yubikey).
0
0
0

Jarkko Sakkinen

cool i did not know this but noticed by accident that gpu-screen-recorder seems to capture also audio from DAW flawlessly :-)
0
0
2

Jarkko Sakkinen

apparently wine 10 uses ntsync out-of-the-box:

❯ lsof /dev/ntsync
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
start.exe 6512 jarkko 12r CHR 10,261 0t0 1155 /dev/ntsync
wineserve 6514 jarkko 9r CHR 10,261 0t0 1155 /dev/ntsync
services. 6518 jarkko 10r CHR 10,261 0t0 1155 /dev/ntsync
explorer. 6524 jarkko 10r CHR 10,261 0t0 1155 /dev/ntsync
winedevic 6533 jarkko 10r CHR 10,261 0t0 1155 /dev/ntsync
svchost.e 6605 jarkko 10r CHR 10,261 0t0 1155 /dev/ntsync
plugplay. 6611 jarkko 10r CHR 10,261 0t0 1155 /dev/ntsync
winedevic 6623 jarkko 10r CHR 10,261 0t0 1155 /dev/ntsync
conhost.e 6641 jarkko 11r CHR 10,261 0t0 1155 /dev/ntsync
winecfg.e 6643 jarkko 10r CHR 10,261 0t0 1155 /dev/ntsync

This happends after creating /etc/modules-load.d/ntsync.conf and "sudo systemctl restart systemd-modules-load.service":

❯ systemctl status systemd-modules-load.service
● systemd-modules-load.service - Load Kernel Modules
Loaded: loaded (/usr/lib/systemd/system/systemd-modules-load.service; static)
Active: active (exited) since Fri 2025-12-19 03:31:20 EET; 4min 26s ago
Invocation: 367aac34988a4ed491f826a5670acf94
Docs: man:systemd-modules-load.service(8)
man:modules-load.d(5)
Process: 5939 ExecStart=/usr/lib/systemd/systemd-modules-load (code=exited, status=0/SUCCESS)
Main PID: 5939 (code=exited, status=0/SUCCESS)
Mem peak: 2.7M
CPU: 6ms

Dec 19 03:31:20 sysdarch systemd[1]: systemd-modules-load.service: Deactivated successfully.
Dec 19 03:31:20 sysdarch systemd[1]: Stopped Load Kernel Modules.
Dec 19 03:31:20 sysdarch systemd[1]: systemd-modules-load.service: Consumed 445ms CPU time, 89.5M memory peak.
Dec 19 03:31:20 sysdarch systemd[1]: Stopping Load Kernel Modules...
Dec 19 03:31:20 sysdarch systemd[1]: Starting Load Kernel Modules...
Dec 19 03:31:20 sysdarch systemd-modules-load[5939]: Inserted module 'ntsync'
Dec 19 03:31:20 sysdarch systemd[1]: Finished Load Kernel Modules.
0
1
0

Jarkko Sakkinen

Edited 6 days ago
Audio is still a niche in Linux but one can already see the uprising commercial potential due recent years development of e.g., Pipewire, improvements in kernel and projects like yabridge, which is like "Proton for audio plugins".

It's also pretty nice to open audio projects in properly tuned Linux distribution thanks to overall feel of stability and steady response, and off-shelf routing network (thanks to pipewrite), even more so than e.g. in macOS. It's only the smaller plugin ecosystem that really counts.

And this all is fairly recent, happened only during last few years. E.g. in 2019 audio situation was still quite horrible :-) When you make a song, you don't want start your creative process by adjusting audio buffer sizes for fucking Jack init.
0
0
2

Jarkko Sakkinen

a bit over 18 years working from home :-) could not imagine myself working in an office
0
0
2

Jarkko Sakkinen

Edited 6 days ago
Further improvements on queue are:

1. out-of-the-box pre-configured wine-tkg and yabridge.
2. one-shot systemd unit for turning off CPU upscaling (by default disabled).
0
0
0

Jarkko Sakkinen

sysdarch is also arch install optimized for latency instead of throughput (from those grounds inhreits the choice of using ext4 instead of btrfs). making sure that full pre-emption is always turned on, threaded irqs are enabled (for the benefit of USB audio interfaces), default user is added to 'realtime' group etc.

It differs from audio/studio distributions in the sense that I use balanced decisions and choices but don't break the whole system for questionable benefits :-)

It runs Bitwig Studio with yabridge or FL Studio with wineasio really well and that's like the stimuli in the first place ;-)

I think I slowly make it more generic and polished over time because it has sort of its own nice as per use case...
1
2
0

Jarkko Sakkinen

My Arch install scripts soon will almost configure Niri and Noctalia (there's only a single bug in the install script that i need to fix).

I maintain the script proactively so that they retain close proximity to my live install because this can be toolized in kernel debugging situations (e.g., reproduce the same environment to a VM).

Maybe I even distro-name this some day. The first name that came to mind was "Idiocracy'. I have no idea where from that spun off ;-)

https://git.kernel.org/pub/scm/linux/kernel/git/jarkko/sysdarch.git
0
0
1
@jani ... and if SGX can be mainlined, ANYTHING can be mainlined ;-)
0
1
2
@jani I.e. my logic here is that if code is reduced to something that is exactly all the dog food that I'd happily myself. Not more and not less.
1
0
1
@jani I've heard about this. That makes me think about scope.

I.e. I might make a driver just "webcam" case i.e. subset of oot but make that really polished.
1
0
1
@jani off-topic: This is actually pretty good example on highlighting why LLM is not ideal for kernel dev, despite how one feels about AI in general:

1. In the first phase, if I had used LLM I would have lost the learning experience and my subconsciousness would not processed anything at all.
2. The second highlights why just "any implementation" is not good enough. It must be exactly right flavor of implementaiton ;-) And there are infinite options..

I don't actually know how I would fit AI processing into that without being unsuccesful as per goals.
1
0
2
@jani This is almost always happens to me with feature patch sets:

1. I work on feature like crazy for month or two until things start to "spin".
2. Then I forget the feature for few months.
3. After gathering motivation I redo the feature, and after a few bumps and iterations at LKML things come together :-)

I'm going to take a fresh angle with this. The work early this year thought me how the OOT driver implementation works. I refactored that into some point to be in-tree driver but that somehow did not work.

Now I'm going to create a new branch where I instead take some productized but simple driver such as video-i2c or similar, and then start to mold it using OOT driver only a reference. From earlie work I get it enough to translate its behavior to in-kernel code.

Just had to write this down while fresh in mind ;-)
2
0
1
@jani A new day job happened in March. Also, I wrote a new TPM2 stack for Rust during the Fall. I'm planning to continue with this soon as I'm now fully functional in my day job :-) Thanks for reminding!
1
0
2
@monsieuricon I can live with the burden of this knowledge :-)
0
0
0

Jarkko Sakkinen

I've recently started to use Niri in my main desktop PC. First tiling wm where that some how intuitively works for me, and does not require too much configuration :-)

https://git.kernel.org/pub/scm/linux/kernel/git/jarkko/sysdarch.git/commit/?h=main&id=7484242542d5bdd97a507c47959d2117faf6a170
0
0
0
Show older