انتشار Wayland-Protocols 1.49

بسته wayland-protocols نسخه ۱.۴۸ منتشر شده است که شامل مجموعه‌ای از پروتکل‌ها و افزونه‌هایی است که پروتکل اصلی Wayland را تکمیل می‌کنند و قابلیت‌های لازم برای ساخت سرورهای ترکیبی و محیط‌های کاربری را فراهم می‌کنند.

در نسخه های جدید:

  • Добавлен экспериментальный протокол xx-fractional-scale, предоставляющий возможность масштабирования системы логических координат, значения в которой задаются целыми числами, для повышения точности позиционирования и увеличения разрешения логических координат до отдельных пикселей. Подобная возможность решает проблему с ограниченным разрешением системы логических координат, недостаточным для позиционирования на уровне отдельных пикселей, необходимого для полноценной реализации дробного масштабирования.
  • В протокол «linux-dmabuf» добавлена поддержка работы на системах с несколькими GPU. На подобных системах клиент может согласовать с композитными сервером какой из GPU следует использовать.
  • В протокол color-management-v1 добавлена поддержка метаданных изображений в формате BT.2100 для применения в композитном сервере специфичных обработчиков, позволяющих корректно отображать HDR-контент, созданный для Windows.

همه پروتکل ها به طور متوالی مراحل توسعه، آزمایش و تثبیت را طی می کنند. پس از اتمام مرحله توسعه (دسته ناپایدار)، پروتکل در شاخه مرحله بندی قرار می گیرد و به طور رسمی در مجموعه wayland-protocols قرار می گیرد و پس از اتمام تست، به دسته پایدار منتقل می شود. پروتکل‌های دسته «مرحله‌سازی» را می‌توان در سرورها و کلاینت‌های ترکیبی که در آن عملکردهای مرتبط مورد نیاز است، استفاده کرد. برخلاف دسته «ناپایدار»، در «مرحله‌سازی» انجام تغییراتی که سازگاری را نقض می‌کند ممنوع است، اما اگر مشکلات و کاستی‌ها در حین آزمایش شناسایی شود، جایگزینی با نسخه قابل توجه جدید پروتکل یا افزونه Wayland دیگر مستثنی نیست.

برای سرعت بخشیدن به تحویل پروتکل ها به توسعه دهندگان و تشویق اجرای زودهنگام پروتکل ها در پروژه های موجود، با شروع نسخه قبلی، یک مرحله "تجربی" اضافه شد که امکان تغییراتی را فراهم می کند که سازگاری را از بین می برد و پروتکل های "خام" را اضافه می کند که می تواند به تدریج به سطح مناسب برسد. در حالی که یک پروتکل برای ورود به مرحله مرحله بندی نیاز به تشکیل یک تیم پشتیبانی و دریافت تعداد معینی قدردانی (ACK) از بازبینان دارد، اما برای ورود به مرحله آزمایشی تنها نیازی به دریافت هیچ اعتراضی (NACK) در طول دوره بررسی دو هفته ای ندارد.

مجموعه wayland-protocols در حال حاضر شامل پروتکل‌های پایدار زیر می‌شود که سازگار با عقب هستند:

  • "نمایشگر" - به مشتری اجازه می دهد تا اقدامات پوسته پوسته شدن و برش لبه سطح را در سمت سرور انجام دهد.
  • "زمان ارائه" - نمایش ویدئو را فراهم می کند.
  • "xdg-shell" رابطی برای ایجاد و تعامل با سطوح به عنوان پنجره است که به شما امکان می دهد آنها را در صفحه حرکت دهید، جمع کنید، گسترش دهید، اندازه را تغییر دهید و غیره.
  • "linux-dmabuf" - قابلیت هایی را برای ایجاد wl_buffer بر اساس DMA-BUF فراهم می کند.
  • "تبلت" - سازماندهی ورودی از تبلت های گرافیکی.

