Donnerstag, 11. Juni 2026

Lenovo ThinkPad X1 Yoga Gen 7 INTERNE LAPTOP-KAMERA TOT NACH DEM UBUNTU-UPGRADE AUF 24.04

Erfahrungsbericht & Schritt-für-Schritt-Anleitung — Lenovo ThinkPad X1 Yoga Gen 7 (12th Gen i7-1260P, Alder Lake), Kamera-Sensor ov2740, Ubuntu 24.04, Kernel 6.17 OEM

Das Problem

Nach dem Upgrade von Ubuntu 22.04 auf 24.04 war die eingebaute Kamera meines Lenovo ThinkPad X1 Yoga (Gen 7) plötzlich tot. Kein Bild in Zoom, kein Bild in Teams, nichts im Browser. In OBS wollte ich zusätzlich die virtuelle Kamera starten — und bekam nur:

Starten der Ausgabe fehlgeschlagen. Bitte überprüfen Sie die Logdatei für Details. Hinweis: Wenn Sie die NVENC- oder AMD-Kodierer verwenden, stellen Sie sicher, dass Ihre Grafiktreiber aktuell sind.

Spoiler: Mit Grafiktreibern oder NVENC hat das nichts zu tun — diese Meldung ist nur ein generischer Standardtext. Das eigentliche Problem saß tiefer, und es ist ein Klassiker bei modernen Intel-Notebooks.

Warum gerade diese Kameras so zicken

Moderne Intel-CPUs (ab etwa 11. Generation) haben keine klassische USB-Webcam mehr eingebaut, sondern eine MIPI-Kamera über die Intel IPU6 (“Image Processing Unit”). Das ist effizient, aber softwareseitig eine eigene Welt:

  • Die Kamera liefert ein Rohbild (Bayer). Damit ein normales Bild rauskommt, muss eine ISP-Pipeline (Image Signal Processor) das Rohbild entrauschen, weißabgleichen, belichten usw.
  • Dieser ISP läuft über ein eigenes Kernel-Gerät: /dev/ipu-psys0 (PSYS = “Processing System”).
  • Darüber sitzt eine Hardware-Abstraktions-Schicht (HAL) plus ein GStreamer-Element namens icamerasrc, das die Kamera erst nutzbar macht.

Beim Upgrade auf 24.04 ändert sich der Kernel und die ganze Treiber-Konstellation. Genau hier brechen die Dinge auseinander — meist gleich an drei Stellen:

Stolperstein 1: Falsches HAL-Plugin (ipu6 vs. ipu6ep)

Es gibt zwei HAL-Plugin-Varianten:

  • ipu6.so — für Tiger Lake (11. Gen)
  • ipu6ep.so — für Alder Lake / Raptor Lake (12./13. Gen)

Bei mir war nach dem Upgrade nur ipu6.so installiert, mein i7-1260P (Alder Lake) braucht aber ipu6ep.so. Folge: icamerasrc konnte das Plugin gar nicht laden.

Stolperstein 2: Kein PSYS-Device (/dev/ipu-psys0 fehlt)

Der In-Tree-Treiber (der im normalen 24.04-Kernel mitgeliefert wird) macht nur die reine Bildaufnahme (ISYS) — er erzeugt kein PSYS. Ohne PSYS keine Bildverarbeitung, also schwarzes/kein Bild. PSYS kommt nur von:

  • dem proprietären intel-ipu6-dkms — der baut auf sehr neuen Kerneln oft nicht mehr und stürzt ab (das war auch mein Grund, ihn irgendwann genervt zu entfernen), oder
  • dem signierten OEM-Modulpaket linux-modules-ipu6-… passend zum laufenden Kernel. Das ist der saubere Weg.

Stolperstein 3: Der Relay zeigt auf ein Testbild

Damit Zoom & Co. die MIPI-Kamera als „normale” Webcam sehen, schiebt ein Dienst (v4l2-relayd) den Kamera-Stream in ein virtuelles Gerät (v4l2loopback). Bei mir war dieser Dienst durch frühere Reparaturversuche auf videotestsrc (Testbild) statt icamerasrc (echte Kamera) konfiguriert.

