익명 07:47

Camera Intel IUP6 not working on Ubuntu 26.04

Camera Intel IUP6 not working on Ubuntu 26.04

On Ubuntu 26.04 I have some troubles with the Dell Latitude 73640's camera/webcam. On the live session camera is working but in the installed OS.

The following is a short diagnosis of what is available on the live session:

dpkg -l | grep -Ei 'ipu|ivsc|camera|libcamera|pipewire|portal|v412'    

ii  accountsservice                            23.13.9-8ubuntu5                           amd64        query and manipulate user account information
    ii  bpftool                                    7.7.0+7.0.0-14.14                          amd64        Inspection and simple manipulation of BPF programs and maps
    ii  bubblewrap                                 0.11.1-1                                   amd64        utility for unprivileged chroot and namespace manipulation
    ii  cups-ppdc                                  2.4.16-1ubuntu1                            amd64        Common UNIX Printing System(tm) - PPD manipulation utilities
    ii  gnome-remote-desktop                       50.0-0ubuntu2                              amd64        Remote desktop daemon for GNOME using PipeWire
    ii  gstreamer1.0-libcamera:amd64               0.7.0-1ubuntu2                             amd64        complex camera support library (GStreamer plugin)
    ii  gstreamer1.0-pipewire:amd64                1.6.2-1ubuntu1                             amd64        GStreamer 1.0 plugin for the PipeWire multimedia server
    ii  iputils-ping                               3:20250605-1ubuntu1                        amd64        Tools to test the reachability of network hosts
    ii  iputils-tracepath                          3:20250605-1ubuntu1                        amd64        Tools to trace the network path to a remote host
    ii  libaccountsservice0:amd64                  23.13.9-8ubuntu5                           amd64        query and manipulate user account information - shared libraries
    ii  libblockdev3:amd64                         3.4.0-1                                    amd64        Library for manipulating block devices
    ii  libcamera-ipa:amd64                        0.7.0-1ubuntu2                             amd64        complex camera support library (IPA modules)
    ii  libcamera0.7:amd64                         0.7.0-1ubuntu2                             amd64        complex camera support library
    ii  libexiv2-28:amd64                          0.28.8+dfsg-1                              amd64        EXIF/IPTC/XMP metadata manipulation library
    ii  libexiv2-data                              0.28.8+dfsg-1                              all          EXIF/IPTC/XMP metadata manipulation library - shared data
    ii  libgphoto2-6t64:amd64                      2.5.33-1ubuntu1                            amd64        gphoto2 digital camera library
    ii  libgphoto2-l10n                            2.5.33-1ubuntu1                            all          gphoto2 digital camera library - localized messages
    ii  libgphoto2-port12t64:amd64                 2.5.33-1ubuntu1                            amd64        gphoto2 digital camera port library
    ii  libisl23:amd64                             0.27-1build1                               amd64        manipulating sets and relations of integer points bounded by linear constraints
    ii  libjansson4:amd64                          2.14-2build4                               amd64        C library for encoding, decoding and manipulating JSON data
    ii  libjson-c5:amd64                           0.18+ds-3                                  amd64        JSON manipulation library - shared library
    ii  libjson-glib-1.0-0:amd64                   1.10.8+ds-2                                amd64        GLib JSON manipulation library
    ii  libjson-glib-1.0-common                    1.10.8+ds-2                                all          GLib JSON manipulation library (common files)
    ii  libmailtools-perl                          2.22-1                                     all          modules to manipulate email in perl programs
    ii  liboeffis1:amd64                           1.5.0-3                                    amd64        RemoteDesktop portal DBus helper library
    ii  libparted-fs-resize0t64:amd64              3.6-6                                      amd64        disk partition manipulator - shared FS resizing library
    ii  libparted2t64:amd64                        3.6-6                                      amd64        disk partition manipulator - shared library
    ii  libpipeline1:amd64                         1.5.8-2                                    amd64        Unix process pipeline manipulation library
    ii  libpipewire-0.3-0t64:amd64                 1.6.2-1ubuntu1                             amd64        libraries for the PipeWire multimedia server
    ii  libpipewire-0.3-common                     1.6.2-1ubuntu1                             all          libraries for the PipeWire multimedia server - common files
    ii  libpipewire-0.3-modules:amd64              1.6.2-1ubuntu1                             amd64        libraries for the PipeWire multimedia server - modules
    ii  libpixman-1-0:amd64                        0.46.4-1                                   amd64        pixel-manipulation library for X and cairo
    ii  libportal-gtk3-1:amd64                     0.9.1-2build1                              amd64        Flatpak portal library for GTK 3 GUIs
    ii  libportal-gtk4-1:amd64                     0.9.1-2build1                              amd64        Flatpak portal library for GTK 4 GUIs
    ii  libportal1:amd64                           0.9.1-2build1                              amd64        Flatpak portal library - non-GUI part
    ii  libsepol2:amd64                            3.9-2                                      amd64        SELinux library for manipulating binary security policies
    ii  libspa-0.2-bluetooth:amd64                 1.6.2-1ubuntu1                             amd64        libraries for the PipeWire multimedia server - bluetooth plugins
    ii  libspa-0.2-libcamera:amd64                 1.6.2-1ubuntu1                             amd64        libraries for the PipeWire multimedia server - libcamera plugin
    ii  libspa-0.2-modules:amd64                   1.6.2-1ubuntu1                             amd64        libraries for the PipeWire multimedia server Simple Plugin API - modules
    ii  libtimedate-perl                           2.3300-2                                   all          collection of modules to manipulate date/time information
    ii  liburi-perl                                5.34-2build1                               all          module to manipulate and access URI strings
    ii  libvolume-key1:amd64                       0.3.12-10build2                            amd64        Library for manipulating storage encryption keys and passphrases
    ii  libxkbfile1:amd64                          1:1.1.0-1build5                            amd64        X11 keyboard file manipulation library
    ii  linux-firmware-intel-graphics              20260319.git217ca6e4-0ubuntu2              all          Firmware for Intel graphics and IPU and VSC processors
    ii  mokutil                                    0.7.2-2                                    amd64        tools for manipulating machine owner keys
    ii  mount                                      2.41.3-3ubuntu2                            amd64        tools for mounting and manipulating filesystems
    ii  parted                                     3.6-6                                      amd64        disk partition manipulator
    ii  pipewire:amd64                             1.6.2-1ubuntu1                             amd64        audio and video processing engine multimedia server
    ii  pipewire-alsa:amd64                        1.6.2-1ubuntu1                             amd64        PipeWire ALSA plugin, for ALSA applications to output via PipeWire
    ii  pipewire-audio                             1.6.2-1ubuntu1                             all          recommended set of PipeWire packages for a standard audio desktop use
    ii  pipewire-bin                               1.6.2-1ubuntu1                             amd64        PipeWire multimedia server - programs
    ii  pipewire-pulse                             1.6.2-1ubuntu1                             amd64        PipeWire PulseAudio daemon
    ii  python3-jaraco.text                        4.0.0-1build1                              all          jaraco text manipulation functions
    ii  python3-lazr.uri                           1.0.6-7build1                              all          library for parsing, manipulating, and generating URIs
    ii  python3-netaddr                            1.3.0-1build1                              all          manipulation of various common network address notations (Python 3)
    ii  python3-xkit                               0.5.0ubuntu8                               all          library for the manipulation of xorg.conf files (Python 3)
    ii  sbsigntool                                 0.9.4-3.1ubuntu9                           amd64        Tools to manipulate signatures on UEFI binaries and drivers
    ii  udisks2                                    2.10.91-1ubuntu2                           amd64        D-Bus service to access and manipulate storage devices
    ii  wireplumber                                0.5.13-1ubuntu1                            amd64        modular session / policy manager for PipeWire
    ii  xdg-desktop-portal                         1.21.1+ds-1ubuntu3                         amd64        desktop integration portal for Flatpak and Snap
    ii  xdg-desktop-portal-gnome                   50.0-0ubuntu1                              amd64        GNOME portal backend for xdg-desktop-portal
    ii  xdg-desktop-portal-gtk                     1.15.3-2ubuntu1                            amd64        GTK+/GNOME portal backend for xdg-desktop-portal
    ii  xorriso                                    1:1.5.6-1.1ubuntu4                         amd64        command line ISO-9660 and Rock Ridge manipulation tool

And

lsmod | grep -Ei 'iup|ivsc|v4l2|uvc'
videobuf2_v4l2         36864  1 intel_ipu6_isys
videobuf2_common       90112  4 videobuf2_v4l2,intel_ipu6_isys,videobuf2_dma_sg,videobuf2_memops
ivsc_ace               16384  0
ivsc_csi               12288  3
mei                   184320  10 ivsc_ace,mei_hdcp,mei_pxp,ivsc_csi,mei_vsc,mei_me
ipu_bridge             24576  3 intel_ipu6,ivsc_csi,intel_ipu6_isys
v4l2_fwnode            40960  8 hi556,ivsc_csi,intel_ipu6_isys
v4l2_async             32768  4 v4l2_fwnode,hi556,ivsc_csi,intel_ipu6_isys
videodev              376832  16 v4l2_async,v4l2_fwnode,hi556,videobuf2_v4l2,ivsc_csi,intel_ipu6_isys
mc                     90112  10 v4l2_async,videodev,snd_usb_audio,hi556,videobuf2_v4l2,ivsc_csi,intel_ipu6_isys,videobuf2_common

And to complete

sudo dmesg | grep -Ei 'iup|ivsc|camera|sensor|ov'
[    0.000000] BIOS-provided physical RAM map:
[    0.000000] efi: Remove mem99: MMIO range=[0xc0000000-0xcfffffff] (256MB) from e820 map
[    0.000000] e820: remove [mem 0xc0000000-0xcfffffff] device reserved
[    0.000000] efi: Remove mem100: MMIO range=[0xf9800000-0xf9ffffff] (8MB) from e820 map
[    0.000000] e820: remove [mem 0xf9800000-0xf9ffffff] device reserved
[    0.000000] efi: Remove mem102: MMIO range=[0xff000000-0xffffffff] (16MB) from e820 map
[    0.000000] e820: remove [mem 0xff000000-0xffffffff] device reserved
[    0.000011] e820: remove [mem 0x000a0000-0x000fffff] System RAM
[    0.009607] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.009609] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.009704] Movable zone start for each node
[    0.115649] thermal_sys: Registered thermal governor 'fair_share'
[    0.115649] thermal_sys: Registered thermal governor 'bang_bang'
[    0.115649] thermal_sys: Registered thermal governor 'step_wise'
[    0.115649] thermal_sys: Registered thermal governor 'user_space'
[    0.115649] thermal_sys: Registered thermal governor 'power_allocator'
[    0.115649] cpuidle: using governor ladder
[    0.115649] cpuidle: using governor menu
[    0.653235] NetLabel:  protocols = UNLABELED CIPSOv4 CALIPSO
[    0.826156] fbcon: Deferring console take-over
[    0.840610] Key type fscrypt-provisioning registered
[    1.839677] hid-generic 001F:8087:0AC2.0002: hidraw1: SENSOR HUB HID v2.00 Device [hid-ishtp 8087:0AC2] on 
[    1.854131] hid-generic 001F:8087:0AC2.0003: hidraw2: SENSOR HUB HID v2.00 Device [hid-ishtp 8087:0AC2] on 
[    1.866426] hid-generic 001F:8087:0AC2.0004: hidraw3: SENSOR HUB HID v2.00 Device [hid-ishtp 8087:0AC2] on 
[    1.873646] hid-generic 001F:8087:0AC2.0005: hidraw4: SENSOR HUB HID v2.00 Device [hid-ishtp 8087:0AC2] on 
[    1.878387] hid-sensor-hub 001F:8087:0AC2.0002: hidraw1: SENSOR HUB HID v2.00 Device [hid-ishtp 8087:0AC2] on 
[    1.879948] hid-sensor-hub 001F:8087:0AC2.0003: hidraw2: SENSOR HUB HID v2.00 Device [hid-ishtp 8087:0AC2] on 
[    1.881466] hid-sensor-hub 001F:8087:0AC2.0004: hidraw3: SENSOR HUB HID v2.00 Device [hid-ishtp 8087:0AC2] on 
[    1.882495] hid-sensor-hub 001F:8087:0AC2.0005: hidraw4: SENSOR HUB HID v2.00 Device [hid-ishtp 8087:0AC2] on 
[    2.127658] usb 2-1.3: Manufacturer: Lenovo
[    3.067688] raid6: using avx2x2 recovery algorithm
[    3.866954] sd 0:0:0:0: [sda] Attached SCSI removable disk
[    4.808951] overlayfs: null uuid in non-single lower fs '/', falling back to xino=off,index=off,nfs_export=off.
[    5.254541] EXT4-fs (sda4): recovery complete
[    5.773359] evm: overlay not supported
[   14.550372] systemd[1]: /usr/lib/systemd/system/xfs_scrub_all.service:26: Support for option CPUAccounting= has been removed and it is ignored
[   14.550782] systemd[1]: /usr/lib/systemd/system/system-xfs_scrub.slice:15: Support for option CPUAccounting= has been removed and it is ignored
[   16.866612] RAPL PMU: API unit is 2^-32 Joules, 4 fixed counters, 655360 ms ovfl timer
[   17.174889] fbcon: Deferring console take-over
[   29.575149] pci 0000:00:05.0: Found supported sensor INT3537:00
[   29.575381] pci 0000:00:05.0: Connected 1 cameras
[   29.760132] hi556 i2c-INT3537:00: supply dovdd not found, using dummy regulator