پروتکل های آزمایش شده در شاخه "مرحله سازی":

  • drm-lease - منابع لازم برای تولید یک تصویر استریو با بافرهای مختلف برای چشم چپ و راست هنگام خروجی به هدست واقعیت مجازی را فراهم می کند.
  • "ext-session-lock" - وسیله ای برای قفل کردن یک جلسه تعریف می کند، به عنوان مثال، در حالی که محافظ صفحه در حال اجرا است یا گفتگوی احراز هویت نمایش داده می شود.
  • "single-pixel-buffer" - به شما امکان می دهد بافرهای تک پیکسلی ایجاد کنید که شامل چهار مقدار RGBA 32 بیتی است.
  • «xdg-activation» — позволяет передать фокус между разными поверхностями первого уровня (например, при помощи
    xdg-activation одно приложение может переключить фокус на другое).
  • content-type - به مشتریان اجازه می دهد تا اطلاعات مربوط به محتوای نمایش داده شده را به سرور ترکیبی منتقل کنند، که می تواند برای بهینه سازی رفتار آگاهانه از محتوا، مانند تنظیم ویژگی های خاص DRM مانند "نوع محتوا" استفاده شود. پشتیبانی از انواع محتوای زیر اعلام شده است: هیچ (بدون اطلاعات در مورد نوع داده)، عکس (خروجی عکس های دیجیتال، نیاز به حداقل پردازش)، ویدئو (فیلم یا انیمیشن، هماهنگ سازی دقیق تر برای جلوگیری از لکنت مورد نیاز است) و بازی (راه اندازی بازی ها، خروجی از حداقل تاخیر).
  • ext-idle-notify - به سرورهای ترکیبی اجازه می‌دهد تا اعلان‌هایی را درباره عدم فعالیت کاربر به کلاینت‌ها ارسال کنند، که می‌توان از آن برای فعال کردن حالت‌های ذخیره انرژی اضافی پس از زمان معینی از عدم فعالیت استفاده کرد.
  • کنترل پارگی - به شما امکان می دهد همگام سازی عمودی (VSync) را با یک پالس میرایی عمودی در برنامه های تمام صفحه غیرفعال کنید که برای محافظت در برابر پاره شدن خروجی استفاده می شود. در برنامه های چند رسانه ای، مصنوعات ناشی از پارگی یک اثر نامطلوب است، اما در برنامه های بازی، اگر برخورد با آنها باعث تاخیر اضافی شود، می توان آن ها را تحمل کرد.
  • ext-foreign-toplevel-list - اطلاعاتی را در مورد سطوح قرار داده شده در سطح بالا بازیابی می کند، که به شما امکان می دهد پنجره ها را سازماندهی کنید تا روی محتوای دیگر قرار بگیرند، به عنوان مثال، پانل ها و کلیدهای پنجره خود را متصل کنید.
  • Security-Context - به شما امکان می دهد مشتریان را با استفاده از جداسازی جعبه شنی شناسایی کنید. یک کلاینت می تواند یک اتصال جدید به یک سرور ترکیبی مبتنی بر Wayland ثبت کند و یک زمینه امنیتی را به آن ضمیمه کند، پس از آن مدیر ترکیبی قابلیت های موجود برای اتصال ایجاد شده را بر اساس زمینه امنیتی مشخص شده محدود می کند.
  • شکل مکان نما یک روش جایگزین برای سفارشی کردن ظاهر مکان نما است که بر اساس ارسال یک سری تصاویر مکان نما به جای ضربه زدن به یک سطح (wl_surface) است.
  • "صندلی گذرا" - برای ایجاد جلسات مستقل موقت (صندلی) طراحی شده برای استفاده با دستگاه های ورودی مجازی. به عنوان مثال، هنگام پیاده سازی قابلیت اتصال به دسکتاپ از راه دور، این پروتکل به شما اجازه می دهد تا یک جلسه جداگانه برای هر کاربر با صفحه کلید و ماوس مجازی ایجاد کنید.
  • "xdg-toplevel-drag" - مکانیسم "کشیدن و رها کردن" را با قابلیت پیوست کردن پنجره های سطح بالا به عملیات کشیدن گسترش می دهد، که می تواند به عنوان مثال برای سازماندهی کشیدن نوار ابزار یا برگه های مرورگر با ماوس استفاده شود. پروتکل جدید به شما این امکان را می‌دهد که بخش‌های جداشدنی از یک پنجره را ایجاد کنید که وقتی از آن پنجره کشیده می‌شوند، به پنجره‌های جدید تبدیل می‌شوند و می‌توانند قبل از پیوست شدن مجدد به بالای پنجره موجود منتقل شوند.
  • "xdg-dialog" - به شما امکان می دهد ویژگی های خاص گفتگو را به سطوح سطح بالا اختصاص دهید، به عنوان مثال، می توانید گفتگوهای مودال ایجاد کنید که تعامل کاربر با بقیه رابط را مسدود می کند.
  • "linux-drm-syncobj" - ابزارهایی را برای همگام سازی بافر صریح با استفاده از اشیاء همگام سازی DRM (مدیر رندر مستقیم) فراهم می کند. فرض بر این است که در زمینه همگام سازی هنگام ارائه به بافر، پروتکل پیشنهادی کار با درایورهای مبتنی بر APIهای گرافیکی Vulkan و OpenGL را بهبود می بخشد (پیاده سازی بر اساس کنترل کننده ها در درایورها است). پروتکل جدید این امکان را فراهم می کند که اطمینان حاصل شود که عملیات ترسیم به یک بافر قبل از اینکه مدیر ترکیب آن بافر را نمایش دهد، کامل شده است.
  • alpha-modifier، که به کلاینت‌ها اجازه می‌دهد تا سطح شفافیت سطح را تغییر دهند و عملیات انتقال را برای اطمینان از شفافیت به سمت سرور مرکب، که به نوبه خود می‌تواند این عملیات را به KMS هدایت کند.
  • xdg-toplevel-icon - نماد را به پنجره سطح بالا متصل می کند.
  • ext-image-capture-source و ext-image-copy-capture - سازماندهی ضبط محتوای نمایش داده شده روی صفحه.
  • xdg-system-bell - به شما امکان می دهد یک سیگنال سیستم را صادر کنید، که می تواند به عنوان مثال به عنوان یک هشدار در یک شبیه ساز ترمینال استفاده شود. شکل خروجی سیگنال به صلاحدید مدیر کامپوزیت تعیین می شود که می تواند نه تنها یک صدا، بلکه یک پاسخ بصری باشد.
  • fifo - مکانیزم FIFO (اولین ورود، اولین خروج) را برای پردازش صف به روز رسانی محتوا در سطح نمایش داده شده پیاده سازی می کند. از جنبه عملی، این پروتکل به خروجی اجازه می دهد تا از انتظار برای تکمیل اسکن عمودی (vblank) به جای استفاده از تماس های برگشتی هر بار که آماده نمایش یک فریم جدید است استفاده کند، که مشکل بار بالای GPU در هنگام استفاده از VSync را حل می کند.
  • commit-timing - به شما امکان می دهد یک محدودیت زمانی را به محتوای سطحی متصل کنید (سرور کامپوزیت باید تغییر محتوا را در صورت امکان پس از زمان مشخص شده منعکس کند، اما نه زودتر).
  • ext-data-control - به مشتریان ممتاز اجازه می دهد تا پردازش داده ها را کنترل کنند، به عنوان مثال برای پیاده سازی مدیران کلیپ بورد.
  • ext-workspace - مفهوم دسکتاپ مجازی را پیاده سازی می کند و رویدادهایی را با اطلاعاتی در مورد وضعیت دسکتاپ ها و همچنین قابلیت های فعال سازی و غیرفعال کردن دسکتاپ ها ارائه می دهد. از این پروتکل می توان برای ایجاد پنل ها و نشانگرهایی استفاده کرد که لیستی از دسکتاپ های مجازی موجود را نمایش می دهد و به شما امکان می دهد بین آنها جابجا شوید.
  • مدیریت رنگ - قابلیت هایی را برای مدیریت رنگ و پشتیبانی از دامنه دینامیکی گسترده روشنایی (HDR، محدوده دینامیکی بالا) فراهم می کند. با افزونه افزوده شده، برنامه‌های سرویس گیرنده می‌توانند اطلاعاتی در مورد ویژگی‌های مربوط به رنگ دستگاه‌های خروجی به دست آورند و داده‌های مربوط به ویژگی‌های مربوط به رنگ محتوای خود را به سرور ترکیبی ارسال کنند. در یک سرور کامپوزیت، این اطلاعات می تواند برای مدیریت خودکار رنگ هنگام نمایش محتوا در دستگاه های خروجی مختلف، به عنوان مثال برای تبدیل محتوا به یک نمایش مناسب برای نمایش در مانیتورهای HDR استفاده شود. پروفایل های ICC برای توصیف فضاهای رنگی استفاده می شود.
  • xdg-toplevel-tag — به کلاینت‌های Wayland اجازه می‌دهد تا تگ‌هایی را به سطوح سطح بالا الصاق کنند که سرور ترکیب‌کننده می‌تواند پس از راه‌اندازی مجدد برنامه، از آنها برای شناسایی پنجره‌ها استفاده کند (برای مثال، یک برنامه ممکن است تگ‌های «پنجره اصلی» و «تنظیمات» را برای پنجره اصلی و پنجره تنظیمات تنظیم کند). چنین شناسایی برای بازیابی موقعیت، اندازه و ویژگی‌های پنجره‌ها پس از راه‌اندازی مجدد و برای تعریف قوانین ویژه برای انواع مختلف پنجره‌ها مفید است.
  • نمایش رنگ — نمایش رنگ سطح Wayland را تعریف می‌کند. کلاینت‌های Wayland می‌توانند فراداده‌های مورد نیاز برای تعریف شفافیت، مدل رنگ، نمونه‌برداری فرعی و محدوده کوانتیزاسیون را ارسال کنند و هنگام تبدیل یک بافر با داده‌های مربوط به مدل رنگ YCbCr به نمایش RGB استفاده شوند.
  • افکت پس‌زمینه‌ی اضافی - جلوه‌هایی را روی قسمت‌های نیمه‌شفاف یک سطح Wayland اعمال می‌کند، مانند تار کردن پس‌زمینه.
  • pointer-warp - به یک برنامه اجازه می‌دهد تا فوراً اشاره‌گر را به موقعیت مشخص شده منتقل کند.
  • xdg-session-management — возможности для восстановления состояния и позиции окон прерванного сеанса, например, после аварийного завершения композитного сервера или приложения.