Diagnose: Wo stehst DU?

Bevor du losreparierst, finde heraus, was bei dir fehlt. Diese Befehle helfen:

# Welche CPU-Generation? (Alder Lake → ipu6ep, Tiger Lake → ipu6)
grep -m1 "model name" /proc/cpuinfo

# Welches HAL-Plugin ist da?
ls -l /usr/lib/libcamhal/plugins/      # brauchst du ipu6ep.so oder ipu6.so?

# Existiert das ISP-Device?
ls -l /dev/ipu-psys0                    # fehlt es, ist das DER Knackpunkt

# Liefert die Kamera überhaupt ein Bild? (Direkttest, ohne Loopback)
gst-launch-1.0 icamerasrc num-buffers=10 ! video/x-raw,format=NV12,width=1920,height=1080 \
  ! videoconvert ! jpegenc ! multifilesink location=test-%02d.jpg

Typische Fehlermeldungen und ihre Bedeutung:

  • failed to open library: .../ipu6ep.sofalsches/fehlendes HAL-Plugin (Stolperstein 1)
  • Failed to open PSYS / create psys executors failedPSYS-Device fehlt (Stolperstein 2)

Die Lösung (Schritt für Schritt)

Getestet auf Lenovo ThinkPad X1 Yoga Gen 7 (i7-1260P, Alder Lake, Sensor ov2740), Ubuntu 24.04, Kernel 6.17 OEM. Bei anderen Sensoren/CPUs sinngemäß anpassen.

1. Richtiges HAL-Plugin installieren

# Alder/Raptor Lake:
sudo apt install libcamhal-ipu6ep
# (Tiger Lake: libcamhal-ipu6)

2. PSYS über das signierte OEM-Modulpaket holen (kein DKMS!)

# Metapaket passend zum OEM-Kernel — zieht automatisch das richtige ipu6-Modul
# inkl. intel-ipu6-psys nach und hält es bei künftigen Kernel-Updates aktuell:
sudo apt install linux-modules-ipu6-oem-24.04

# Modulkatalog aktualisieren und PSYS laden:
sudo depmod -a
sudo modprobe intel_ipu6_psys
ls -l /dev/ipu-psys0                     # sollte jetzt existieren

Wichtig: Dieses Paket ergänzt den In-Tree-Treiber nur um PSYS — es gibt keinen Konflikt und du musst nichts entladen. Finger weg von intel-ipu6-dkms auf neuen Kerneln.

Damit PSYS auch nach jedem Reboot automatisch lädt:

echo "intel_ipu6_psys" | sudo tee /etc/modules-load.d/ipu6-psys.conf

3. Test: Kommt jetzt ein echtes Bild?

gst-launch-1.0 icamerasrc num-buffers=10 ! video/x-raw,format=NV12,width=1920,height=1080 \
  ! videoconvert ! jpegenc ! multifilesink location=test-%02d.jpg

Wenn test-09.jpg dein Gesicht zeigt: der schwierige Teil ist geschafft. 🎉

4. Kamera als „normale” Webcam bereitstellen (v4l2-relayd → v4l2loopback)

Damit Zoom/Teams/Browser die Kamera sehen, schieben wir sie in ein virtuelles Gerät. Ich habe gleich zwei virtuelle Geräte angelegt — eines für die Kamera, eines für OBS (dazu unten mehr):

/etc/modprobe.d/v4l2loopback.conf:

options v4l2loopback devices=2 video_nr=40,41 card_label="OBS Virtual Camera,Intel MIPI Camera" exclusive_caps=1,1

Zwei Fallstricke hier: (a) Es darf nur eine einzige options v4l2loopback-Zeile im ganzen System geben — mehrere Dateien mit eigenen Zeilen heben sich gegenseitig auf. (b) Um die Labels mit Leerzeichen ein Anführungszeichen-Paar, Komma trennt die Geräte. Sonst landen die "-Zeichen mitten im Gerätenamen.