And

systemctl --user --no-pager | grep -E 'pipewire|portal|wireplumber'
  pipewire-pulse.service                                                                                                                                              loaded active     running         PipeWire PulseAudio
  pipewire.service                                                                                                                                                    loaded active     running         PipeWire Multimedia Service
  wireplumber.service                                                                                                                                                 loaded active     running         Multimedia Service Session Manager
  xdg-desktop-portal-gnome.service                                                                                                                                    loaded active     running         Portal service (GNOME implementation)
  xdg-desktop-portal-gtk.service                                                                                                                                      loaded active     running         Portal service (GTK/GNOME implementation)
  xdg-desktop-portal.service                                                                                                                                          loaded active     running         Portal service
  xdg-document-portal.service                                                                                                                                         loaded active     running         flatpak document portal service
  pipewire-pulse.socket                                                                                                                                               loaded active     running         PipeWire PulseAudio
  pipewire.socket                                                                                                                                                     loaded active     running         PipeWire Multimedi

After the installation on the PC, cam -l returned the following results:

cam -l
[0:07:40.546835667] [10325]  INFO Camera camera_manager.cpp:340 libcamera v0.7.0
[0:07:40.564887582] [10333]  WARN CameraSensor camera_sensor_legacy.cpp:355 'hi556 15-0020': Recommended V4L2 control 0x009a0922 not supported
[0:07:40.564931589] [10333]  WARN CameraSensor camera_sensor_legacy.cpp:427 'hi556 15-0020': The sensor kernel driver needs to be fixed
[0:07:40.564938308] [10333]  WARN CameraSensor camera_sensor_legacy.cpp:429 'hi556 15-0020': See Documentation/sensor_driver_requirements.rst in the libcamera sources for more information
[0:07:40.565146356] [10333]  WARN CameraSensorProperties camera_sensor_properties.cpp:548 No static properties available for 'hi556'
[0:07:40.565153890] [10333]  WARN CameraSensorProperties camera_sensor_properties.cpp:550 Please consider updating the camera sensor properties database
[0:07:40.565158322] [10333]  WARN CameraSensor camera_sensor_legacy.cpp:595 'hi556 15-0020': Failed to retrieve the camera location
[0:07:40.565162437] [10333]  WARN CameraSensor camera_sensor_legacy.cpp:617 'hi556 15-0020': Rotation control not available, default to 0 degrees
[0:07:40.565168593] [10333]  WARN CameraSensor camera_sensor_legacy.cpp:502 'hi556 15-0020': No sensor delays found in static properties. Assuming unverified defaults.
[0:07:40.566589384] [10333]  WARN IPAProxy ipa_proxy.cpp:192 Configuration file 'hi556.yaml' not found for IPA module 'simple', falling back to '/usr/share/libcamera/ipa/simple/uncalibrated.yaml'
[0:07:40.566616685] [10333]  WARN IPASoft soft_simple.cpp:104 IPASoft: Failed to create camera sensor helper for hi556
[0:07:40.566813437] [10333]  INFO Camera camera_manager.cpp:223 Adding camera '\_SB_.PC00.LNK1' for pipeline handler simple
Available cameras:
1: 'hi556' (\_SB_.PC00.LNK1)