پروتکل‌های در حال توسعه در شاخه تجربی:

  • xx-session-management - وضعیت پنجره‌ها را برای جلسات قطع‌شده (مثلاً پس از خرابی مدیر کامپوزیت) بازیابی می‌کند.
  • xx-input-method — به برنامه‌ها اجازه می‌دهد تا روش‌های ورودی متن را برای سرورهای ترکیبی پیاده‌سازی کرده و متن وارد شده را تولید کنند، که می‌تواند برای مثال برای ایجاد صفحه‌کلیدهای مجازی و لایه‌های IME (ویرایشگر روش ورودی) برای پردازش ورودی استفاده شود.
  • xx-text-input — به سرورهای ترکیبی اجازه می‌دهد تا روش‌های ورودی را پیاده‌سازی کرده و متن را به برنامه‌ها ارسال کنند. این پروتکل تعاملات بین سرورهای ترکیبی و برنامه‌ها را استانداردسازی می‌کند و امکان کنترل ویژگی‌هایی مانند انتقال متن ورودی، مدیریت رویدادهای فوکوس ورودی و در نظر گرفتن مشخصات فیلد ورودی (زبان، انتخاب متن، نوع محتوا) را فراهم می‌کند.
  • xx-cutouts — для получения информации о вырезах на экране (например, области под фронтальную камеру на экране смартфона).
  • xx-zones — для создания и добавления окон верхнего уровня в «зоны» — окружения со своим пространством координат. Протокол позволяет организовать логическую расстановку окон, в которой каждое окно размещается относительно другого окна.
  • xx-keyboard-filter — для перехвата клиентом выбранных событий клавиатуры, изменения событий ввода или блокирования передачи определённых событий в Wayland-поверхность, на которой установлен фокус ввода.

