Posts
3711
Following
217
Followers
381
Kernel plumber at kernel.org. Uncloud plumber at parity.io. Entrepreneur at Siltakatu Solutions Oy.

OpenPGP: 3AB05486C7752FE1

Jarkko Sakkinen

Edited 12 days ago
Cheers for Servo! Now we can also see actual improvement in the web engines as TECHNOLOGY, not just new fishy ad scams ;-)

Especially with low-end hardware Servo should be more capable of taking juices out of them, as long as they have some GPU.

All the current mainstream web engine crap is from the software rendering days with duct taped layout engines. Despite they are polished over time, there's a difference in making the right architecture choices from the get go.

https://bsky.app/profile/rego.bsky.social/post/3lf56v5lik22f

#servo
1
0
2

Jarkko Sakkinen

Some have argued that "we could do the same with Pipewire".

1. I love Pipewire. It's ****ing great. For the first time Linux has multimedia stack that surpasses Apple's.
2. With video we still might want to have option to cut down the stack depending on device. I.e. have a choice in product design whether to use or not use gstreamer and pipewire.

So from this premise IMHO a loopback video device does make sense.

#v4l2 #pipewire #gstreamer
1
1
3

Jarkko Sakkinen

This is quite welcome actually: https://fframes.studio/ (also rust-av)

Unless you enjoy libav interfaces or always layer it with gstreamer or libvlc...

A Rust rewrite that actually makes sense!

#rust #rustlang #ffmpeg
1
1
2

We're looking for the next Fedora Project Leader. Is it you, or someone you know?

https://redhat.wd5.myworkdayjobs.com/en-US/jobs/job/Boston/Fedora-Project-Leader_R-044932

3
12
1

Jarkko Sakkinen

Doing a distribution kernel for testing feature patch in Fedora is actually quite trivial now that I see the forest, and not only trees.

Up to the SRPM's it is exactly these steps:

1. git clone git@gitlab.com:cki-project/kernel-ark.git && cd kernel-ark
2. git -C ~/work/kernel.org/jarkko/linux-tpmdd diff master..v4l2-loopback > redhat/linux-kernel-test.patch
3. make dist-test-patch
4. make dist-srpm

Cool: three (!) weeks of improving my QA flows but now I can move on to the API breaking changes in the V4L2 loopback device :-) It is easier to develop the test code for anonymous inode version when you have the driver running in your desktop. Otherwise, it would be super painful.

@kernellogger thanks for getting me up on speed with compiling Fedora kernel, could not have mastered it w/o you :-)

I'd like to remark steps two and three because those I added by trial and failure and peeking at redhat/Makefile. It probably would make sense to put a remark here: https://cki-project.gitlab.io/kernel-ark/

#fedora #linux
2
4
7

The opening for the Fedora Project Leader position is live. If you know someone who would be a good fit for this role, please share this link with them!

Learn more: https://redhat.wd5.myworkdayjobs.com/en-US/jobs/job/Boston/Fedora-Project-Leader_R-044932

1
11
0

not a big fan of the new logo tbh

2
10
1

With Facebook currently in the news again, it's perhaps worth pointing out that I left the platform 11 years ago because they were already generating fake replies to fake posts, presumably in an attempt to increase engagement with ads. I got rid of my account and blocked facebook URLs and IP addresses on my router so that I cannot accidentally engage with any of their stuff at all.

That is of course not the only thing which was bad about Facebook. By 2016 they were working to undermine democracy.

So there's nothing actually knew about the harm they're causing now. It's been obvious for more than a decade which direction they were heading in. But I'm happy that there's more awareness now.

So, have you all deleted your facebook / instagram and whatsapp accounts already ? If not, why not ? Meta, just like Twitter, has been a nazi bar for some time now.

https://davidhembrow.blogspot.com/search/label/facebook/

0
2
1

Jarkko Sakkinen

Edited 13 days ago
The tech thing outside of crypto bro bullshit that got me interested in Polkadot is some "math inventions" in the distributed computing.

If you distribute block generation let's say by N in a blockchain you easily end up to an architecture where also network security also divides by N.

What Polkadot and its spec generalization JAM (https://graypaper.com/) do differently is that with the help of game theory parallel chains balance back in collaboration.

The basis of all this is described in this math paper: https://eprint.iacr.org/2024/961

With these shenanigans, the network sort of creates a scheme where you have a distributed computer where the relay chain is actually just part of the overall machinery tracking the history.

What I personally work on is a RISC-V relative bytecode VM called PVM, which has eight registers instead of 16 and immediate ECALL. This speeds up JIT over let's say WASM or eBPF given that register allocation to ARM and x86 becomes much more straight-forward process and generally it is more close proximity of those CPU architectures. I.e. what I hack is essentially a software-defined compute core and overall this network forms a sort of like "GPGPU" infrastructure.

The value part is more to optimized to book keeping than increase investor value so that you can make shared services where everyone gets their part when being a sub-provider of some service. E.g. there's no fixed number of tokens but there's instead rate-limited inflation.

So yeah, I'm not interested in blockchains or cryptocurrency per se but I'm very interested on distributed systems and providing alternatives to a data center. I think this make this work valuable.
0
1
2

Jarkko Sakkinen

In kernel-ark:

1. "make dist-fedora-configs": Can I make only process x86 stuff and not all the archiectures?
2. Let's say I've applied patches containing a new kconfig flag. How to fix that up?

#fedora #linux #kernel
1
1
0

Jarkko Sakkinen

I feel that Rust has grown up. People use it like a pro for their business 😎 No extra fuss...

#rustlang
0
0
4

Jarkko Sakkinen

A Rust question. Command::env_clear() has this example:

use std::process::Command;

Command::new("ls")
.env_clear()
.spawn()
.expect("ls command failed to start");

Isn't that like "do nothing" given that the instance Command was just created? I don't understand this example.

#rust #rustlang
3
0
2

New year, new role @Mastodon!

Our core team is looking for a senior Front-end Developer to elevate the web UI/UX experience for our users.

Ideally:

1. You are highly skilled in accessible and semantic
2. Proficient in modern
3. Experienced with , and complex React/Redux applications

This remote full-time position requires a 4-hour overlap with the CET timezone.

For more info/to apply:
https://jobs.ashbyhq.com/mastodon/6a0953c4-812b-4697-b5b3-ea0a2ae402c0

5
21
0

Jarkko Sakkinen

I wonder if a kselftest written with Python can depend on GStreamer? I.e. check and skip on failure.

I'm almost done converting the demo shown in my screencast from bash and fmpeg to python and gstreamer [1]. There has been bunch of blockers, like for example getting Python bindings compile in my BuildRoot environment (stable version bump helped).

One final peace that I was missing was how to pass a file descriptor to GStreamer pipeline but here it is:

https://gstreamer.freedesktop.org/documentation/coreelements/fdsrc.html

So... 1.5 weeks of scratching my head but this all work was absolutely required before making the breaking API change to the driver code (i.e. return file descriptor to an anoymous inode in the ioctl instead of writing to /dev/video0).

Now I need only a small tweak to the test program when I test that kernel change. FINALLY ready to go back to the fun i.e. kernel hacking ;-)

[1] https://social.kernel.org/notice/ApXBpAVuAyGBmcPye8

#linux #kernel #gstreamer #python #buildroot
1
3
1

Jarkko Sakkinen

When writing a system test for a media (aka V4L2) driver, Python and associated GStreamer bindings seem to be overall the sweet spot.

It has these perks:

- Packaged (unlike ffmpeg bindings).
- Can be injected during the post build.
- Has videotestsrc ;-)

#linux #kernel #media #gstreamer
1
1
2
Show older