Κυκλοφορία Wayland-Protocols 1.49

Το πακέτο 1.49 του wayland-protocols έχει κυκλοφορήσει, το οποίο περιέχει ένα σύνολο πρωτοκόλλων και επεκτάσεων που συμπληρώνουν το βασικό πρωτόκολλο Wayland και παρέχουν τις δυνατότητες που απαιτούνται για τη δημιουργία σύνθετων διακομιστών και περιβαλλόντων χρήστη.

Στη νέα έκδοση:

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

Όλα τα πρωτόκολλα περνούν διαδοχικά από φάσεις ανάπτυξης, δοκιμής και σταθεροποίησης. Μετά την ολοκλήρωση του σταδίου ανάπτυξης (κατηγορία «ασταθής»), το πρωτόκολλο τοποθετείται στον κλάδο «staging» και περιλαμβάνεται επίσημα στο σετ wayland-protocols και μετά την ολοκλήρωση της δοκιμής μεταφέρεται στην κατηγορία stable. Τα πρωτόκολλα από την κατηγορία "staging" μπορούν ήδη να χρησιμοποιηθούν σε σύνθετους διακομιστές και πελάτες όπου απαιτείται σχετική λειτουργικότητα. Σε αντίθεση με την κατηγορία "ασταθής", στην "σταδιοποίηση" απαγορεύεται η πραγματοποίηση αλλαγών που παραβιάζουν τη συμβατότητα, αλλά εάν εντοπιστούν προβλήματα και ελλείψεις κατά τη δοκιμή, δεν αποκλείεται η αντικατάσταση με μια νέα σημαντική έκδοση του πρωτοκόλλου ή άλλη επέκταση της Wayland.

Για να επιταχυνθεί η παράδοση πρωτοκόλλων στους προγραμματιστές και να ενθαρρυνθεί η έγκαιρη εφαρμογή των πρωτοκόλλων σε υπάρχοντα έργα, ξεκινώντας από την προηγούμενη έκδοση, προστέθηκε μια "πειραματική" φάση, η οποία επιτρέπει αλλαγές που διακόπτουν τη συμβατότητα και την προσθήκη "ακατέργαστων" πρωτοκόλλων που μπορούν σταδιακά να φτάσουν στο σωστό επίπεδο. Ενώ ένα πρωτόκολλο χρειάζεται να σχηματίσει μια ομάδα υποστήριξης και να λάβει έναν ορισμένο αριθμό επιβεβαιώσεων (ACK) από τους αναθεωρητές για να εισέλθει στη φάση της σταδιοποίησης, χρειάζεται μόνο να μην λάβει αντιρρήσεις (NACK) κατά τη διάρκεια της περιόδου ελέγχου των δύο εβδομάδων για να εισέλθει στην πειραματική φάση.

Η σουίτα wayland-protocols περιλαμβάνει επί του παρόντος τα ακόλουθα σταθερά πρωτόκολλα, τα οποία είναι συμβατά προς τα πίσω:

  • "viewporter" - επιτρέπει στον πελάτη να εκτελεί ενέργειες κλιμάκωσης και περικοπής άκρων επιφάνειας στην πλευρά του διακομιστή.
  • "χρόνος παρουσίασης" - παρέχει προβολή βίντεο.
  • Το "xdg-shell" είναι μια διεπαφή για τη δημιουργία και την αλληλεπίδραση με επιφάνειες ως παράθυρα, που σας επιτρέπει να τις μετακινήσετε στην οθόνη, να συμπτύξετε, να επεκτείνετε, να αλλάξετε το μέγεθος κ.λπ.
  • "linux-dmabuf" - παρέχει δυνατότητες για τη δημιουργία wl_buffers με βάση το DMA-BUF.
  • "tablet" - οργάνωση εισόδου από ταμπλέτες γραφικών.

