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

Aperta
#7,726 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
43/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
c, linux

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.

Lingua principale
C
Stelle
13.3k
Fork
5.5k
Merge medio
1g 4h
PR unite (30g)
21

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di raspberrypi/linux

Tutte le issue di raspberrypi/linux

Issue simili

Altre issue su C

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.