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

Aberta
#7,726 3 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
43/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
c, linux

Direção de pesquisa

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.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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.

Linguagem predominante
C
Estrelas
13.3k
Forks
5.5k
Merge médio
1d 4h
PRs com merge (30d)
21

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de raspberrypi/linux

Todas as issues de raspberrypi/linux

Issues semelhantes

Mais issues de C

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.