वेयलैंड-प्रोटोकॉल पैकेज 1.49 जारी किया गया है, जिसमें प्रोटोकॉल और एक्सटेंशन का एक सेट शामिल है जो कोर वेयलैंड प्रोटोकॉल का पूरक है और कंपोजिट सर्वर और उपयोगकर्ता वातावरण बनाने के लिए आवश्यक क्षमताएं प्रदान करता है।
नये संस्करण में:
- Добавлен экспериментальный протокол xx-fractional-scale, предоставляющий возможность масштабирования системы логических координат, значения в которой задаются целыми числами, для повышения точности позиционирования и увеличения разрешения логических координат до отдельных пикселей. Подобная возможность решает проблему с ограниченным разрешением системы логических координат, недостаточным для позиционирования на уровне отдельных пикселей, необходимого для полноценной реализации дробного масштабирования.
- В протокол «linux-dmabuf» добавлена поддержка работы на системах с несколькими GPU. На подобных системах клиент может согласовать с композитными сервером какой из GPU следует использовать.
- В протокол color-management-v1 добавлена поддержка метаданных изображений в формате BT.2100 для применения в композитном сервере специфичных обработчиков, позволяющих корректно отображать HDR-контент, созданный для Windows.
सभी प्रोटोकॉल क्रमिक रूप से विकास, परीक्षण और स्थिरीकरण चरणों से गुजरते हैं। विकास चरण ("अस्थिर" श्रेणी) को पूरा करने के बाद, प्रोटोकॉल को "स्टेजिंग" शाखा में रखा जाता है और आधिकारिक तौर पर वेलैंड-प्रोटोकॉल सेट में शामिल किया जाता है, और परीक्षण पूरा होने के बाद, इसे स्थिर श्रेणी में ले जाया जाता है। "स्टेजिंग" श्रेणी के प्रोटोकॉल का उपयोग पहले से ही समग्र सर्वर और क्लाइंट में किया जा सकता है जहां संबंधित कार्यक्षमता की आवश्यकता होती है। "अस्थिर" श्रेणी के विपरीत, "स्टेजिंग" में अनुकूलता का उल्लंघन करने वाले परिवर्तन करना निषिद्ध है, लेकिन यदि परीक्षण के दौरान समस्याओं और कमियों की पहचान की जाती है, तो प्रोटोकॉल के एक नए महत्वपूर्ण संस्करण या किसी अन्य वेलैंड एक्सटेंशन के साथ प्रतिस्थापन को बाहर नहीं रखा जाता है।
डेवलपर्स को प्रोटोकॉल की डिलीवरी में तेजी लाने और मौजूदा परियोजनाओं में प्रोटोकॉल के शीघ्र कार्यान्वयन को प्रोत्साहित करने के लिए, पिछले रिलीज से शुरू करते हुए, एक "प्रायोगिक" चरण जोड़ा गया, जो संगतता को तोड़ने वाले परिवर्तनों और "कच्चे" प्रोटोकॉल को जोड़ने की अनुमति देता है, जिन्हें धीरे-धीरे उचित स्तर पर लाया जा सकता है। जबकि एक प्रोटोकॉल को स्टेजिंग चरण में प्रवेश करने के लिए एक सहायता टीम बनाने और समीक्षकों से एक निश्चित संख्या में पावती (ACK) प्राप्त करने की आवश्यकता होती है, प्रयोगात्मक चरण में प्रवेश करने के लिए इसे केवल दो सप्ताह की समीक्षा अवधि के दौरान कोई आपत्ति नहीं (NACK) प्राप्त करने की आवश्यकता होती है।
वेलैंड-प्रोटोकॉल सुइट में वर्तमान में निम्नलिखित स्थिर प्रोटोकॉल शामिल हैं, जो पश्चगामी संगत हैं:
- "व्यूपोर्टर" - क्लाइंट को सर्वर साइड पर स्केलिंग और सरफेस एज ट्रिमिंग क्रियाएं करने की अनुमति देता है।
- "प्रस्तुति-समय" - वीडियो प्रदर्शन प्रदान करता है।
- "xdg-shell" विंडोज़ के रूप में सतहों को बनाने और उनके साथ इंटरैक्ट करने के लिए एक इंटरफ़ेस है, जो आपको उन्हें स्क्रीन पर इधर-उधर ले जाने, संक्षिप्त करने, विस्तारित करने, आकार बदलने आदि की अनुमति देता है।
- "linux-dmabuf" - DMA-BUF पर आधारित wl_buffers बनाने की क्षमता प्रदान करता है।
- "टैबलेट" - ग्राफिक टैबलेट से इनपुट का संगठन।
"स्टेजिंग" शाखा में परीक्षण किए गए प्रोटोकॉल:
- डीआरएम-लीज़ - वर्चुअल रियलिटी हेडसेट पर आउटपुट करते समय बाईं और दाईं आंखों के लिए अलग-अलग बफ़र्स के साथ एक स्टीरियो छवि उत्पन्न करने के लिए आवश्यक संसाधन प्रदान करता है।
- "एक्सट-सेशन-लॉक" - एक सत्र को लॉक करने के साधन को परिभाषित करता है, उदाहरण के लिए, जब स्क्रीन सेवर चल रहा हो या प्रमाणीकरण संवाद प्रदर्शित हो।
- "एकल-पिक्सेल-बफ़र" - आपको एकल-पिक्सेल बफ़र्स बनाने की अनुमति देता है जिसमें चार 32-बिट आरजीबीए मान शामिल होते हैं।
- «xdg-activation» — позволяет передать фокус между разными поверхностями первого уровня (например, при помощи
xdg-activation одно приложение может переключить фокус на другое). - सामग्री-प्रकार - क्लाइंट को समग्र सर्वर पर प्रदर्शित होने वाली सामग्री के बारे में जानकारी देने की अनुमति देता है, जिसका उपयोग सामग्री-जागरूक व्यवहार को अनुकूलित करने के लिए किया जा सकता है, जैसे कि विशिष्ट DRM गुण जैसे "सामग्री प्रकार" सेट करना। निम्नलिखित सामग्री प्रकारों के लिए समर्थन घोषित किया गया है: कोई नहीं (डेटा प्रकार के बारे में कोई जानकारी नहीं), फोटो (डिजिटल फोटो का आउटपुट, न्यूनतम प्रसंस्करण की आवश्यकता है), वीडियो (वीडियो या एनीमेशन, हकलाने से बचने के लिए अधिक सटीक सिंक्रनाइज़ेशन की आवश्यकता है) और गेम (लॉन्चिंग) गेम, न्यूनतम विलंब से आउटपुट)।
- ext-idle-notify - समग्र सर्वर को उपयोगकर्ता निष्क्रियता के बारे में ग्राहकों को सूचनाएं भेजने की अनुमति देता है, जिसका उपयोग निष्क्रियता के एक निश्चित समय के बाद अतिरिक्त बिजली बचत मोड को सक्रिय करने के लिए किया जा सकता है।
- टियरिंग-कंट्रोल - आपको फ़ुल-स्क्रीन अनुप्रयोगों में वर्टिकल डंपिंग पल्स के साथ वर्टिकल सिंक्रोनाइज़ेशन (VSync) को अक्षम करने की अनुमति देता है, जिसका उपयोग आउटपुट में टियरिंग से बचाने के लिए किया जाता है। मल्टीमीडिया अनुप्रयोगों में, कलाकृतियों के फटने के कारण एक अवांछनीय प्रभाव पड़ता है, लेकिन गेमिंग कार्यक्रमों में, कलाकृतियों को सहन किया जा सकता है यदि उनके साथ काम करने में अतिरिक्त देरी होती है।
- ext-foreign-toplevel-list - शीर्ष स्तर पर रखी सतहों के बारे में जानकारी प्राप्त करता है, जो आपको अन्य सामग्री के शीर्ष पर डॉक करने के लिए विंडोज़ को व्यवस्थित करने की अनुमति देता है, उदाहरण के लिए, अपने स्वयं के पैनल और विंडो स्विच संलग्न करने के लिए।
- सुरक्षा-संदर्भ - आपको सैंडबॉक्स अलगाव का उपयोग करके ग्राहकों की पहचान करने की अनुमति देता है। एक क्लाइंट वेलैंड-आधारित कंपोजिट सर्वर पर एक नया कनेक्शन पंजीकृत कर सकता है और उसमें एक सुरक्षा संदर्भ संलग्न कर सकता है, जिसके बाद कंपोजिट प्रबंधक निर्दिष्ट सुरक्षा संदर्भ के आधार पर स्थापित कनेक्शन के लिए उपलब्ध क्षमताओं को सीमित कर देगा।
- कर्सर-आकार कर्सर की उपस्थिति को अनुकूलित करने का एक वैकल्पिक तरीका है, जो किसी सतह (wl_surface) पर स्नैप करने के बजाय कर्सर छवियों की एक श्रृंखला को पार करने पर आधारित है।
- "एक्सट-ट्रांजिएंट-सीट" - वर्चुअल इनपुट डिवाइस के साथ उपयोग के लिए डिज़ाइन किए गए अस्थायी स्वतंत्र सत्र (सीटें) बनाने के लिए डिज़ाइन किया गया है। उदाहरण के लिए, दूरस्थ डेस्कटॉप से कनेक्ट करने की क्षमता लागू करते समय, प्रोटोकॉल आपको वर्चुअल कीबोर्ड और माउस के साथ प्रत्येक उपयोगकर्ता के लिए एक अलग सत्र बनाने की अनुमति देता है।
- "एक्सडीजी-टॉपलेवल-ड्रैग" - ड्रैग ऑपरेशन में शीर्ष-स्तरीय विंडो संलग्न करने की क्षमता के साथ "ड्रैग एंड ड्रॉप" तंत्र का विस्तार करता है, जिसका उपयोग, उदाहरण के लिए, माउस के साथ टूलबार या ब्राउज़र टैब को खींचने को व्यवस्थित करने के लिए किया जा सकता है। नया प्रोटोकॉल आपको विंडो के अलग किए जा सकने वाले हिस्सों को बनाने की अनुमति देता है, जो उस विंडो से खींचे जाने पर नई विंडो बन जाते हैं और दोबारा जुड़ने से पहले मौजूदा विंडो के शीर्ष पर ले जाए जा सकते हैं।
- "xdg-डायलॉग" - आपको शीर्ष-स्तरीय सतहों पर संवाद-विशिष्ट विशेषताएँ निर्दिष्ट करने की अनुमति देता है, उदाहरण के लिए, आप ऐसे मोडल संवाद बना सकते हैं जो इंटरफ़ेस के बाकी हिस्सों के साथ उपयोगकर्ता के इंटरैक्शन को अवरुद्ध करते हैं।
- "linux-drm-syncobj" - DRM (डायरेक्ट रेंडरिंग मैनेजर) सिंक्रोनाइजेशन ऑब्जेक्ट्स का उपयोग करके स्पष्ट बफर सिंक्रोनाइजेशन के लिए उपकरण प्रदान करता है। यह माना जाता है कि बफर में रेंडरिंग करते समय सिंक्रोनाइजेशन के संदर्भ में, प्रस्तावित प्रोटोकॉल वल्कन और ओपनजीएल ग्राफिक्स एपीआई पर आधारित ड्राइवरों के साथ काम में सुधार करेगा (कार्यान्वयन ड्राइवरों में हैंडलर्स पर आधारित है)। नया प्रोटोकॉल यह सुनिश्चित करना संभव बनाता है कि कंपोजिंग मैनेजर द्वारा बफर को प्रदर्शित करने से पहले बफर पर ड्रा ऑपरेशन पूरा हो जाए।
- अल्फा-संशोधक, जो ग्राहकों को समग्र सर्वर के किनारे पारदर्शिता सुनिश्चित करने के लिए सतह की पारदर्शिता के स्तर को बदलने और संचालन को स्थानांतरित करने की अनुमति देता है, जो बदले में इन परिचालनों को केएमएस पर पुनर्निर्देशित कर सकता है।
- xdg-toplevel-icon - आइकन को शीर्ष स्तर की विंडो से बांधें।
- ext-image-capture-source और ext-image-copy-capture - स्क्रीन पर प्रदर्शित सामग्री को कैप्चर करने का संगठन।
- xdg-system-bell - आपको एक सिस्टम सिग्नल आउटपुट करने की अनुमति देता है, जिसका उपयोग, उदाहरण के लिए, टर्मिनल एमुलेटर में चेतावनी के रूप में किया जा सकता है। सिग्नल आउटपुट का रूप समग्र प्रबंधक के विवेक पर निर्धारित किया जाता है, यह न केवल एक ध्वनि हो सकता है, बल्कि एक दृश्य प्रतिक्रिया भी हो सकती है।
- फीफो - प्रदर्शित सतह की सामग्री अद्यतन कतार को संसाधित करने के लिए एक फीफो (पहले अंदर, पहले बाहर) तंत्र लागू करता है। व्यावहारिक पक्ष पर, प्रोटोकॉल आउटपुट को हर बार एक नया फ्रेम प्रदर्शित करने के लिए तैयार होने पर कॉलबैक कॉल का उपयोग करने के बजाय ऊर्ध्वाधर स्कैनिंग के पूरा होने की प्रतीक्षा (vblank) का उपयोग करने की अनुमति देता है, जो VSync का उपयोग करते समय उच्च GPU लोड की समस्या को हल करता है।
- कमिट-टाइमिंग - आपको सतही सामग्री के लिए एक समय सीमा बांधने की अनुमति देता है (यदि संभव हो तो समग्र सर्वर को सामग्री परिवर्तन को निर्दिष्ट समय के बाद प्रतिबिंबित करना चाहिए, लेकिन पहले नहीं)।
- एक्सट-डेटा-नियंत्रण - विशेषाधिकार प्राप्त ग्राहकों को डेटा प्रोसेसिंग को नियंत्रित करने की अनुमति देता है, उदाहरण के लिए क्लिपबोर्ड प्रबंधकों को लागू करना।
- एक्सट-वर्कस्पेस - वर्चुअल डेस्कटॉप की अवधारणा को लागू करता है और डेस्कटॉप की स्थिति के बारे में जानकारी के साथ-साथ डेस्कटॉप को सक्रिय और निष्क्रिय करने की क्षमताओं के साथ ईवेंट प्रदान करता है। प्रोटोकॉल का उपयोग पैनल और संकेतक बनाने के लिए किया जा सकता है जो उपलब्ध वर्चुअल डेस्कटॉप की सूची प्रदर्शित करते हैं और आपको उनके बीच स्विच करने की अनुमति देते हैं।
- रंग-प्रबंधन - रंग प्रबंधन और चमक की विस्तारित गतिशील रेंज (एचडीआर, उच्च गतिशील रेंज) के लिए समर्थन की क्षमता प्रदान करता है। अतिरिक्त एक्सटेंशन के साथ, क्लाइंट अनुप्रयोग आउटपुट डिवाइसों के रंग-संबंधी गुणों के बारे में जानकारी प्राप्त कर सकते हैं और अपनी सामग्री के रंग-संबंधी गुणों के बारे में डेटा को समग्र सर्वर तक भेज सकते हैं। एक समग्र सर्वर में, इस जानकारी का उपयोग विभिन्न आउटपुट डिवाइसों पर सामग्री प्रदर्शित करते समय रंग को स्वचालित रूप से प्रबंधित करने के लिए किया जा सकता है, उदाहरण के लिए सामग्री को HDR मॉनीटर पर प्रदर्शन के लिए उपयुक्त प्रस्तुति में परिवर्तित करने के लिए। आईसीसी प्रोफाइल का उपयोग रंग स्थानों का वर्णन करने के लिए किया जाता है।
- xdg-toplevel-tag - वेलैंड क्लाइंट को शीर्ष-स्तरीय सतहों पर टैग संलग्न करने की अनुमति देता है, जिसका उपयोग कंपोजिंग सर्वर अनुप्रयोग के पुनः आरंभ होने के बाद विंडोज़ की पहचान करने के लिए कर सकता है (उदाहरण के लिए, कोई अनुप्रयोग मुख्य विंडो और सेटिंग्स विंडो के लिए "मुख्य विंडो" और "सेटिंग्स" टैग सेट कर सकता है)। इस प्रकार की पहचान पुनः आरंभ करने के बाद विंडोज़ की स्थिति, आकार और गुणों को पुनर्स्थापित करने तथा अलग-अलग प्रकार की विंडोज़ के लिए विशेष नियम निर्धारित करने के लिए उपयोगी है।
- रंग-प्रतिनिधित्व — वेलैंड सतह के रंग प्रतिनिधित्व को परिभाषित करता है। वेलैंड क्लाइंट पारदर्शिता, रंग मॉडल, सबसैंपलिंग और क्वांटिज़ेशन रेंज को परिभाषित करने के लिए आवश्यक मेटाडेटा पास कर सकते हैं, और YCbCr रंग मॉडल के अनुरूप डेटा वाले बफर को RGB प्रतिनिधित्व में परिवर्तित करते समय उपयोग किया जाता है।
- ext-background-effect - वेलैंड सतह के अर्ध-पारदर्शी भागों पर प्रभाव लागू करता है, जैसे कि पृष्ठभूमि धुंधलापन।
- पॉइंटर-वार्प - किसी एप्लिकेशन को पॉइंटर को तुरंत निर्दिष्ट स्थान पर ले जाने की अनुमति देता है।
- xdg-session-management — возможности для восстановления состояния и позиции окон прерванного сеанса, например, после аварийного завершения композитного сервера или приложения.
प्रायोगिक शाखा में विकसित किये जा रहे प्रोटोकॉल:
- xx-session-management - बाधित सत्रों के लिए विंडोज़ की स्थिति को पुनर्स्थापित करता है (उदाहरण के लिए, एक समग्र प्रबंधक क्रैश के बाद)।
- xx-input-method — अनुप्रयोगों को समग्र सर्वरों के लिए टेक्स्ट इनपुट विधियों को लागू करने और दर्ज किए गए टेक्स्ट को उत्पन्न करने की अनुमति देता है, जिसका उपयोग उदाहरण के लिए, इनपुट प्रोसेसिंग के लिए वर्चुअल कीबोर्ड और IME (इनपुट मेथड एडिटर) लेयर बनाने के लिए किया जा सकता है।
- xx-text-input प्रोटोकॉल कंपोजिट सर्वरों को इनपुट विधियों को लागू करने और एप्लिकेशनों को टेक्स्ट भेजने की अनुमति देता है। यह प्रोटोकॉल कंपोजिट सर्वरों और एप्लिकेशनों के बीच इंटरैक्शन को मानकीकृत करता है और इनपुट टेक्स्ट भेजने, इनपुट फोकस इवेंट को संभालने और इनपुट फ़ील्ड की विशिष्टताओं (भाषा, टेक्स्ट चयन, सामग्री प्रकार) को ध्यान में रखने जैसी सुविधाओं पर नियंत्रण प्रदान करता है।
- xx-cutouts — для получения информации о вырезах на экране (например, области под фронтальную камеру на экране смартфона).
- xx-zones — для создания и добавления окон верхнего уровня в «зоны» — окружения со своим пространством координат. Протокол позволяет организовать логическую расстановку окон, в которой каждое окно размещается относительно другого окна.
- xx-keyboard-filter — для перехвата клиентом выбранных событий клавиатуры, изменения событий ввода или блокирования передачи определённых событий в Wayland-поверхность, на которой установлен фокус ввода.
"अस्थिर" शाखा में विकसित किए जा रहे प्रोटोकॉल:
- "फुलस्क्रीन-शेल" - पूर्ण स्क्रीन मोड में काम का नियंत्रण।
- "इनपुट-विधि" - इनपुट विधियों को संसाधित करना।
- "आइडल-इनहिबिट" - स्क्रीनसेवर (स्क्रीन सेवर) के लॉन्च को रोकना।
- "इनपुट-टाइमस्टैम्प" - इनपुट इवेंट के लिए टाइमस्टैम्प।
- "कीबोर्ड-शॉर्टकट-इनहिबिट" - कीबोर्ड शॉर्टकट और हॉटकी के अटैचमेंट को नियंत्रित करता है।
- "linux-explicit-synchronization" विशिष्ट है Linux सतह के संबंध में बफ़र्स को सिंक्रनाइज़ करने की व्यवस्था।
- "पॉइंटर-जेस्चर" - टच स्क्रीन से नियंत्रण।
- "सूचक बाधाएं" - सूचक बाधाएं (अवरुद्ध करना)।
- "प्राथमिक-चयन" - X11 के अनुरूप, यह प्राथमिक क्लिपबोर्ड (प्राथमिक चयन) के संचालन को सुनिश्चित करता है, जिसमें से जानकारी आमतौर पर मध्य माउस बटन के साथ डाली जाती है।
- "सापेक्ष सूचक घटनाएँ" - सापेक्ष सूचक घटनाएँ।
- "टेक्स्ट-इनपुट" - टेक्स्ट इनपुट का संगठन।
- "xdg-foreign" "पड़ोसी" क्लाइंट की सतहों के साथ बातचीत करने के लिए एक इंटरफ़ेस है।
- "xdg-सजावट" - सर्वर साइड पर विंडो सजावट प्रस्तुत करना।
- "xdg-आउटपुट" - वीडियो आउटपुट के बारे में अतिरिक्त जानकारी (फ्रैक्शनल स्केलिंग के लिए प्रयुक्त)।
- "एक्सवेलैंड-कीबोर्ड-ग्रैब" - एक्सवेलैंड अनुप्रयोगों में इनपुट कैप्चर करें।
स्रोत: opennet.ru
