แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ Weston Composite 7.0

แž”แŸ„แŸ‡แž–แžปแž˜แŸ’แž–แž•แŸ’แžŸแžถแž™ แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™แžŸแŸ’แžแŸแžšแž—แžถแž–แž“แŸƒแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸแžŸแž˜แžถแžŸแž’แžถแžแžป แžœแŸแžŸแŸ’แžแžปแž“ 7.0แž€แžถแžšแžขแž—แžทแžœแžŒแŸ’แžแž”แž…แŸ’แž…แŸแž€แžœแžทแž‘แŸ’แž™แžถแžŠแŸ‚แž›แžšแžฝแž˜แž…แŸ†แžŽแŸ‚แž€แžŠแž›แŸ‹แž€แžถแžšแž›แŸแž…แžกแžพแž„แž“แŸƒแž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแž–แŸแž‰แž›แŸแž‰แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž–แžทแž’แžธแž€แžถแžš Wayland แž“แŸ…แž€แŸ’แž“แžปแž„ Enlightenment, GNOME, KDE แž“แžทแž„แž”แžšแžทแžŸแŸ’แžแžถแž“แžขแŸ’แž“แž€แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แž•แŸ’แžŸแŸแž„แž‘แŸ€แžแŸ” แž€แžถแžšแžขแž—แžทแžœแžŒแŸ’แžแž“แŸแžšแž”แžŸแŸ‹ Weston แž˜แžถแž“แž‚แŸ„แž›แž”แŸ†แžŽแž„แž•แŸ’แžแž›แŸ‹แž“แžผแžœแž˜แžผแž›แžŠแŸ’แž‹แžถแž“แž€แžผแžŠแžŠแŸ‚แž›แž˜แžถแž“แž‚แžปแžŽแž—แžถแž–แžแŸ’แž–แžŸแŸ‹ แž“แžทแž„แžงแž‘แžถแž แžšแžŽแŸแž€แžถแžšแž„แžถแžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹ Wayland แž“แŸ…แž€แŸ’แž“แžปแž„แž”แžšแžทแžŸแŸ’แžแžถแž“แž•แŸ’แž‘แŸƒแžแžป แž“แžทแž„แžŠแŸ†แžŽแŸ„แŸ‡แžŸแŸ’แžšแžถแž™แžŠแŸ‚แž›แž”แžถแž“แž”แž„แŸ’แž€แž”แŸ‹ แžŠแžผแž…แž‡แžถแžœแŸแž‘แžทแž€แžถแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž”แŸ’แžšแž–แŸแž“แŸ’แž’แž–แŸแžแŸŒแž˜แžถแž“แžšแžแž™แž“แŸ’แž แžŸแŸ’แž˜แžถแžแž แŸ’แžœแžผแž“ แž‘แžผแžšแž‘แžŸแŸ’แžŸแž“แŸ แž“แžทแž„แžงแž”แž€แžšแžŽแŸแž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แž•แŸ’แžŸแŸแž„แž‘แŸ€แžแŸ”

