KWinFT, ืžื–ืœื’ ืฉืœ KWin ื”ืžืชืžืงื“ ื‘-Wayland, ื”ื•ืฆื’

ืจื•ืžืŸ ื’ื™ืœื’, ืžืฉืชืชืฃ ื‘ืคื™ืชื•ื— ืฉืœ KDE, Wayland, Xwayland ื•-X Server, ื”ื’ื™ืฉื• ืคืจื•ื™ืงื˜ KWinFT (KWin Fast Track), ืžืคืชื—ืช ืžื ื”ืœ ื—ืœื•ื ื•ืช ืžื•ืจื›ื‘ ื’ืžื™ืฉ ื•ืงืœ ืœืฉื™ืžื•ืฉ ืขื‘ื•ืจ Wayland ื•-X11 ื”ืžื‘ื•ืกืก ืขืœ ื‘ืกื™ืก ื”ืงื•ื“ ื›ื•ื•ื™ืŸ. ื‘ื ื•ืกืฃ ืœืžื ื”ืœ ื”ื—ืœื•ื ื•ืช ืžืคืชื— ื”ืคืจื•ื™ืงื˜ ื’ื ืกืคืจื™ื™ื” ืืจืฅ ืขื™ื˜ื•ืฃ ืขื ื™ื™ืฉื•ื ื›ืจื™ื›ื” ืขืœ libwayland ืขื‘ื•ืจ Qt/C++, ื”ืžืฉืš ืคื™ืชื•ื— ืงื•ื•ื™ื™ืœื ื“, ืืš ืžืฉื•ื—ืจืจ ืžื”ื›ืจื™ื›ื” ืœ-Qt. ื”ืงื•ื“ ืžื•ืคืฅ ืชื—ืช ืจื™ืฉื™ื•ื ื•ืช GPLv2 ื•-LGPLv2.

ืžื˜ืจืช ื”ืคืจื•ื™ืงื˜ ื”ื™ื ืœืžื—ื–ืจ ืืช KWin ื•-KWayland ื‘ืืžืฆืขื•ืช
ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ืžื•ื“ืจื ื™ื•ืช ื•ืฉื™ื˜ื•ืช ืคื™ืชื•ื— ื”ืžืืคืฉืจื•ืช ืœืš ืœื”ืื™ืฅ ืืช ื”ืคื™ืชื•ื— ืฉืœ ื”ืคืจื•ื™ืงื˜, ืœืฉื—ื–ืจ ืืช ื”ืงื•ื“, ืœื”ื•ืกื™ืฃ ืื•ืคื˜ื™ืžื™ื–ืฆื™ื•ืช ื•ืœืคืฉื˜ ืืช ื”ื•ืกืคื” ืฉืœ ื—ื™ื“ื•ืฉื™ื ื‘ืกื™ืกื™ื™ื, ืฉื”ืฉื™ืœื•ื‘ ืฉืœื”ื ื‘-KWin ื‘ืฆื•ืจืชื• ื”ื ื•ื›ื—ื™ืช ืงืฉื”. ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘-KWinFT ื•-Wrapland ื›ื“ื™ ืœื”ื—ืœื™ืฃ ื‘ืฆื•ืจื” ื—ืœืงื” ืืช KWin ื•-KWayland, ืืš ื”ื ืื™ื ื ืžื•ื’ื‘ืœื™ื ืขืœ ื™ื“ื™ ื ืขื™ืœืช KWin ืฉืœ ืžื•ืฆืจื™ื ืจื‘ื™ื ืฉื‘ื”ื ืฉืžื™ืจื” ืขืœ ืชืื™ืžื•ืช ืžืœืื” ื”ื™ื ื‘ืจืืฉ ืกื“ืจ ื”ืขื“ื™ืคื•ื™ื•ืช ืฉืžื•ื ืขืช ืžื”ื—ื“ืฉื ื•ืช ืœื”ืชืงื“ื.

ืขื KWinFT, ืœืžืคืชื—ื™ื ื™ืฉ ื™ื“ ื—ื•ืคืฉื™ืช ืœื”ืชื ืกื•ืช ื‘ืชื›ื•ื ื•ืช ื—ื“ืฉื•ืช ืชื•ืš ืฉืžื™ืจื” ืขืœ ื™ืฆื™ื‘ื•ืช ื‘ืืžืฆืขื•ืช ืฉื™ืžื•ืฉ ื‘ื˜ื›ื ื™ืงื•ืช ืคื™ืชื•ื— ืžื•ื“ืจื ื™ื•ืช ื™ื•ืชืจ. ืœื“ื•ื’ืžื”, ืœื‘ื“ื™ืงืช ืงื•ื“ KWinFT, ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืžืขืจื›ืช ืื™ื ื˜ื’ืจืฆื™ื” ืจืฆื™ืคื”, ื”ื›ื•ืœืœืช ืื™ืžื•ืช ื‘ืืžืฆืขื•ืช ืœื™ื ื˜ืจื™ื ืฉื•ื ื™ื, ื™ืฆื™ืจื” ืื•ื˜ื•ืžื˜ื™ืช ืฉืœ ืžื›ืœื•ืœื™ื ื•ื‘ื“ื™ืงื•ืช ืžืงื™ืคื•ืช. ื‘ืžื•ื ื—ื™ื ืฉืœ ืคื™ืชื•ื— ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช, ื”ืคื•ืงื•ืก ื”ืขื™ืงืจื™ ืฉืœ KWinFT ื™ื”ื™ื” ื‘ืžืชืŸ ืชืžื™ื›ืช ืคืจื•ื˜ื•ืงื•ืœื™ื ืื™ื›ื•ืชื™ืช ื•ืžืœืื”
Wayland, ื›ื•ืœืœ ืขื™ื‘ื•ื“ ืžื—ื“ืฉ ืฉืœ ืชื›ื•ื ื•ืช ืืจื›ื™ื˜ืงื˜ื•ื ื™ื•ืช ืฉืœ KWin ืฉืžืงืฉื•ืช ืขืœ ื”ืื™ื ื˜ื’ืจืฆื™ื” ืขื Wayland.