Den Relay auf die echte Kamera stellen — /etc/v4l2-relayd.d/default.conf:

VIDEOSRC=icamerasrc device-name=ov2740-uf buffer-count=7
FORMAT=NV12
WIDTH=1280
HEIGHT=720
FRAMERATE=30/1
CARD_LABEL=Intel MIPI Camera

Aktivieren:

echo "v4l2loopback" | sudo tee /etc/modules-load.d/v4l2loopback.conf
sudo modprobe v4l2loopback
sudo systemctl enable --now v4l2-relayd.service

Der Relay arbeitet on-demand: Die Kamera-LED geht nur an, wenn eine App das Gerät wirklich öffnet — angenehm fürs Datenschutzgefühl.

5. Verifizieren

v4l2-ctl --list-devices        # "Intel MIPI Camera" muss auftauchen
# Bild aus dem Loopback ziehen:
gst-launch-1.0 v4l2src device=/dev/video41 num-buffers=20 ! videoconvert ! jpegenc \
  ! multifilesink location=relay-%02d.jpg

In Zoom/Teams/im Browser erscheint die Kamera jetzt als „Intel MIPI Camera”.

Bonus: OBS virtuelle Kamera sauber daneben betreiben

Wer (wie ich) zusätzlich OBS nutzt, hat ein Henne-Ei-Problem: OBS’ virtuelle Kamera braucht auch ein v4l2loopback-Gerät — und OBS schnappt sich automatisch das mit der niedrigsten Gerätenummer. Wenn die interne Kamera dort liegt, gibt es Chaos.

Deshalb die Reihenfolge oben bewusst so gewählt:

  • /dev/video40 = „OBS Virtual Camera” → niedrigste Nummer, OBS nimmt automatisch dieses.
  • /dev/video41 = „Intel MIPI Camera” → der Relay findet es über das Label, nicht über die Nummer.

So kollidieren beide nie. In OBS kann man die interne Kamera sogar als Quelle einbauen und die fertige Szene wieder auf „OBS Virtual Camera” ausgeben — perfekt fürs Teleprompter-Setup.

Reboot-fest machen — Checkliste

Damit nach dem nächsten Neustart alles automatisch da ist:

  • /etc/modules-load.d/ipu6-psys.conf → lädt intel_ipu6_psys
  • /etc/modules-load.d/v4l2loopback.conf → lädt v4l2loopback
  • /etc/modprobe.d/v4l2loopback.conf → die 2-Geräte-Konfiguration
  • /etc/v4l2-relayd.d/default.conficamerasrc + CARD_LABEL
  • systemctl is-enabled v4l2-relayd.serviceenabled

Wenn nach dem nächsten Kernel-Update wieder Schluss ist

Weil das PSYS-Modul pro Kernel gebaut ist, kann ein Kernel-Update es kurz „verlieren”. Das Metapaket linux-modules-ipu6-oem-24.04 zieht es normalerweise automatisch nach. Falls nicht:

sudo apt install linux-modules-ipu6-$(uname -r)
sudo depmod -a && sudo modprobe intel_ipu6_psys

Fazit

Die „tote” Kamera nach dem 22.04→24.04-Upgrade ist fast immer kein Defekt, sondern eine zerrissene IPU6-Software-Kette. Drei Dinge müssen stimmen: 1. das richtige HAL-Plugin (ipu6ep.so bzw. ipu6.so), 2. ein PSYS-Device aus dem signierten OEM-Modulpaket (nicht DKMS), 3. ein Relay, der die Kamera in ein v4l2loopback-Gerät schiebt.

Hat man das einmal verstanden, ist die Reparatur in 15 Minuten erledigt und die eingebaute Webcam läuft wieder zuverlässig, inklusive friedlicher Koexistenz mit OBS.


Hat dir das geholfen oder hängst du an einer anderen Stelle fest? Schreib mir gern ein Kommentar, ich freue mich über Rückmeldungen und ergänze die Anleitung.

Interne Laptop-Kamera tot nach Ubuntu 24.04 – Intel IPU6 reparieren

