Posts
5042
Following
329
Followers
503
Linux kernel hacker and maintainer etc.

OpenPGP: 3AB05486C7752FE1

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 yesterday
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 yesterday
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
oops, sorry for lying, it is one callback delete moment, anyhow along the lines ;-)
0
0
0

Jarkko Sakkinen

a "one line change moment" ;-)

https://lore.kernel.org/linux-integrity/20251215231438.565522-1-jarkko@kernel.org/T/#u

Somehow these types of patches give more kicks than more complex ones.
1
0
2

Jarkko Sakkinen

Some news outlets etc. seem to translate making translate making support non-experimental into "Rust support getting official". I guess Rust has been "official" past 5-6 years but marked as experimental. I don't understand this type of reporting, or what it meant by "official" to begin with.
0
0
0

Jarkko Sakkinen

Glad previous stuff was merged but new stuff for further streamlining hmac sessions and code around has piled up:

https://lore.kernel.org/linux-integrity/20251214153808.73831-1-jarkko@kernel.org/

Improving hwrng, the prime source of latency issues, has some groundwork laid out, and latency hit should be now stable (as per small variance in expected latency).

After those have been merged it is easy to further to improve hwrng (probably by making it to pool random bytes with fixed size chunk pulls of new data, and serve caller from the pool).
0
0
1
Show older