Unofficial community reference. Not affiliated with 37signals or the Omacom Foundation. Download Omarchy only from omarchy.org.
omarchylinux.org Unofficial field manual

Webcam not detected on Omarchy

Why the built-in webcam is missing on Omarchy 4, split by platform: Intel IPU7 on Panther Lake, Lunar Lake, IPU6 laptops, ThinkPad IMX471, and Macs.

Workaround available Applies to Omarchy 3.x Fixed in 4.0.4 Last verified 2026-09-16 on 4.0.4
Short answer

Find out which camera you have first. On a Panther Lake Dell XPS, update to 4.0.4 and reboot: it ships the rebuilt intel-ipu7-camera with the in-tree CVS bridge driver. On Lunar Lake, IPU6, ThinkPad X1 Carbon Gen 14 and pre-T2 Macs, Omarchy ships no working path yet, and the fix is a community DKMS stack or removing the package that serves black frames.

On this page
  1. The fix
  2. Verify it worked
  3. Why it happens
  4. If that did not work
  5. Related

Most “no webcam” reports on Omarchy are not one bug. They are five or six different machines whose only shared symptom is an empty camera list. Work out which one you have before you change anything.

The fix

1. Identify what you actually have.

v4l2-ctl --list-devices
lsusb | grep -i cam
lspci -nn | grep -iE 'ipu|multimedia|camera'
for d in /sys/bus/acpi/devices/*/; do
  printf '%s %s\n' "$(cat "$d/hid" 2>/dev/null)" "$(cat "$d/status" 2>/dev/null)"
done | grep -iE 'OVTI|TBE|SONY|INT3472|INTC10'

If lsusb names your camera, it is an ordinary UVC device and none of the Intel sections below apply. If lspci shows an Intel IPU (it is listed as a multimedia controller), the PCI ID decides the rest: 8086:b05d is Panther Lake IPU7.5, 8086:645d is Lunar Lake, 8086:7d19 is Meteor Lake IPU6.

2. Panther Lake (8086:b05d, sensor OVTI08F4 with status 15). This is the Dell XPS 14 and XPS 16 case, and it is the one Omarchy fixed. Update and reboot:

omarchy update   # or Update > Omarchy in the menu, then reboot

4.0.4 carries intel-ipu7-camera 1.0.6, which adds a DKMS build of the in-tree Intel CVS bridge driver for 7.2 kernels, patches the HAL to route the sensor link through that entity, and gates the old vision-drivers module to pre-7.2 kernels. A reboot is required, not just a service restart. The release notes list it as a webcam fix for XPS systems on 7.2.x.

3. Still on 4.0.3, camera died after a normal update. Check the HAL plugin:

ldd /usr/lib/libcamhal/plugins/ipu75xa.so | grep -i json

libjsoncpp.so.26 => not found means you hit the jsoncpp 1.9.8 soname bump. Updating to 4.0.4 resolves it. The v4l2-relayd journal shows nothing but GLib assertions and never names jsoncpp, so run the ldd check before you blame the kernel.

4. Lunar Lake (8086:645d, Core Ultra 200V). The package is installed by detection but built with IPU_VERSIONS="ipu75xa" only, so the plugin your IPU asks for, ipu7x.so, is not on disk. There is no packaged fix as of 4.0.4. If you want the fake camera out of the way:

omarchy-pkg-drop intel-ipu7-camera

5. IPU6 laptops (Meteor Lake and older, sensors OVTI01A0, OVTI02C1, OVTI2740). Omarchy ships no IPU6 leaf at all. Worse, if your firmware also exposes an OVTI08F4 node, the IPU7 package installs and hides the raw nodes behind a black /dev/video50. Drop it first, then try the libcamera route:

omarchy-pkg-drop intel-ipu7-camera
sudo pacman -S libcamera libcamera-ipa libcamera-tools pipewire-libcamera
cam -l

That is the route reporters use for PipeWire-native apps, and it only helps once cam -l lists the sensor. One Raptor Lake owner needed kernel patches that are still an open omarchy-pkgs PR before his OV02C10 would probe at all. Most browsers still want a real /dev/video node, which means a libcamerasrc to v4l2sink bridge on a v4l2loopback device, or Chromium’s WebRtcPipeWireCamera feature flag.

6. ThinkPad X1 Carbon Gen 14 and X9 15p. If OVTI08F4 reports status 0 and TBE20A0 reports 15, your sensor is a Sony IMX471 and the OV08X40 stack can never drive it. The driver and its ACPI binding both landed upstream after 7.2 was tagged, so Arch gets them at 7.3. Until then people are running imx471-dkms-git plus the libcamera plumbing in ocewers/x1c14-camera-imx471. Keep intel-ipu7-camera installed on that route: the overlays swap its icamerasrc relay for libcamerasrc and reuse its loopback plumbing instead of replacing the package.

7. Macs. On T2 machines the camera comes from linux-t2 and uvcvideo. On pre-T2 models the FaceTime HD 1570 has no in-tree driver and Omarchy ships nothing for it. See /hardware/t2-mac/.

Verify it worked

omarchy-capture-webcam-list
media-ctl -p -d /dev/media0 | grep -i ov08x40     # Intel IPU only
gst-launch-1.0 icamerasrc num-buffers=5 ! fakesink

On a working Intel IPU machine the media graph shows the sensor entity, and on 7.2 it links through an Intel CVS entity rather than straight to CSI2. Then open a camera in a browser. The first loopback frame is black while the ISP warms up, so give it a second before you call it dead.

Why it happens

Omarchy’s entire built-in camera setup is three lines in install/hardware/intel/ipu7-camera.sh. It greps /sys/bus/acpi/devices/*/hid for OVTI08F4 and installs intel-ipu7-camera if it finds it. It does not check whether the node is enabled, which IPU controller is present, or which sensor is live. That single gate produces most of the cases above: it fires on ThinkPads whose OVTI08F4 is a disabled table slot, on Meteor Lake machines the package cannot serve, and on Lunar Lake machines whose HAL plugin was never built.

