From 78c0e2f8ad7f8858ef38533e2d2f713306084395 Mon Sep 17 00:00:00 2001 From: DevomB Date: Fri, 23 Oct 2026 05:38:02 -0700 Subject: [PATCH] The camera docs name the Ryzen AI Max's MIPI camera as not covered They named only Intel's IPU6 cameras, so the owner of a laptop whose camera sits behind AMD's ISP4, HP's ZBook Ultra G1a among them, would expect it to work as a USB camera does. Its capture driver came in Linux 7.2 (VIDEO_AMD_ISP4_CAPTURE); Kryptik builds 6.18, with DRM_AMD_ISP off, no platform cameras in the media filter, and amdgpu/isp_* left out of firmware.list. camera.md's MIPI section says what it would take, and that its one capture node would fit a grant as a USB camera's does. "Ryzen AI Max", not "Ryzen AI": the Ryzen AI 300 laptops, the ZBook 8 G1ak among them, have USB cameras. --- docs/design/camera.md | 21 +++++++++++++++++---- docs/user-guide.md | 3 ++- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/docs/design/camera.md b/docs/design/camera.md index 9baa44f0..601e8bb7 100644 --- a/docs/design/camera.md +++ b/docs/design/camera.md @@ -21,7 +21,9 @@ to grant it, and the grant visible for as long as it lasts. device made for it. - **Not covered:** the MIPI cameras of many Intel laptops since 2022, behind the IPU6, which need a camera stack in userspace (libcamera and Intel's - image processing), and infrared face-login cameras. + image processing); those behind the image processor of AMD's Ryzen AI Max + (HP's ZBook Ultra G1a), whose driver came in Linux 7.2, after 6.18; and + infrared face-login cameras. ## Who reaches that code, and when @@ -115,9 +117,10 @@ itself waits for the tests on physical hardware. ## Not covered -- MIPI cameras behind the IPU6 (below), and infrared cameras. Of several - cameras, a grant gives the zone the lowest numbered node that is its - device's first (`index` 0), which a camera's metadata node is not +- MIPI cameras behind Intel's IPU6 and AMD's image processor (below), and + infrared cameras. Of several cameras, a grant gives the zone the lowest + numbered node that is its device's first (`index` 0), which a camera's + metadata node is not (`camera_in` in `camera.rs`). On a laptop whose infrared face-login camera is a USB device of its own, that node may be the infrared camera's, which gives a call no picture. Preferring a node that offers a colour format @@ -159,3 +162,13 @@ it; a USB camera works on those laptops. The firmware is the small part of the cost. Where the image processing runs and what a grant hands over are the questions, and they wait for a machine with such a camera to answer them on. + +AMD's Ryzen AI Max has an image processor of its own, the ISP4, behind the +MIPI camera of HP's ZBook Ultra G1a. Its firmware drives the sensor and +makes the picture, and its driver gives one capture node of NV12 or YUYV +frames, as a USB camera does, rather than a graph of raw ones, so it would +fit a grant of one node. That driver (`VIDEO_AMD_ISP4_CAPTURE`) came in +Linux 7.2, and Kryptik builds 6.18. It would also need amdgpu's half +(`DRM_AMD_ISP`, off), platform cameras in the media filter (off), the +processor's firmware (`amdgpu/isp_*`, which `firmware.list` leaves out), +and kryptikd's grant loading it beside `uvcvideo`. diff --git a/docs/user-guide.md b/docs/user-guide.md index f8befcdf..ee798e63 100644 --- a/docs/user-guide.md +++ b/docs/user-guide.md @@ -423,7 +423,8 @@ as well. A window in full screen covers those windows, so the bar above it names the zone that may use the microphone (`MIC`) and the zone that has the camera (`CAM`), whichever zones they are. Built-in and USB cameras that speak the USB Video Class work, as most do; the cameras of recent Intel laptops that need Intel's image -processing in userspace (MIPI cameras behind the IPU6) and infrared +processing in userspace (MIPI cameras behind the IPU6), those behind the +image processor of AMD's Ryzen AI Max (HP's ZBook Ultra G1a), and infrared face-login cameras do not. `vault` and the net zone never get the camera. Firefox in a zone is not told when the camera is given or taken back.