IMHO, this tells that “it’s about time”:
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2025 Jarkko Sakkinen
* Copyright (c) 2010-2023 IOhannes M. Zmoelnig
* Copyright (c) 2016 Gavin Qiu
* Copyright (c) 2016 George Chriss
* Copyright (c) 2014-2015 Tasos Sahanidis
* Copyright (c) 2012-2015 Yusuke Ohshima
* Copyright (c) 2015 Kurt Kiefer
* Copyright (c) 2015 Michel Promonet
* Copyright (c) 2015 Paul Brook
* Copyright (c) 2015 Tom Zerucha
* Copyright (c) 2013 Aidan Thornton
* Copyright (c) 2013 Anatolij Gustschin
* Copyright (c) 2012 Ted Mielczarek
* Copyright (c) 2012 Anton Novikov
* Copyright (c) 2011 Stefan Diewald
* Copyright (c) 2010 Scott Maines
* Copyright (c) 2009 Gorinich Zmey
* Copyright (c) 2005-2009 Vasily Levin
*/
The kref change was internal prequel, and this first API break is the external prequel:
/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
#ifndef _UAPI_LINUX_VIDEO_LOOP_H
#define _UAPI_LINUX_VIDEO_LOOP_H
#include <linux/types.h>
#include <linux/ioctl.h>
struct video_loop_config {
__u32 device_nr;
__u32 device_fd;
__u32 capabilities;
__u32 min_width;
__u32 max_width;
__u32 min_height;
__u32 max_height;
char card_label[32];
};
#define VIDEO_LOOP_CTL_ADD _IOW('v', 0x00, struct video_loop_config)
#define VIDEO_LOOP_CTL_REMOVE _IOW('v', 0x01, __u32)
#endif /* _UAPI_LINUX_VIDEO_LOOP_H */
If you have any comments on the fields, please spare me dude ;-) I don’t expect this to be final as in FINAL. It is good enough for RFC.
Glitches that will be fixed by anonymous inode:
device_fd
is still unfilled.capabilities
accepts right now only V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_VIDEO_OUTPUT
.
VIDEO_LOOP_CTL_REMOVE
is ought to be deleted.Two small steps forward with the video loopback driver:
kref
+ release life-cycle. This is a prequel for anonymous inode./dev/videoX
is responsible for this./dev/video_loop
.linux-media@vger.kernel.org
, as it is always good to start follow the discussion on other patch sets some time before your sending a feature patch set. For instance, some useful gray information might stick to you by accident…This is weird:
~/work/codeberg.org/jarkko/linux-v4l2-loopback master
$ scripts/checkpatch.pl 0001-media-v4l2-loopback.patch
Exception ignored in: <function Git.AutoInterrupt.__del__ at 0x7f4eaa6c05e0>
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/git/cmd.py", line 563, in __del__
File "/usr/lib/python3.13/site-packages/git/cmd.py", line 544, in _terminate
File "/usr/lib64/python3.13/subprocess.py", line 2227, in terminate
ImportError: sys.meta_path is None, Python is likely shutting down
Exception ignored in: <function Git.AutoInterrupt.__del__ at 0x7fe9511dc5e0>
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/git/cmd.py", line 563, in __del__
File "/usr/lib/python3.13/site-packages/git/cmd.py", line 544, in _terminate
File "/usr/lib64/python3.13/subprocess.py", line 2227, in terminate
ImportError: sys.meta_path is None, Python is likely shutting down
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#61:
new file mode 100644
total: 0 errors, 1 warnings, 3117 lines checked
NOTE: For some of the reported defects, checkpatch may be able to
mechanically convert to the typical style using --fix or --fix-inplace.
0001-media-v4l2-loopback.patch has style problems, please review.
NOTE: If any of the errors are false positives, please report
them to the maintainer, see CHECKPATCH in MAINTAINERS.
After years of hard work, countless reviews, and tons of community testing, we're happy to share that dynamic buffering has landed in Mutter for GNOME 48!
This improves the smoothness of GNOME across a wide range of hardware and software setups.
Thanks to everyone involved in this collaboration! Special thanks to author Daniel van Vugt from Canonical and reviewers Jonas Ådahl and Michel Dänzer from Red Hat.
Read more in This Week in GNOME: https://thisweek.gnome.org/posts/2025/02/twig-187/
$ pass remote
remote
├── 1password.com
│ └── jarkko.sakkinen@iki.fi
│ ├── password
│ ├── recovery
│ └── secret
├── codeberg.org
│ ├── berg
│ └── ci
├── firefox.com
│ ├── password
│ └── recovery
├── icloud.com
│ └── recovery
├── iki.fi
│ └── smtp
├── kapsi.fi
│ ├── db1.n
│ ├── element
│ └── mail
├── kernel.org
│ └── mail
└── storj.io
├── projects
│ ├── backup
│ └── my-cloud
└── recovery