Wayland-protocols 1.46 багцыг гаргасан бөгөөд энэ нь үндсэн Wayland протоколыг нөхөж, нийлмэл сервер болон хэрэглэгчийн орчныг бий болгоход шаардлагатай чадавхийг хангасан протокол, өргөтгөлүүдийг агуулсан.
Шинэ хувилбарт:
- Туршилтын протокол болох xx-input-method-ийг нэмсэн бөгөөд энэ нь програмуудад нийлмэл серверүүдэд текст оруулах аргыг хэрэгжүүлэх, оролтын текст үүсгэх боломжийг олгодог бөгөөд жишээлбэл, виртуал гар болон оролтын боловсруулалт хийх IME (Input Method Editor) давхарга үүсгэхэд ашиглаж болно.
- Туршилтын xx-текст-оролтын протокол нэмэгдсэн нь нийлмэл серверүүдэд оролтын аргуудыг хэрэгжүүлэх, програмууд руу текст илгээх боломжийг олгосон. Протокол нь нийлмэл сервер болон програмуудын хоорондын харилцан үйлчлэлийг стандартчилах ба оролтын текстийг дамжуулах, оролтын фокусын үйл явдлуудыг зохицуулах, оролтын талбарын онцлогийг (хэл, текстийн сонголт, агуулгын төрөл) харгалзан үзэх зэрэг функцуудыг хянах боломжийг олгодог.
- Өнгөний менежмент-v1 болон өнгөт дүрслэл-v1 протоколуудыг сайжруулж, өнгөний менежмент, HDR-ийн дэмжлэг, Wayland гадаргуугийн өнгөт дүрслэлийг тодорхойлох боломжийг олгосон.
Бүх протоколууд боловсруулах, турших, тогтворжуулах үе шатуудыг дараалан явуулдаг. Хөгжүүлэлтийн үе шат ("тогтворгүй" ангилал) дууссаны дараа протоколыг "шатлалт" салбарт байрлуулж, албан ёсоор wayland-protocols багцад оруулж, туршилтыг дуусгасны дараа тогтвортой ангилалд шилжүүлнэ. Холбогдох функц шаардлагатай бол "үе шат" ангиллын протоколуудыг нийлмэл сервер болон үйлчлүүлэгчдэд аль хэдийн ашиглаж болно. "Тогтворгүй" ангиллаас ялгаатай нь "үе шат" -д нийцтэй байдлыг зөрчсөн өөрчлөлт хийхийг хориглодог боловч туршилтын явцад асуудал, дутагдал илэрсэн тохиолдолд протоколын шинэ чухал хувилбар эсвэл Wayland өргөтгөлөөр солихыг үгүйсгэхгүй.
Протоколуудыг хөгжүүлэгчдэд хүргэх ажлыг хурдасгах, одоо байгаа төслүүдэд протоколуудыг эрт нэвтрүүлэхийг дэмжихийн тулд өмнөх хувилбараас эхлэн "туршилтын" үе шатыг нэмсэн бөгөөд энэ нь нийцтэй байдлыг эвдэж, аажмаар зохих түвшинд хүргэх "түүхий" протоколуудыг нэмэх боломжийг олгодог. Протокол нь үе шат руу орохын тулд дэмжлэг үзүүлэх багийг бүрдүүлж, хянагчдаас тодорхой тооны талархал (ACKs) авах шаардлагатай бол туршилтын үе шатанд орохын тулд хоёр долоо хоногийн хяналтын хугацаанд ямар ч эсэргүүцэл (NACK) авах шаардлагатай.
Wayland-protocols иж бүрдэл нь одоогоор хоцрогдсон нийцтэй дараах тогтвортой протоколуудыг агуулж байна:
- "viewporter" - үйлчлүүлэгчид серверийн тал дээр масштаблах, гадаргуугийн ирмэгийг засах үйлдлүүдийг хийх боломжийг олгодог.
- "Танилцуулгын цаг" - видео дэлгэцээр хангадаг.
- "xdg-shell" нь гадаргууг үүсгэх, цонх хэлбэрээр харилцах интерфейс бөгөөд тэдгээрийг дэлгэцийн эргэн тойронд шилжүүлэх, буулгах, өргөжүүлэх, хэмжээг өөрчлөх гэх мэт боломжийг олгодог.
- "linux-dmabuf" - DMA-BUF дээр суурилсан wl_buffers үүсгэх боломжийг олгодог.
- "таблет" - график таблетаас оролтын зохион байгуулалт.
"Үе шат"-ын салбарт туршсан протоколууд:
- drm-lease - виртуал бодит байдлын чихэвч рүү гаргахдаа зүүн болон баруун нүдэнд өөр өөр буфер бүхий стерео дүрс үүсгэхэд шаардлагатай нөөцөөр хангадаг.
- "ext-session-lock" - жишээ нь дэлгэц амраагч ажиллаж байх эсвэл баталгаажуулах харилцах цонх гарч ирэх үед сессийг түгжих хэрэгслийг тодорхойлдог.
- "нэг пикселийн буфер" - 32 XNUMX бит RGBA утгыг агуулсан нэг пикселийн буфер үүсгэх боломжийг танд олгоно.
- "xdg-идэвхжүүлэх" - фокусыг өөр өөр түвшний гадаргуу хооронд шилжүүлэх боломжийг олгодог (жишээлбэл, xdg-идэвхжүүлэлтийг ашиглан нэг програм нь фокусыг нөгөө рүү шилжүүлэх боломжтой).
- контент-төрөл - "агуулгын төрөл" гэх мэт тодорхой DRM шинж чанаруудыг тохируулах гэх мэт контентыг мэддэг зан үйлийг оновчтой болгоход ашиглаж болох нийлмэл серверт үзүүлж буй агуулгын талаарх мэдээллийг харилцагчдад дамжуулах боломжийг олгоно. Дараах контентын төрлүүдэд дэмжлэг үзүүлж байна: байхгүй (өгөгдлийн төрлийн талаар мэдээлэл байхгүй), зураг (дижитал зураг гаргах, хамгийн бага боловсруулалт шаарддаг), видео (видео эсвэл хөдөлгөөнт дүрс, гацахаас зайлсхийхийн тулд илүү нарийвчлалтай синхрончлол шаардлагатай) болон тоглоом (эхлүүлэх) тоглоом, хамгийн бага саатлаас гаралт).
- ext-idle-notify - нийлмэл серверүүдэд хэрэглэгчийн идэвхгүй байдлын талаарх мэдэгдэл илгээх боломжийг олгодог бөгөөд энэ нь тодорхой хугацаанд идэвхгүй болсны дараа нэмэлт эрчим хүч хэмнэх горимуудыг идэвхжүүлэхэд ашиглаж болно.
- teering-control - гаралтын үед урагдахаас хамгаалахад ашигладаг бүрэн дэлгэцийн програмуудад босоо уналтын импульс бүхий босоо синхрончлолыг (VSync) идэвхгүй болгох боломжийг олгодог. Мультимедиа програмуудад урагдсан эд өлгийн зүйлс нь хүсээгүй үр дагавар боловч тоглоомын программуудад тэдгээртэй харьцах нь нэмэлт саатал үүсгэдэг бол тэдгээрийг тэсвэрлэх боломжтой.
- ext-foreign-toplevel-list - Дээд түвшинд байрлуулсан гадаргуугийн талаарх мэдээллийг татаж авах бөгөөд энэ нь бусад контент дээр байрлуулах цонхнуудыг зохион байгуулах, жишээлбэл, өөрийн самбар болон цонхны унтраалгыг хавсаргах боломжийг олгодог.
- аюулгүй байдлын контекст - хамгаалагдсан хязгаарлагдмал орчны тусгаарлалтыг ашиглан үйлчлүүлэгчдийг тодорхойлох боломжийг танд олгоно. Үйлчлүүлэгч Wayland-д суурилсан нийлмэл серверт шинэ холболт бүртгүүлж, түүнд аюулгүй байдлын контекст хавсаргах боломжтой бөгөөд үүний дараа нийлмэл менежер тогтоосон аюулгүй байдлын контекст дээр үндэслэн тогтоосон холболтын боломжуудыг хязгаарлах болно.
- курсор-хэлбэр нь гадаргуу дээр (wl_surface) дарахын оронд курсорын зургийг цувралаар дамжуулахад үндэслэсэн курсорын харагдах байдлыг өөрчлөх өөр арга юм.
- "ext-transient-seat" нь виртуал оролтын төхөөрөмжүүдтэй ашиглах зориулалттай түр зуурын бие даасан сессүүд (seats) үүсгэх зориулалттай. Жишээлбэл, холбогдох чадварыг хэрэгжүүлэх үед алсын ширээний компьютер Протокол нь хэрэглэгч бүрийн хувьд виртуал гар болон хулгана ашиглан тусдаа сесс үүсгэх боломжийг олгодог.
- "xdg-toplevel-drag" - "чирж буулгах" механизмыг өргөтгөж, дээд түвшний цонхыг чирэх үйлдэлд хавсаргах боломжтой бөгөөд үүнийг жишээ нь хулганаар багажны самбар эсвэл хөтчийн табыг чирэх ажлыг зохион байгуулахад ашиглаж болно. Шинэ протокол нь цонхны салгаж болох хэсгүүдийг үүсгэх боломжийг олгодог бөгөөд энэ цонхноос чирэхэд шинэ цонх болж, дахин хавсаргахаас өмнө одоо байгаа цонхны дээд талд зөөж болно.
- "xdg-dialog" - дээд түвшний гадаргуу дээр харилцах цонхны онцлог шинж чанаруудыг оноох боломжийг олгодог, жишээлбэл, та бусад интерфэйстэй хэрэглэгчийн харилцан үйлчлэлийг хаадаг модаль харилцах цонхыг үүсгэж болно.
- "linux-drm-syncobj" - DRM (Direct Rendering Manager) синхрончлолын объектуудыг ашиглан тодорхой буфер синхрончлолын хэрэгслээр хангадаг. Буферт шилжүүлэх үед синхрончлолын хүрээнд санал болгож буй протокол нь Vulkan болон OpenGL график API дээр суурилсан драйверуудтай ажиллах ажлыг сайжруулна гэж үзэж байна (хэрэгжилт нь драйвер дахь зохицуулагч дээр суурилдаг). Шинэ протокол нь нэгтгэх менежер нь буферийг харуулахаас өмнө буфер рүү зурах үйлдлийг дуусгах боломжийг олгодог.
- альфа-өөрчлөгч нь үйлчлүүлэгчдэд гадаргуугийн ил тод байдлын түвшинг өөрчлөх, нийлмэл серверийн тал руу ил тод байдлыг хангахын тулд үйлдлүүдийг шилжүүлэх боломжийг олгодог бөгөөд энэ нь эргээд эдгээр үйлдлүүдийг KMS руу дахин чиглүүлэх боломжтой.
- xdg-toplevel-icon - дээд түвшний цонхонд дүрсийг холбоно.
- ext-image-capture-source and ext-image-copy-capture - дэлгэцэн дээр харуулсан контентыг авах зохион байгуулалт.
- xdg-system-bell - системийн дохиог гаргах боломжийг олгодог бөгөөд үүнийг жишээ нь терминал эмулятор дээр анхааруулга болгон ашиглаж болно. Дохионы гаралтын хэлбэрийг нийлмэл менежерийн үзэмжээр тодорхойлдог бөгөөд энэ нь зөвхөн дуу чимээ биш, харин харааны хариу үйлдэл байж болно.
- fifo - харуулсан гадаргуугийн контентын шинэчлэлтийн дарааллыг боловсруулах FIFO (эхний орсон, хамгийн түрүүнд гарах) механизмыг хэрэгжүүлдэг. Практик талаас нь авч үзвэл, уг протокол нь VSync-ийг ашиглах үед GPU-ийн ачаалал ихтэй асуудлыг шийддэг шинэ фрейм харуулах бүртээ буцаан дуудлагыг ашиглахын оронд босоо сканнер дуусгахыг хүлээхийг (vblank) ашиглах боломжийг олгодог.
- commit-timing - гадаргын агуулгад цаг хугацааны хязгаарлалт тогтоох боломжийг олгодог (нийлмэл сервер нь заасан хугацааны дараа боломжтой бол агуулгын өөрчлөлтийг тусгасан байх ёстой, гэхдээ өмнө нь биш).
- ext-data-control - Давуу эрхтэй үйлчлүүлэгчдэд өгөгдөл боловсруулалтыг хянах, тухайлбал санах ойн менежерүүдийг хэрэгжүүлэх боломжийг олгодог.
- ext-workspace — уг ойлголтыг хэрэгжүүлдэг виртуал ширээний компьютерууд мөн ширээний компьютеруудын төлөв байдлын талаарх мэдээлэл, мөн ширээний компьютеруудыг идэвхжүүлэх болон идэвхгүй болгох чадвар бүхий үйл явдлуудыг санал болгодог. Энэ протоколыг боломжтой виртуал ширээний компьютеруудын жагсаалтыг харуулдаг хяналтын самбар болон индикаторуудыг үүсгэж, тэдгээрийн хооронд шилжих боломжийг олгодог.
- өнгөний удирдлага — өнгөний менежментийн чадавхийг хангадаг бөгөөд гэрэлтүүлгийн өргөтгөсөн динамик хүрээг (HDR, Өндөр динамик хүрээ) дэмждэг. Нэмэлт өргөтгөлийн тусламжтайгаар үйлчлүүлэгчийн програмууд гаралтын төхөөрөмжүүдийн өнгөтэй холбоотой шинж чанаруудын талаар мэдээлэл авч, өөрсдийн контентын өнгөт хамаарах шинж чанаруудын талаарх мэдээллийг нийлмэл сервер рүү дамжуулах боломжтой. Нийлмэл серверт энэ мэдээллийг өөр өөр гаралтын төхөөрөмж дээр агуулгыг харуулах үед өнгийг автоматаар удирдахад ашиглаж болно, жишээлбэл, HDR дэлгэц дээр харуулахад тохиромжтой үзүүлэнг контент болгон хөрвүүлэх. ICC профайлыг өнгөний орон зайг тодорхойлоход ашигладаг.
- xdg-toplevel-tag — Wayland үйлчлүүлэгчдэд програмыг дахин эхлүүлсний дараа цонхыг тодорхойлохын тулд нэгтгэх сервер ашиглаж болох дээд түвшний гадаргуу дээр хаягуудыг хавсаргах боломжийг олгоно (жишээлбэл, програм нь үндсэн цонх болон тохиргооны цонхонд "үндсэн цонх" болон "тохиргоо" шошгыг тохируулж болно). Ийм таних нь дахин ачаалсны дараа цонхны байрлал, хэмжээ, шинж чанарыг сэргээх, мөн тусдаа төрлийн цонхны тусгай дүрмийг тодорхойлоход тустай.
- өнгөт дүрслэл — Wayland гадаргуугийн өнгөт дүрслэлийг тодорхойлно. Wayland үйлчлүүлэгчид ил тод байдал, өнгөний загвар, дэд түүвэрлэлт, квантчлалын хүрээг тодорхойлоход шаардлагатай мета өгөгдлийг дамжуулж, YCbCr өнгөт загварт харгалзах өгөгдөл бүхий буферийг RGB дүрслэл болгон хувиргахад ашигладаг.
- ext-background-effect - дэвсгэр бүдэгрэх гэх мэт Wayland гадаргуугийн хагас тунгалаг хэсгүүдэд эффект хэрэглэнэ.
- заагч-warp - Аппликейшн нь заагчийг заасан байрлал руу шууд шилжүүлэх боломжийг олгоно.
Туршилтын салбарт боловсруулж буй протоколууд:
- xx-session-management - тасалдсан сешнүүдийн цонхны төлөвийг сэргээдэг (жишээлбэл, нийлмэл менежерийн эвдрэлийн дараа).
"Тогтворгүй" салбарт боловсруулж буй протоколууд:
- "Бүтэн дэлгэцийн бүрхүүл" - бүтэн дэлгэцийн горимд ажиллах хяналт.
- "оролтын арга" - оролтын аргуудыг боловсруулах.
- "idle-inhibit" - дэлгэц амраагчийг (дэлгэц амраагч) ажиллуулахыг хориглох.
- "input-timestamps" - оролтын үйл явдлын цагийн тэмдэг.
- "keyboard-shortcuts-inhibit" - гарын товчлол болон халуун товчлууруудын хавсралтыг хянадаг.
- "linux-explicit-synchronization" нь дараахад зориулагдсан Linux гадаргуутай холбоотой буферуудыг синхрончлох механизм.
- "Заагч дохио" - мэдрэгчтэй дэлгэцээс удирдах.
- "заагчийн хязгаарлалт" - заагчийн хязгаарлалт (блоклох).
- "Анхдагч сонголт" - X11-тэй ижил төстэй байдлаар энэ нь үндсэн санах ойн (анхдагч сонголт) ажиллагааг хангадаг бөгөөд мэдээллийг ихэвчлэн хулганы дунд товчлуураар оруулдаг.
- "харьцангуй заагч үйл явдлууд" - харьцангуй заагч үйл явдлууд.
- "текст оруулах" - текст оруулах зохион байгуулалт.
- "xdg-foreign" нь "хөрш" үйлчлүүлэгчийн гадаргуутай харилцах интерфейс юм.
- "xdg-decoration" - сервер талын цонхны чимэглэлийг үзүүлэх.
- "xdg-output" - видео гаралтын талаархи нэмэлт мэдээлэл (бутархай масштаб хийхэд ашигладаг).
- "xwayland-keyboard-grab" - XWayland програмын оролтыг авах.
Эх сурвалж: opennet.ru