پروتکل های در حال توسعه در شاخه "ناپایدار":

  • "پوسته تمام صفحه" - کنترل کار در حالت تمام صفحه.
  • "روش ورودی" - پردازش روش های ورودی.
  • "Idle-inhibit" - مسدود کردن راه اندازی محافظ صفحه (محافظ صفحه).
  • "input-timestamps" - مهر زمانی برای رویدادهای ورودی.
  • "keyboard-shortcuts-inhibit" - پیوست میانبرهای صفحه کلید و کلیدهای میانبر را کنترل می کند.
  • «همگام‌سازی صریح لینوکس» مختص به ... است. Linux مکانیسمی برای هماهنگ‌سازی بافرها نسبت به سطح.
  • "اشاره های اشاره گر" - کنترل از صفحه نمایش لمسی.
  • "محدودیت های اشاره گر" - محدودیت های اشاره گر (مسدود کردن).
  • "انتخاب اولیه" - بر اساس قیاس با X11، عملکرد کلیپ بورد اولیه (انتخاب اولیه) را تضمین می کند، اطلاعاتی که معمولاً از آن با دکمه وسط ماوس درج می شود.
  • "رویدادهای اشاره گر نسبی" - رویدادهای اشاره گر نسبی.
  • "ورودی متن" - سازماندهی ورودی متن.
  • "xdg-foreign" یک رابط برای تعامل با سطوح مشتری "همسایه" است.
  • "xdg-decoration" - ارائه تزئینات پنجره در سمت سرور.
  • "xdg-output" - اطلاعات اضافی در مورد خروجی ویدئو (برای مقیاس بندی کسری استفاده می شود).
  • "xwayland-keyboard-grab" - ورودی را در برنامه های XWayland ضبط کنید.

منبع: opennet.ru

خرید هاست قابل اعتماد برای سایت های دارای حفاظت DDoS، سرورهای VPS VDS 🔥 خرید هاستینگ معتبر با محافظت در برابر حملات DDoS، سرورهای VPS و VDS | ProHoster