Top Answer/Comment:

I've spent some time trying to get the integrated webcam (Intel MIPI/IPU6) of my Dell XPS 9315 working on the new Ubuntu 26.04 release. Since Canonical dropped some old packages and changed the architecture, the old guides no longer work.

After a lot of trial and error, I managed to get it recognized by the system and working in Chrome/Snapshot. Here is the process that worked for me:

  1. The Pre-requisite: Disable Secure Boot or manually sign the driver

Since the kernel modules need to be compiled locally (DKMS) and are not digitally signed, you must disable Secure Boot in your firmware - UEFI - (press F2 on boot). If you don't do this, the kernel will silently block the webcam driver, and you'll only get a black screen. Alternatively you can manually sign the driver with mokutil.

  1. Install the Required Drivers

On Ubuntu 26.04, you don't need the old PPA or v4l2-relayd anymore. The system relies on libcamera and pipeire.

Open your Terminal and run:

  • sudo apt install intel-ipu6-dkms libcamera-tools libcamera-v4l2 linux-firmware (install the driver (DKMS) and libcamera base tools)

  • sudo apt install libcamera-ipa gstreamer1.0-libcamera wireplumber pipewire-libcamera (installs the Image Processing Algorithms (IPA) and pipewire integration)

  1. Restart the Media Server

