Hans de Goede, dezvoltator Fedora Linux, lucrând la Red Hat, a prezentat la conferința FOSDEM 2024 o stivă deschisă pentru camere conectate prin interfața MIPI (Mobile Industry Processor Interface). Stiva deschisă nu a fost încă acceptată în kernel. Linux și proiectul libcamera, dar este marcat ca fiind gata de testare de către o gamă largă de entuziaști. Stack-ul a fost testat cu camere MIPI bazate pe senzorii ov2740, ov01a1s și hi556, care sunt utilizați în laptopuri precum Lenovo ThinkPad X1 Yoga Gen 8, Dell Latitude 9420 și HP Spectre x360 13.5 2023.
Interfața MIPI este utilizată în multe modele noi de laptopuri pentru a înlocui streamingul video USB utilizat anterior de la dispozitive care acceptă standardul UVC (USB Video Class). MIPI oferă acces la senzorul camerei utilizând un receptor CSI (Camera Serial Interface) și un procesor de semnal de imagine (ISP) integrat al CPU, care generează imagini pe baza datelor brute de la senzor. Intel oferă un set de drivere proprietare pentru lucrul cu camerele MIPI. Linux prin intermediul IPU6 (unității de procesare a imaginilor) din procesoarele Intel Tiger Lake, Alder Lake, Raptor Lake și Meteor Lake.
Principala dificultate în dezvoltarea driverelor deschise pentru camerele MIPI se datorează faptului că interfața hardware a procesorului ISP și algoritmii de procesare a imaginilor implementați în acesta nu sunt de obicei dezvăluiți de producătorii CPU și sunt un secret comercial. Pentru a rezolva această problemă, Linaro și Red Hat au dezvoltat o implementare software a procesorului de imagine - SoftISP, care vă permite să lucrați cu camere MIPI fără a utiliza componente proprietare (SoftISP poate fi folosit ca înlocuitor pentru IPU6 ISP).
Implementarea SoftISP a fost trimisă pentru includere în proiectul libcamera, care oferă o stivă de software pentru lucrul cu camere video, camere statice și tunere TV în Linux, Android și ChromeOS. Pe lângă SoftISP, stiva de camere MIPI include un driver la nivel de kernel pentru senzorii ov2740 și cod de suport pentru kernel. Linux Receptor CSI, care face parte din IPU6-ul procesoarelor Intel.
Pachete de kernel Linux și libcamera, care încorporează modificările pregătite de proiect, sunt disponibile în depozitul COPR pentru instalare pe Fedora Linux 39. Înregistrările multimedia pot fi utilizate pentru capturarea videoclipurilor de la camerele MIPI. serverului Pipewire. Suportul pentru lucrul cu camere prin Pipewire a fost deja adoptat în biblioteca libwebrtc. În Firefox, posibilitatea de a lucra cu camere prin Pipewire a devenit utilizabilă cu WebRTC, începând cu versiunea 122. În mod implicit, lucrul cu camere prin Pipewire este dezactivat în Firefox și necesită activarea setării „media.webrtc.camera.allow-pipewire” în about:config.
Sursa: opennet.ru
