Wayland-protocols پیکیج 1.49 جاری کیا گیا ہے، جس میں پروٹوکولز اور ایکسٹینشنز کا ایک سیٹ شامل ہے جو بنیادی Wayland پروٹوکول کی تکمیل کرتے ہیں اور جامع سرورز اور صارف کے ماحول کو بنانے کے لیے درکار صلاحیتیں فراہم کرتے ہیں۔
نئے ورژن میں:
- Добавлен экспериментальный протокол xx-fractional-scale, предоставляющий возможность масштабирования системы логических координат, значения в которой задаются целыми числами, для повышения точности позиционирования и увеличения разрешения логических координат до отдельных пикселей. Подобная возможность решает проблему с ограниченным разрешением системы логических координат, недостаточным для позиционирования на уровне отдельных пикселей, необходимого для полноценной реализации дробного масштабирования.
- В протокол «linux-dmabuf» добавлена поддержка работы на системах с несколькими GPU. На подобных системах клиент может согласовать с композитными сервером какой из GPU следует использовать.
- В протокол color-management-v1 добавлена поддержка метаданных изображений в формате BT.2100 для применения в композитном сервере специфичных обработчиков, позволяющих корректно отображать HDR-контент, созданный для Windows.
تمام پروٹوکول ترتیب وار ترقی، جانچ اور استحکام کے مراحل سے گزرتے ہیں۔ ترقی کے مرحلے ("غیر مستحکم" زمرہ) کو مکمل کرنے کے بعد، پروٹوکول کو "اسٹیجنگ" برانچ میں رکھا جاتا ہے اور سرکاری طور پر وے لینڈ پروٹوکول سیٹ میں شامل کیا جاتا ہے، اور جانچ مکمل ہونے کے بعد، اسے مستحکم زمرے میں منتقل کر دیا جاتا ہے۔ "اسٹیجنگ" زمرے کے پروٹوکول پہلے سے ہی جامع سرورز اور کلائنٹس میں استعمال کیے جا سکتے ہیں جہاں متعلقہ فعالیت کی ضرورت ہوتی ہے۔ "غیر مستحکم" زمرے کے برعکس، "اسٹیجنگ" میں ایسی تبدیلیاں کرنا ممنوع ہے جو مطابقت کی خلاف ورزی کرتی ہیں، لیکن اگر جانچ کے دوران مسائل اور کوتاہیوں کی نشاندہی کی جاتی ہے، تو پروٹوکول کے نئے اہم ورژن یا کسی اور Wayland ایکسٹینشن سے تبدیلی کو خارج نہیں کیا جائے گا۔
ڈیولپرز کو پروٹوکولز کی فراہمی کو تیز کرنے اور موجودہ پروجیکٹس میں پروٹوکول کے جلد نفاذ کی حوصلہ افزائی کے لیے، پچھلی ریلیز سے شروع کرتے ہوئے، ایک "تجرباتی" مرحلہ شامل کیا گیا، جو مطابقت کو توڑنے والی تبدیلیوں اور "کچے" پروٹوکول کے اضافے کی اجازت دیتا ہے جنہیں بتدریج مناسب سطح پر لایا جا سکتا ہے۔ اگرچہ ایک پروٹوکول کو اسٹیجنگ مرحلے میں داخل ہونے کے لیے ایک سپورٹ ٹیم بنانے اور جائزہ لینے والوں سے ایک مخصوص تعداد میں اعترافات (ACKs) حاصل کرنے کی ضرورت ہوتی ہے، اسے تجرباتی مرحلے میں داخل ہونے کے لیے صرف دو ہفتے کے جائزے کی مدت کے دوران کوئی اعتراضات (NACKs) حاصل کرنے کی ضرورت ہوتی ہے۔
Wayland-protocols سوٹ میں فی الحال درج ذیل مستحکم پروٹوکول شامل ہیں، جو پسماندہ مطابقت رکھتے ہیں:
- "viewporter" - کلائنٹ کو سرور کی طرف اسکیلنگ اور سرفیس ایج ٹرمنگ کے اعمال انجام دینے کی اجازت دیتا ہے۔
- "پریزنٹیشن ٹائم" - ویڈیو ڈسپلے فراہم کرتا ہے۔
- "xdg-shell" سطحوں کو ونڈوز کے طور پر بنانے اور ان کے ساتھ تعامل کرنے کا ایک انٹرفیس ہے، جس سے آپ انہیں اسکرین کے گرد منتقل کر سکتے ہیں، گر سکتے ہیں، پھیل سکتے ہیں، سائز تبدیل کر سکتے ہیں، وغیرہ۔
- "linux-dmabuf" - DMA-BUF کی بنیاد پر wl_buffers بنانے کی صلاحیت فراہم کرتا ہے۔
- "ٹیبلیٹ" - گرافک ٹیبلٹس سے ان پٹ کی تنظیم۔
"اسٹیجنگ" برانچ میں جانچے گئے پروٹوکول:
- drm-lease - ورچوئل رئیلٹی ہیڈ سیٹس پر آؤٹ پٹ کرتے وقت بائیں اور دائیں آنکھوں کے لیے مختلف بفرز کے ساتھ سٹیریو امیج بنانے کے لیے ضروری وسائل فراہم کرتا ہے۔
- "ext-session-lock" - سیشن کو لاک کرنے کا ایک ذریعہ بیان کرتا ہے، مثال کے طور پر، جب اسکرین سیور چل رہا ہو یا تصدیقی ڈائیلاگ ظاہر ہو۔
- "سنگل-پکسل-بفر" - آپ کو سنگل پکسل بفر بنانے کی اجازت دیتا ہے جس میں چار 32-بٹ RGBA ویلیوز شامل ہیں۔
- «xdg-activation» — позволяет передать фокус между разными поверхностями первого уровня (например, при помощи
xdg-activation одно приложение может переключить фокус на другое). - مواد کی قسم - کلائنٹس کو جامع سرور پر دکھائے جانے والے مواد کے بارے میں معلومات منتقل کرنے کی اجازت دیتا ہے، جس کا استعمال مواد سے آگاہی کے رویے کو بہتر بنانے کے لیے کیا جا سکتا ہے، جیسے کہ "مواد کی قسم" جیسی مخصوص DRM خصوصیات کو ترتیب دینا۔ مندرجہ ذیل مواد کی اقسام کے لیے سپورٹ کا اعلان کیا گیا ہے: کوئی نہیں (ڈیٹا کی قسم کے بارے میں کوئی معلومات نہیں ہے)، تصویر (ڈیجیٹل تصاویر کا آؤٹ پٹ، کم سے کم پروسیسنگ کی ضرورت ہے)، ویڈیو (ویڈیو یا اینیمیشن، ہنگامہ آرائی سے بچنے کے لیے زیادہ درست مطابقت پذیری کی ضرورت ہے) اور گیم (لانچنگ) کھیل، کم سے کم تاخیر سے آؤٹ پٹ)۔
- ext-idle-notify - جامع سرورز کو صارف کی غیرفعالیت کے بارے میں کلائنٹس کو اطلاعات بھیجنے کی اجازت دیتا ہے، جس کا استعمال غیرفعالیت کے ایک مخصوص وقت کے بعد اضافی بجلی کی بچت کے طریقوں کو فعال کرنے کے لیے کیا جا سکتا ہے۔
- ٹیئرنگ کنٹرول - آپ کو فل سکرین ایپلی کیشنز میں عمودی ڈیمپنگ پلس کے ساتھ عمودی مطابقت پذیری (VSync) کو غیر فعال کرنے کی اجازت دیتا ہے، جو آؤٹ پٹ میں پھٹنے سے بچانے کے لیے استعمال ہوتا ہے۔ ملٹی میڈیا ایپلی کیشنز میں، پھاڑنے کی وجہ سے نمونے ایک ناپسندیدہ اثر ہیں، لیکن گیمنگ پروگراموں میں، نمونے کو برداشت کیا جا سکتا ہے اگر ان سے نمٹنے میں اضافی تاخیر ہوتی ہے۔
- ext-foreign-toplevel-list - اوپر کی سطح پر رکھی ہوئی سطحوں کے بارے میں معلومات حاصل کرتی ہے، جو آپ کو دوسرے مواد کے اوپری حصے پر ڈوک کرنے کے لیے ونڈوز کو منظم کرنے کی اجازت دیتی ہے، مثال کے طور پر، آپ کے اپنے پینلز اور ونڈو سوئچز کو منسلک کرنے کے لیے۔
- سیکیورٹی سیاق و سباق - آپ کو سینڈ باکس تنہائی کا استعمال کرتے ہوئے کلائنٹس کی شناخت کرنے کی اجازت دیتا ہے۔ ایک کلائنٹ Wayland پر مبنی کمپوزٹ سرور کے ساتھ ایک نیا کنکشن رجسٹر کر سکتا ہے اور اس کے ساتھ ایک سیکورٹی سیاق و سباق منسلک کر سکتا ہے، جس کے بعد کمپوزٹ مینیجر مخصوص سیکورٹی سیاق و سباق کی بنیاد پر قائم کنکشن کے لیے دستیاب صلاحیتوں کو محدود کر دے گا۔
- کرسر کی شکل کرسر کی ظاہری شکل کو اپنی مرضی کے مطابق کرنے کا ایک متبادل طریقہ ہے، جس کی بنیاد کسی سطح (wl_surface) پر چھیننے کے بجائے کرسر کی تصاویر کی ایک سیریز کو منتقل کرنے پر مبنی ہے۔
- "ext-transient-seat" - عارضی آزاد سیشن (سیٹیں) بنانے کے لیے ڈیزائن کیا گیا ہے جو ورچوئل ان پٹ ڈیوائسز کے ساتھ استعمال کے لیے ڈیزائن کیا گیا ہے۔ مثال کے طور پر، ریموٹ ڈیسک ٹاپ سے جڑنے کی صلاحیت کو نافذ کرتے وقت، پروٹوکول آپ کو ورچوئل کی بورڈ اور ماؤس کے ساتھ ہر صارف کے لیے الگ سیشن بنانے کی اجازت دیتا ہے۔
- "xdg-toplevel-drag" - ڈریگ آپریشن کے ساتھ ٹاپ لیول ونڈوز کو منسلک کرنے کی صلاحیت کے ساتھ "ڈریگ اینڈ ڈراپ" میکانزم کو بڑھاتا ہے، جسے استعمال کیا جا سکتا ہے، مثال کے طور پر، ماؤس کے ساتھ ٹول بار یا براؤزر ٹیبز کو گھسیٹنے کو منظم کرنے کے لیے۔ نیا پروٹوکول آپ کو ونڈو کے الگ کرنے کے قابل حصوں کو بنانے کی اجازت دیتا ہے جو اس ونڈو سے گھسیٹنے پر، نئی ونڈو بن جاتے ہیں اور دوبارہ منسلک ہونے سے پہلے موجودہ ونڈو کے اوپر منتقل کیے جا سکتے ہیں۔
- "xdg-dialog" - آپ کو اعلی سطحی سطحوں پر ڈائیلاگ سے متعلق مخصوص خصوصیات تفویض کرنے کی اجازت دیتا ہے، مثال کے طور پر، آپ ایسے موڈل ڈائیلاگ بنا سکتے ہیں جو صارف کے بقیہ انٹرفیس کے ساتھ تعامل کو روکتے ہیں۔
- "linux-drm-syncobj" - DRM (Direct Rendering Manager) سنکرونائزیشن آبجیکٹ کا استعمال کرتے ہوئے واضح بفر سنکرونائزیشن کے لیے ٹولز فراہم کرتا ہے۔ یہ فرض کیا جاتا ہے کہ بفر کو پیش کرتے وقت مطابقت پذیری کے تناظر میں، مجوزہ پروٹوکول Vulkan اور OpenGL گرافکس APIs پر مبنی ڈرائیوروں کے ساتھ کام کو بہتر بنائے گا (عمل درآمد ڈرائیوروں میں ہینڈلرز پر مبنی ہے)۔ نیا پروٹوکول اس بات کو یقینی بناتا ہے کہ کمپوزٹنگ مینیجر اس بفر کو ظاہر کرنے سے پہلے بفر میں ڈرا آپریشن مکمل ہو جائے۔
- alpha-modifier، جو کلائنٹس کو سطح کی شفافیت کی سطح کو تبدیل کرنے اور کمپوزٹ سرور کے اطراف میں شفافیت کو یقینی بنانے کے لیے آپریشنز کو منتقل کرنے کی اجازت دیتا ہے، جس کے نتیجے میں ان آپریشنز کو KMS پر ری ڈائریکٹ کیا جا سکتا ہے۔
- xdg-toplevel-icon - آئیکن کو ٹاپ لیول ونڈو سے باندھیں۔
- ext-image-capture-source اور ext-image-copy-capture - اسکرین پر دکھائے جانے والے مواد کو کیپچر کرنے کی تنظیم۔
- xdg-system-bell - آپ کو سسٹم سگنل آؤٹ پٹ کرنے کی اجازت دیتا ہے، جسے استعمال کیا جا سکتا ہے، مثال کے طور پر، ٹرمینل ایمولیٹر میں وارننگ کے طور پر۔ سگنل آؤٹ پٹ کی شکل کا تعین جامع مینیجر کی صوابدید پر ہوتا ہے؛ یہ نہ صرف آواز بلکہ بصری ردعمل بھی ہو سکتا ہے۔
- fifo - ظاہر شدہ سطح کے مواد کی اپ ڈیٹ کی قطار پر کارروائی کرنے کے لیے FIFO (پہلے میں، پہلے باہر) میکانزم کو لاگو کرتا ہے۔ عملی طور پر، پروٹوکول آؤٹ پٹ کو عمودی اسکیننگ مکمل ہونے کے انتظار میں استعمال کرنے کی اجازت دیتا ہے (vblank) ہر بار کال بیک کالز استعمال کرنے کے بجائے جب یہ ایک نیا فریم ڈسپلے کرنے کے لیے تیار ہوتا ہے، جو VSync استعمال کرتے وقت زیادہ GPU لوڈ کا مسئلہ حل کرتا ہے۔
- کمٹ ٹائمنگ - آپ کو سطحی مواد کے لیے ایک وقت کی حد کا پابند کرنے کی اجازت دیتا ہے (مجمع سرور کو مخصوص وقت کے بعد اگر ممکن ہو تو مواد کی تبدیلی کی عکاسی کرنی چاہیے، لیکن اس سے پہلے نہیں)۔
- ext-data-control - مراعات یافتہ کلائنٹس کو ڈیٹا پروسیسنگ کو کنٹرول کرنے کی اجازت دیتا ہے، مثال کے طور پر کلپ بورڈ مینیجرز کو لاگو کرنا۔
- ext-workspace - ورچوئل ڈیسک ٹاپس کے تصور کو نافذ کرتا ہے اور ڈیسک ٹاپس کی حیثیت کے بارے میں معلومات کے ساتھ ساتھ ڈیسک ٹاپس کو فعال اور غیر فعال کرنے کی صلاحیتوں کے ساتھ واقعات پیش کرتا ہے۔ پروٹوکول کا استعمال ایسے پینلز اور اشارے بنانے کے لیے کیا جا سکتا ہے جو دستیاب ورچوئل ڈیسک ٹاپس کی فہرست دکھاتے ہیں اور آپ کو ان کے درمیان سوئچ کرنے کی اجازت دیتے ہیں۔
- رنگ کا انتظام — رنگ کے انتظام کے لیے صلاحیتیں فراہم کرتا ہے اور برائٹنس کی توسیعی متحرک رینج (HDR، ہائی ڈائنامک رینج) کے لیے معاونت فراہم کرتا ہے۔ اضافی توسیع کے ساتھ، کلائنٹ ایپلی کیشنز آؤٹ پٹ ڈیوائسز کے رنگ سے متعلق خصوصیات کے بارے میں معلومات حاصل کر سکتی ہیں اور ان کے اپنے مواد کے رنگ سے متعلق خصوصیات کے بارے میں ڈیٹا کو کمپوزٹ سرور کو منتقل کر سکتی ہیں۔ ایک جامع سرور میں، یہ معلومات مختلف آؤٹ پٹ ڈیوائسز پر مواد کو ڈسپلے کرتے وقت رنگ کو خود بخود منظم کرنے کے لیے استعمال کیا جا سکتا ہے، مثال کے طور پر مواد کو HDR مانیٹر پر ڈسپلے کے لیے موزوں پریزنٹیشن میں تبدیل کرنے کے لیے۔ آئی سی سی پروفائلز رنگ کی جگہوں کو بیان کرنے کے لیے استعمال کیے جاتے ہیں۔
- xdg-toplevel-tag — Wayland کلائنٹس کو اعلی سطحی سطحوں پر ٹیگ منسلک کرنے کی اجازت دیتا ہے جسے کمپوزٹنگ سرور ایپلی کیشن کے دوبارہ شروع ہونے کے بعد ونڈوز کی شناخت کے لیے استعمال کر سکتا ہے (مثال کے طور پر، ایک ایپلیکیشن مین ونڈو اور سیٹنگز ونڈو کے لیے "مین ونڈو" اور "سیٹنگز" ٹیگز سیٹ کر سکتی ہے)۔ اس طرح کی شناخت دوبارہ شروع کرنے کے بعد ونڈوز کی پوزیشن، سائز، اور خصوصیات کو بحال کرنے اور ونڈوز کی انفرادی اقسام کے لیے خصوصی اصولوں کی وضاحت کے لیے مفید ہے۔
- رنگ کی نمائندگی - Wayland سطح کی رنگ کی نمائندگی کی وضاحت کرتا ہے۔ Wayland کلائنٹس شفافیت، کلر ماڈل، سب سیمپلنگ، اور کوانٹائزیشن رینج کی وضاحت کے لیے درکار میٹا ڈیٹا پاس کر سکتے ہیں، اور YCbCr کلر ماڈل سے متعلقہ ڈیٹا کے ساتھ بفر کو RGB نمائندگی میں تبدیل کرتے وقت استعمال کیا جا سکتا ہے۔
- ext-background-effect - Wayland کی سطح کے نیم شفاف حصوں پر اثرات کا اطلاق ہوتا ہے، جیسے کہ پس منظر کا دھندلا پن۔
- پوائنٹر وارپ - ایک ایپلیکیشن کو پوائنٹر کو فوری طور پر ایک مخصوص پوزیشن پر منتقل کرنے کی اجازت دیتا ہے۔
- xdg-session-management — возможности для восстановления состояния и позиции окон прерванного сеанса, например, после аварийного завершения композитного сервера или приложения.
تجرباتی شاخ میں پروٹوکول تیار کیے جا رہے ہیں:
- xx-session-management - رکاوٹ والے سیشنز کے لیے ونڈوز کی حالت کو بحال کرتا ہے (مثال کے طور پر، جامع مینیجر کے کریش کے بعد)۔
- xx-input-method — ایپلی کیشنز کو کمپوزٹ سرورز کے لیے ٹیکسٹ ان پٹ طریقوں کو لاگو کرنے اور درج کردہ ٹیکسٹ تیار کرنے کی اجازت دیتا ہے، جسے استعمال کیا جا سکتا ہے، مثال کے طور پر، ان پٹ پروسیسنگ کے لیے ورچوئل کی بورڈز اور IME (ان پٹ میتھڈ ایڈیٹر) پرتیں بنانے کے لیے۔
- xx-text-input — جامع سرورز کو ان پٹ طریقوں کو لاگو کرنے اور ایپلی کیشنز کو ٹیکسٹ بھیجنے کی اجازت دیتا ہے۔ پروٹوکول جامع سرورز اور ایپلیکیشنز کے درمیان تعاملات کو معیاری بناتا ہے اور ان پٹ ٹیکسٹ کی ترسیل، ان پٹ فوکس ایونٹس کو ہینڈل کرنے اور ان پٹ فیلڈ کی تفصیلات (زبان، متن کا انتخاب، مواد کی قسم) کو مدنظر رکھنے جیسی خصوصیات پر کنٹرول کی اجازت دیتا ہے۔
- xx-cutouts — для получения информации о вырезах на экране (например, области под фронтальную камеру на экране смартфона).
- xx-zones — для создания и добавления окон верхнего уровня в «зоны» — окружения со своим пространством координат. Протокол позволяет организовать логическую расстановку окон, в которой каждое окно размещается относительно другого окна.
- xx-keyboard-filter — для перехвата клиентом выбранных событий клавиатуры, изменения событий ввода или блокирования передачи определённых событий в Wayland-поверхность, на которой установлен фокус ввода.
"غیر مستحکم" برانچ میں پروٹوکول تیار کیے جا رہے ہیں:
- "فل سکرین شیل" - فل سکرین موڈ میں کام کا کنٹرول۔
- "input-method" - پروسیسنگ ان پٹ کے طریقے۔
- "idle-inhibit" - اسکرین سیور (اسکرین سیور) کے آغاز کو روکنا۔
- "input-timestamps" - ان پٹ واقعات کے لیے ٹائم اسٹیمپ۔
- "keyboard-shortcuts-inhibit" - کی بورڈ شارٹ کٹس اور ہاٹکیز کے اٹیچمنٹ کو کنٹرول کرتا ہے۔
- "linux-explicit- synchronization" کے لیے مخصوص ہے۔ Linux سطح کے سلسلے میں بفرز کو ہم آہنگ کرنے کا طریقہ کار۔
- "پوائنٹر-اشارے" - ٹچ اسکرینوں سے کنٹرول۔
- "پوائنٹر کی رکاوٹیں" - پوائنٹر کی رکاوٹیں (مسدود کرنا)۔
- "پرائمری سلیکشن" - X11 کے ساتھ مشابہت کے ساتھ، یہ پرائمری کلپ بورڈ (پرائمری سلیکشن) کے آپریشن کو یقینی بناتا ہے، جس سے معلومات عام طور پر ماؤس کے درمیانی بٹن کے ساتھ داخل کی جاتی ہیں۔
- "رشتہ دار پوائنٹر ایونٹس" - رشتہ دار پوائنٹر ایونٹس۔
- "ٹیکسٹ ان پٹ" - ٹیکسٹ ان پٹ کی تنظیم۔
- "xdg-foreign" "پڑوسی" کلائنٹ کی سطحوں کے ساتھ بات چیت کرنے کا ایک انٹرفیس ہے۔
- "xdg-decoration" - سرور کی طرف ونڈو کی سجاوٹ پیش کرنا۔
- "xdg-output" - ویڈیو آؤٹ پٹ کے بارے میں اضافی معلومات (فرکشنل اسکیلنگ کے لیے استعمال کیا جاتا ہے)۔
- "xwayland-keyboard-grab" - XWayland ایپلی کیشنز میں ان پٹ کیپچر کریں۔
ماخذ: opennet.ru