Interne Laptop-Kamera tot nach Ubuntu 24.04 – Intel IPU6 reparieren

Interne Laptop-Kamera tot nach dem Ubuntu-Upgrade auf 24.04? So bringst du die Intel-IPU6-Webcam (MIPI) wieder zum Laufen

Erfahrungsbericht & Schritt-für-Schritt-Anleitung — Lenovo ThinkPad X1 Yoga Gen 7 (12th Gen i7-1260P, Alder Lake), Kamera-Sensor ov2740, Ubuntu 24.04, Kernel 6.17 OEM

Das Problem

Nach dem Upgrade von Ubuntu 22.04 auf 24.04 war die eingebaute Kamera meines Lenovo ThinkPad X1 Yoga (Gen 7) plötzlich tot. Kein Bild in Zoom, kein Bild in Teams, nichts im Browser. In OBS wollte ich zusätzlich die virtuelle Kamera starten — und bekam nur:

Starten der Ausgabe fehlgeschlagen. Bitte überprüfen Sie die Logdatei für Details. Hinweis: Wenn Sie die NVENC- oder AMD-Kodierer verwenden, stellen Sie sicher, dass Ihre Grafiktreiber aktuell sind.

Spoiler: Mit Grafiktreibern oder NVENC hat das nichts zu tun — diese Meldung ist nur ein generischer Standardtext. Das eigentliche Problem saß tiefer, und es ist ein Klassiker bei modernen Intel-Notebooks.

Warum gerade diese Kameras so zicken

Moderne Intel-CPUs (ab etwa 11. Generation) haben keine klassische USB-Webcam mehr eingebaut, sondern eine MIPI-Kamera über die Intel IPU6 (“Image Processing Unit”). Das ist effizient, aber softwareseitig eine eigene Welt:

  • Die Kamera liefert ein Rohbild (Bayer). Damit ein normales Bild rauskommt, muss eine ISP-Pipeline (Image Signal Processor) das Rohbild entrauschen, weißabgleichen, belichten usw.
  • Dieser ISP läuft über ein eigenes Kernel-Gerät: /dev/ipu-psys0 (PSYS = “Processing System”).
  • Darüber sitzt eine Hardware-Abstraktions-Schicht (HAL) plus ein GStreamer-Element namens icamerasrc, das die Kamera erst nutzbar macht.

Beim Upgrade auf 24.04 ändert sich der Kernel und die ganze Treiber-Konstellation. Genau hier brechen die Dinge auseinander — meist gleich an drei Stellen:

Stolperstein 1: Falsches HAL-Plugin (ipu6 vs. ipu6ep)

Es gibt zwei HAL-Plugin-Varianten: - ipu6.so — für Tiger Lake (11. Gen) - ipu6ep.so — für Alder Lake / Raptor Lake (12./13. Gen)

Bei mir war nach dem Upgrade nur ipu6.so installiert, mein i7-1260P (Alder Lake) braucht aber ipu6ep.so. Folge: icamerasrc konnte das Plugin gar nicht laden.

Stolperstein 2: Kein PSYS-Device (/dev/ipu-psys0 fehlt)

Der In-Tree-Treiber (der im normalen 24.04-Kernel mitgeliefert wird) macht nur die reine Bildaufnahme (ISYS) — er erzeugt kein PSYS. Ohne PSYS keine Bildverarbeitung, also schwarzes/kein Bild. PSYS kommt nur von: - dem proprietären intel-ipu6-dkms — der baut auf sehr neuen Kerneln oft nicht mehr und stürzt ab (das war auch mein Grund, ihn irgendwann genervt zu entfernen), oder - dem signierten OEM-Modulpaket linux-modules-ipu6-… passend zum laufenden Kernel. Das ist der saubere Weg.

Stolperstein 3: Der Relay zeigt auf ein Testbild

Damit Zoom & Co. die MIPI-Kamera als „normale” Webcam sehen, schiebt ein Dienst (v4l2-relayd) den Kamera-Stream in ein virtuelles Gerät (v4l2loopback). Bei mir war dieser Dienst durch frühere Reparaturversuche auf videotestsrc (Testbild) statt icamerasrc (echte Kamera) konfiguriert.