แž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแž›แŸแžแž€แŸ†แžŽแŸ‚แžŸแŸ†แžแžถแž“แŸ‹แžšแž”แžŸแŸ‹ Weston แž‚แžบแžŠแŸ„แž™แžŸแžถแžšแžแŸ‚แž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžš ABI แžŠแŸ‚แž›แž”แŸ†แž”แŸ‚แž€แž—แžถแž–แž†แž”แž‚แŸ’แž“แžถแŸ” แž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแž“แŸ…แž€แŸ’แž“แžปแž„ แžŸแžถแžแžถแžแŸ’แž˜แžธแŸ” แžœแŸแžŸแŸ’แžแžปแž“แŸ–

  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž”แž…แŸ’แž…แŸแž€แžœแžทแž‘แŸ’แž™แžถแžŠแžพแž˜แŸ’แž”แžธแž€แžถแžšแž–แžถแžšแž”แŸ’แžšแž†แžถแŸ†แž„แž“แžนแž„แž€แžถแžšแž…แž˜แŸ’แž›แž„แžแžปแžŸแž…แŸ’แž”แžถแž”แŸ‹แž“แŸƒแž˜แžถแžแžทแž€แžถ HDCPแžŠแŸ‚แž›แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ’แžšแžพแžŠแžพแž˜แŸ’แž”แžธแžขแŸŠแžทแž“แž‚แŸ’แžšแžธแž”แžŸแž‰แŸ’แž‰แžถแžœแžธแžŠแŸแžขแžผแžŠแŸ‚แž›แž”แžถแž“แž”แž‰แŸ’แž‡แžผแž“แžแžถแž˜แžšแž™แŸˆแž…แŸ†แžŽแžปแž…แž”แŸ’แžšแž‘แžถแž€แŸ‹ DVI, DisplayPort, HDMI, GVIF แžฌ UDI แŸ” libweston แžขแž“แžปแžœแžแŸ’แžแž‘แž„แŸ‹แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž แŸ… weston_output, weston_surface แž“แžทแž„ weston_head แžŠแžพแž˜แŸ’แž”แžธแž”แžพแž€แž€แžถแžšแž€แžถแžšแž–แžถแžšแž˜แžถแžแžทแž€แžถแžŠแŸ‚แž›แž”แžถแž“แž”แž‰แŸ’แž‡แžผแž“แŸ” แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž€แž˜แŸ’แž˜แžœแžทแž’แžธแžขแžแžทแžแžทแž‡แž“แžงแž‘แžถแž แžšแžŽแŸแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž”แž„แŸ’แž แžถแž‰แž˜แžถแžแžทแž€แžถแžŠแŸ‚แž›แž”แžถแž“แž€แžถแžšแž–แžถแžšแŸ”
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž‡แŸ†แž“แžฝแž™แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸแž˜แŸแžŒแŸ€ แž”แŸ†แž–แž„แŸ‹แž‘แžนแž€แž”แž„แŸ’แž€แžพแžแžกแžพแž„แžŠแžพแž˜แŸ’แž”แžธแž‡แŸ†แž“แžฝแžŸ PulseAudio แž แžพแž™แž”แž“แŸ’แžแŸ‚แž˜แž–แžธแž›แžพแžขแžผแžŒแžธแž™แŸ‰แžผ แž‚แžถแŸ†แž‘แŸ’แžšแžŠแŸ†แžŽแžพแžšแž€แžถแžšแžŸแŸ’แž‘แŸ’แžšแžธแž˜แžœแžธแžŠแŸแžขแžผแŸ” แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž‡แŸ†แž“แžฝแž™ แžขแžถแž…แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ’แžšแžพ แžŠแžพแž˜แŸ’แž”แžธแžšแŸ€แž”แž…แŸ†แž›แž‘แŸ’แž’แž•แž›แž‘แŸ…แž•แŸ’แž‘แŸƒแžแžปแž–แžธแž…แž˜แŸ’แž„แžถแž™แžŸแŸ’แžšแžŠแŸ€แž„แž“แžนแž„แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž‡แŸ†แž“แžฝแž™แž›แž‘แŸ’แž’แž•แž›แžŠแŸ‚แž›แž˜แžถแž“แž–แžธแž˜แžปแž“แžŠแŸ„แž™แž•แŸ’แžขแŸ‚แž€แž›แžพ GStreamer แŸ” แž“แŸ…แž•แŸ’แž“แŸ‚แž€แž‘แž‘แžฝแž› แžขแžแžทแžแžทแž‡แž“แžŽแžถแžŠแŸ‚แž›แž˜แžถแž“แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžš pipewire แžขแžถแž…แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ’แžšแžพแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž”แž„แŸ’แž แžถแž‰ แžšแžฝแž˜แž‘แžถแŸ†แž„ GStreamer (แžงแž‘แžถแž แžšแžŽแŸ "gst-launch-1.0 pipewiresrc ! video/x-raw,format=BGRx ! ... ");
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž•แŸ’แž“แŸ‚แž€แž”แž“แŸ’แžแŸ‚แž˜ EGL แž‘แŸ… gl-renderer EGL_KHR_partial_update แžŠแžพแž˜แŸ’แž”แžธแž’แŸ’แžœแžพแž”แž…แŸ’แž…แžปแž”แŸ’แž”แž“แŸ’แž“แž—แžถแž–แž˜แžถแžแžทแž€แžถแž“แŸƒแž•แŸ’แž‘แŸƒแžŠแŸ„แž™แž‡แŸ’แžšแžพแžŸแžšแžพแžŸ แžšแŸ†แž›แž„แžแŸ†แž”แž“แŸ‹แžŠแŸ‚แž›แž˜แžทแž“แž”แžถแž“แž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแŸ”
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž€แŸ’แžšแž”แžแŸแžŽแŸ’แžŒ weston_debug แžแŸ’แž˜แžธแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž”แŸ†แž”แžถแžแŸ‹แž€แŸ†แž แžปแžŸ แž“แžทแž„แž€แžถแžšแž€แžแŸ‹แžแŸ’แžšแžถแž–แŸ’แžšแžนแžแŸ’แžแžทแž€แžถแžšแžŽแŸ (weston_log_context);
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แžฏแž€แžŸแžถแžšแž”แž‹แž˜แž€แžแžถแžแŸ’แž˜แžธ libweston-internal.h แž“แžทแž„ backend.h แŸ” แž‘แžธแž˜แžฝแž™แž˜แžถแž“แž˜แžปแžแž„แžถแžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž’แŸ’แžœแžพแž€แžถแžšแž‡แžถแž˜แžฝแž™
    'weston_compositor', 'weston_plane', 'weston_seat', 'weston_surface', 'weston_spring', 'weston_view' แž“แžทแž„แž“แŸ…แž€แŸ’แž“แžปแž„แž‘แžธแž–แžธแžš - 'weston_output';

  • แž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแžแŸ’แžšแžผแžœแž”แžถแž“แž’แŸ’แžœแžพแžกแžพแž„แžŠแžพแž˜แŸ’แž”แžธแž’แžถแž“แžถ แž€แžถแžšแž”แž„แŸ’แž€แžพแžแžกแžพแž„แžœแžทแž‰;
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž›แž€แŸ’แžแžŽแžŸแž˜แŸ’แž”แžแŸ’แžแžท FB_DAMAGE_CLIPS แž‘แŸ… compositor-drm แŸ” แžฏแž€แžŸแžถแžšแžŠแžถแž…แŸ‹แžŠแŸ„แž™แžกแŸ‚แž€แž˜แžถแž“แž€แžผแžŠแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž‘แžถแž‰แž™แž€แž”แŸ‰แžถแžšแŸ‰แžถแž˜แŸ‰แŸ‚แžแŸ’แžš EDID แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžšแž”แŸ€แž”แžœแžธแžŠแŸแžขแžผ แžขแž“แŸ’แžแžšแž€แž˜แŸ’แž˜แž‡แžถแž˜แžฝแž™ KMS API แž’แŸ’แžœแžพแž€แžถแžšแž‡แžถแž˜แžฝแž™ framebuffer แž“แžทแž„แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžŸแŸ’แžแžถแž“แž—แžถแž–แŸ”
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž‡แŸ†แž“แžฝแž™ "แžŸแŸ’แž‘แŸ’แžšแžธแž˜แžฏแž€แžŸแžถแžš" แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž”แž‰แŸ’แž‡แžผแž“แž˜แžถแžแžทแž€แžถแž–แžธแžฏแž€แžŸแžถแžšแž˜แžฝแž™;
  • backends backend-drm แžแŸ’แžšแžผแžœแž”แžถแž“แžŠแžถแž€แŸ‹แž€แŸ’แž“แžปแž„แžแžแžŠแžถแž…แŸ‹แžŠแŸ„แž™แžกแŸ‚แž€แž˜แžฝแž™
    backend-แž‚แŸ’แž˜แžถแž“แž€แŸ’แž”แžถแž›
    แž•แŸ’แž“แŸ‚แž€แžแžถแž„แž€แŸ’แžšแŸ„แž™-rdp
    backend-wayland
    backend-x11 แž“แžทแž„
    แž•แŸ’แž“แŸ‚แž€แžแžถแž„แž€แŸ’แžšแŸ„แž™-fbdev;

  • แž€แž‰แŸ’แž…แž”แŸ‹แž˜แžฝแž™แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ’แžšแžพแžŠแžพแž˜แŸ’แž”แžธแž”แž„แŸ’แž€แžพแž“แž”แŸ’แžšแžŸแžทแž‘แŸ’แž’แž—แžถแž–แžšแžผแž”แž—แžถแž– PNG zopflipng แž•แŸ’แžขแŸ‚แž€แž›แžพแž€แŸ’แž”แžฝแž“แžŠแŸ„แŸ‡แžŸแŸ’แžšแžถแž™แž€แžถแžšแž”แž„แŸ’แž แžถแž”แŸ‹ zopfli;
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž•แŸ’แž“แŸ‚แž€แž”แž“แŸ’แžแŸ‚แž˜ xdg_output_unstable_v1 แž“แžทแž„ zwp_linux_explicit_synchronization_v1 แŸ” แžแž˜แŸ’แžšแžผแžœแž€แžถแžšแž€แŸ†แžŽแŸ‚แž€แž‰แŸ’แž…แž”แŸ‹แž€แžพแž“แžกแžพแž„ Wayland-แž–แžทแž’แžธแž€แžถแžš (1.18 แž‘แžถแž˜แž‘แžถแžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž‡แžฝแž”แž”แŸ’แžšแž‡แžปแŸ†แž‚แŸ’แž“แžถ);
  • แž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแž‘แŸ…แž”แŸ’แžšแž–แŸแž“แŸ’แž’แžŠแŸ†แžกแžพแž„แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž‰แŸ’แž…แž”แŸ‹ แž˜แŸแžŸแžปแž“. แž€แžถแžšแžŸแžถแž„แžŸแž„แŸ‹แžŠแŸ„แž™แž”แŸ’แžšแžพแžงแž”แž€แžšแžŽแŸแžŸแŸ’แžœแŸแž™แž”แŸ’แžšแžœแžแŸ’แžแžทแžแŸ’แžšแžผแžœแž”แžถแž“แž”แž‰แŸ’แžˆแž”แŸ‹แŸ”

แž”แŸ’แžšแž—แž–: opennet.ru

แž”แž“แŸ’แžแŸ‚แž˜แž˜แžแžทแž™แŸ„แž”แž›แŸ‹