Π‘ΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° Wayland Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈΡ‚Π΅ Π½Π° NVIDIA

Aaron Plattner, Π΅Π΄ΠΈΠ½ ΠΎΡ‚ Π²ΠΎΠ΄Π΅Ρ‰ΠΈΡ‚Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π½Π° ΠΏΠ°Ρ‚Π΅Π½Ρ‚ΠΎΠ²Π°Π½ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ Π½Π° NVIDIA, ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Wayland Π² тСстовия ΠΊΠ»ΠΎΠ½ Π½Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ R515, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ NVIDIA прСдостави изходния ΠΊΠΎΠ΄ Π·Π° всички ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ Π½Π° Π½ΠΈΠ²ΠΎ ядро. ΠžΡ‚Π±Π΅Π»ΡΠ·Π²Π° сС, Ρ‡Π΅ Π² Ρ€Π΅Π΄ΠΈΡ†Π° области ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Wayland Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Π½Π° NVIDIA всС ΠΎΡ‰Π΅ Π½Π΅ Π΅ достигнала равСнство с ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° X11. Π’ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ забавянСто сС дълТи ΠΊΠ°ΠΊΡ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Π½Π° NVIDIA, Ρ‚Π°ΠΊΠ° ΠΈ Π½Π° ΠΎΠ±Ρ‰ΠΈ ограничСния Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Wayland ΠΈ Π±Π°Π·ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ Π½Π° Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ.

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ Π½Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°:

  • Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° libvdpau, която Π²ΠΈ позволява Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π½ΠΎ ускорСниС Π·Π° послСдваща ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ€Π°Π½Π΅, ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ, няма Π²Π³Ρ€Π°Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Wayland. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° ΡΡŠΡ‰ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° с Xwayland.
  • Wayland ΠΈ Xwayland Π½Π΅ сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° NvFBC (NVIDIA FrameBuffer Capture), ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π·Π° заснСманС Π½Π° Π΅ΠΊΡ€Π°Π½Π°.
  • ΠœΠΎΠ΄ΡƒΠ»ΡŠΡ‚ nvidia-drm Π½Π΅ прСдоставя информация Π·Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π·Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° чСстота Π½Π° опрСсняванС, ΠΊΠ°Ρ‚ΠΎ G-Sync, прСдотвратявайки ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ ΠΈΠΌ Π² срСди, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Wayland.
  • Π’ срСди, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Wayland, ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ към Π΅ΠΊΡ€Π°Π½ΠΈ Π·Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° рСалност, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π΅Π·ΠΈ, ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½ΠΈ ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° SteamVR, Π½Π΅ Π΅ Π½Π°Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΡ€Π°Π΄ΠΈ нСработоспособността Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° Π½Π°Π΅ΠΌΠ°Π½Π΅ Π½Π° DRM, ΠΊΠΎΠΉΡ‚ΠΎ осигурява DRM рСсурситС, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° стСрСо ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ с Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π±ΡƒΡ„Π΅Ρ€ΠΈ Π·Π° лявото ΠΈ дясното ΠΎΠΊΠΎ ΠΏΡ€ΠΈ ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ към ΡΠ»ΡƒΡˆΠ°Π»ΠΊΠΈ Π·Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° рСалност.
  • Xwayland Π½Π΅ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅Ρ‚ΠΎ EGL_EXT_platform_x11.
  • ΠœΠΎΠ΄ΡƒΠ»ΡŠΡ‚ nvidia-drm Π½Π΅ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° свойствата GAMMA_LUT, DEGAMMA_LUT, CTM, COLOR_ENCODING ΠΈ COLOR_RANGE, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° пълна ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° корСкция Π½Π° Ρ†Π²Π΅Ρ‚ΠΎΠ²Π΅Ρ‚Π΅ Π² ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½ΠΈ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ΠΈ.
  • ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Wayland, функционалността Π½Π° ΠΏΠΎΠΌΠΎΡ‰Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π·Π° настройки Π½Π° nvidia Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π°.
  • Π‘ Xwayland Π² GLX ΠΈΠ·Ρ‡Π΅Ρ€Ρ‚Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° изходния Π±ΡƒΡ„Π΅Ρ€ към Π΅ΠΊΡ€Π°Π½Π° (ΠΏΡ€Π΅Π΄Π΅Π½ Π±ΡƒΡ„Π΅Ρ€) Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ с Π΄Π²ΠΎΠΉΠ½ΠΎ Π±ΡƒΡ„Π΅Ρ€ΠΈΡ€Π°Π½Π΅.

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Wayland ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½ΠΈΡ‚Π΅ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ:

  • ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΡŠΡ‚ Wayland ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½ΠΈΡ‚Π΅ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠ°Ρ‚ΠΎ стСрСо ΠΈΠ·Ρ…ΠΎΠ΄, SLI, Multi-GPU Mosaic, Frame Lock, Genlock, Swap Groups ΠΈ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈ Ρ€Π΅ΠΆΠΈΠΌΠΈ Π½Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ (изкривяванС, смСсванС, измСстванС Π½Π° пиксСли ΠΈ Смулация Π½Π° YUV420). ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ‚Π°ΠΊΠ°Π²Π° функционалност Ρ‰Π΅ изисква ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π½ΠΎΠ²ΠΈ EGL Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ.
  • Няма ΠΎΠ±Ρ‰ΠΎΠΏΡ€ΠΈΠ΅Ρ‚ API, ΠΊΠΎΠΉΡ‚ΠΎ позволява Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½ΠΈΡ‚Π΅ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ Π½Π° Wayland Π΄Π° ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚ Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Ρ‡Ρ€Π΅Π· PCI-Express Runtime D3 (RTD3).
  • Π’ Xwayland липсва ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Π½Π° NVIDIA Π·Π° синхронизиранС Π½Π° изобразяванСто Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈ ΠΈΠ·Ρ…ΠΎΠ΄Π° Π½Π° Π΅ΠΊΡ€Π°Π½Π°. Π‘Π΅Π· Ρ‚Π°ΠΊΠ°Π²Π° синхронизация ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ обстоятСлства Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»Π½ΠΈ изкривявания.
  • ΠšΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½ΠΈΡ‚Π΅ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ Π½Π° Wayland Π½Π΅ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ Π΅ΠΊΡ€Π°Π½Π½ΠΈ мултиплСксори (mux), ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π½Π° Π»Π°ΠΏΡ‚ΠΎΠΏΠΈ с Π΄Π²Π° Π³Ρ€Π°Ρ„ΠΈΡ‡Π½ΠΈ процСсора (ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½ΠΈ ΠΈ дискрСтни) Π·Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° ΠΎΡ‚Π΄Π΅Π»Π΅Π½ Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅Π½ процСсор към ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½ ΠΈΠ»ΠΈ външСн Π΅ΠΊΡ€Π°Π½. Π’ X11 Π΅ΠΊΡ€Π°Π½ΡŠΡ‚ "mux" ΠΌΠΎΠΆΠ΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Π΄Π° сС ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° цял Π΅ΠΊΡ€Π°Π½ сС ΠΈΠ·Π²Π΅ΠΆΠ΄Π° ΠΏΡ€Π΅Π· дискрСтния GPU.
  • Π˜Π½Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎΡ‚ΠΎ изобразяванС Ρ‡Ρ€Π΅Π· GLX Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² Xwayland, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ внСдряванСто Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° Π·Π° ускорСниС GLAMOUR 2D Π½Π΅ Π΅ ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎ с ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° EGL Π½Π° NVIDIA.
  • GLX прилоТСнията, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ Π² Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Xwayland срСди, Π½Π΅ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π½ΠΈ наслагвания.

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

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