Πρωτόκολλα που δοκιμάστηκαν στον κλάδο "staging":

  • drm-lease - παρέχει τους απαραίτητους πόρους για τη δημιουργία στερεοφωνικής εικόνας με διαφορετικά buffer για το αριστερό και το δεξί μάτι κατά την έξοδο σε ακουστικά εικονικής πραγματικότητας.
  • "ext-session-lock" - ορίζει ένα μέσο κλειδώματος μιας περιόδου λειτουργίας, για παράδειγμα, ενώ εκτελείται η προφύλαξη οθόνης ή εμφανίζεται το παράθυρο διαλόγου ελέγχου ταυτότητας.
  • "Single-pixel-buffer" - σας επιτρέπει να δημιουργείτε buffer ενός pixel που περιλαμβάνουν τέσσερις τιμές RGBA 32 bit.
  • «xdg-activation» — позволяет передать фокус между разными поверхностями первого уровня (например, при помощи
    xdg-activation одно приложение может переключить фокус на другое).
  • content-type - Επιτρέπει στους πελάτες να μεταβιβάζουν πληροφορίες σχετικά με το περιεχόμενο που εμφανίζεται στον σύνθετο διακομιστή, ο οποίος μπορεί να χρησιμοποιηθεί για τη βελτιστοποίηση της συμπεριφοράς με επίγνωση περιεχομένου, όπως ο ορισμός συγκεκριμένων ιδιοτήτων DRM, όπως "τύπος περιεχομένου". Δηλώνεται υποστήριξη για τους ακόλουθους τύπους περιεχομένου: καμία (καμία πληροφορία σχετικά με τον τύπο δεδομένων), φωτογραφία (έξοδος ψηφιακών φωτογραφιών, που απαιτεί ελάχιστη επεξεργασία), βίντεο (βίντεο ή κινούμενα σχέδια, απαιτείται πιο ακριβής συγχρονισμός για την αποφυγή τραυλισμού) και παιχνίδι (εκκίνηση παιχνίδια, έξοδος από ελάχιστη καθυστέρηση).
  • ext-idle-notify - Επιτρέπει στους σύνθετους διακομιστές να στέλνουν ειδοποιήσεις σε πελάτες σχετικά με την αδράνεια χρήστη, οι οποίες μπορούν να χρησιμοποιηθούν για την ενεργοποίηση πρόσθετων λειτουργιών εξοικονόμησης ενέργειας μετά από ορισμένο χρόνο αδράνειας.
  • Tearing-Control - σας επιτρέπει να απενεργοποιήσετε τον κατακόρυφο συγχρονισμό (VSync) με έναν κατακόρυφο παλμό απόσβεσης σε εφαρμογές πλήρους οθόνης, που χρησιμοποιείται για την προστασία από το σκίσιμο στην έξοδο. Σε εφαρμογές πολυμέσων, τα τεχνουργήματα που οφείλονται στο σχίσιμο είναι ανεπιθύμητο αποτέλεσμα, αλλά στα προγράμματα παιχνιδιών, τα τεχνουργήματα μπορούν να γίνουν ανεκτά εάν η αντιμετώπισή τους προκαλεί πρόσθετες καθυστερήσεις.
  • ext-foreign-toplevel-list - Ανακτά πληροφορίες σχετικά με επιφάνειες τοποθετημένες στο επάνω επίπεδο, οι οποίες σας επιτρέπουν να οργανώνετε τα παράθυρα για να προσαρμόζονται πάνω σε άλλο περιεχόμενο, για παράδειγμα, για να προσαρτήσετε τα δικά σας πάνελ και διακόπτες παραθύρων.
  • Security-context - σας επιτρέπει να αναγνωρίζετε πελάτες χρησιμοποιώντας απομόνωση sandbox. Ένας πελάτης μπορεί να καταχωρήσει μια νέα σύνδεση σε έναν σύνθετο διακομιστή που βασίζεται στο Wayland και να επισυνάψει ένα πλαίσιο ασφαλείας σε αυτόν, μετά από το οποίο ο διαχειριστής σύνθετου περιεχομένου θα περιορίσει τις διαθέσιμες δυνατότητες στην εγκατεστημένη σύνδεση με βάση το καθορισμένο πλαίσιο ασφαλείας.
  • Το σχήμα του δρομέα είναι ένας εναλλακτικός τρόπος για να προσαρμόσετε την εμφάνιση του δρομέα, με βάση τη μετάδοση μιας σειράς εικόνων δρομέα αντί να κολλήσετε σε μια επιφάνεια (wl_surface).
  • "ext-transient-seat" - σχεδιασμένο να δημιουργεί προσωρινές ανεξάρτητες συνεδρίες (καθίσματα) σχεδιασμένες για χρήση με εικονικές συσκευές εισόδου. Για παράδειγμα, κατά την υλοποίηση της δυνατότητας σύνδεσης σε απομακρυσμένη επιφάνεια εργασίας, το πρωτόκολλο σάς επιτρέπει να δημιουργήσετε μια ξεχωριστή περίοδο λειτουργίας για κάθε χρήστη με εικονικό πληκτρολόγιο και ποντίκι.
  • "xdg-toplevel-drag" - επεκτείνει τον μηχανισμό "drag & drop" με τη δυνατότητα σύνδεσης παραθύρων ανώτατου επιπέδου σε μια λειτουργία μεταφοράς, η οποία μπορεί να χρησιμοποιηθεί, για παράδειγμα, για την οργάνωση της μεταφοράς γραμμών εργαλείων ή καρτελών του προγράμματος περιήγησης με το ποντίκι. Το νέο πρωτόκολλο σάς επιτρέπει να δημιουργήσετε αποσπώμενα μέρη ενός παραθύρου που, όταν σύρονται από αυτό το παράθυρο, γίνονται νέα παράθυρα και μπορούν να μετακινηθούν πάνω από το υπάρχον παράθυρο πριν τα προσαρτήσετε ξανά.
  • "xdg-dialog" - σας επιτρέπει να εκχωρήσετε χαρακτηριστικά ειδικά για το διάλογο σε επιφάνειες ανώτατου επιπέδου, για παράδειγμα, μπορείτε να δημιουργήσετε τροπικούς διαλόγους που εμποδίζουν την αλληλεπίδραση του χρήστη με την υπόλοιπη διεπαφή.
  • "linux-drm-syncobj" - παρέχει εργαλεία για ρητό συγχρονισμό buffer χρησιμοποιώντας αντικείμενα συγχρονισμού DRM (Direct Rendering Manager). Υποτίθεται ότι στο πλαίσιο του συγχρονισμού κατά την απόδοση σε buffer, το προτεινόμενο πρωτόκολλο θα βελτιώσει την εργασία με προγράμματα οδήγησης που βασίζονται στα API γραφικών Vulkan και OpenGL (η υλοποίηση βασίζεται σε χειριστές στα προγράμματα οδήγησης). Το νέο πρωτόκολλο καθιστά δυνατή τη διασφάλιση της ολοκλήρωσης μιας λειτουργίας σχεδίασης σε ένα buffer πριν ο διαχειριστής σύνθεσης εμφανίσει αυτό το buffer.
  • alpha-modifier, ο οποίος επιτρέπει στους πελάτες να αλλάξουν το επίπεδο διαφάνειας της επιφάνειας και να μεταφέρουν λειτουργίες για να εξασφαλίσουν διαφάνεια στο πλάι του σύνθετου διακομιστή, ο οποίος με τη σειρά του μπορεί να ανακατευθύνει αυτές τις λειτουργίες στο KMS.
  • xdg-toplevel-icon - συνδέστε το εικονίδιο στο παράθυρο του ανώτερου επιπέδου.
  • ext-image-capture-source και ext-image-copy-capture - οργάνωση της λήψης περιεχομένου που εμφανίζεται στην οθόνη.
  • xdg-system-bell - σας επιτρέπει να εξάγετε ένα σήμα συστήματος, το οποίο μπορεί να χρησιμοποιηθεί, για παράδειγμα, ως προειδοποίηση σε έναν εξομοιωτή τερματικού. Η μορφή της εξόδου του σήματος καθορίζεται κατά την κρίση του σύνθετου διαχειριστή, μπορεί να είναι όχι μόνο ένας ήχος, αλλά και μια οπτική απόκριση.
  • fifo - υλοποιεί έναν μηχανισμό FIFO (first in, first out) για την επεξεργασία της ουράς ενημέρωσης περιεχομένου της εμφανιζόμενης επιφάνειας. Από την πρακτική πλευρά, το πρωτόκολλο επιτρέπει στην έξοδο να χρησιμοποιεί την αναμονή για την ολοκλήρωση της κάθετης σάρωσης (vblank) αντί να χρησιμοποιεί κλήσεις επανάκλησης κάθε φορά που είναι έτοιμο να εμφανίσει ένα νέο πλαίσιο, το οποίο λύνει το πρόβλημα του υψηλού φορτίου GPU κατά τη χρήση του VSync.
  • δέσμευση - σας επιτρέπει να δεσμεύσετε ένα χρονικό όριο στο περιεχόμενο επιφάνειας (ο σύνθετος διακομιστής θα πρέπει να αντικατοπτρίζει την αλλαγή περιεχομένου, αν είναι δυνατόν μετά την καθορισμένη ώρα, αλλά όχι νωρίτερα).
  • ext-data-control - Επιτρέπει σε προνομιούχους πελάτες να ελέγχουν την επεξεργασία δεδομένων, για παράδειγμα να εφαρμόζουν διαχειριστές προχείρου.
  • ext-workspace - υλοποιεί την έννοια των εικονικών επιτραπέζιων υπολογιστών και προσφέρει συμβάντα με πληροφορίες σχετικά με την κατάσταση των επιτραπέζιων υπολογιστών, καθώς και δυνατότητες για ενεργοποίηση και απενεργοποίηση επιτραπέζιων υπολογιστών. Το πρωτόκολλο μπορεί να χρησιμοποιηθεί για τη δημιουργία πινάκων και ενδείξεων που εμφανίζουν μια λίστα διαθέσιμων εικονικών επιτραπέζιων υπολογιστών και σας επιτρέπουν να κάνετε εναλλαγή μεταξύ τους.
  • διαχείριση χρωμάτων — παρέχει δυνατότητες διαχείρισης χρωμάτων και υποστήριξη εκτεταμένου δυναμικού εύρους φωτεινότητας (HDR, Υψηλό δυναμικό εύρος). Με την προστιθέμενη επέκταση, οι εφαρμογές-πελάτες μπορούν να λαμβάνουν πληροφορίες σχετικά με τις ιδιότητες που σχετίζονται με το χρώμα των συσκευών εξόδου και να μεταβιβάζουν δεδομένα σχετικά με τις ιδιότητες που σχετίζονται με το χρώμα του δικού τους περιεχομένου στον σύνθετο διακομιστή. Σε έναν σύνθετο διακομιστή, αυτές οι πληροφορίες μπορούν να χρησιμοποιηθούν για την αυτόματη διαχείριση του χρώματος κατά την προβολή περιεχομένου σε διαφορετικές συσκευές εξόδου, για παράδειγμα για τη μετατροπή περιεχομένου σε παρουσίαση κατάλληλη για προβολή σε οθόνες HDR. Τα προφίλ ICC χρησιμοποιούνται για την περιγραφή χρωματικών χώρων.
  • xdg-toplevel-tag — Επιτρέπει στους υπολογιστές-πελάτες του Wayland να επισυνάπτουν ετικέτες σε επιφάνειες ανώτατου επιπέδου που μπορεί να χρησιμοποιήσει ο διακομιστής σύνθεσης για την αναγνώριση παραθύρων μετά την επανεκκίνηση της εφαρμογής (για παράδειγμα, μια εφαρμογή μπορεί να ορίσει ετικέτες "κύριο παράθυρο" και "ρυθμίσεις" για το κύριο παράθυρο και το παράθυρο ρυθμίσεων). Αυτή η αναγνώριση είναι χρήσιμη για την επαναφορά της θέσης, του μεγέθους και των ιδιοτήτων των παραθύρων μετά από μια επανεκκίνηση, καθώς και για τον ορισμό ειδικών κανόνων για μεμονωμένους τύπους παραθύρων.
  • αναπαράσταση-χρώματος — ορίζει την αναπαράσταση χρώματος της επιφάνειας Wayland. Οι εφαρμογές-πελάτες Wayland μπορούν να μεταβιβάσουν μεταδεδομένα που απαιτούνται για τον ορισμό της διαφάνειας, του χρωματικού μοντέλου, της υποδειγματοληψίας και του εύρους κβαντοποίησης, και χρησιμοποιούνται κατά τη μετατροπή ενός buffer με δεδομένα που αντιστοιχούν στο χρωματικό μοντέλο YCbCr σε αναπαράσταση RGB.
  • ext-background-effect - εφαρμόζει εφέ σε ημιδιαφανή μέρη μιας επιφάνειας Wayland, όπως θάμπωμα φόντου.
  • pointer-warp - Επιτρέπει σε μια εφαρμογή να μετακινήσει άμεσα τον δείκτη σε μια καθορισμένη θέση.
  • xdg-session-management — возможности для восстановления состояния и позиции окон прерванного сеанса, например, после аварийного завершения композитного сервера или приложения.

Πρωτόκολλα που αναπτύσσονται στον πειραματικό κλάδο:

  • xx-session-management - επαναφέρει την κατάσταση των παραθύρων για διακοπτόμενες συνεδρίες (για παράδειγμα, μετά από σφάλμα σύνθετου διαχειριστή).
  • xx-input-method — επιτρέπει στις εφαρμογές να εφαρμόζουν μεθόδους εισαγωγής κειμένου για σύνθετους διακομιστές και να δημιουργούν κείμενο που έχει εισαχθεί, το οποίο μπορεί να χρησιμοποιηθεί, για παράδειγμα, για τη δημιουργία εικονικών πληκτρολογίων και επιπέδων IME (Input Method Editor) για επεξεργασία εισόδου.
  • xx-text-input — επιτρέπει σε σύνθετους διακομιστές να εφαρμόζουν μεθόδους εισαγωγής και να στέλνουν κείμενο σε εφαρμογές. Το πρωτόκολλο τυποποιεί τις αλληλεπιδράσεις μεταξύ σύνθετων διακομιστών και εφαρμογών και επιτρέπει τον έλεγχο λειτουργιών όπως η μετάδοση κειμένου εισαγωγής, ο χειρισμός συμβάντων εστίασης εισόδου και η λήψη υπόψη των ιδιαιτεροτήτων του πεδίου εισαγωγής (γλώσσα, επιλογή κειμένου, τύπος περιεχομένου).
  • xx-cutouts — для получения информации о вырезах на экране (например, области под фронтальную камеру на экране смартфона).
  • xx-zones — для создания и добавления окон верхнего уровня в «зоны» — окружения со своим пространством координат. Протокол позволяет организовать логическую расстановку окон, в которой каждое окно размещается относительно другого окна.
  • xx-keyboard-filter — для перехвата клиентом выбранных событий клавиатуры, изменения событий ввода или блокирования передачи определённых событий в Wayland-поверхность, на которой установлен фокус ввода.

Πρωτόκολλα που αναπτύσσονται στον «ασταθή» κλάδο:

  • "fullscreen-shell" - έλεγχος της εργασίας σε λειτουργία πλήρους οθόνης.
  • "μέθοδος εισαγωγής" - επεξεργασία μεθόδων εισαγωγής.
  • "idle-inhibit" - αποκλεισμός της εκκίνησης της προφύλαξης οθόνης (προστασία οθόνης).
  • "input-timestamps" - χρονικές σημάνσεις για συμβάντα εισαγωγής.
  • "keyboard-shortcuts-inhibit" - ελέγχει την προσάρτηση των συντομεύσεων και των πλήκτρων πρόσβασης πληκτρολογίου.
  • Το "linux-explicit-synchronization" αφορά συγκεκριμένα Linux μηχανισμός συγχρονισμού των buffer σε σχέση με την επιφάνεια.
  • "χειρονομίες δείκτη" - έλεγχος από οθόνες αφής.
  • "Περιορισμοί δείκτη" - περιορισμοί δείκτη (μπλοκάρισμα).
  • "κύρια επιλογή" - κατ' αναλογία με το X11, διασφαλίζει τη λειτουργία του κύριου προχείρου (κύρια επιλογή), πληροφορίες από το οποίο εισάγονται συνήθως με το μεσαίο κουμπί του ποντικιού.
  • "Σχετικά συμβάντα δείκτη" - σχετικά συμβάντα δείκτη.
  • "εισαγωγή κειμένου" - οργάνωση της εισαγωγής κειμένου.
  • Το "xdg-foreign" είναι μια διεπαφή για την αλληλεπίδραση με τις επιφάνειες του "γειτονικού" πελάτη.
  • "xdg-decoration" - απόδοση διακοσμήσεων παραθύρων στην πλευρά του διακομιστή.
  • "xdg-output" - πρόσθετες πληροφορίες σχετικά με την έξοδο βίντεο (χρησιμοποιείται για κλασματική κλίμακα).
  • "xwayland-keyboard-grab" - καταγραφή εισόδου σε εφαρμογές XWayland.

Πηγή: opennet.ru

Αγοράστε αξιόπιστη φιλοξενία για ιστότοπους με προστασία DDoS, διακομιστές VPS VDS 🔥 Αγοράστε αξιόπιστη φιλοξενία ιστοσελίδων με προστασία DDoS, διακομιστές VPS VDS | ProHoster