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.
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.
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.
Related
- /hardware/webcam/ for the per machine status table
- /hardware/dell-xps-14-2026/ and /hardware/lenovo-thinkpad-x1-carbon/
- /hardware/t2-mac/ for Apple hardware, including what a full disk install costs you
- /fix/suspend-wont-resume-s2idle/ if the camera is one of several things lost on resume
- /switch/screen-sharing-meet-zoom-teams/ for the portal side of calls
- /reference/commands/omarchy-hw-webcam/ for what the detection check actually runs
- The Omarchy manual covers the overlay in Screenshots and Recording
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.
| Issue | State | Comments | Opened |
|---|---|---|---|
| #6000 Camera (IPU7-PTL / OV08X40) on ThinkPad X1 Carbon Gen 14: ACPI status=0, sensor invisible to Linux | open | 24 | 2026-05-30 |
| #5953 Dell XPS 14 DA14260 periodic hard reset after unplugging; power-button diagnostic blink code | open | 19 | 2026-05-23 |
| #4291 Config errors after update | closed | 17 | 2026-01-17 |
| #8641 XPS 14 (Panther Lake): Windows Hello IR camera (Himax HM1092) has no Linux driver | open | 8 | 2026-08-27 |
| #11864 USB-C→HDMI DisplayPort Alt Mode negotiation fails and stays wedged until reboot (Panther Lake xe/ucsi_acpi) | closed | 9 | 2026-09-14 |
| #8271 Installer erases T1/T2 firmware on Apple hardware, permanently disabling Touch Bar / camera / Touch ID | open | 9 | 2026-08-25 |
| #9256 Restarting audio services crashes QuickShell in QQuickRepeater::regenerate | closed | 9 | 2026-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) | closed | 6 | 2026-09-02 |
| #10948 [Regression] linux-ptl 7.2.3: IPU7 / OV08X40 sensor missing from media graph on Dell XPS 14 DA14260 · fixed by #418 | closed | 8 | 2026-09-09 |
| #4058 Hyprland 0.53 compatibility - window/layer rule syntax breaking changes | closed | 7 | 2026-01-02 |
Accepted answers upstream
- Philosophy of Omarchy 3.2 · answered by brink-lab
- Built-in webcam not working on Acer Nitro laptop, also broken on Ubuntu · answered by dhh
- Built-in webcam not detected on Arch / Omarchy (/dev/video* missing) · answered by Mrid22
- Philosophy of Omarchy 3.2 · answered by brink-lab
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.
- issueIssue #10948: [Regression] linux-ptl 7.2.3: IPU7 / OV08X40 sensor missing from media graph on Dell XPS 14 DA14260 · milep · 2026-09-09
- prPR #418: Fix Intel IPU7 camera on Linux 7.2 by adopting the CVS V4L2 bridge · spencerbull · 2026-09-13
- issueIssue #10837: RC jsoncpp 1.9.8 soname bump breaks intel-ipu7-camera 1.0.5 · iuliansafta · 2026-09-08
- issueIssue #11358: IPU7 camera HAL requires missing libjsoncpp.so.26 on current Arch · jamielmccormick · 2026-09-11
- issueIssue #12178: Lunar Lake: intel-ipu7-camera is installed by detection but built for Panther Lake only · pkolbas · 2026-09-16
- issueIssue #9879: IPU6 MIPI cameras (ov01a10 / OVTI01A0) get no setup, hardware detection only covers IPU7 · extragloves · 2026-09-02
- issueIssue #7697: ipu7-camera.sh misdetects Meteor Lake (IPU6) hardware as IPU7, breaking the webcam · mhbnielsen · 2026-08-21
- issueIssue #6000: Camera (IPU7-PTL / OV08X40) on ThinkPad X1 Carbon Gen 14: ACPI status=0, sensor invisible to Linux · ocewers · 2026-05-30
- issueIssue #7776: Built-in camera does not work on a fresh Omarchy install. · skovuri41 · 2026-08-22
- issueIssue #10624: IPU7 camera: ov08x40 sensor bind is lost on suspend/resume and camera-init can't restore it · suhaskashyaps · 2026-09-07
- issueIssue #8843: Browser cannot access built-in camera even when libcamera, pipewire-libcamera, and qcam all work · loganwoolf · 2026-08-28
- issueIssue #7277: webcam picker: Device Caps filter still passes IPU7 raw Bayer node · danteRub · 2026-08-17
- issueIssue #5676: Intel IPU6 MIPI camera Raptor Lake not working · vitorpacheco · 2026-05-08
- issueIssue #8271: Installer erases T1/T2 firmware on Apple hardware, permanently disabling Touch Bar / camera / Touch ID · PaulShadwell · 2026-08-25
- issueIssue #11373: No driver path for the pre-T2 FaceTime HD camera (Broadcom 1570) · rand0mdud3 · 2026-09-11
- issueIssue #4529: Built-in webcam not detected on Arch / Omarchy (/dev/video* missing) · yassinekrika · 2026-02-06
- issueIssue #6233: Built-in webcam not working on Acer Nitro laptop, also broken on Ubuntu · abduvaliy-hbai · 2026-07-18