You don't necessarily need to reboot the whole PC. Just restart the pipewire services (do not use sudo here):

systemctl --user restart wireplumber pipewire

To test if it works, open the default Camera app. You should see your face!

  1. Fix Google Chrome (Black Screen / Not Found)

By default, Chrome ignores the new pipewire camera system. To enable it:

Open Chrome and go to chrome://flags/#enable-webrtc-pipewire-camera

Set WebRTC PipeWire camera to Enabled.

Relaunch the browser. Now Meet and other web apps will detect the camera.

⚠️ Current Limitations (Dark Image & Flickering)

At this point, the webcam works, but you might notice the image is quite dark, washed out, and might flicker heavily in bright light.

Why? The specific sensor on the XPS 9315 is an OmniVision ov01a10. Currently, libcamera lacks the specific closed-source sensor helper and calibration files for this hardware. The SoftISP algorithm falls back to an uncalibrated .yaml profile, which forces a very conservative auto-exposure.

Can we fix it via config files? I tried creating a custom profile at /usr/share/libcamera/ipa/simple/ov01a10.yaml to manually override the BlackLevel and Agc (Auto Gain Control / maxShutter). The system reads the file, but unfortunately, without the proper sensor helper module (Failed to create camera sensor helper for ov01a10 in the logs), libcamera ignores the custom values.

The Workaround: Until Intel releases the proper binary blobs for this specific sensor on 26.04, the only way to get a bright, flicker-free image is to use OBS Studio.

Add the webcam as a Video Capture Device in OBS.

Right-click the source -> Filters -> Color Correction (bump up Gamma and Brightness).

Start the Virtual Camera in OBS and select that in your video calls.

Hope this saves someone the headache I went through! Let me know if anyone finds a way to force the hardware exposure limits.

상단 광고의 [X] 버튼을 누르면 내용이 보입니다