ื‘ื™ืŸ ื”ื—ื™ื“ื•ืฉื™ื ื”ื ื™ืกื™ื•ื ื™ื™ื ืฉื›ื‘ืจ ื ื•ืกืคื• ืœ-KWinFT ื”ื:

  • ืชื”ืœื™ืš ื”ื—ื™ื‘ื•ืจ ืขื‘ืจ ืขื™ื‘ื•ื“ ืžื—ื“ืฉ, ืžื” ืฉืฉื™ืคืจ ืžืฉืžืขื•ืชื™ืช ืืช ื”ืขื™ื‘ื•ื“ ืฉืœ ืชื•ื›ืŸ ืฉืžืจื™ืฅ X11 ื•-Wayland. ื‘ื ื•ืกืฃ, ื ื•ืกืฃ ื˜ื™ื™ืžืจ ื›ื“ื™ ืœืžื–ืขืจ ืืช ื”ืขื™ื›ื•ื‘ื™ื ื‘ื™ืŸ ื™ืฆื™ืจืช ื”ืชืžื•ื ื” ืœื”ืฆื’ืชื” ืขืœ ื”ืžืกืš.
  • ื”ื˜ืžื™ืข ื”ืจื—ื‘ื” ืœืคืจื•ื˜ื•ืงื•ืœ Wayland "ืฉื•ืขืจ ืฆื•ืคื™ื", ื”ืžืืคืฉืจ ืœืœืงื•ื— ืœื‘ืฆืข ืงื ื” ืžื™ื“ื” ื‘ืฆื“ ื”ืฉืจืช ื•ื–ื™ื–ื•ื ืฉืœ ืงืฆื•ื•ืช ืคื ื™ ื”ืฉื˜ื—. ื‘ืฉื™ืœื•ื‘ ืขื ื”ืžื”ื“ื•ืจื” ื”ื’ื“ื•ืœื” ื”ื‘ืื” ืฉืœ XWayland, ื”ื”ืจื—ื‘ื” ืชืกืคืง ืืช ื”ื™ื›ื•ืœืช ืœื—ืงื•ืช ืฉื™ื ื•ื™ื™ื ื‘ืจื–ื•ืœื•ืฆื™ื™ืช ืžืกืš ืขื‘ื•ืจ ืžืฉื—ืงื™ื ื™ืฉื ื™ื ื™ื•ืชืจ.
  • ืชืžื™ื›ื” ืžืœืื” ื‘ืกื™ื‘ื•ื‘ ื•ืฉื™ืงื•ืฃ ืคืœื˜ ืขื‘ื•ืจ ื”ืคืขืœื•ืช ืžื‘ื•ืกืกื•ืช Wayland.

Wrapland ืžืกืคืงืช ืžืžืฉืง ืชื›ื ื•ืช ื‘ืกื’ื ื•ืŸ Qt ื”ืžืกืคืง ื’ื™ืฉื” ืœืคื•ื ืงืฆื™ื•ืช libwayland ื‘ืฆื•ืจื” ืงืœื” ืœืฉื™ืžื•ืฉ ื‘ืคืจื•ื™ืงื˜ื™ื ืฉืœ C++. Wrapland ืชื•ื›ื ืŸ ื‘ืžืงื•ืจ ืœื”ื™ื•ืช ืžืคื•ืชื— ื›ืžื–ืœื’ ืฉืœ KWayland, ืื‘ืœ ื‘ื’ืœืœ ื”ืžืฆื‘ ื”ืœื ืžืฉื‘ื™ืข ืจืฆื•ืŸ ืฉืœ ืงื•ื“ KWayland, ื–ื” ื ื—ืฉื‘ ื›ืขืช ื›ืคืจื•ื™ืงื˜ ืœืขื™ื‘ื•ื“ ืžื—ื“ืฉ ืœื—ืœื•ื˜ื™ืŸ ืฉืœ KWayland. ื”ื”ื‘ื“ืœ ื”ื—ืฉื•ื‘ ื‘ื™ื•ืชืจ ื‘ื™ืŸ Wrapland ืœ-KWayland ื”ื•ื ืฉื”ื•ื ืื™ื ื• ืงืฉื•ืจ ื™ื•ืชืจ ืœ-Qt ื•ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื• ื‘ื ืคืจื“ ืžื‘ืœื™ ืœื”ืชืงื™ืŸ Qt. ื‘ืขืชื™ื“, ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘-Wrapland ื›ืกืคืจื™ื™ื” ืื•ื ื™ื‘ืจืกืœื™ืช ืขื API ืฉืœ C++, ื•ืœื‘ื˜ืœ ืืช ื”ืฆื•ืจืš ืฉืœ ืžืคืชื—ื™ื ืœื”ืฉืชืžืฉ ื‘-Libwayland C API.

