CSi Camera Kernel Driver for Sony IMX477 as used in High Quality Camera

Abierto
#7,726 3 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
43/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
c, linux

Línea de trabajo

Start by reading the IMX477 kernel driver and its mode and timing tables, then compare the available modes with the sensor data sheet and the reported 2-lane CSI bandwidth limits. The issue proposes adding a cropped 2440x1600 mode at about 53 fps; confirm its timing and image quality on Raspberry Pi 5, then check that libcamera can select it and that existing modes still work.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Describe the bug

IMX477.ko kernel driver is not achieving anything like the maximum resolution/frame duration performance the sensor is capable of delivering. This not a bug per-se, but significant 'under-performance' of the typical Pi setup

Steps to reproduce the behaviour

Pi 5 8GB, Libcamera/Picamera library, Python, High Quality Camera
Also Hailo 8L HAT

Request modes from camera during init, compare pixels and frame duration to Sony IMX477 data sheet. Driver uses 'sensor binning' below max resolution (loss of image quality) when some combinations of Native Sensor Cropping would offer a better performance compromise for use cases needing maximum image quality

Device (s)

Raspberry Pi 5

System

Raspberry Pi reference 2026-06-18
Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, ca8aeed0ae300c2a89f55ce9617d5f96a27e99e5, stage4

2026/05/26 16:01:25
Copyright (c) 2012 Broadcom
version 086b83e3 (release) (embedded)

Linux PI5HAT 6.18.50+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.18.50-1+rpt1 (2026-09-11) aarch64 GNU/Linux

Logs

No response

Additional context

Raspberry Pi 5 (2-lane CSi interface), Raspberry Pi High Quality Camera based on Sony IMX477 sensor.
Sony publish performance specs that suggest the sensor is capable of running 16MP at 30 or 60fps using the sensor's 4-lane CSi interface. As implemented for Raspberry Pi, and with the construct of the kernel driver, at 4056x3056 resolution and 8-bit this drops to around 17fps.
With my limited knowledge I have investigated what Native Sensor Cropping and Timings would fit within the 2-lane CSi bandwidth and the Sony Sensor's timing limits. This has lead me to 2440x1600 8-bit at 53.02fps.
To achieve this I have added a timing 'table' to the driver, and a resolution entry for libcamera to recognise and set. I am having to rmmod and re-load the IMX477.ko kernel driver after reboot, and if there is any kernel updates will have to re-compile the .ko.
Would the maintainers be interested in adopting this timing enhancement for inclusion in the standard library so all users with a want for higher fps can get a better compromise than the current library?
Happy to place the code here (however that is done) should it be wanted.

Lenguaje dominante
C
Estrellas
13.3k
Forks
5.5k
Merge medio
1 d 4 h
PR fusionados (30 d)
21

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de raspberrypi/linux

Todos los issues de raspberrypi/linux

Issues similares

Más issues de C

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.