ΠΠ°Π½Ρ ΠΠ΅ ΠΠΎΠ΅Π΄Π΅ (Hans de Goede), ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Fedora Linux, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Red Hat, ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ» Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ FOSDEM 2024 ΠΎΡΠΊΡΡΡΡΠΉ ΡΡΠ΅ΠΊ Π΄Π»Ρ ΠΊΠ°ΠΌΠ΅Ρ, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° MIPI (Mobile Industry Processor Interface). ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΠΎΡΠΊΡΡΡΡΠΉ ΡΡΠ΅ΠΊ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΡΠΈΠ½ΡΡ Π² ΡΠΎΡΡΠ°Π² ΡΠ΄ΡΠ° Linux ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° libcamera, Π½ΠΎ ΠΎΡΠΌΠ΅ΡΠ΅Π½ ΠΊΠ°ΠΊ Π΄ΠΎΡΡΠΈΠ³ΡΠΈΠΉ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΠΎΠΊΠΈΠΌ ΠΊΡΡΠ³ΠΎΠΌ ΡΠ½ΡΡΠ·ΠΈΠ°ΡΡΠΎΠ². Π Π°Π±ΠΎΡΠ° ΡΡΠ΅ΠΊΠ° ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π° Ρ 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), ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠΉ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΡΡΡ (raw) Π΄Π°Π½Π½ΡΡ , ΠΏΠΎΡΡΡΠΏΠ°ΡΡΠΈΡ ΠΎΡ ΡΠ΅Π½ΡΠΎΡΠ°. ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Intel ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π°Π±ΠΎΡ ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ MIPI-ΠΊΠ°ΠΌΠ΅ΡΠ°ΠΌΠΈ Π² Linux ΡΠ΅ΡΠ΅Π· IPU6 (Imaging Processing Unit) Π² ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ Intel Tiger Lake, Alder Lake, Raptor Lake ΠΈ Meteor Lake.
ΠΠ»Π°Π²Π½Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΎΡΠΊΡΡΡΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² Π΄Π»Ρ MIPI-ΠΊΠ°ΠΌΠ΅Ρ ΡΠ²ΡΠ·Π°Π½Π° Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ISP-ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌΡΠ΅ Π² Π½ΡΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅ ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΌΠΈ CPU ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΡΡ ΡΠ°ΠΉΠ½Ρ. ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π²ΠΎΠ·Π½ΠΈΠΊΡΠ΅ΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Linaro ΠΈ Red Hat ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ — SoftISP, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ MIPI-ΠΊΠ°ΠΌΠ΅ΡΠ°ΠΌΠΈ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² (SoftISP ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ Π·Π°ΠΌΠ΅Π½Π° IPU6 ISP).
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ SoftISP ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π° Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² ΡΠΎΡΡΠ°Π² ΠΏΡΠΎΠ΅ΠΊΡΠ° libcamera, ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΡΡΠ΅ΠΊ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΠΌΠ΅ΡΠ°ΠΌΠΈ, ΡΠΎΡΠΎΠΊΠ°ΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΈ TV-ΡΡΠ½Π΅ΡΠ°ΠΌΠΈ Π² Linux, Android ΠΈ ChromeOS. ΠΠΎΠΌΠΈΠΌΠΎ SoftISP ΡΡΠ΅ΠΊ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ MIPI-ΠΊΠ°ΠΌΠ΅ΡΠ°ΠΌΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ΄ΡΠ° Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ ΡΠ΅Π½ΡΠΎΡΠΎΠ² ov2740 ΠΈ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π² ΡΠ΄ΡΠ΅ Linux CSI-ΡΠ΅ΡΠΈΠ²Π΅ΡΠ°, ΡΠ²Π»ΡΡΡΠ΅Π³ΠΎΡΡ ΡΠ°ΡΡΡΡ IPU6 ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² Intel.
ΠΠ°ΠΊΠ΅ΡΡ Ρ ΡΠ΄ΡΠΎΠΌ Linux ΠΈ libcamera, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π΄ΠΎΡΡΡΠΏΠ½Ρ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ COPR Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π² Fedora Linux 39. ΠΠ»Ρ Π·Π°Ρ
Π²Π°ΡΠ° Π²ΠΈΠ΄Π΅ΠΎ Ρ MIPI-ΠΊΠ°ΠΌΠ΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ Pipewire. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠ°ΠΌΠ΅ΡΠ°ΠΌΠΈ ΡΠ΅ΡΠ΅Π· Pipewire ΡΠΆΠ΅ ΠΏΡΠΈΠ½ΡΡΠ° Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ libwebrtc. Π Firefox Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠ°ΠΌΠ΅ΡΠ°ΠΌΠΈ ΡΠ΅ΡΠ΅Π· Pipewire ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° ΠΊ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΠΎΠΌΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Ρ WebRTC, Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π²ΡΠΏΡΡΠΊΠ° 122. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΊΠ°ΠΌΠ΅ΡΠ°ΠΌΠΈ ΡΠ΅ΡΠ΅Π· Pipewire Π² Firefox ΠΎΡΠΊΠ»ΡΡΠ΅Π½Π° ΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ Π² about:config ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° «media.webrtc.camera.allow-pipewire».
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru