เป€เบ›เบตเบ”เป€เบ•เบฑเบก stack เบชเปเบฒเบฅเบฑเบšเบเป‰เบญเบ‡เบ–เปˆเบฒเบเบฎเบนเบš MIPI เปเบ™เบฐเบ™เปเบฒ

Hans de Goede, เบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒ Fedora Linux เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆ Red Hat, เป„เบ”เป‰เบ™เปเบฒเบชเบฐเป€เบซเบ™เบต stack เป€เบ›เบตเบ”เบชเปเบฒเบฅเบฑเบšเบเป‰เบญเบ‡เบ–เปˆเบฒเบเบฎเบนเบš MIPI (Mobile Industry Processor Interface) เปƒเบ™เบเบญเบ‡เบ›เบฐเบŠเบธเบก FOSDEM 2024. stack เป€เบ›เบตเบ”เบ—เบตเปˆเบเบฝเบกเป„เบงเป‰เบเบฑเบ‡เบšเปเปˆเบ—เบฑเบ™เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบเบญเบกเบฎเบฑเบšเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ Linux kernel เปเบฅเบฐเป‚เบ„เบ‡เบเบฒเบ™ libcamera, เปเบ•เปˆเบ–เบทเบเบซเบกเบฒเบเบงเปˆเบฒเป„เบ”เป‰เบšเบฑเบ™เบฅเบธเบชเบฐเบ–เบฒเบ™เบฐเบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเป‚เบ”เบเบฅเบฐเบ”เบฑเบšเบ„เบงเบฒเบกเบเบฐเบ•เบทเบฅเบทเบฅเบปเป‰เบ™เบขเปˆเบฒเบ‡เบเบงเป‰เบฒเบ‡เบ‚เบงเบฒเบ‡. เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ stack เป„เบ”เป‰เบ–เบทเบเบ—เบปเบ”เบชเบญเบšเบ”เป‰เบงเบเบเป‰เบญเบ‡เบ–เปˆเบฒเบเบฎเบนเบš MIPI เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเป€เบŠเบฑเบ™เป€เบŠเบต ov2740, ov01a1s เปเบฅเบฐ hi556 เบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™เปเบฅเบฑเบšเบ—เบฑเบญเบšเป€เบŠเบฑเปˆเบ™ Lenovo ThinkPad X1 yoga gen 8, Dell Latitude 9420 เปเบฅเบฐ HP Spectre x360 13.5 2023.

เบญเบดเบ™เป€เบ•เบตเป€เบŸเบ” MIPI เบ–เบทเบเปƒเบŠเป‰เปƒเบ™เปเบฅเบฑเบšเบ—เบฑเบญเบšเบฅเบธเป‰เบ™เปƒเปเปˆเบซเบผเบฒเบเบฅเบธเป‰เบ™เปเบ—เบ™เบเบฒเบ™เบ–เปˆเบฒเบเบ—เบญเบ”เบงเบดเบ”เบตเป‚เบญเบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™เป€เบกเบทเปˆเบญเบเปˆเบญเบ™เบœเปˆเบฒเบ™เบฅเบปเบ”เป€เบก USB เบˆเบฒเบเบญเบธเบ›เบฐเบเบญเบ™เบ—เบตเปˆเบฎเบญเบ‡เบฎเบฑเบšเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ UVC (USB Video Class). MIPI เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป€เบŠเบฑเบ™เป€เบŠเบตเบเป‰เบญเบ‡เบ–เปˆเบฒเบเบฎเบนเบšเป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเบฎเบฑเบš CSI (Camera Serial Interface) เปเบฅเบฐเป‚เบ›เป€เบŠเบ”เป€เบŠเบตเบฎเบนเบšเบžเบฒเบšเบ—เบตเปˆเบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เป€เบ‚เบปเป‰เบฒเปƒเบ™ CPU (ISP, Image Signal Processor), เป€เบŠเบดเปˆเบ‡เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบชเป‰เบฒเบ‡เบฎเบนเบšเบžเบฒเบšเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบ‚เปเป‰เบกเบนเบ™เบ”เบดเบšเบ—เบตเปˆเบกเบฒเบˆเบฒเบเป€เบŠเบฑเบ™เป€เบŠเบต. Intel เบชเบฐเบซเบ™เบญเบ‡เบŠเบธเบ”เป„เบ”เป€เบงเบตเบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบเป‰เบญเบ‡เบ–เปˆเบฒเบเบฎเบนเบš MIPI เปƒเบ™ Linux เบœเปˆเบฒเบ™ IPU6 (เบซเบ™เปˆเบงเบเบ›เบฐเบกเบงเบ™เบœเบปเบ™เบฎเบนเบšเบžเบฒเบš) เปƒเบ™ Intel Tiger Lake, Alder Lake, Raptor Lake เปเบฅเบฐ Meteor Lake processors.

เบ„เบงเบฒเบกเบซเบเบธเป‰เบ‡เบเบฒเบเบ•เบปเป‰เบ™เบ•เปเปƒเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเป„เบ”เป€เบงเบตเป€เบ›เบตเบ”เบชเปเบฒเบฅเบฑเบšเบเป‰เบญเบ‡เบ–เปˆเบฒเบเบฎเบนเบš MIPI เปเบกเปˆเบ™เบเป‰เบญเบ™เบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบฎเบฒเบ”เปเบงเบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบต ISP เปเบฅเบฐเบฅเบฐเบšเบปเบšเบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡เบฎเบนเบšเบžเบฒเบšเบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบขเบนเปˆเปƒเบ™เบ™เบฑเป‰เบ™เบกเบฑเบเบˆเบฐเบšเปเปˆเป€เบ›เบตเบ”เป€เบœเบตเบเป‚เบ”เบเบœเบนเป‰เบœเบฐเบฅเบดเบ” CPU เปเบฅเบฐเป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบฅเบฑเบšเบ—เบฒเบ‡เบเบฒเบ™เบ„เป‰เบฒ. เป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ™เบตเป‰, Linaro เปเบฅเบฐ Red Hat เป„เบ”เป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบŠเบญเบšเปเบงเบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบตเบฎเบนเบšเบžเบฒเบš - SoftISP, เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบเป‰เบญเบ‡เบ–เปˆเบฒเบเบฎเบนเบš MIPI เป‚เบ”เบเบšเปเปˆเบ•เป‰เบญเบ‡เปƒเบŠเป‰เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡ (SoftISP เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เปเบ—เบ™ IPU6 ISP).

เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” SoftISP เป„เบ”เป‰เบ–เบทเบเบชเบปเปˆเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฅเบงเบกเบขเบนเปˆเปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™ libcamera, เป€เบŠเบดเปˆเบ‡เบชเบฐเบซเบ™เบญเบ‡เบŠเปเปเบง stack เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบเป‰เบญเบ‡เบ–เปˆเบฒเบเบฎเบนเบšเบงเบดเบ”เบตเป‚เบญ, เบเป‰เบญเบ‡เบ–เปˆเบฒเบเบฎเบนเบšเปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เบฎเบฑเบšเบชเบฑเบ™เบเบฒเบ™เป‚เบ—เบฅเบฐเบžเบฒเบšเปƒเบ™ Linux, Android เปเบฅเบฐ ChromeOS. เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบ SoftISP, stack เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบเป‰เบญเบ‡เบ–เปˆเบฒเบเบฎเบนเบš MIPI เบ›เบฐเบเบญเบšเบกเบตเป„เบ”เป€เบงเบตเบชเปเบฒเบฅเบฑเบšเป€เบŠเบฑเบ™เป€เบŠเบต ov2740 เปเบฅเปˆเบ™เบขเบนเปˆเปƒเบ™เบฅเบฐเบ”เบฑเบšเปเบเปˆเบ™เปเบฅเบฐเบฅเบฐเบซเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ CSI receiver เปƒเบ™ Linux kernel, เป€เบŠเบดเปˆเบ‡เป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡ IPU6 เบ‚เบญเบ‡ Intel processors.

เบŠเบธเบ” Linux kernel เปเบฅเบฐ libcamera, เบฅเบงเบกเบ—เบฑเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™, เบกเบตเบขเบนเปˆเปƒเบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™ COPR เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เปƒเบ™ Fedora Linux 39. เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบชเบทเปˆ Pipewire เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป€เบžเบทเปˆเบญเบšเบฑเบ™เบ—เบถเบเบงเบดเบ”เบตเป‚เบญเบˆเบฒเบเบเป‰เบญเบ‡เบ–เปˆเบฒเบเบฎเบนเบš MIPI. เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบเป‰เบญเบ‡เบ–เปˆเบฒเบเบฎเบนเบšเบœเปˆเบฒเบ™ Pipewire เป„เบ”เป‰เบ–เบทเบเบฎเบฑเบšเบฎเบญเบ‡เป€เบญเบปเบฒเปเบฅเป‰เบงเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” libwebrtc. เปƒเบ™ Firefox, เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบเป‰เบญเบ‡เบ–เปˆเบฒเบเบฎเบนเบšเบœเปˆเบฒเบ™ Pipewire เป„เบ”เป‰เบ–เบทเบเบ™เปเบฒเบกเบฒเบชเบนเปˆเบชเบฐเบžเบฒเบšเบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบเบฑเบš WebRTC, เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบเบเบฒเบ™เบ›เปˆเบญเบ 122. เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบเป‰เบญเบ‡เบ–เปˆเบฒเบเบฎเบนเบšเบœเปˆเบฒเบ™ Pipewire เปƒเบ™ Firefox เปเบกเปˆเบ™เบ–เบทเบเบ›เบดเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เปเบฅเบฐเบ•เป‰เบญเบ‡เบเบฒเบ™ "media.webrtc.camera. allow-" เบžเบฒเบฃเบฒเบกเบดเป€เบ•เบตเบ—เบตเปˆเบˆเบฐเบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰เปƒเบ™ about:config pipewire."

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™