Helt åpen stabel for MIPI-kameraer introdusert

Hans de Goede, en Fedora Linux-utvikler som jobber hos Red Hat, presenterte en åpen stabel for MIPI-kameraer (Mobile Industry Processor Interface) på FOSDEM 2024-konferansen. Den forberedte åpne stabelen har ennå ikke blitt akseptert i Linux-kjernen og libcamera-prosjektet, men er merket som å ha nådd en tilstand som er egnet for testing av et bredt spekter av entusiaster. Driften av stabelen har blitt testet med MIPI-kameraer basert på ov2740, ov01a1s og hi556 sensorer brukt i bærbare datamaskiner som Lenovo ThinkPad X1 yoga gen 8, Dell Latitude 9420 og HP Spectre x360 13.5 2023.

MIPI-grensesnittet brukes i mange nye bærbare modeller i stedet for tidligere brukt videostrømming over USB-bussen fra enheter som støtter UVC-standarden (USB Video Class). MIPI gir tilgang til kamerasensoren ved hjelp av en CSI-mottaker (Camera Serial Interface) og en bildeprosessor integrert i CPU (ISP, Image Signal Processor), som gir bildedannelse basert på rådata som kommer fra sensoren. Intel tilbyr et sett med proprietære drivere for arbeid med MIPI-kameraer i Linux via IPU6 (Imaging Processing Unit) i Intel Tiger Lake, Alder Lake, Raptor Lake og Meteor Lake prosessorer.

Den største vanskeligheten med å utvikle åpne drivere for MIPI-kameraer skyldes det faktum at maskinvaregrensesnittet til ISP-prosessoren og bildebehandlingsalgoritmene implementert i den vanligvis ikke avsløres av CPU-produsenter og er en forretningshemmelighet. For å løse dette problemet har Linaro og Red Hat utviklet en programvareimplementering av bildeprosessoren – SoftISP, som lar deg jobbe med MIPI-kameraer uten å bruke proprietære komponenter (SoftISP kan brukes som erstatning for IPU6 ISP).

SoftISP-implementeringen er sendt inn for inkludering i libcamera-prosjektet, som tilbyr en programvarestabel for arbeid med videokameraer, kameraer og TV-tunere i Linux, Android og ChromeOS. I tillegg til SoftISP inkluderer stabelen for arbeid med MIPI-kameraer en driver for ov2740-sensorer som kjører på kjernenivå og kode for å støtte CSI-mottakeren i Linux-kjernen, som er en del av IPU6 til Intel-prosessorer.

Linux-kjernen og libcamera-pakkene, inkludert prosjektets endringer, er tilgjengelig i COPR-depotet for installasjon på Fedora Linux 39. Pipewire-medieserveren kan brukes til å fange opp video fra MIPI-kameraer. Støtte for arbeid med kameraer via Pipewire er allerede tatt i bruk i libwebrtc-biblioteket. I Firefox har muligheten til å jobbe med kameraer via Pipewire blitt brakt til en tilstand som er egnet for bruk med WebRTC, fra og med utgivelse 122. Som standard er arbeid med kameraer via Pipewire i Firefox deaktivert og krever «media.webrtc.camera. allow-" parameteren som skal aktiveres i about:config pipewire."

Kilde: opennet.ru

Legg til en kommentar