ื—ื‘ื™ืœื•ืช ืžื•ื›ื ื•ืช ื ื•ืฆืจื•ืช ืขื‘ื•ืจ ืžืฉืชืžืฉื™ Manjaro Linux. ื›ื“ื™ ืœื”ืฉืชืžืฉ ื‘-KWinFT, ืคืฉื•ื˜ ื”ืชืงืŸ ืืช kwinft ืžื”ืžืื’ืจ, ื•ื›ื“ื™ ืœื—ื–ื•ืจ ืœ-KWin ื”ืกื˜ื ื“ืจื˜ื™, ื”ืชืงืŸ ืืช ื—ื‘ื™ืœืช kwin. ื”ืฉื™ืžื•ืฉ ื‘-Wrapland ืื™ื ื• ืžื•ื’ื‘ืœ ืœ-KDE, ืœื“ื•ื’ืžื”, ื™ื™ืฉื•ื ืœืงื•ื— ื”ื•ื›ืŸ ืœืฉื™ืžื•ืฉ ื‘ ืฉื•ืจืฉื™ื ืคืจื•ื˜ื•ืงื•ืœ ื‘ืงืจืช ืคืœื˜, ื”ืžืืคืฉืจ ื‘ืฉืจืชื™ื ืžื•ืจื›ื‘ื™ื ื”ืžื‘ื•ืกืกื™ื ืขืœ wlroots (ืœื”ืชื ื“ื ื“, ืžื“ื•ืจืช ื“ืจืš) ื”ืฉืชืžืฉ ื‘-KScreen ื›ื“ื™ ืœื”ืชืื™ื ืื™ืฉื™ืช ืืช ื”ืคืœื˜.

ื‘ื™ื ืชื™ื™ื ืœึฐื”ึทืžืฉืึดื™ืš ืขื“ื›ื•ื ื™ ื”ืคืจื•ื™ืงื˜ ื™ืคื•ืจืกืžื• KWin-ื”ืžืชื ื” ื ืžื•ื›ื”, ื™ื•ืฆืจ ืžื”ื“ื•ืจื” ืฉืœ ืžื ื”ืœ ื”ืžืจื•ื›ื‘ ืฉืœ KWin ืขื ืชื™ืงื•ื ื™ื ืœื”ื’ื‘ืจืช ื”ื”ื™ืขื ื•ืช ืฉืœ ื”ืžืžืฉืง ื•ืœืชืงืŸ ื›ืžื” ื‘ืขื™ื•ืช ื”ืงืฉื•ืจื•ืช ืœืžื”ื™ืจื•ืช ื”ืชื’ื•ื‘ื” ืœืคืขื•ืœื•ืช ื”ืžืฉืชืžืฉ, ื›ื’ื•ืŸ ื’ืžื’ื•ื ืงืœื˜. ื‘ื ื•ืกืฃ ืœ-DRM VBlank, KWin-lowlatency ืชื•ืžืš ื‘ืฉื™ืžื•ืฉ ื‘-glXWaitVideoSync, glFinish ืื• NVIDIA VSync ื›ื“ื™ ืœืกืคืง ื”ื’ื ื” ืžืคื ื™ ืงืจื™ืขื” ืžื‘ืœื™ ืœื”ืฉืคื™ืข ืœืจืขื” ืขืœ ื”ื”ื™ืขื ื•ืช (ื”ื’ื ืช ื”ืงืจื™ืขื” ื”ืžืงื•ืจื™ืช ืฉืœ KWin ืžื™ื•ืฉืžืช ื‘ืืžืฆืขื•ืช ื˜ื™ื™ืžืจ ื•ื™ื›ื•ืœื” ืœื”ื•ื‘ื™ืœ ืœืคืœื˜ ื–ืžืŸ ืื—ื–ื•ืจ ื’ื“ื•ืœ (ืขื“ 50ms). ื•ื›ืชื•ืฆืื” ืžื›ืš, ืขื™ื›ื•ื‘ ื‘ืชื’ื•ื‘ื” ื‘ืขืช ื”ืงืœื˜). ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ืžื”ื“ื•ืจื•ืช ื—ื“ืฉื•ืช ืฉืœ KWin-lowlatency ื‘ืžืงื•ื ื‘ืฉืจืช ื”ืžื•ืจื›ื‘ ืฉืœ ื”ืžื ื™ื•ืช ื‘-KDE Plasma 5.18.

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

ื”ื•ืกืคืช ืชื’ื•ื‘ื”