ืกื˜ืึทื˜ื•ืก ืคื•ืŸ 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 ื“ื™ื ื’ืขืŸ ืžืขืงืึทื ื™ื–ืึทื, ื•ื•ืึธืก ื’ื™ื˜ ื“ื™ ื“ืจื ืจืขืกื•ืจืกืŸ ื ื™ื™ื˜ื™ืง ืฆื• ื“ื–ืฉืขื ืขืจื™ื™ื˜ ืึท ืกื˜ืขืจื™ืึธื• ื‘ื™ืœื“ ืžื™ื˜ ืคืึทืจืฉื™ื“ืขื ืข ื‘ืึทืคืขืจื– ืคึฟืึทืจ ื“ื™ ืœื™ื ืงืก ืื•ืŸ ืจืขื›ื˜ ืื•ื™ื’ืŸ ื•ื•ืขืŸ ืจืขื–ื•ืœื˜ืึทื˜ ืฆื• ื•ื•ื™ืจื˜ื•ืึทืœ ืคืึทืงื˜ ื›ืขื“ืกืขืฅ.
  • Xwayland ืฉื˜ื™ืฆื˜ ื ื™ืฉื˜ ื“ื™ EGL_EXT_platform_x11 ืคืึทืจืœืขื ื’ืขืจื•ื ื’.
  • ื“ื™ nvidia-drm ืžืึธื“ื•ืœืข ืฉื˜ื™ืฆื˜ ื ื™ืฉื˜ ื“ื™ GAMMA_LUT, DEGAMMA_LUT, CTM, COLOR_ENCODING ืื•ืŸ COLOR_RANGE ืคึผืจืึธืคึผืขืจื˜ื™ืขืก ื ื™ื™ื˜ื™ืง ืคึฟืึทืจ ืคื•ืœ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืงืึธืœื™ืจ ืงืขืจืขืงืฉืึทืŸ ืื™ืŸ ืงืึธืžืคึผืึธืกื™ื˜ืข ืžืึทื ืึทื“ื–ืฉืขืจื–.
  • ื•ื•ืขืŸ ืื™ืจ ื ื•ืฆืŸ Wayland, ื“ื™ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ ืคื•ืŸ ื“ื™ nvidia-ืกืขื˜ื˜ื™ื ื’ืก ื ื•ืฆืŸ ืื™ื– ืœื™ืžื™ื˜ืขื“.
  • ืžื™ื˜ Xwayland ืื™ืŸ GLX, ืฆื™ื™ื›ืขื ื•ื ื’ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ ื‘ืึทืคืขืจ ืฆื• ื“ื™ ืคืึทืจืฉื˜ืขืœืŸ (ืคืจืึธื ื˜-ื‘ืึทืคืขืจ) ื˜ื•ื˜ ื ื™ืฉื˜ ืึทืจื‘ืขื˜ืŸ ืžื™ื˜ ื˜ืึธืคึผืœ ื‘ืึทืคืขืจื™ื ื’.

