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

OpenPGP: 3AB05486C7752FE1
@Aissen and it would obnoxious and disrespectful for original authors, thus taking the "refactor with a tea spoon approach". They've done great work I'm just making it shine!
1
0
1
@Aissen It's really a project where 80% is doing other than kernel code and 20% is the kernel challenge. I pretty much know how to do the API shift but I need to finish up this test program first :-) We have done something quite close e.g. in tpm_vtpm_proxy.

And yeah, it's like the meat is great but it is surrounded by a broken framework so you need to do small steps and run the test for every single iteration. It's too easy otherwise to look at a piece of code and decide that it is crap and remove something actually relevant :-)
1
0
1
@Aissen it's not paid work anyway, one needs to be have hobbies, and LKML debate, even heated is better way to use your time than any possible political debate in social media :D
1
0
1
@Aissen there's libcamera and pipewire etc. but what people actually use is a tainted driver ;-) in their work machines. i don't really fully believe that proprietary driver story in 2024 given how many things you can anyway do in user space so not stopping based on this doing a RFC patch TBH (if that was the recommendation).
1
0
1
@Aissen i recommend not to use v4l2-loopback because it uses device model incorrectly and is a security risk. there's tons of stuff that depend on selecting camera device (like chrome when i call to a meeting).
1
0
1
@Aissen so in this case i know without looking that it ain't gonna help me :-) it is not aware of my driver
0
0
0
@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
7
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 6 months 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 6 months 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
Show older