Plene malfermita stako por MIPI-fotiloj enkondukita

Hans de Goede, programisto de Fedora Linukso laboranta ĉe Red Hat, prezentis malferman stakon por fotiloj MIPI (Mobile Industry Processor Interface) ĉe la FOSDEM 2024-konferenco. La preta malferma stako ankoraŭ ne estis akceptita en la Linuksan kernon kaj la projekton libcamera, sed estas markita kiel atinginta staton taŭgan por testado de larĝa gamo de entuziasmuloj. La funkciado de la stako estis provita per MIPI-fotiloj bazitaj sur sensiloj ov2740, ov01a1s kaj hi556 uzataj en tekkomputiloj kiel Lenovo ThinkPad X1 joga gen 8, Dell Latitude 9420 kaj HP Spectre x360 13.5 2023.

La MIPI-interfaco estas uzata en multaj novaj tekokomputilaj modeloj anstataŭ la antaŭe uzata video-fluado per USB-buso de aparatoj, kiuj subtenas la normon UVC (USB Video Class). MIPI disponigas aliron al la fotilsensilo uzante CSI-ricevilon (Camera Serial Interface) kaj bildprocesoron integritan en la CPU (ISP, Image Signal Processor), kiu disponigas bildformadon bazitan sur krudaj datenoj venantaj de la sensilo. Intel provizas aron de proprietaj ŝoforoj por labori kun MIPI-fotiloj en Linukso per IPU6 (Imaging Processing Unit) en procesoroj Intel Tiger Lake, Alder Lake, Raptor Lake kaj Meteor Lake.

La ĉefa malfacilaĵo por disvolvi malfermajn ŝoforojn por MIPI-fotiloj ŝuldiĝas al la fakto, ke la aparatara interfaco de la ISP-procesoro kaj la bild-prilaboraj algoritmoj efektivigitaj en ĝi estas kutime ne malkaŝitaj de CPU-fabrikistoj kaj estas komerca sekreto. Por solvi ĉi tiun problemon, Linaro kaj Red Hat evoluigis programaran efektivigon de la bildprocesoro - SoftISP, kiu permesas vin labori kun MIPI-fotiloj sen uzi proprietajn komponantojn (SoftISP povas esti uzata kiel anstataŭaĵo por IPU6 ISP).

La efektivigo de SoftISP estis prezentita por inkluziviĝo en la projekto libcamera, kiu ofertas programaron por labori kun vidbendaj fotiloj, fotiloj kaj televidagordiloj en Linukso, Android kaj ChromeOS. Krom SoftISP, la stako por labori kun MIPI-fotiloj inkluzivas ŝoforon por ov2740-sensiloj kurantaj ĉe la kernnivelo kaj kodon por subteni la CSI-ricevilon en la Linukso-kerno, kiu estas parto de la IPU6 de Intel-procesoroj.

La Linukso-kerno kaj libcamera pakaĵoj, inkluzive de la ŝanĝoj de la projekto, estas haveblaj en la COPR-deponejo por instalo sur Fedora Linukso 39. La Pipewire-komunikila servilo povas esti uzata por kapti videon de MIPI-fotiloj. Subteno por labori kun fotiloj per Pipewire jam estis adoptita en la libwebrtc biblioteko. En Fajrovulpo, la kapablo labori kun fotiloj per Pipewire estis alportita al stato taŭga por uzo kun WebRTC, komencante kun eldono 122. Defaŭlte, labori kun fotiloj per Pipewire en Fajrovulpo estas malŝaltita kaj postulas la "media.webrtc.camera. allow-” parametro por esti aktivigita en about:config pipewire."

fonto: opennet.ru

Aldoni komenton