The package then does real work on the system. It blacklists ov08x40 behind intel_cvs, hides the raw V4L2 nodes with a udev rule, turns off WirePlumber’s libcamera monitor, and publishes /dev/video50 from icamerasrc. So when it lands on hardware it cannot drive, you get a camera that appears everywhere and delivers nothing, which is worse than having no node at all.

The Panther Lake break on kernel 7.2 was separate and specific. Linux 7.2’s ipu-bridge started placing the Intel CVS controller between the sensor and the CSI2 receiver, and added a matching in-tree V4L2 bridge driver. The package’s own out-of-tree intel_cvs has the same module name and installs into updates/, which depmod searches first, so on linux-omarchy it displaced the in-tree driver. linux-ptl could not build the in-tree one at all, because Arch-derived configs hide the option. Either way the old module registers no subdev, the IPU waited forever for one, and the sensor never joined the media graph. Several reporters on the XPS thread reached the same mechanism before the fix landed.

If that did not work

No /dev/video* at all and lsusb shows nothing. Check the BIOS for a camera or I/O port access toggle, and any physical shutter. Some laptops simply have no Linux driver. On a report about an Acer Nitro whose camera also failed on Ubuntu, DHH answered that it has to be fixed upstream or by the vendor.

Camera works in qcam but never in the browser. A Surface Pro report traced that to the portal, not the driver: the GTK portal rejects Hyprland’s toplevel handle and the camera request fails quietly. Watch journalctl --user -f -u xdg-desktop-portal-gtk while you trigger it.

Camera works at boot and dies after the first suspend. On Panther Lake the ov08x40 bind is dropped on resume and camera-init cannot restore it, so only a reboot brings it back. The 7.2 stack in 4.0.4 uses the in-tree CVS driver with real PM ops, and the PR author ran two s2idle cycles on an XPS 14 with it and kept the sensor both times, so update before you chase this further.

Screen recording shows a black webcam overlay. The picker only filters on Device Caps, and IPU7 raw Bayer nodes advertise Video Capture while offering no format mpv can read. Pick the v4l2loopback entry (/dev/video50 on the Omarchy package) by hand instead of letting auto-detect take the first one.

Upstream threads about this error

70 issues on the Omarchy tracker match this error cluster. Newest fixes often appear as comments on the most-discussed threads.

IssueStateCommentsOpened
#6000 Camera (IPU7-PTL / OV08X40) on ThinkPad X1 Carbon Gen 14: ACPI status=0, sensor invisible to Linuxopen242026-05-30
#5953 Dell XPS 14 DA14260 periodic hard reset after unplugging; power-button diagnostic blink codeopen192026-05-23
#4291 Config errors after updateclosed172026-01-17
#8641 XPS 14 (Panther Lake): Windows Hello IR camera (Himax HM1092) has no Linux driveropen82026-08-27
#11864 USB-C→HDMI DisplayPort Alt Mode negotiation fails and stays wedged until reboot (Panther Lake xe/ucsi_acpi)closed92026-09-14
#8271 Installer erases T1/T2 firmware on Apple hardware, permanently disabling Touch Bar / camera / Touch IDopen92026-08-25
#9256 Restarting audio services crashes QuickShell in QQuickRepeater::regenerateclosed92026-08-30
#9708 Display flashing in Chromium on X.com on hybrid Intel+NVIDIA laptop (LIBVA_DRIVER_NAME=nvidia forces NVIDIA VA-API while Chromium renders on iGPU)closed62026-09-02
#10948 [Regression] linux-ptl 7.2.3: IPU7 / OV08X40 sensor missing from media graph on Dell XPS 14 DA14260 · fixed by #418 closed82026-09-09
#4058 Hyprland 0.53 compatibility - window/layer rule syntax breaking changesclosed72026-01-02

Accepted answers upstream

Questions people ask

Does Omarchy install anything for my webcam automatically?
One thing only. install/hardware/intel/ipu7-camera.sh installs intel-ipu7-camera if the ACPI HID OVTI08F4 appears anywhere in /sys/bus/acpi/devices. There is no IPU6 leaf and no check on which IPU controller you actually have.
Why does my camera show up in every app but send black frames?
That is /dev/video50, the v4l2loopback node intel-ipu7-camera publishes. The node exists whether or not the HAL behind it found a sensor, so apps see a camera that never delivers a picture.
Will a newer kernel fix it?
Sometimes. The IMX471 driver and its TBE20A0 binding landed after 7.2 was tagged, so Arch gets them at 7.3. Panther Lake needed a package change instead, not a kernel one.

Sources and credit

Fixes on this page were worked out by spencerbull (The CVS bridge rework of intel-ipu7-camera that shipped in 4.0.4), labjt (Showing that the package's own DKMS intel_cvs shadows the in-tree module), disy-mk (The one-line ldd check for the jsoncpp soname break and the ipu-bridge diff behind the 7.2 regression), ocewers (Working out the IMX471 path on the ThinkPad X1 Carbon Gen 14), pkolbas (Documenting that the package is built for Panther Lake only), yashranaway (The 4.0.0 change that limits the webcam picker to video capture devices). Text here is our own paraphrase; follow the links for the original threads.

Unofficial. Verify against the official manual for your version. Improve this page Markdown version Sources