Posts
4108
Following
281
Followers
429
Software Engineer at Opinsys Oy (starting 03/2025)
Entrepreneur at Siltakatu Solutions Oy

OpenPGP: 3AB05486C7752FE1
@Aissen i need to do a program that pretends to be webcam this needs a custom test
2
0
1
great, this is a starting point
0
0
0

Jarkko Sakkinen

Great found the most suitable crate for my test program:

https://github.com/zesterer/euc

I.e. I can pre-render the frame to buffers and then loop those frames to "cast_fd" with a given FPS (25) so it should be fairly timing accurate.

Using rotating and shaded torus I have cyclic movement which the other side (opening /dev/video0) can then read and store a full cycle of the animation.

Client and server can be two threads in the same process, and as final step the client can compare that the read frames are close proximity enough to the pre-rendered frames.

That should create a full headless and "CI friendly" system test for v4l2-cast. Definitely still hold a bit before doing too heavy refactoring and make this happen!

I wonder can we already have Rust programs in kselftest's? My driver is in C but this could be potentially part of the kselftest (at some point).

#linux #kernel #video4linux
2
1
2
@mjg59 have not read this nonsense about TPM's for some time. picking up the old classics i suppose... and ignores the fact that TPM is more like a protocol than a piece of hardware. that would be a proprietary hell if everyone had (like Apple) their own TPM alike incompatible chips.
0
0
0

"Today, most of the major streaming media platforms utilize the TPM to decrypt media streams, forcefully placing the decryption out of the user's control." (from https://www.defectivebydesign.org/dayagainstdrm) I… just… what? This isn't even slightly true. There's plenty of good reasons to object to Microsoft imposing hardware requirements on Windows 11 that aren't strictly required, but *nobody* is doing media decryption on a TPM because TPMs are nowhere near fast enough to do that

4
8
0
@nogodsnomasters So. I spent ages paying mortgage loan for my small apartment, and if I move away and rent I am "stealing my tenant's labor value"?

It is investment income and there is nothing wrong in that.
0
1
0

Jarkko Sakkinen

Edited 1 month ago
I will name my driver as "v4l2-cast". The ioctl will return the file descriptor with the field name "cast_fd".

Feels Platonic sense the best possible name, i.e. you have video capture and video cast devices.

It is more like user space video capture driver than loopback/proxy device. And we have too many things already named as "proxy" or "loopback". They are as descriptive if I named this as v4l2-object or v4l2-instance IMHO. From "cast" you get immediately a gist what is going on and like the use and purpose.
0
1
0
Final version will be headless, this is just transitional phase until it looks right.
0
0
0

Jarkko Sakkinen

Edited 1 month ago
Next making a fake webccam program with Rust to have something to run as the server end with the in-kernel driver using anonymous inode for proxy.

Realized that I need this before doing API split (i.e. break).

I'll implement it with Bevy and it will stream a rotating torus (that weird thing in the middle ATM) to the video loopback proxy

#linux #kernel #video4linux
1
1
2

Jarkko Sakkinen

Edited 1 month ago
If I had not used some time of my holiday to work on test then this would have been never finished :-)

This was the most demotivating part. Even tho no progress in kernel code for few weeks, this kind of is still the "RFC patches will be submitted" milestone.

Working on kernel code and seeing how the changes affect - that is fun. Writing a driver blind - that is hell.
0
0
0

I asked Siri what a baby kangaroo was called and this is the response I got. No joke. I have no idea what’s going on at Apple any more.

28
10
0

Eminem with a Sony PlayStation Debugging Station DTL-H1102 in 1999.

2
2
0

Jarkko Sakkinen

Edited 1 month ago
1
0
0
Conceptually this will laid out as follows, i.e. split one fops into 2x fops.
1
0
0
I noticed that it is easy to break the driver so now that I can properly QA it I sort restarted the refactorization process as I can now do:

1. Do a small change.
2. Run test.

It's now much more relaxed as you don't have to think whether you break anything or not ;-) Mastodon is in par with Github i.e. it can screencast (plays custom GIF animations).
1
0
0
Show older