Diagnose: Wo stehst DU?

Bevor du losreparierst, finde heraus, was bei dir fehlt. Diese Befehle helfen:

# Welche CPU-Generation? (Alder Lake → ipu6ep, Tiger Lake → ipu6)
grep -m1 "model name" /proc/cpuinfo

# Welches HAL-Plugin ist da?
ls -l /usr/lib/libcamhal/plugins/      # brauchst du ipu6ep.so oder ipu6.so?

# Existiert das ISP-Device?
ls -l /dev/ipu-psys0                    # fehlt es, ist das DER Knackpunkt

# Liefert die Kamera überhaupt ein Bild? (Direkttest, ohne Loopback)
gst-launch-1.0 icamerasrc num-buffers=10 ! video/x-raw,format=NV12,width=1920,height=1080 \
  ! videoconvert ! jpegenc ! multifilesink location=test-%02d.jpg

Typische Fehlermeldungen und ihre Bedeutung: - failed to open library: .../ipu6ep.sofalsches/fehlendes HAL-Plugin (Stolperstein 1) - Failed to open PSYS / create psys executors failedPSYS-Device fehlt (Stolperstein 2)

Die Lösung (Schritt für Schritt)

Getestet auf Lenovo ThinkPad X1 Yoga Gen 7 (i7-1260P, Alder Lake, Sensor ov2740), Ubuntu 24.04, Kernel 6.17 OEM. Bei anderen Sensoren/CPUs sinngemäß anpassen.

1. Richtiges HAL-Plugin installieren

# Alder/Raptor Lake:
sudo apt install libcamhal-ipu6ep
# (Tiger Lake: libcamhal-ipu6)

2. PSYS über das signierte OEM-Modulpaket holen (kein DKMS!)

# Metapaket passend zum OEM-Kernel — zieht automatisch das richtige ipu6-Modul
# inkl. intel-ipu6-psys nach und hält es bei künftigen Kernel-Updates aktuell:
sudo apt install linux-modules-ipu6-oem-24.04

# Modulkatalog aktualisieren und PSYS laden:
sudo depmod -a
sudo modprobe intel_ipu6_psys
ls -l /dev/ipu-psys0                     # sollte jetzt existieren

Wichtig: Dieses Paket ergänzt den In-Tree-Treiber nur um PSYS — es gibt keinen Konflikt und du musst nichts entladen. Finger weg von intel-ipu6-dkms auf neuen Kerneln.

Damit PSYS auch nach jedem Reboot automatisch lädt:

echo "intel_ipu6_psys" | sudo tee /etc/modules-load.d/ipu6-psys.conf

3. Test: Kommt jetzt ein echtes Bild?

gst-launch-1.0 icamerasrc num-buffers=10 ! video/x-raw,format=NV12,width=1920,height=1080 \
  ! videoconvert ! jpegenc ! multifilesink location=test-%02d.jpg

Wenn test-09.jpg dein Gesicht zeigt: der schwierige Teil ist geschafft. 🎉

4. Kamera als „normale” Webcam bereitstellen (v4l2-relayd → v4l2loopback)

Damit Zoom/Teams/Browser die Kamera sehen, schieben wir sie in ein virtuelles Gerät. Ich habe gleich zwei virtuelle Geräte angelegt — eines für die Kamera, eines für OBS (dazu unten mehr):

/etc/modprobe.d/v4l2loopback.conf:

options v4l2loopback devices=2 video_nr=40,41 card_label="OBS Virtual Camera,Intel MIPI Camera" exclusive_caps=1,1

Zwei Fallstricke hier: (a) Es darf nur eine einzige options v4l2loopback-Zeile im ganzen System geben — mehrere Dateien mit eigenen Zeilen heben sich gegenseitig auf. (b) Um die Labels mit Leerzeichen ein Anführungszeichen-Paar, Komma trennt die Geräte. Sonst landen die "-Zeichen mitten im Gerätenamen.

Den Relay auf die echte Kamera stellen — /etc/v4l2-relayd.d/default.conf:

VIDEOSRC=icamerasrc device-name=ov2740-uf buffer-count=7
FORMAT=NV12
WIDTH=1280
HEIGHT=720
FRAMERATE=30/1
CARD_LABEL=Intel MIPI Camera

Aktivieren:

echo "v4l2loopback" | sudo tee /etc/modules-load.d/v4l2loopback.conf
sudo modprobe v4l2loopback
sudo systemctl enable --now v4l2-relayd.service

Der Relay arbeitet on-demand: Die Kamera-LED geht nur an, wenn eine App das Gerät wirklich öffnet — angenehm fürs Datenschutzgefühl.

5. Verifizieren

v4l2-ctl --list-devices        # "Intel MIPI Camera" muss auftauchen
# Bild aus dem Loopback ziehen:
gst-launch-1.0 v4l2src device=/dev/video41 num-buffers=20 ! videoconvert ! jpegenc \
  ! multifilesink location=relay-%02d.jpg

In Zoom/Teams/im Browser erscheint die Kamera jetzt als „Intel MIPI Camera”.

Bonus: OBS virtuelle Kamera sauber daneben betreiben

Wer (wie ich) zusätzlich OBS nutzt, hat ein Henne-Ei-Problem: OBS’ virtuelle Kamera braucht auch ein v4l2loopback-Gerät — und OBS schnappt sich automatisch das mit der niedrigsten Gerätenummer. Wenn die interne Kamera dort liegt, gibt es Chaos.

Deshalb die Reihenfolge oben bewusst so gewählt: - /dev/video40 = „OBS Virtual Camera” → niedrigste Nummer, OBS nimmt automatisch dieses. - /dev/video41 = „Intel MIPI Camera” → der Relay findet es über das Label, nicht über die Nummer.

So kollidieren beide nie. In OBS kann man die interne Kamera sogar als Quelle einbauen und die fertige Szene wieder auf „OBS Virtual Camera” ausgeben — perfekt fürs Teleprompter-Setup.

Reboot-fest machen — Checkliste

Damit nach dem nächsten Neustart alles automatisch da ist: - [ ] /etc/modules-load.d/ipu6-psys.conf → lädt intel_ipu6_psys - [ ] /etc/modules-load.d/v4l2loopback.conf → lädt v4l2loopback - [ ] /etc/modprobe.d/v4l2loopback.conf → die 2-Geräte-Konfiguration - [ ] /etc/v4l2-relayd.d/default.conficamerasrc + CARD_LABEL - [ ] systemctl is-enabled v4l2-relayd.serviceenabled

Wenn nach dem nächsten Kernel-Update wieder Schluss ist

Weil das PSYS-Modul pro Kernel gebaut ist, kann ein Kernel-Update es kurz „verlieren”. Das Metapaket linux-modules-ipu6-oem-24.04 zieht es normalerweise automatisch nach. Falls nicht:

sudo apt install linux-modules-ipu6-$(uname -r)
sudo depmod -a && sudo modprobe intel_ipu6_psys

Fazit

Die „tote” Kamera nach dem 22.04→24.04-Upgrade ist fast immer kein Defekt, sondern eine zerrissene IPU6-Software-Kette. Drei Dinge müssen stimmen: 1. das richtige HAL-Plugin (ipu6ep.so bzw. ipu6.so), 2. ein PSYS-Device aus dem signierten OEM-Modulpaket (nicht DKMS), 3. ein Relay, der die Kamera in ein v4l2loopback-Gerät schiebt.

Hat man das einmal verstanden, ist die Reparatur in 15 Minuten erledigt — und die eingebaute Webcam läuft wieder zuverlässig, inklusive friedlicher Koexistenz mit OBS.


Hat dir das geholfen oder hängst du an einer anderen Stelle fest? Schreib mir gern — ich freue mich über Rückmeldungen und ergänze die Anleitung.

Keine Kommentare:

Kommentar veröffentlichen