ืœื™ืžื™ื˜ื™ื™ืฉืึทื ื– ืคื•ืŸ ื“ื™ Wayland ืคึผืจืึธื˜ืึธืงืึธืœ ืื•ืŸ ืงืึธืžืคึผืึธืกื™ื˜ืข ืกืขืจื•ื•ืขืจืก:

  • Wayland ืคึผืจืึธื˜ืึธืงืึธืœ ืึธื“ืขืจ ืงืึธืžืคึผืึธืกื™ื˜ืข ืกืขืจื•ื•ืขืจืก ืฉื˜ื™ืฆืŸ ื ื™ืฉื˜ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืึทื–ืึท ื•ื•ื™ ืกื˜ืขืจื™ืึธื• ืจืขื–ื•ืœื˜ืึทื˜, ืกืœื™, ืžื•ืœื˜ื™-ื’ืคึผื• ืžืึธืกืึทื™ืง, ืจืึทื ืœืึทืง, ื’ืขื ืœืึทืง, ื•ื™ืกื‘ื™ื™ึทื˜ืŸ ื’ืจื•ืคึผืขืก ืื•ืŸ ืึทื•ื•ืึทื ืกื™ืจื˜ืข ืึทืจื•ื™ืกื•ื•ื™ื™ึทื–ืŸ ืžืึธื“ืขืก (ื•ื•ืึทืจืคึผ, ืฆื•ื ื•ื™ืคื’ื™ืกืŸ, ืคึผื™ืงืกืขืœ ื™ื‘ืขืจืจื•ืง ืื•ืŸ YUV420 ืขืžื™ืึทืœื™ื™ืฉืึทืŸ). ืžืฉืžืขื•ืช, ื™ืžืคึผืœืึทืžืขื ื™ื ื’ ืึทื–ืึท ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ ื•ื•ืขื˜ ื“ืึทืจืคืŸ ื“ื™ ืฉืึทืคื•ื ื’ ืคื•ืŸ ื ื™ื™ึทืข EGL ื™ืงืกื˜ืขื ืฉืึทื ื–.
  • ืขืก ืื™ื– ืงื™ื™ืŸ ื‘ื›ืœืœ ืื ื’ืขื ื•ืžืขืŸ ืึทืคึผื™ ื•ื•ืึธืก ืึทืœืึทื•ื– Wayland ืงืึธืžืคึผืึธืกื™ื˜ืข ืกืขืจื•ื•ืขืจืก ืฆื• ืžืึทื›ื˜ ืึทืจืึธืคึผ ื•ื•ื™ื“ืขื ื–ื›ึผืจื•ืŸ ื“ื•ืจืš PCI-Express Runtime D3 (RTD3).
  • Xwayland ืคืขืœืŸ ืึท ืžืขืงืึทื ื™ื–ืึทื ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืื™ืŸ ื“ื™ NVIDIA ืฉืึธืคืขืจ ืฆื• ืกื™ื ื’ืงืจืึทื ื™ื™ื– ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืจืขื ื“ืขืจื™ื ื’ ืื•ืŸ ืคืึทืจืฉื˜ืขืœืŸ ืจืขื–ื•ืœื˜ืึทื˜. ืึธืŸ ืึทื–ืึท ืกื™ื ื’ืงืจืึทื ืึทื–ื™ื™ืฉืึทืŸ, ืื™ืŸ ืขื˜ืœืขื›ืข ืฆื•ืฉื˜ืื ื“ืŸ, ื•ื•ื™ื–ืฉืึทื•ื•ืึทืœ ื“ื™ืกื˜ืึธืจืฉืึทื ื– ืงืขื ืขืŸ ื ื™ื˜ ื–ื™ื™ืŸ ืจื•ืœื“ ืื•ื™ืก.
  • Wayland ืงืึธืžืคึผืึธืกื™ื˜ืข ืกืขืจื•ื•ืขืจืก ืฉื˜ื™ืฆืŸ ื ื™ืฉื˜ ืคืึทืจืฉื˜ืขืœืŸ ืžื•ืœื˜ื™ืคึผืœืขืงืกืขืจืก (ืžื•ืงืก), ื’ืขื ื™ืฆื˜ ืื•ื™ืฃ ืœืึทืคึผื˜ืึทืคึผืก ืžื™ื˜ ืฆื•ื•ื™ื™ ื’ืคึผื•ืก (ื™ื ืึทื’ืจื™ื™ื˜ื™ื“ ืื•ืŸ ื“ื™ืกืงืจืขื˜ืข) ืฆื• ื’ืœื™ื™ืš ืคืึทืจื‘ื™ื ื“ืŸ ืึท ื“ื™ืกืงืจืขื˜ืข ื’ืคึผื• ืฆื• ืึทืŸ ื™ื ืึทื’ืจื™ื™ื˜ื™ื“ ืึธื“ืขืจ ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง ืคืึทืจืฉื˜ืขืœืŸ. ืื™ืŸ X11, ื“ื™ "ืžื•ืงืก" ืคืึทืจืฉื˜ืขืœืŸ ืงืขื ืขืŸ ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ ื‘ืึทืฉื˜ื™ืžืขืŸ ื•ื•ืขืŸ ืึท ืคื•ืœ-ืคืึทืจืฉื˜ืขืœืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื™ื– ืึทื•ื˜ืคึผื•ืฅ ื“ื•ืจืš ื“ื™ ื“ื™ืกืงืจืขื˜ืข ื’ืคึผื•.
  • ื•ืžื“ื™ืจืขืงื˜ ืจืขื ื“ืขืจื™ื ื’ ื“ื•ืจืš GLX ื˜ื•ื˜ ื ื™ืฉื˜ ืึทืจื‘ืขื˜ืŸ ืื™ืŸ Xwayland ื•ื•ื™ื™ึทืœ ื“ื™ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ GLAMOR 2D ืึทืงืกืขืœืขืจื™ื™ืฉืึทืŸ ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ ืื™ื– ื ื™ืฉื˜ ืงืึทืžืคึผืึทื˜ืึทื‘ืึทืœ ืžื™ื˜ NVIDIA ืก EGL ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ.
  • GLX ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื•ื•ืึธืก ืœื•ื™ืคืŸ ืื™ืŸ Xwayland-ื‘ืื–ื™ืจื˜ ื™ื ื•ื•ื™ื™ืจืึทื ืžืึทื ืฅ ืฉื˜ื™ืฆืŸ ื ื™ืฉื˜ ื™ื™ึทื–ื ื•ื•ืึทืจื’ ืึธื•ื•ื•ืขืจืœื™ื™ื–.

ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’