Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 17 additions & 4 deletions docs/design/camera.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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`.
3 changes: 2 additions & 1 deletion docs/user-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
Loading