Π’ Xwayland Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ ускорСния Π½Π° систСмах с GPU NVIDIA

Π’ ΠΊΠΎΠ΄ΠΎΠ²ΡƒΡŽ Π±Π°Π·Ρƒ 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

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