How to make Webcam settings persistent?

I use this V4L2 Test Bench application to apply my setting, it look like to the best tool to control a webcam. After each restart of the computer the settings are gone. I found out by Google that Linux lacks of making webcam setting persistent without any tricks. I found a hint on Google (see attached file persistent.png) but this doesn’t work at all. I’ve created this bash script, but when I execute it I get only tons of errors:

unknown control 'focus_auto'
VIDIOC_S_EXT_CTRLS: failed: Permission denied
Error setting controls: Permission denied
unknown control 'exposure_auto'
unknown control 'exposure_absolute'

And nothing changes.

For me the following settings are crucial

  • Frame size 1920x1080
  • Frame rate 30 fps
  • Capture image Formats: MJPG (Motion-JPEG), it always switch back to YUYV which is completely useless, Frame Rate drops to 5 fps, the video just stucks
  • Power Line Frequency 50 Hz, at 60 Hz the video just stucks
  • Is the any setting in V4L2 that improves auto focus for reading barcodes and qr-codes?

How can I make these settings permanent?
Thanks for your help

Summary

You need to create udev rule

6 Likes

Regardles of which technical solution you use - a startup script or a udev rule, you still has to know which parameters are supported from the camera. Did you even read what the AI told you - the part abou -list-ctrls? Seems like your cam has no support for autofocus (or it is probably always on and cannot be controlled manually and that’s why that setting is not there).

And do not post pictures of text - use copy paste and formatting as quote for text and code for the commands.

Mod edit, fixed code

3 Likes

Thank you for your message, I don’t use screenshot if possible. This screenshot were search results from Google in KI mode. When I post them into this forum all formatting and pictures are lost, that why I do this. Is there another way to copy websites contents or parts of it without loosing format and pictures.
Kind regards,
Hans

Cameractrls seems to be a good solution, I can reboot and the settings are still there. I guess that this was what I was searching for. But I have a problem that is more annoying and I searched for hours and found no solution that could fix it. I can set the Pixel Format in every possible way to Mjpg but when I start vlc, cobang or SMplayer it switches every time back this usesless YUYV format with poor resolution an number of frames per second. That is completely useless. What can I do to get this to work? No hints from Google/Arch/Manjaro-Forums seemed to work.

Mod edit: Consecutive posts merged. :wink:

You mean when you try to use the camera as input for vlc, SMplayer, or so on, then it switches back to the wrong settings?

What did the --list-ctrls return?

I am afraid you need to be a bit more specific with what you did/tried for people to be able to help you.

Mod edit: Spelling fixed free of charge.

Edit: Thank you @Molski, for correcting the spelling. I shouldn’t reply when I am that tired :sweat_smile:

1 Like

I did a complete new install but this annoying problem, that the video output always switches from MJPEG to YUV is still here. As YUV offers only poor quality, poor resolution and frame rate it is no acceptable to me. Resolution drops from 1920x1080 to 800x600, that’s terrible, that’s what we had in stone age.

Here the output of v4l2-ctl --list-ctrls --device=/dev/video0:

User Controls

                     brightness 0x00980900 (int)    : min=0 max=255 step=1 default=128 value=128 flags=has-min-max
                       contrast 0x00980901 (int)    : min=0 max=255 step=1 default=128 value=128 flags=has-min-max
                     saturation 0x00980902 (int)    : min=0 max=255 step=1 default=128 value=128 flags=has-min-max
        white_balance_automatic 0x0098090c (bool)   : default=1 value=1
                           gain 0x00980913 (int)    : min=0 max=255 step=1 default=0 value=0 flags=has-min-max
           power_line_frequency 0x00980918 (menu)   : min=0 max=2 default=2 value=2 (60 Hz)
      white_balance_temperature 0x0098091a (int)    : min=2000 max=6500 step=1 default=4000 value=4000 flags=inactive, has-min-max
                      sharpness 0x0098091b (int)    : min=0 max=255 step=1 default=128 value=128 flags=has-min-max
         backlight_compensation 0x0098091c (int)    : min=0 max=1 step=1 default=0 value=0 flags=has-min-max

Camera Controls

                  auto_exposure 0x009a0901 (menu)   : min=0 max=3 default=3 value=3 (Aperture Priority Mode)
         exposure_time_absolute 0x009a0902 (int)    : min=3 max=2047 step=1 default=250 value=250 flags=inactive, has-min-max
     exposure_dynamic_framerate 0x009a0903 (bool)   : default=0 value=1
                   pan_absolute 0x009a0908 (int)    : min=-36000 max=36000 step=3600 default=0 value=0 flags=has-min-max
                  tilt_absolute 0x009a0909 (int)    : min=-36000 max=36000 step=3600 default=0 value=0 flags=has-min-max
                 focus_absolute 0x009a090a (int)    : min=0 max=250 step=5 default=0 value=0 flags=inactive, has-min-max
     focus_automatic_continuous 0x009a090c (bool)   : default=1 value=1
                  zoom_absolute 0x009a090d (int)    : min=100 max=500 step=1 default=100 value=100 flags=has-min-max

BTW, as former openSuSE user for over 25 years (I’ve switched to Manjaro because openSuSE wants to drop their YaST configuration tool and turn back to stone age with manually editing config files). I have a good impression of Manjaro. The webcam is the only problem I have, everything else works.

  1. And what is/are the command(s) you used to change the settings?
  2. How do you change the encoding to mjpg?
  3. What is the device (e.g. /dev/video0)? Are you sure you pass the correct device to the command?

There is no focus_auto, exposure_auto, or exposure_absolute in the output of the ... --list-ctrls.
Therefore, the camera does not seem to support these settings.
Or based on the output, a different spelling is required. E.g. auto_exposure instead of exposure_auto

I would try to get it to work in a command line.
As soon as you identified the correct settings and get it working on the command line, I suggest to add an udev-rule as @Tomek suggested above. That page could also be helpful to identify the correct path of the device.

2 Likes

The camera is a Logitech C922 Pro Stream Webcam, not rubbish, the device ist /dev/video0. I use the cameractrls application to adjust the settings.

What about these here with different names:

  • focus_automatic_continuous 0x009a090c
  • auto_exposure 0x009a0901
  • exposure_time_absolute 0x009a0902

But why does the system switch to a raw data format. Is there something not in installed on the system?

Mod Edit: Fixed quote.

That’s the point - they have different names.

Whilst they seem to provide the same function and we as humans can see that, the software can’t, all it can see is that the name/ctrl you specified doesn’t exist. For example, when you tell v4l2-ctl to assign a value to exposure_auto, naturally it will reply

because with your hardware it’s actually called auto_exposure.

3 Likes

Please be a bit more specific. We cannot see your screen and therefore have no idea what you type into your PC nor what it “replies”…

What are the exact commands?

I suspect those could be what you need. However, I have never used these tools. So you might have to read some documentation to figure out what they do and try yourself if they have the desired effect.

What do you mean with raw data format?

2 Likes

You can find more information about the Cameractrls app here
Cameractrls
You can adjust almost everything, Format, Resolution, FPS, Frequency, etc, etc. And it offer a Systemd service to make settings persistent even if you restart the computer

@Tomek
I’ve put a udev rule:

/etc/udev/rules.d/99-logitech-default-zoom.rules 

SUBSYSTEM=="video4linux", KERNEL=="video[0-9]*", ATTR{index}=="0", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="085c", RUN+="/usr/bin/v4l2-ctl -d $devnode --set-ctrl=zoom_absolute=170"

lsusb:
Bus 001 Device 006: ID 046d:085c Logitech, Inc. C922 Pro Stream Webcam

but I experince still the same mess: YUYV Format, Resolution 800x600, 24 FPS. This cannot be true, why is it not possible to switch the whole system to MJPEG with useful performance. Regardless of the player of barcode reader you are using. This here is a complete mess.

Mod edit: Consecutive posts merged.

Your udev rule only sets the value for zoom_absolute you will have to find which settings you want to set and the adjust that in the udev rule.

For example the following part of the udev rule will set zoom_absolute.
If you want to set other settings, you will have to define them.

--set-ctrl=zoom_absolute=170

Have you enabled and started it?
What does systemctl status cameractrlsd return?

Did you install it via pacman/pamac or flathub?

3 Likes

Snapcraft and Flatpack are in my opinion ugly bloatware for wasting CPU power and disk storage, so I always use pacman/pamac. I’ve got some hints in the net but non of them worked, I’ve modified my udev file:

SUBSYSTEM=="video4linux", KERNEL=="video[0-9]*", ATTR{index}=="0", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="085c", RUN+="/usr/bin/v4l2-ctl -d $devnode --set-fmt-video=width=1920,height=1080,pixelformat=MJPG"

Result:

[hk@linux ~]$ v4l2-ctl -d /dev/video0 --get-fmt-video
Format Video Capture:
        Width/Height      : 640/480
        Pixel Format      : 'YUYV' (YUYV 4:2:2)
        Field             : None
        Bytes per Line    : 1280
        Size Image        : 614400
        Colorspace        : sRGB
        Transfer Function : Rec. 709
        YCbCr/HSV Encoding: ITU-R 601
        Quantization      : Default (maps to Limited Range)
        Flags   

No effect, doesn’t work at all
Google “v4l2-ctl set mjpeg” propsed me the following commands:

v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=MJPEG

Verify the Configuration (after reconnect the camera plugging out and in USB:

[hk@linux ~]$ v4l2-ctl -d /dev/video0 --get-fmt-video
Format Video Capture:
        Width/Height      : 640/480
        Pixel Format      : 'YUYV' (YUYV 4:2:2)
        Field             : None
        Bytes per Line    : 1280
        Size Image        : 614400
        Colorspace        : sRGB
        Transfer Function : Rec. 709
        YCbCr/HSV Encoding: ITU-R 601
        Quantization      : Default (maps to Limited Range)
        Flags  

Nothing works, still YUYV. I was never that frustrated about Linux, I was used to get almost everything to work, but when it’s not possible to a webcam to work, I could get crazy. This can definitely not be possible. Has one to switch back to Windows to get a simple webcam to work???

The only thing that works is the “Qt V4L2 video capture utility”, here you can adjust everything but all is limited for the use of this application, all other apps (CoBang, Firefox QR Code Reader, VLC, SMPlayer fall back to the ugly settings, regardless of the udev rules which should apply the settings stored in this udev config file.

Does that command work in the terminal (without unplugging the webcam)?

1 Like

Almost certainly no :wink:

I wonder if one can sniff the communication between the only working app and the camera. Or maybe look at the source of it… I also have a bunch of other suspicions/ideas - is this the right protocol to communicate with the cam, is it video0 the right device at all, etc.

That’s exactly what journalctl -f shows on my computer. This is the debug output:

Set command: /usr/bin/v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=MJPEG

I’ve tested with my laptop with openSuSE and everything was working fine out of the box, so it’s an Arch/Majonara and not a Linux problem, so there should be a solution when it works under different distros. Here the journalctl -f output:

laptop:/home/hk # journalctl -f
Jul 10 14:06:38 laptop systemd[1]: dbus-:1.2-org.kde.powerdevil.discretegpuhelper@0.service: Deactivated successfully.
Jul 10 14:06:38 laptop systemd[1]: dbus-:1.2-org.kde.powerdevil.chargethresholdhelper@0.service: Deactivated successfully.
Jul 10 14:06:38 laptop systemd[1]: dbus-:1.2-org.kde.powerdevil.backlighthelper@0.service: Deactivated successfully.
Jul 10 14:06:39 laptop su[3255]: pam_kwallet5(su:auth): pam_kwallet5: pam_sm_authenticate
Jul 10 14:06:39 laptop su[3255]: pam_kwallet5(su:auth): pam_kwallet5: we were already executed
Jul 10 14:06:43 laptop su[3255]: (to root) hk on pts/0
Jul 10 14:06:43 laptop su[3255]: pam_kwallet5(su:setcred): pam_kwallet5: pam_sm_setcred
Jul 10 14:06:43 laptop su[3255]: pam_unix(su:session): session opened for user root(uid=0) by hk(uid=1000)
Jul 10 14:06:43 laptop su[3255]: pam_kwallet5(su:session): pam_kwallet5: pam_sm_open_session
Jul 10 14:06:43 laptop su[3255]: pam_kwallet5(su:session): pam_kwallet5: we were already executed
Jul 10 14:06:59 laptop strawberry[1968]: 14:06:59.125 DEBUG Database:488                     Starting database integrity check
Jul 10 14:06:59 laptop strawberry[1968]: 14:06:59.231 DEBUG Database:560                     Starting database backup
Jul 10 14:07:00 laptop systemd[1]: systemd-timedated.service: Deactivated successfully.
Jul 10 14:07:03 laptop kernel: usb 3-1: new high-speed USB device number 6 using xhci_hcd
Jul 10 14:07:06 laptop kernel: usb 3-1: New USB device found, idVendor=046d, idProduct=085c, bcdDevice= 0.16
Jul 10 14:07:06 laptop kernel: usb 3-1: New USB device strings: Mfr=0, Product=2, SerialNumber=1
Jul 10 14:07:06 laptop kernel: usb 3-1: Product: C922 Pro Stream Webcam
Jul 10 14:07:06 laptop kernel: usb 3-1: SerialNumber: E2B21DDF
Jul 10 14:07:06 laptop kernel: uvcvideo 3-1:1.0: Found UVC 1.00 device C922 Pro Stream Webcam (046d:085c)
Jul 10 14:07:06 laptop mtp-probe[3834]: checking bus 3, device 6: "/sys/devices/pci0000:00/0000:00:14.0/usb3/3-1"
Jul 10 14:07:06 laptop mtp-probe[3834]: bus: 3, device: 6 was not an MTP device
Jul 10 14:07:06 laptop wireplumber[1646]: [0:01:09.130434579] [1794]  INFO Camera camera_manager.cpp:223 Adding camera '\_SB_.PC00.XHCI.RHUB.HS01-1:1.0-046d:085c' for pipeline han
dler uvcvideo
Jul 10 14:07:06 laptop kernel: usbcore: registered new interface driver snd-usb-audio
Jul 10 14:07:06 laptop mtp-probe[3845]: checking bus 3, device 6: "/sys/devices/pci0000:00/0000:00:14.0/usb3/3-1"
Jul 10 14:07:06 laptop mtp-probe[3845]: bus: 3, device: 6 was not an MTP device
Jul 10 14:07:06 laptop systemd[1406]: Reached target Sound Card.
Jul 10 14:07:07 laptop kernel: NOTICE: Automounting of tracing to debugfs is deprecated and will be removed in 2030
Jul 10 14:07:07 laptop PackageKit[1998]: get-updates transaction /1_aedcadac from uid 1000 finished with success after 16445ms
Jul 10 14:07:24 laptop PackageKit[1998]: daemon quit
Jul 10 14:07:24 laptop systemd[1]: packagekit.service: Deactivated successfully.
Jul 10 14:07:24 laptop systemd[1]: packagekit.service: Consumed 11.675s CPU time over 55.402s wall clock time.
Jul 10 14:07:25 laptop plasmashell[1781]: Loading Bookmark File: ""
Jul 10 14:07:25 laptop plasmashell[1781]: Loading Bookmark File: ""
Jul 10 14:07:25 laptop systemd[1406]: Starting KRunner provider for baloo file indexer...
Jul 10 14:07:25 laptop plasmashell[1781]: currency conversion table data obtained via network
Jul 10 14:07:26 laptop systemd[1406]: Started KRunner provider for baloo file indexer.
Jul 10 14:07:27 laptop systemd[1406]: Started VLC Media Player - Medienwiedergabe.
Jul 10 14:07:27 laptop vlc[3997]: [0000557384bdd820] main libvlc: VLC wird mit dem Standard-Interface ausgeführt. Benutzen Sie 'cvlc', um VLC ohne Interface zu verwenden.
Jul 10 14:07:27 laptop kwin_x11[1611]: QDBusConnection: couldn't handle call to Teardown, no slot matched
Jul 10 14:07:27 laptop kwin_x11[1611]: QDBusConnection: couldn't handle call to Teardown, no slot matched
Jul 10 14:07:27 laptop kwin_x11[1611]: Could not find slot Krunner1Adaptor::Teardown
Jul 10 14:07:27 laptop vlc[3997]: QGradient::setColorAt: Color position must be specified in the range 0 to 1
Jul 10 14:07:27 laptop vlc[3997]: QGradient::setColorAt: Color position must be specified in the range 0 to 1
Jul 10 14:07:27 laptop vlc[3997]: QGradient::setColorAt: Color position must be specified in the range 0 to 1
Jul 10 14:07:27 laptop vlc[3997]: QGradient::setColorAt: Color position must be specified in the range 0 to 1
Jul 10 14:07:27 laptop vlc[3997]: [0000557384c6d2d0] main playlist: playlist is empty
Jul 10 14:07:37 laptop vlc[3997]: [00007fef10004200] gl gl: Initialized libplacebo v5.264.1 (API v264)
Jul 10 14:07:37 laptop vlc[3997]: [00007fef30009e80] main decoder error: buffer deadlock prevented
Jul 10 14:07:38 laptop vlc[3997]: [00007fef2c0009a0] main input error: ES_OUT_SET_(GROUP_)PCR  is called too late (pts_delay increased to 0 ms)
Jul 10 14:07:38 laptop vlc[3997]: [00007fef30009e80] main decoder error: Timestamp conversion failed for 101394363: no reference clock
Jul 10 14:07:38 laptop vlc[3997]: [00007fef30009e80] main decoder error: Could not convert timestamp 0 for FFmpeg
Jul 10 14:07:38 laptop vlc[3997]: [00007fef2c0009a0] main input error: ES_OUT_SET_(GROUP_)PCR  is called too late (pts_delay increased to 0 ms)
Jul 10 14:07:38 laptop vlc[3997]: [00007fef30009e80] main decoder error: Timestamp conversion failed for 101594307: no reference clock
Jul 10 14:07:38 laptop vlc[3997]: [00007fef30009e80] main decoder error: Could not convert timestamp 0 for FFmpeg
Jul 10 14:07:39 laptop vlc[3997]: [00007fef2c0009a0] main input error: ES_OUT_SET_(GROUP_)PCR  is called too late (pts_delay increased to 1 ms)
Jul 10 14:07:39 laptop vlc[3997]: [00007fef30009e80] main decoder error: Timestamp conversion failed for 102394386: no reference clock
Jul 10 14:07:39 laptop vlc[3997]: [00007fef30009e80] main decoder error: Could not convert timestamp 0 for FFmpeg
Jul 10 14:07:57 laptop vlc[3997]: [00007fef2c0009a0] main input error: ES_OUT_SET_(GROUP_)PCR  is called too late (pts_delay increased to 2 ms)
Jul 10 14:07:57 laptop vlc[3997]: [00007fef30009e80] main decoder error: Timestamp conversion failed for 120098512: no reference clock
Jul 10 14:07:57 laptop vlc[3997]: [00007fef30009e80] main decoder error: Could not convert timestamp 0 for FFmpeg
Jul 10 14:07:57 laptop vlc[3997]: [00007fef2c0009a0] main input error: ES_OUT_SET_(GROUP_)PCR  is called too late (pts_delay increased to 3 ms)
Jul 10 14:07:57 laptop vlc[3997]: [00007fef30009e80] main decoder error: Timestamp conversion failed for 120466594: no reference clock
Jul 10 14:07:57 laptop vlc[3997]: [00007fef30009e80] main decoder error: Could not convert timestamp 0 for FFmpeg
Jul 10 14:09:02 laptop plasmashell[1781]: Loading Bookmark File: ""
Jul 10 14:09:02 laptop plasmashell[1781]: "/usr/share/applications/emacsclient.desktop" contains supported protocols but doesn't use %u or %U in its Exec line! This is inconsisten
t.
Jul 10 14:09:02 laptop systemd[1]: Rotate log files skipped, unmet condition check ConditionACPower=true
Jul 10 14:09:02 laptop plasmashell[1781]: Chrome runner: could not open iconFile  "/home/hk/.cache/bookmarksrunner/KRunner-Favicons-firefox-default/50649_favicon"  for writing.
Jul 10 14:09:02 laptop plasmashell[1781]: Chrome runner: could not open iconFile  "/home/hk/.cache/bookmarksrunner/KRunner-Favicons-firefox-default/49629_favicon"  for writing.
Jul 10 14:09:02 laptop plasmashell[1781]: Chrome runner: could not open iconFile  "/home/hk/.cache/bookmarksrunner/KRunner-Favicons-firefox-default/47060_favicon"  for writing.
Jul 10 14:09:02 laptop plasmashell[1781]: Chrome runner: could not open iconFile  "/home/hk/.cache/bookmarksrunner/KRunner-Favicons-firefox-default/35812_favicon"  for writing.
Jul 10 14:09:02 laptop plasmashell[1781]: Chrome runner: could not open iconFile  "/home/hk/.cache/bookmarksrunner/KRunner-Favicons-firefox-default/56935_favicon"  for writing.
Jul 10 14:09:02 laptop plasmashell[1781]: Chrome runner: could not open iconFile  "/home/hk/.cache/bookmarksrunner/KRunner-Favicons-firefox-default/43628_favicon"  for writing.
Jul 10 14:09:02 laptop plasmashell[1781]: Loading Bookmark File: ""
Jul 10 14:09:02 laptop plasmashell[1781]: "/usr/share/applications/emacsclient.desktop" contains supported protocols but doesn't use %u or %U in its Exec line! This is inconsisten
t.
Jul 10 14:09:03 laptop plasmashell[1781]: Loading Bookmark File: ""
Jul 10 14:09:04 laptop systemd[1406]: Starting Spectacle screenshot capture utility...
Jul 10 14:09:04 laptop systemd[1406]: Started Spectacle screenshot capture utility.
Jul 10 14:09:05 laptop spectacle[5771]: Member focusPolicy of the object ButtonGrid_QMLTYPE_48 overrides a member of the base object. Consider renaming it or adding final or overr
ide specifier
Jul 10 14:09:05 laptop spectacle[5771]: Member focusPolicy of the object UndoRedoGroup_QMLTYPE_105 overrides a member of the base object. Consider renaming it or adding final or o
verride specifier
Jul 10 14:09:05 laptop spectacle[5771]: Member focusPolicy of the object AnnotationOptionsToolBarContents_QMLTYPE_110 overrides a member of the base object. Consider renaming it o
r adding final or override specifier
Jul 10 14:09:21 laptop spectacle[5771]: KFileFilter::fromMimeType() called with unknown MIME type "image/hej2k"
Jul 10 14:09:21 laptop spectacle[5771]: KFileFilter::fromMimeType() called with unknown MIME type "image/vnd.ms-dds"
Jul 10 14:09:21 laptop spectacle[5771]: No node found for item that was just removed: QUrl("file:///home/hk/hkottmann/Privat/Aufstieg und Fall des ersten Lottokönigs _ Der Bund.pd
f")
Jul 10 14:09:21 laptop spectacle[5771]: No node found for item that was just removed: QUrl("file:///home/hk/hkottmann/Privat/Blondinenwecker.gif")
Jul 10 14:09:21 laptop spectacle[5771]: No node found for item that was just removed: QUrl("file:///home/hk/hkottmann/Privat/Effiliermesser_Haarschneiden_für_Masochisten")
Jul 10 14:09:21 laptop spectacle[5771]: No node found for item that was just removed: QUrl("file:///home/hk/hkottmann/Privat/Folter-Haarschneider-Effilierer")
Jul 10 14:09:21 laptop spectacle[5771]: No node found for item that was just removed: QUrl("file:///home/hk/hkottmann/Privat/Meilenstein_Verkauf.pdf")
Jul 10 14:09:21 laptop spectacle[5771]: No node found for item that was just removed: QUrl("file:///home/hk/hkottmann/Privat/Ticket-Billy-Elliot.pdf")
Jul 10 14:09:21 laptop spectacle[5771]: No node found for item that was just removed: QUrl("file:///home/hk/hkottmann/Privat/Unterwäsche.txt")
Jul 10 14:09:21 laptop spectacle[5771]: KFileFilter::fromMimeType() called with unknown MIME type "image/hej2k"
Jul 10 14:09:21 laptop spectacle[5771]: KFileFilter::fromMimeType() called with unknown MIME type "image/vnd.ms-dds"
Jul 10 14:09:25 laptop plasmashell[1781]: QIODevice::read (QSslSocket): device not open

And on the attached picture the screen shot of the VLC codec info window

It sounds like it worked with camaeractrls. So have you tried the systemd service and have you checked if it starts properly?

Second, I would do it like @dmt and I earlier suggested: try to get it to work in the terminal, with the desired parameters.
Afterwards, when you have the right command, create the udev rule.

I tried everything suggested here, nothing works, it’s definitively frustrating, here the systemctl status:

[hk@linux ~]$ systemctl --user enable --now cameractrlsd.service
[hk@linux ~]$ systemctl status cameractrlsd
Unit cameractrlsd.service could not be found.
[hk@linux ~]$ systemctl status cameractrlsd.service
Unit cameractrlsd.service could not be found.
[hk@linux ~]$ 

Sorry, but I’m more more thinking to deal with handycraft tools that are for nothing but the problem is caused by a wrong/problematic system or kernel setting, or by a missing dependency of a library the software management is unable to resolve.

If you use --user here, you have to for the following commands as well:

I understand that your frustration.
We are quite in the dark here though: many of our questions stay unanswered and you don’t really tell us what you attempt or what the result is. So for a lot of the time we have to guess, which makes things more complicated and slow

2 Likes

BTW, it cannot be possible that something that on another distro works, here doesn’t work the only program that works is

Qt V4L2 video capture utility

Either the maintainer from Manjaro should have a solution or the maintainer of the camera driver, a solution seems to be existing, why this solution cannot find the way to Manjara is a misery. Who is responsible for this driver?