Π ΠΊΠΎΠ΄ΠΎΠ²ΡΡ Π±Π°Π·Ρ XWayland, DDX-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° (Device-Dependent X), ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ Π·Π°ΠΏΡΡΠΊ X.Org Server Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ X11-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡΡ Π½Π° Π±Π°Π·Π΅ Wayland, ΠΏΡΠΈΠ½ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ΅ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Ρ ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΡΠΌΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°ΠΌΠΈ NVIDIA.
Π‘ΡΠ΄Ρ ΠΏΠΎ ΠΏΡΠΎΠ²Π΅Π΄ΡΠ½Π½ΡΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ ΡΠ΅ΡΡΠ°ΠΌ, ΠΏΠΎΡΠ»Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΏΠ°ΡΡΠ΅ΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ OpenGL ΠΈ Vulkan Π² X-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ , Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ XWayland, ΠΏΠΎΡΡΠΈ Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ X-ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Ρ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠΌ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ NVIDIA. Π ΡΠ°ΠΌΠΎΠΌ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ NVIDIA ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ Π² Xwayland, ΠΏΠΎΡΠ²ΠΈΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π²ΡΠΏΡΡΠΊΠΎΠ², ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ Π² Π²Π΅ΡΠΊΠ΅ 470.x.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΡΡΠ³ΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΡΠ΅ΠΊΠΎΠΌ Linux:
- Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Wayland ΠΏΠ»Π°Π½ΠΈΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π²Π΅ΡΠΊΡ Π²ΠΎ Π²ΡΠ΅Ρ
ΡΠ²ΠΎΠΈΡ
ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ
Ρ «master» Π½Π° «main», ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ»ΠΎΠ²ΠΎ «master» ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ Π½Π΅ΠΏΠΎΠ»ΠΈΡΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΌ, Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΠΎ ΡΠ°Π±ΡΡΠ²Π΅ ΠΈ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΎΡΠΊΠΎΡΠ±ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ°ΠΌΠΈ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°. Π ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ freedesktop.org ΡΠ΅ΡΠΈΠ»ΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ Π½ΠΎΠ²ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ‘main’ Π²ΠΌΠ΅ΡΡΠΎ ‘master’.
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΡΡΠΎ Π½Π°ΡΠ»ΠΈΡΡ ΠΈ ΠΏΡΠΎΡΠΈΠ²Π½ΠΈΠΊΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΈΠ΄Π΅ΠΈ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π―Π½ ΠΠ½Π³Π΅Π»ΡΠ³Π°ΡΠ΄Ρ (Jan Engelhardt), ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΠΈΠΉ Π±ΠΎΠ»Π΅Π΅ 500 ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π² openSUSE, Π½Π°Π·Π²Π°Π» Π²ΡΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ GitHub ΠΈ SFC Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π² ΠΏΠΎΠ»ΡΠ·Ρ Π·Π°ΠΌΠ΅Π½Ρ «master» Π½Π° «main» Π»ΠΈΡΠ΅ΠΌΠ΅ΡΠΈΠ΅ΠΌ ΠΈ Π΄Π²ΠΎΠΉΠ½ΡΠΌΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌΠΈ. ΠΠ½ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ» ΠΎΡΡΠ°Π²ΠΈΡΡ Π²ΡΡ ΠΊΠ°ΠΊ Π΅ΡΡΡ ΠΈ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π° Π½Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π±Π΅ΡΠΏΠΎΡΡΠ΄ΠΊΠ° ΡΠΎ ΡΠΌΠ΅Π½ΠΎΠΉ ΠΈΠΌΡΠ½. ΠΠΎ ΠΌΠ½Π΅Π½ΠΈΡ Π―Π½Π°, Π΄Π»Ρ ΡΠ΅Ρ ΠΊΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΌΠΈΡΠΈΡΡΡΡ Ρ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠΌ «master» ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ Π΄Π²ΡΡ Π²Π΅ΡΠΎΠΊ Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΡΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΈ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ Π±Π΅Π· Π»ΠΎΠΌΠΊΠΈ ΡΡΡΠΎΡΠ²ΡΠ΅Π³ΠΎΡΡ ΡΠΊΠ»Π°Π΄Π°.
- Π Mesa-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ lavapipe, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠΌ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅ΠΌ LLVM Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ΄Π°, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ API Vulkan 1.1 ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΈΠ· ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Vulkan 1.2 (ΡΠ°Π½Π΅Π΅ Π² lavapipe ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π»ΡΡ ΡΠΎΠ»ΡΠΊΠΎ OpenGL). ΠΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ, ΡΡΠΎ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ Π²ΡΠ΅ ΡΠ΅ΡΡΡ , ΠΎΡ Π²Π°ΡΡΠ²Π°ΡΡΠΈΠ΅ Π½ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Vulkan 1.1, Π½ΠΎ ΠΏΠΎΠΊΠ° ΠΏΡΠΎΠ²Π°Π»ΠΈΠ²Π°Π΅Ρ ΡΠ΅ ΠΆΠ΅ ΡΠ΅ΡΡΡ Π΄Π»Ρ Vulkan 1.0, ΡΡΠΎ ΠΌΠ΅ΡΠ°Π΅Ρ Π΅Π³ΠΎ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π½Π° ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Vulkan.
- ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Vgpu_unlock, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ vGPU Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠ°Ρ NVIDIA Geforce ΠΈ Quadro, ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎ vGPU Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΡ , Π½ΠΎ ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΡ Π½Π° ΡΠΎΠΌ ΠΆΠ΅ ΡΠΈΠΏΠ΅, ΡΡΠΎ ΠΈ Π±ΠΎΠ»Π΅Π΅ Π΄ΠΎΡΠΎΠ³ΠΈΠ΅ ΠΊΠ°ΡΡΡ Tesla (ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ GPU ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ).
- ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° PanVk, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ API Vulkan Π΄Π»Ρ GPU ARM Mali Midgard ΠΈ Bifrost. PanVk ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°ΠΌΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Collabora ΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Panfrost, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ OpenGL.
- ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π²ΡΠΏΡΡΠΊ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° xf86-input-libinput 1.0.0, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ ΠΎΠ±Π²ΡΠ·ΠΊΡ Π½Π°Π΄ Libinput, ΡΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΡΠ΅ΠΊΠΎΠΌ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ Π²Π²ΠΎΠ΄Π°. Π ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡΡ Π½Π° Π±Π°Π·Π΅ X-ΡΠ΅ΡΠ²Π΅ΡΠ° Π΄ΡΠ°ΠΉΠ²Π΅Ρ xf86-input-libinput ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² evdev ΠΈ synaptics. ΠΠ»ΡΡΠ΅Π²ΡΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π² Π²Π΅ΡΡΠΈΠΈ 1.0.0 ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° Π»ΠΈΡΠ΅Π½Π·ΠΈΡ MIT.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru