پس از بیش از یک سال توسعه، انتشار پایدار پروتکل، مکانیسم ارتباط بین فرآیندی و کتابخانه های Wayland 1.23 ارائه شده است. شاخه 1.23 در سطح API و ABI با نسخه های 1.x سازگار است و عمدتاً شامل رفع اشکالات و به روز رسانی های جزئی پروتکل است. توسعه های این پروژه تحت مجوز MIT توزیع می شود. سرور مرجع کامپوزیت Weston که کد و نمونههای کاری برای استفاده از Wayland در محیطهای دسکتاپ و تعبیهشده ارائه میکند، به عنوان بخشی از یک چرخه توسعه جداگانه در حال توسعه است.
تغییرات عمده در پروتکل:
- libwayland یک API را پیاده سازی می کند که به مشتری اجازه می دهد حداکثر اندازه بافر اتصال داخلی در سمت سرور را تعیین کند. حداکثر اندازه بافر پایه از طریق رابط wl_display تنظیم میشود و API جدید به مشتریان اجازه میدهد آن را بر اساس اتصال به ازای هر مشتری تغییر دهند. از جنبه عملی، این تغییر امکان استفاده از بافرهای بزرگتر را در مشتریان خاص Wayland، مانند Xwayland، که با شدت بالاتر رویدادهای ورودی مشخص می شود، می دهد.
- برای درخواستها، رویدادها و شمارشها، اکنون امکان استفاده از ویژگی XML "deprecated-since" برای علامتگذاری عناصر منسوخشده در دسترس است. در اصطلاحات Wayland، درخواستها پیامهایی هستند که توسط کلاینت ارسال میشوند تا سروررویدادها پیامهایی هستند که از سرور به کلاینت ارسال میشوند؛ شمارشها مجموعههایی از مقادیر عددی هستند که توسط پروتکل دستکاری میشوند.
- حالت "enum-header" به ابزار wayland-scanner اضافه شده است، که برای تولید فایلهای هدر و کد به زبان C بر اساس فایلهای XML که پروتکل را توصیف میکند، طراحی شده است، که شامل تعیین تنها "شمارش" در فایلهای هدر است.
- Wayland-Scanner تولید توابع تأیید (اعتبارسنجی) را برای "شمارش" در سمت سرور فراهم می کند.
- امکان اختصاص نام به صف های رویداد برای ساده سازی اشکال زدایی اضافه شده است.
- توابع wl_client_get_user_data() و wl_client_set_user_data() اضافه شد تا اتصال داده های دلخواه به مشتری آسان تر شود.
- یک درخواست wl_shm.release اضافه کرد تا به مشتری اجازه دهد به سرور اطلاع دهد که استفاده از یک شیء مشترک را متوقف کند و به سرور اجازه می دهد حافظه مرتبط با آن را آزاد کند.
- پشتیبانی از پلتفرم OpenBSD اضافه شده است.
رویدادهای مرتبط با وی لند که از زمان انتشار آخرین شماره رخ داده است:
- XWayland 24.1.0 با پشتیبانی از فناوری Explicit Sync و پشتیبانی بهبود یافته از معماریهای شتابدهنده GLAMOR و EXA 2D منتشر شده است.
- به روز رسانی سرور کامپوزیت labwc (Lab Wayland Compositor) با قابلیت هایی که یادآور مدیر پنجره Openbox است.
- پروژه wprs یک Session Manager را برای Wayland ایجاد می کند، شبیه به ابزار صفحه نمایش، اما برای برنامه های گرافیکی.
- انتشار یک سرور ترکیبی Niri با استفاده از Wayland و ارائه یک روش طرحبندی کاشیکاری که پنجرهها را در یک نوار پیمایش بیپایان روی صفحه گروهبندی میکند.
- بهروزرسانی مجموعه پروتکلها و برنامههای افزودنی Wayland-Protocols: 1.34، 1.33، 1.32، 1.35.
- توسعه یک کتابخانه SDL3 که به طور پیش فرض از Wayland استفاده می کند.
- انتشار محیط دسکتاپ LXQt 2.0.0 با پشتیبانی Wayland در مدیریت فایل PCManFM-Qt، سیستم اطلاع رسانی، دسکتاپ، Runner، پنل، رابط خروج از سیستم، رابط پیکربندی LXQt و اکثر برنامه ها.
- انتشار محیط کاربری Sway 1.9 با استفاده از Wayland.
- مدیر کامپوزیت جدید miracle-wm بر اساس Wayland و اجزای سازنده مدیران کامپوزیت Mir.
- موزه لوور، کتابخانهای جدید برای توسعه کامپوزیتها سرورها بر اساس ویلند.
- کار بر روی پیاده سازی پشتیبانی Wayland در Xfce.
- پشتیبانی اولیه از Wayland در محیط دسکتاپ Budgie.
- پشتیبانی اولیه از Wayland در محیط دسکتاپ Cinnamon.
- انتقال دسکتاپ MATE به Wayland تقریباً کامل شده است.
- توزیع لubuntu به استفاده از Qt 6 و Wayland تغییر میدهد.
- KDE 6 یک جلسه پیش فرض ارائه می دهد که از پروتکل Wayland استفاده می کند. پشتیبانی از برنامه های افزودنی Wayland برای مدیریت رنگ.
- حالت دکوراسیون پنجره برای Wayland در پلت فرم Electron فعال است.
- به روز رسانی سرور کامپوزیت Wayfire که از Wayland استفاده می کند و به شما امکان می دهد رابط های کاربری با جلوه های سه بعدی به سبک پلاگین های سه بعدی برای Compiz ایجاد کنید.
- پشتیبانی Wayland در IntelliJ و OpenJDK IDE.
- پشتیبانی Wayland در ویرایشگر متن گنو Emacs.
- جلسه مبتنی بر Wayland گنوم شامل پشتیبانی از سوئیچ KVM نرم افزار Input Leap است که به شما امکان می دهد از یک صفحه کلید و ماوس برای کنترل چندین رایانه استفاده کنید.
- نسخه دسکتاپ KDE فدورا پشتیبانی از جلسه مبتنی بر X11 در توزیع پایه را متوقف کرده است.
- پشتیبانی بهبود یافته از محیط های مبتنی بر Wayland در درایورهای اختصاصی NVIDIA.
- درایوری پیاده سازی شده است که به شما امکان می دهد بدون استفاده از اجزای XWayland و X11 از Wine در محیط های مبتنی بر پروتکل Wayland استفاده کنید.
- سرور کامپوزیت Weston 13.0 منتشر شد.
- یک توزیع ویژه Live به نام Rebecca Black برای آزمایش عملکرد KDE، GNOME، Enlightenment، Wayfire، Mir، Xfce و Sway در Wayland منتشر میشود. Linux.
- В Linuxنسخههای فایرفاکس اکنون به طور پیشفرض از سرور ترکیبی Wayland به جای XWayland استفاده میکنند. اکنون امکان ایجاد نسخههایی که منحصراً از Wayland پشتیبانی میکنند، در دسترس است.
بیایید به یاد بیاوریم که Wayland یک پروتکل برای تعامل بین یک سرور کامپوزیت و برنامه های کاربردی است که با آن کار می کنند. کلاینتها ویندوزهای خود را در یک بافر جداگانه ارائه میکنند و بهروزرسانیها را به سرور ترکیبی ارسال میکنند، که محتویات بافرهای برنامه جداگانه را ترکیب میکند تا یک خروجی نهایی تولید کند که تفاوتهای ظریف احتمالی مانند همپوشانی پنجره و شفافیت را در نظر میگیرد. به عبارت دیگر، سرور کامپوزیت یک API برای رندر کردن عناصر جداگانه ارائه نمیکند، بلکه فقط روی پنجرههای از قبل تشکیلشده کار میکند، که به شما امکان میدهد هنگام استفاده از کتابخانههای سطح بالا مانند GTK و Qt از شر بافر مضاعف خلاص شوید. کار ترکیب کردن محتویات ویندوز
Wayland بسیاری از مشکلات امنیتی X11 را با جداسازی ورودی و خروجی بر اساس هر پنجره، جلوگیری از دسترسی کلاینت به محتویات پنجره های دیگر کلاینت ها و جلوگیری از رهگیری رویدادهای ورودی مرتبط با پنجره های دیگر حل می کند. در حال حاضر، پشتیبانی از کار مستقیم با Wayland قبلاً برای کتابخانههای GTK، Qt، SDL (شروع با نسخه 2.0.2)، Clutter و EFL (کتابخانه بنیاد روشنگری) اجرا شده است. با شروع Qt 5.4، ماژول QtWayland با اجرای کامپوننت هایی برای اجرای برنامه های Qt در محیط سرور کامپوزیت Weston که توسط پروژه Wayland توسعه یافته است، گنجانده شده است.
تعامل با سختافزار در Wayland/Weston، مانند مقداردهی اولیه، تغییر حالت ویدئو (تنظیمات DRM) و مدیریت حافظه (GEM برای i915 و TTM برای Radeon و Nouveau) برای کارتهای گرافیک، میتواند مستقیماً از طریق یک ماژول سطح هسته انجام شود و نیاز به امتیازات کاربر ارشد را از بین ببرد. سرور کامپوزیت Weston میتواند بدون تکیه صرف بر ماژول DRM هسته عمل کند. Linux، بلکه علاوه بر X11، یک سرور کامپوزیت Wayland دیگر، یک فریم بافر و RDP نیز وجود دارد. علاوه بر این، پروژههایی در حال انجام است تا امکان کار بر روی پشته گرافیکی پلتفرم را فراهم کند. Android.
پروژه وستون در حال توسعه پیادهسازی یک سرور مرکب است. هر محصول دیگری که از پروتکل Wayland پشتیبانی کند، میتواند به عنوان یک سرور مرکب نیز عمل کند. به عنوان مثال، در حال حاضر کار برای پشتیبانی از Wayland در KWin در حال انجام است. در شکل فعلی خود، وستون فراتر از مجموعهای از مثالها برای آزمایش پروتکل Wayland گسترش یافته است و میتواند از طریق افزونهها و افزونهها، قابلیتهای بیشتری را به دست آورد. پیشنهاد میشود رابطهای کاربری و ویژگیهای مدیریت پنجره پیشرفته به عنوان backendهای خارجی در وستون پیادهسازی شوند. برای اطمینان از اجرای برنامههای استاندارد X11 در یک محیط مبتنی بر Wayland، از مؤلفه DDX XWayland (Device-Dependent X) استفاده میشود که از نظر عملکرد مشابه Xwin و Xquartz برای Win32 و macOS.


منبع: opennet.ru
