ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ xrdesktop Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° GNOME ΠΈ KDE Π² ΡΠ»ΡƒΡˆΠ°Π»ΠΊΠΈ Π·Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° рСалност

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ ΠΎΡ‚ Collabora прСдставСни ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ xrdesktop, Π² ΠΊΠΎΠΉΡ‚ΠΎ с ΠΏΠΎΠ΄ΠΊΡ€Π΅ΠΏΠ°Ρ‚Π° Π½Π° Valve сС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° с Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ Π·Π° взаимодСйствиС с Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΈ настолни ΠΊΠΎΠΌΠΏΡŽΡ‚Ρ€ΠΈ Π² Ρ‚Ρ€ΠΈΠΈΠ·ΠΌΠ΅Ρ€Π½ΠΈ срСди, създадСни с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° 3D ΠΎΡ‡ΠΈΠ»Π° ΠΈ шлСмовС Π·Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° рСалност. ΠšΠΎΠ΄ΡŠΡ‚ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Π΅ написан Π½Π° C ΠΈ разпространява сС ΠΎΡ‚ ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π· Π½Π° MIT. Π“ΠΎΡ‚ΠΎΠ²ΠΈ сглобки ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ΠΈ Π·Π° Arch Linux ΠΈ Ubuntu 19.04 / 18.04.

Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Linux Π²Π΅Ρ‡Π΅ ΠΈΠΌΠ° инструмСнти Π·Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚Π΅Π½ ΠΈΠ·Ρ…ΠΎΠ΄ към ΡΠ»ΡƒΡˆΠ°Π»ΠΊΠΈ Π·Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° рСалност (Vulkan Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ VK_EXT_acquire_xlib_display Π·Π° X11 ΠΈ VK_EXT_acquire_wl_display Π·Π° Wayland), Π½ΠΎ няма ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Π½ΠΈΠ²ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ изобразяванС Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈ Π² 3D пространство ΠΈ синхронизиранС Π½Π° чСстотата Π½Π° опрСсняванС Π½Π° Π΅ΠΊΡ€Π°Π½Π°. Π¦Π΅Π»Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° xrdesktop Π΅ Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ позволят ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° класичСски интСрфСйси, фокусирани Π²ΡŠΡ€Ρ…Ρƒ XNUMXD Π΅ΠΊΡ€Π°Π½Π΅Π½ дисплСй ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° ΠΈ мишка във Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ срСди.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ xrdesktop Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° GNOME ΠΈ KDE Π² ΡΠ»ΡƒΡˆΠ°Π»ΠΊΠΈ Π·Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° рСалност

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° xrdesktop Ρ€Π°Π·ΡˆΠΈΡ€ΡΠ²Π°Ρ‚ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ‡Π½ΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½ΠΈ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ΠΈ, Π·Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ систСми Π·Π° изпълнСниС Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° рСалност Π·Π° изобразяванС Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈ ΠΈ настолни ΠΊΠΎΠΌΠΏΡŽΡ‚Ρ€ΠΈ Π² 3D Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ срСди. xrdesktop популяризира идСята Π·Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½Π΅ Π² ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ настолни срСди Π±Π΅Π· нСобходимост ΠΎΡ‚ стартиранС Π½Π° ΠΎΡ‚Π΄Π΅Π»Π΅Π½ спСциализиран ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π΅Π½ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ ΠΈ позволяванС Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ пСрсонализирани ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ с ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€, Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ с XNUMXD каски.

АрхитСктурата Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½Π΅ с всСки Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΠΏΠ»ΠΎΡ‚, Π½ΠΎ Π½Π° настоящия Π΅Ρ‚Π°ΠΏ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅ Π·Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° ΡΠ»ΡƒΡˆΠ°Π»ΠΊΠΈ Π·Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° рСалност са Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈ Π·Π° KDE ΠΈ GNOME. Π—Π° KDE ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π·Π° 3D шлСмовС сС Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π° Ρ‡Ρ€Π΅Π· плъгин, ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π° Compiz, Π° Π·Π° GNOME Ρ‡Ρ€Π΅Π· Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ ΠΏΠ°Ρ‡ΠΎΠ²Π΅ Π·Π° GNOME Shell. Π’Π΅Π·ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ отразяват ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈ във Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π°Ρ‚Π° срСда Π½Π° 3D каски ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° ΠΎΡ‚Π΄Π΅Π»Π½Π° сцСна ΠΈΠ»ΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌ Π½Π° наслагванС, Π² ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈΡ‚Π΅ Π½Π° работния ΠΏΠ»ΠΎΡ‚ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ наслоТСни Π²ΡŠΡ€Ρ…Ρƒ Π΄Ρ€ΡƒΠ³ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ прилоТСния Π·Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° рСалност.

Π’ допълнСниС към Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΠΈΡ‚Π΅ Π·Π° изобразяванС, xrdesktop прСдоставя ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π·Π° осигуряванС Π½Π° навигация ΠΈ въвСТданС Ρ‡Ρ€Π΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° спСциализирани пространствСни ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈ ΠΊΠ°Ρ‚ΠΎ Valve Index ΠΈ VIVE Wand. Xrdesktop ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° информация ΠΎΡ‚ VR ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈ, Π·Π° Π΄Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° Ρ€Π΅Π΄ΠΎΠ²Π½ΠΈ Π²Ρ…ΠΎΠ΄Π½ΠΈ ΡΡŠΠ±ΠΈΡ‚ΠΈΡ, симулиращи ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° ΠΈ мишка.

xrdesktop Π²ΠΊΠ»ΡŽΡ‡Π²Π° няколко Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Ρ‚ тСкстури Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈ Π·Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС Π½Π° VR с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° OpenVR, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π±Π°Π·ΠΈΡ€Π°Π½Π° Π½Π° API систСма Π·Π° изобразяванС Π½Π° пълСн Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΠΏΠ»ΠΎΡ‚ Π² 3D срСда. Въй ΠΊΠ°Ρ‚ΠΎ xrdesktop Π½Π΅ прСдоставя собствСн ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈ, Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° със ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ΠΈ Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈ (xrdesktop ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС прСнСсСн към всСки ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈ X11 ΠΈΠ»ΠΈ Wayland). ΠžΡ‚ страна Π½Π° графичния Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° изисква Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Vulkan API ΠΈ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅Ρ‚ΠΎ VK_KHR_external_memory.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ xrdesktop Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° GNOME ΠΈ KDE Π² ΡΠ»ΡƒΡˆΠ°Π»ΠΊΠΈ Π·Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° рСалност

ΠžΡΠ½ΠΎΠ²Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π½Π° xrdesktop:

  • Π³ΡƒΠ»ΠΊΠ°Π½ - glib binding Π·Π° Vulkan, прСдоставящ класовС Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‰ΠΈ устройства, ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈ ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° тСкстури ΠΎΡ‚ ΠΏΠ°ΠΌΠ΅Ρ‚ ΠΈΠ»ΠΈ DMA Π±ΡƒΡ„Π΅Ρ€ΠΈ;
  • gxr β€” API Π·Π° абстрахиранС Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ½ΠΈ интСрфСйси Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅ Π½Π° прилоТСния Π·Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° рСалност. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° само OpenVR, Π½ΠΎ Π² Π±Π»ΠΈΠ·ΠΊΠΎ Π±ΡŠΠ΄Π΅Ρ‰Π΅ Ρ‰Π΅ бъдС Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° стандарта OpenXR;
  • libinputsynth β€” Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π·Π° синтСзиранС Π½Π° Π²Ρ…ΠΎΠ΄Π½ΠΈ ΡΡŠΠ±ΠΈΡ‚ΠΈΡ, ΠΊΠ°Ρ‚ΠΎ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΌΠΈΡˆΠΊΠ°Ρ‚Π°, кликвания ΠΈ натискания Π½Π° клавиши, Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° Π±Π΅ΠΊΠ΅Π½Π΄ Π·Π° xdo, xi2 ΠΈ Clutter;
  • xrdesktop β€” Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈ Π² 3D срСда, Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ ΠΏΡ€ΠΈΠ΄Ρ€ΡƒΠΆΠ°Π²Π°Ρ‰ΠΈ ΡƒΠΈΠ΄ΠΆΠ΅Ρ‚ΠΈ ΠΈ Π±Π΅ΠΊΠ΅Π½Π΄ΠΈ Π·Π° изобразяванС Π½Π° сцСната;
  • kwin-Π΅Ρ„Π΅ΠΊΡ‚-xrdesktop ΠΈ kdeplasma-applets-xrdesktop β€” плъгин Π·Π° KWin Π·Π° интСграция с KDE ΠΈ ΠΏΠ»Π°Π·ΠΌΠ΅Π½ Π°ΠΏΠ»Π΅Ρ‚ Π·Π° ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° KWin Π² ΠΈΠ·Ρ…ΠΎΠ΄Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ Π½Π° 3D шлСм;
  • gnome-shell patchset ΠΈ gnome-shell-extension-xrdesktop β€” Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ ΠΏΠ°Ρ‡ΠΎΠ²Π΅ Π·Π° GNOME Shell Π·Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° xrdesktop ΠΈ Π΄ΠΎΠ±Π°Π²ΠΊΠ° Π·Π° ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° ΠΈΠ·Ρ…ΠΎΠ΄ към 3D шлСм Π² GNOME Shell.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° няколко ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π·Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° взаимодСйствиС с работния ΠΏΠ»ΠΎΡ‚ ΠΈ ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈ във Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° срСда, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π·Π° заснСманС Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈ, ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅, прСмСстванС, Π·Π°Π²ΡŠΡ€Ρ‚Π°Π½Π΅, наслагванС Π²ΡŠΡ€Ρ…Ρƒ сфСра, Π·Π°ΠΊΡ€Π΅ΠΏΠ²Π°Π½Π΅ ΠΈ скриванС Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΎΡ‚ΠΎ мСню ΠΈ Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ с Π΄Π²Π΅ Ρ€ΡŠΡ†Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ΠΈ мноТСство ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈ.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€