Wayland

vis serverprotokoll for Linux-skrivebordet

Wayland er et fritt og åpent vindussystem for Unix og Unix-liknende operativsystemer. Det er en direkte etterfølger til vindussystemet X (X11). Det består av en kommunikasjonsprotokoll mellom en vindustjener og dens klienter, og er implementert i programmeringsspråket C.[5]

Wayland
Utvikler(e)Kristian Høgsberg,[1][2] freedesktop.org[3]
Utgitt 2008
Nyeste versjon1.22.0 (4. april 2023)[4]
Kodelagerhttps://gitlab.freedesktop.org/wayland/wayland
Skrevet iC
TypeVindustjener
LisensMIT-lisensen
Nettstedwayland.freedesktop.org (en)

Linuxkjernen og derivater av Berkeley Software Distribution (BSD) har i årenes løp overtatt mange av oppgavene til X11, deriblant minnehåndtering, prioritering av kommandoer og modus-setting. Andre funksjoner er overtatt av programvarebiblioteker for skrifttyper og 2D-grafikk. Wayland overlater disse oppgavene til operativsystemkjernen og biblioteker, og er derfor både enklere og raskere enn X11. Mange skrivebordsmiljøer som opprinnelig benyttet X11 som en mellomliggende prosess utenfor operativsystemkjernen, har etterhvert gått over til å støtte Wayland.

Wayland er blitt tatt i bruk av FreeBSD, DragonFly BSD og av ledende Linuxdistribusjoner som Slackware, Debian, Gentoo, openSUSE, Fedora, OpenMandriva Lx og Arch Linux. Ubuntu benyttet vindustjeneren Mir fra versjon 13.10, men gikk over til Wayland i versjon 18.04.

Wayland blir utviklet av freedesktop.org under ledelse av danske Kristian Høgsberg.[6] Kildekoden er åpent tilgjengelig under MIT-lisensen.[7] Første versjon ble lansert 9. februar 2012. Siste versjon er 1.20 som ble lansert 9. desember 2021.

Bakgrunn rediger

Linux er et operativsystem som benytter beskyttelsesringer i moderne mikroprosessorer. Dette er en mekanisme som beskytter data og funksjonalitet mot feil i programmer og uønsket adferd. Utføring av maskinkode for å modifisere registrene for deskriptortabeller er eksempel på noe som kan få hele systemet til å krasje hvis det er feil i programvaren, og som må overlates til dedikert og betrodd programvare.

 
evdev modulet i Linuxkjernen mottar en event og sender den til Wayland compositor.
Wayland compositor ser gjennom sin scenegraf for å avgjøre hvilket vindu som skal motta den aktuelle event. Den velger rett vindu og transformerer skjermkoordinatene til vinduets logiske koordinater ved å foreta inverse transformasjoner.
③ Når klienten mottar den aktuelle event, oppdaterer den brukergrensesnittet som respons. Renderingen finner sted av klienten via EGL, og klienten sender en indikasjon tilbake til compositor for å indikere at regionen ble oppdatert.
Wayland compositor samler skademeldinger fra dets klienter og deretter rekomponerer skjermen. Den kan deretter direktle sende systemkallet ioctl for å skedulere en pageflip med KMS.

Linux skiller mellom brukermodus og supervisory mode. Programmer i brukermodus har ikke lov til å utføre disse maskinvarerelaterte kommandoene direkte. De må sende et systemkall til supervisory mode, hvor en betrodd del av Linux utfører funksjonen. Denne betrodde delen av Linux er Linuxkjernen. Vi sier at Linuxkjernen kjører i ring 0, mens de øvrige prosesser kjører i ring 3.

Vindussystemet X er programvare som kjører som en ekstern prosess i ring 3. Moderne skrivebordsmiljøer som KDE, GNOME og Xfce kjører i tillegg som eksterne prosesser som sender kall til en X Server. Man får dermed en situasjon hvor grafikken i Linux sender kall gjennom to abstraksjonslag. Dette er unødvendig komplekst og ressurskrevende.

Mange av funksjonene i X11 har i årenes løp blitt flyttet inn i operativsystemkjernen til Linux.[8] Dette gjelder minnehåndtering, prioritering av kommandoer og modus-setting. Andre funksjoner i X11 er overtatt av programvarebiblioteker for skrifttyper og 2D-grafikk: Cairo, pixman, FreeType, fontconfig, pango, etc.[9] I stedet for at skrivebordsmiljøene foretar kall til X11, som igjen foretar systemkall til kjernen, er filosofien bak Wayland at skrivebordsmiljøene bør få aksess til disse spesialiserte funksjonene gjennom systemkall direkte til kjernen.

X11 har etterhvert utviklet en kompleksitet som omfatter kode-tabeller, glyf-rasterisering og overføring av disse til hurtigminnet, X logical font descriptions (XLFD), tegning av stiplete linjer, polygoner, buer og andre grafiske primitiver som ble introdusert på 1980-tallet. Alt dette må støttes for å hevde at et program er kompatibel med X11, selv om de færreste tar dette i bruk.[9] Videre er X11 blitt forsøkt holdt moderne ved å tilføye utvidelser som XRandR, XRender og COMPOSITE;[9] disse er beholdt i Wayland av kompatibilitetshensyn.

Wayland er ment å erstatte X11 og å tilby et raskere og enklere vindussystem. En rekke grafiske utviklingsbiblioteker støtter Wayland: GTK+ (fra versjon 3.10), Qt (fra versjon 5.0), Clutter, Enlightenment Foundation Libraries, Simple DirectMedia Layer (fra versjon 2.0.2), GLFW (fra versjon 3.1) og FreeGLUT. Det samme gjør en rekke skrivebordsmiljøer og grafiske skall. GNOME hadde eksperimentell støtte for Wayland i versjon 3.10, og fikk full støtte i versjon 3.12. KDE Software Compilation fikk full støtte fra versjon 5.7. MATE fikk støtte i versjon 1.12. Enlightenment støtter Wayland fra versjon E19 (0.19). Skrivebordsmiljøet Hawaii har eksklusiv støtte for Wayland. Glx-dock støtter Wayland fra versjon 3.4.

Arkitektur rediger

 
I Wayland kommuniserer en klient og en tjener (compositor) gjennom kommunikasjonsprotokollen (Weston) ved å bruke referansebibliotekene.

Protokollens arkitektur rediger

Protokollen til Wayland kalles Weston. Den følger en klient-tjener modell hvor klienter er grafiske applikasjoner som ber om piksel-buffer på skjermen, og tjeneren (compositor) er den som kontrollerer dette bufferet.

Waylands referanseimplementasjon har blitt designet som en to-lags protokoll:[10]

  • Et lavnivå lag som håndterer interprosesskommunikasjon (IPK) mellom de to involverte prosesser – klienten og tjeneren – og marshalling av de data de utveksler. Dette laget er meldingbasert og vanligvis implementert ved å bruke operativsystemkjernens IPK tjenester, spesielt Unix domain sockets i tilfellet med Linux og Unix-liknende operativsystemer.[11]
  • Et høynivå lag bygd over det, som håndterer informasjonen som klienten og tjeneren behøver for å implementere de grunnleggende egenskapene ved et vindussystem. Dette laget er implementert som en asynkron objektorientert protokoll.[12]

Mens lavnivå laget ble skrevet manuelt i C, er høynivålaget automatisk generert fra en beskrivelse av elementer av protokollen som er lagret i XML.[13] Hver gang protokollbeskrivelsen i denne XML-filen forandrer seg, kan C-koden som implementerer en slik protokoll bli regenerert for å inkludere de nye forandringene. Referanseimplementasjonen av protokollen til Wayland er delt i to biblioteker. Biblioteket som håndterer klienter kalles libwayland-client og biblioteket som håndterer tjenere kalles libwayland-server.

Oversikt over protokollen rediger

Waylandprotokollen er blitt beskrevet som asynkron og objektorientert. Objektorientert betyr at tjenestene som tilbys av tjeneren er presentert som en serie objekter som lever på samme tjener. Hvert objekt implementerer et grensesnitt som har et navn, et antall metoder (kalt forespørsler) såvel som flere assosierte events. Hver forespørsel og event har null eller flere argumenter, hver enkelt har et navn og en datatype.[12] Protokollen er asynkron fordi forespørsler ikke må vente på synkroniserte svar eller bekreftelser for å unngå round-trip delays og oppnå forbedret ytelse.

Klienter kan foreta en forespørsel (en metode invokasjon) på samme objekt hvis objektets grensesnitt er støttet av forespørselen. Klienten må også legge ved de påkrevde data for argumentene til slike forespørsler. Dette er måten klientene ber om tjenester fra tjeneren. Tjeneren i sin tur sender informasjon tilbake til klienten ved å forårsake objektet å sende events. Disse events kan utgå fra tjeneren som respons på en forespørsel, eller de kan sendes asynkront, på grunn av hendelser internt (utløst av en innmatningskilde, f.eks. en datamus eller et tastatur) eller tilstandsforandring. Feilbetingelsene blir også signalisert som en event av tjeneren.[12]

For at en klient skal bli istand til å foreta en forespørsel til et objekt, trenger den først å meddele tjeneren ID-nummeret den vil bruke for å identifisere objektet.[12] Det er to typer objekter i tjeneren: Globale objekter og ikke-globale objekter. Globale objekter blir kunngjort av tjeneren til klientene når de skapes (og også når de ødelegges), mens ikke-globale objekter vanligvis skapes av andre objekter som allerede eksisterer som en del av deres funksjonalitet.[14]

Grensesnittet og deres forespørsler og events er kjerne-elementer som definerer Wayland-protokollen. Hver versjon av protokollen inkluderer et sett med grensesnitt, sammen med deres forespørsler og events, som er forventet å være i enhver Wayland compositor. Denne kan valgfritt implementere og definere deres egne grensesnitt med sine egne forespørspler og events, for å utvide funksjonaiteten ut over kjerneprotokollen.[15] For å speile endringer mellom ulike versjoner av protokollen, inneholder grensesnitt et versjonsnr-attributt i tillegg til dets navn; dette attributtet tillater et grensesnitt å bli behandlet forskjellig fra tidligere versjoner av seg selv, med flere eller færre forespørsler og events. Hver tjener fremviser ikke bare grensesnittet, men også versjonen; og objektene implementerer en spesiell versjon av et grensesnittet.[16]

Kjernegrensesnitt rediger

Filprotokollen /wayland.xml[13] er en XML-fil som lister grensesnitt sammen med deres forespørsler, events og andre attributter. Dette sett av grensesnitt er minimum som er påkrevd for å implementere en Wayland compositor.

Noen av de mest grunnleggende grensesnitt er:[15]

  • wl_display – det sentrale globale objekt, et spesielt objekt som innkapsler Wayland-protokollen selv
  • wl_registry – det globale registerobjekt, hvor tjenerens registrerer alle globale objekter som den ønsker skal være tilgjengelig for alle klienter
  • wl_compositor – et objekt som representerer tjeneren, og som kombinerer forskjellige grensesnitt til et enkelt output
  • wl_surface – et objekt som representerer et rektangulært område på skjermen, definert av en lokasjon, størrelse og pikselinnhold
  • wl_buffer – et objekt som, når det er tilknyttet et wl_surface objekt, gir et visbart innhold
  • wl_output – et objekt som representerer det visbare området på skjermen
  • wl_pointer, wl_keyboard, wl_touch – objekter som representerer ulike utstyr for innmatning, som pekere og tastatur
  • wl_seat – et objekt som representerer et sete (et sett med utstyr for innmatning/utmatning) i multisetekonfigurasjoner

En typisk Wayland klient sesjon starter ved å åpne en forbindelse med tjeneren ved å bruke objektet wl_display. Dette er et spesielt lokalt objekt som representerer forbindelsen og ikke lever sammen med tjeneren. Ved å bruke dets grensenitt kan klienten sende forespørsler til det globale objektet wl_registry i tjeneren, hvor alle de globale objektnavnene lever, og binde de som klienten er interessert i. Vanligvis binder klienten minst et wl_compositor objekt, hvorfra det vil be om et eller flere wl_surface objekter for å vise output på skjermen.[14]

Tilleggsgrensesnitt rediger

En Wayland compositor kan definere og eksportere sine egne tilleggsgrensesnitt.[15] Denne egenskap blir brukt til å utvide protokollen hinsides den grunnleggende funksjonalitet som er sørget for av kjernegrensesnittene, og har blitt standardmåten å implementere protokollens utvidelser på. Visse tjenere kan velge å tilføye grensesnitt som gir spesialiserte eller unike funksjoner. Wayland kan implementere dem som eksperimentelle grensesnitt for nye konsepter og ideer, hvorav noen senere kan bli en del av kjerneprotokollen (slik som wl_subsurface grensenittet som ble tilføyd i Wayland 1.4[17]).

Utvidelser til kjerneprotokollen rediger

Versjonshistorikk[18] rediger

Versjon
(Wayland)
Versjon
(Weston)
Dato Wayland Weston
30. september 2008 Første commit
0.80 0.80 27. august 2011 Første versjon
0.85 0.85 9. februar 2012[19]
0.95 0.95 24. juli 2012[20] Begynte stabilisering av klient-API/ABI definert i wayland-client.h,
og protocol/wayland.xml.
Protokoll-grensesnitt (wl_drm) og biblioteker (gbm) som er en del av
MESA, oppgraderes til MESA 8.0.4
0.99 0.99 15. oktober 2012[21] Bedre feilhåndtering, en veldefinert atomisk oppdateringsmekanisme
og en stabil event dispatching for tråder (EDT) som prosesserer hendelser fra hendelseskøen
1.0 1.0 22. oktober 2012[22][23] Stabil wayland-klient API
1.0.1 1.0.1 19. november 2012[24]
1.0.2 1.0.2 30. november 2012[25]
1.0.3 1.0.3 14. desember 2012[26]
1.0.4 1.0.4 24. januar 2013[27]
1.0.5 1.0.5 14. februar 2013[28]
1.0.6 1.0.6 22. mars 2013[29]
1.1 1.1 15. april 2013[30][31] Rendering,[32] FBDEV, RDP
1.1.1 7. juni 2013[33]
1.2 1.2 12. juli 2013[34][35] Stabil wayland-tjener API Fargehåndtering. Under-overflater. Raspberry Pi
1.2.1 1.2.1 22. august 2013[36]
1.2.2 29. august 2013[37]
1.3 1.3 11. oktober 2013[38] Flere piksel formater. Støtte for språkbindinger Driver for Android støtte via libhybris
1.3.1 31. oktober 2013[39]
1.4 1.4 23. januar 2014[17] Nye wl_subcompositor og wl_subsurface grensesnitt Multiple rammebuffer formater. logind støtte for rotløse Weston
1.5 1.5 20. mai 2014[40] libinput. Fullskjerm skall.
1.6 1.6 19. september 2014[41] libinput som standard
1.6.1 1.6.1 23. januar 2015[42]
1.7 1.7 14. februar 2015[43][44] Støtte for Wayland presentasjonsutvidelser og for dreining av overflater. IVI skall protokoll.
1.8 1.8 2. juni 2015[45][46] Adskilte headere for kjerne og generert protokoll Repaint skedulering. Navngitte outputs. Output transformasjoner. Overflate API.
1.8.1 12. juni 2015[47]
1.9 1.9 21. september 2015[45][48]
1.10 1.10 17. februar 2016[49]
1.11 1.11 1. juni 2016[50]
1.11.1 1.11.1 20. september 2016[51]
1.12 1.12 21. september 2016[52]
1.13 21. februar 2017[53]
2.0.0 24. februar 2017[54]
1.14 3.0 8. august 2017[55]
1.15 4.0 9. april 2018[56]
1.16 5.0 24. august 2018[57]
1.17 20. mars 2019[58]
6.0 27. mars 2019[59]
6.0.1 24. juni 2019[60]
7.0 23. august 2019[61]
8.0 24. januar 2020[62]
1.18 11. februar 2020[63]
9.0 4. september 2020[64]
1.19 27. januar 2021[65]
1.20 9. desember 2021[66]
10.0 1. februar 2022[67] Støtte for farge-transformasjoner, gamma-miksing av farger og fargeprofiler.

- Tilbakemelding til linux-dmabuf-unstable-v1
- støtte for appvelgeren libseat.
- Eksempelklienter er konvertert til xdg-shell.
- Grensesnittet wl_shell, fbdev og weston-launch er fjernet.

10.0.1 23. juni 2022[68]
1.21 30. juni 2022 [69] Tilføyde pekeren wl_pointer, høyoppløsning scrolling og noen funksjoner for bekvemmelighet
10.0.2 26. juli 2022[70] Bugfikser
10.0.3 14. desember 2022[71]
10.0.4 17. mai 2023[72]
10.0.5 2. august 2023[73]
11.0 22. september 2022[74] - Mer fargehåndtering:
I WIP-farge opsjonen, kan du sette opp en monitor for ICC-profil, og fargene vil mappes fra sRGB til denne profilen. Du kan også sette opp en monitor for HDR-modus.

- Forbedringer av RDP.
- Ytelsesforbedringer i DRM.
- Støtte for protokollen wp_single_pixel_buffer_v1.
- weston_buffer refactoring.
- Mulighet for å kjøre KMS + RDP samtidig og støtte for flere GPUer.
- cms-static og cms-colord er fjernet.
- wl_shell er erstattet av xdg-shell.
- fbdev er erstattet med KMS.
- weston-launch og launcher-direct er erstattet av libseat.
- weston-info er erstattet av wayland-info, og weston-klientene er fjernet.
- KMS max-bpc property ble standard.

11.0.1 14. desember 2022[75]
11.0.2 17. mai 2023[76]
11.0.3 2. august 2023[77]
1.22 4. april 2023 [78]
12.0.0 17. mai 2023[79]
12.0.1 25. mai 2023[80]
12.0.2 2. august 2023[81]
12.0.3 28. november 2023[82]
12.0.4 23. april 2024[83]
13.0.0 28. november 2023[84]
13.0.1 23. april 2024[85]
1.23 25. april 2024 Alfaversjon (1.22.91)
1.24 2024 ? 23. november 2021: Protokollene lansert
1.25 2024 ? 28. januar 2022: Protokollene lansert
1.26 2024 ? 7. juli 2022: Protokollene lansert
1.27 2024 ? 10. oktober 2022: Protokollene lansert
1.28 2024 ? 4. november 2022: Protokollene lansert
1.29 2024 ? 14. november 2022: Protokollene lansert
1.30 2024 ? 21. november 2022: Protokollene lansert
1.31 2024 ? 21. november 2022: Protokollene lansert
1.32 2024 ? 3. juli 2023: Protokollene lansert
1.33 2024 ? 19. januar 2024: Protokollene lansert
1.34 2024 ? 20. mars 2024: Protokollene lansert
1.35 2024 ? 17. april 2024: Protokollene lansert

Se også rediger

Referanser rediger

  1. ^ Kristian Høgsberg (3. november 2008). «Premature publicity is better than no publicity». Besøkt 2. juni 2020. 
  2. ^ Michael Larabel; "Wayland: A New X Server For Linux"; publisert i: Phoronix; utgivelsesdato: 3. november 2008; besøksdato: 2. juni 2020.
  3. ^ Michael Larabel; "Wayland Becomes A FreeDesktop.org Project"; publisert i: Phoronix; utgivelsesdato: 29. oktober 2010; besøksdato: 2. juni 2020.
  4. ^ «ANNOUNCE wayland 1.22.0». 4. april 2023. Besøkt 14. april 2023. 
  5. ^ «Wayland». «Wayland is a protocol for a compositor to talk to its clients as well as a C library implementation of that protocol.» 
  6. ^ «Wayland». «Wayland is intended as a simpler replacement for X, easier to develop and maintain.» 
  7. ^ «wayland/wayland: root/COPYING». freedesktop.org. Besøkt 14. juni 2015. 
  8. ^ Jonathan Corbet (5. november 2010). «Linux Plumbers Conference: Life after X (reporting a talk by Keith Packard)». LWN.net. 
  9. ^ a b c «Wayland FAQ». Arkivert fra originalen 7. mars 2011. Besøkt 17. februar 2011. 
  10. ^ «The Hello Wayland Tutorial». Besøkt 25. juli 2014. 
  11. ^ Høgsberg, Kristian. «Wayland Documentation 1.3 - Wire Format». FreeDesktop.org. Arkivert fra originalen 17. oktober 2014. Besøkt 25. juli 2014. 
  12. ^ a b c d Høgsberg, Kristian. «Wayland Documentation 1.3 - Basic Principles». Freedesktop.org. Arkivert fra originalen 8. august 2014. Besøkt 25. juli 2014. 
  13. ^ a b Høgsberg, Kristian. «protocol/wayland.xml». Freedesktop.org. Besøkt 25. juli 2014. 
  14. ^ a b Paalanen, Pekka. «Wayland protocol design: object lifespan». Besøkt 4. september 2014. 
  15. ^ a b c Høgsberg, Kristian. «Wayland Documentation 1.3 - Interfaces». Freedesktop.org. Arkivert fra originalen 8. august 2014. Besøkt 31. juli 2014. 
  16. ^ Høgsberg, Kristian. «Wayland Documentation 1.3 - Versioning». FreeDesktop.org. Arkivert fra originalen 8. august 2014. Besøkt 31. juli 2014. 
  17. ^ a b Høgsberg, Kristian (24. januar 2014). «Wayland and Weston 1.4 is out». wayland-devel mailing list. 
  18. ^ «Wayland». Wayland.freedesktop.org. Besøkt 15. juli 2013. 
  19. ^ Høgsberg, Kristian (9. februar 2012). «[ANNOUNCE] Wayland and Weston 0.85.0 released». wayland-devel mailing list. 
  20. ^ Høgsberg, Kristian (24. juli 2012). «Wayland and Weston 0.95.0 released». wayland-devel mailing list. 
  21. ^ Høgsberg, Kristian (15. oktober 2012). «Wayland and Weston 0.99.0 snapshots released». 
  22. ^ Høgsberg, Kristian (22. oktober 2012). «Wayland and Weston 1.0». wayland-devel mailing list. 
  23. ^ Scherschel, Fabian (23. oktober 2012). «Wayland's 1.0 milestone fixes graphics protocol». The H - Open. Heinz Heise. Besøkt 14. juli 2013. 
  24. ^ Høgsberg, Kristian (19. november 2012). «1.0.1 Releases are out». wayland-devel mailing list. 
  25. ^ Høgsberg, Kristian (30. november 2012). «New Wayland and Weston 1.0.2 releases». wayland-devel mailing list. 
  26. ^ Høgsberg, Kristian (14. desember 2012). «Wayland and Weston 1.0.3 releases out». wayland-devel mailing list. 
  27. ^ Høgsberg, Kristian (24. januar 2013). «Wayland and Weston 1.0.4 releases are out». wayland-devel mailing list. 
  28. ^ Høgsberg, Kristian (14. februar 2013). «Wayland and weston 1.0.5 releases out». wayland-devel mailing list. 
  29. ^ Høgsberg, Kristian (22. mars 2013). «Wayland and weston 1.0.6 releases are out». wayland-devel mailing list. 
  30. ^ Michael Larabel (16. april 2013). «Wayland 1.1 Officially Released With Weston 1.1». Phoronix. Besøkt 14. juli 2013. 
  31. ^ Høgsberg, Kristian (15. april 2013). «1.1 Released». wayland-devel mailing list. 
  32. ^ Michael Larabel (6. januar 2013). «A Software-Based Pixman Renderer For Wayland's Weston». Phoronix. Besøkt 14. juli 2013. 
  33. ^ Høgsberg, Kristian (7. juni 2013). «Weston release 1.1.1». wayland-devel mailing list. 
  34. ^ Larabel, Michael (13. juli 2013). «Wayland 1.2.0 Released, Joined By Weston Compositor». Phoronix. Besøkt 14. juli 2013. 
  35. ^ Høgsberg, Kristian (12. juli 2013). «Wayland and Weston 1.2.0 released». wayland-devel mailing list. 
  36. ^ Høgsberg, Kristian (22. august 2013). «Wayland and Weston 1.2.1 releases are out». wayland-devel mailing list. 
  37. ^ Høgsberg, Kristian (29. august 2013). «Weston 1.2.2 release». wayland-devel mailing list. 
  38. ^ Høgsberg, Kristian (11. oktober 2013). «Wayland and Weston 1.3 releases are out». wayland-devel mailing list. 
  39. ^ Høgsberg, Kristian (29. august 2013). «Weston 1.3.1 released». wayland-devel mailing list. 
  40. ^ Høgsberg, Kristian (20. mai 2014). «Wayland and Weston 1.5.0 is released». wayland-devel mailing list. 
  41. ^ Paalanen, Pekka (19. september 2014). «Wayland and Weston 1.6.0 released». wayland-devel mailing list. 
  42. ^ Harrington, Bryce (23. januar 2015). «[ANNOUNCE] wayland 1.6.1». wayland-devel mailing list. 
  43. ^ Harrington, Bryce (14. februar 2015). «[ANNOUNCE] wayland 1.7.0». wayland-devel mailing list. 
  44. ^ Harrington, Bryce (14. februar 2015). «[ANNOUNCE] weston 1.7.0». wayland-devel mailing list. 
  45. ^ a b Harrington, Bryce (2. juni 2015). «[ANNOUNCE] wayland 1.8.0». wayland-devel mailing list. 
  46. ^ Harrington, Bryce (2. juni 2015). «[ANNOUNCE] weston 1.8.0». wayland-devel mailing list. 
  47. ^ Harrington, Bryce (12. juni 2015). «[ANNOUNCE] wayland 1.8.1». wayland-devel mailing list. 
  48. ^ Bryce Harrington: [ANNOUNCE wayland 1.9.0], osg.samsung.com, 21. september 2016
  49. ^ Bryce Harrington: [ANNOUNCE wayland 1.10.0], bryce at osg.samsung.com, 17. februar 2016
  50. ^ Bryce Harrington: [ANNOUNCE wayland 1.11.0], osg.samsung.com, 1. juni 2016
  51. ^ Bryce Harrington: [ANNOUNCE wayland 1.11.1], osg.samsung.com, 20. september 2016
  52. ^ Bryce Harrington: [ANNOUNCE wayland 1.12.0], osg.samsung.com, 21. september 2016
  53. ^ Bryce Harrington: [ANNOUNCE wayland 1.13.0], osg.samsung.com, 21. februar 2017
  54. ^ [ANNOUNCE weston 2.0.0], freedesktop.org, 25. februar 2017
  55. ^ [ANNOUNCE wayland 1.14.0], freedesktop.org, 8. august 2017.
  56. ^ [ANNOUNCE wayland 1.15.0], freedesktop.org, 9. april 2018
  57. ^ Derek Foreman: [ANNOUNCE wayland 1.16.0], lists.freedesktop.org, 24. august 2018
  58. ^ Derek Foreman: [ANNOUNCE wayland 1.17.0, lists.freedesktop.org, 21. mars 2019
  59. ^ Derek Foreman: (ANNOUNCE) weston 6.0.0, lists.freedesktop.org, 28. mars 2019
  60. ^ Derek Foreman: (ANNOUNCE weston 6.0.1], lists.freedesktop.org, 24. juni 2019
  61. ^ Simon Ser: (ANNOUNCE) weston 7.0.0, lists.freedesktop.org, 23. august 2019
  62. ^ Simon Scr: (ANNOUNCE) weston 8.0.0, lists.freedesktop.org, 24. januar 2020
  63. ^ (ANNOUNCE) wayland 1.18.0, lists.freedesktop.org, 11. februar 2020
  64. ^ Simon Ser: (ANNOUNCE) weston 9.0.0, lists.freedesktop.org, 4. september 2020
  65. ^ Simon Ser: (ANNOUNCE) wayland 1.19.0, lists.freedesktop.org, 27. januar 2021
  66. ^ (ANNOUNCE) wayland 1.20.0, lists.freedesktop.org, 9. desember 2021
  67. ^ (ANNOUNCE) weston 10.0.0, lists.freedesktop.org, 1. februar 2022
  68. ^ (ANNOUNCE) weston 10.0.1, lists.freedesktop.org, 23. juni 2022
  69. ^ (ANNOUNCE) wayland 1.21.0, lists.freedesktop.org, 30. juni 2022
  70. ^ (ANNOUNCE) weston 10.0.2, lists.freedesktop.org, 26. juli 2022
  71. ^ (ANNOUNCE) weston 10.0.3, lists.freedesktop.org, 14. desember 2023
  72. ^ (ANNOUNCE) weston 10.0.4, lists.freedesktop.org, 17. mai 2023
  73. ^ (ANNOUNCE) weston 10.0.5, lists.freedesktop.org, 2. august 2023
  74. ^ (ANNOUNCE) weston 11.0.0, lists.freedesktop.org, 22. september 2022
  75. ^ (ANNOUNCE) weston 11.0.1, lists.freedesktop.org, 14. desember 2022
  76. ^ (ANNOUNCE) weston 11.0.2, lists.freedesktop.org, 17. mai 2023
  77. ^ (ANNOUNCE) weston 11.0.3, lists.freedesktop.org, 2. august 2023
  78. ^ (ANNOUNCE) wayland 1.22, lists.freedesktop.org, 4. april 2023
  79. ^ (ANNOUNCE) weston 12.0.0, lists.freedesktop.org, 17. mai 2023
  80. ^ (ANNOUNCE) weston 12.0.1, lists.freedesktop.org, 25. mai 2023
  81. ^ (ANNOUNCE) weston 12.0.2, lists.freedesktop.org, 2. august 2023
  82. ^ (ANNOUNCE) weston 12.0.3, lists.freedesktop.org, 28. november 2023
  83. ^ (ANNOUNCE) weston 11.0.4, lists.freedesktop.org, 23. april 2024
  84. ^ (ANNOUNCE) weston 13.0.0, lists.freedesktop.org, 28. november 2023
  85. ^ (ANNOUNCE) weston 13.0.0, lists.freedesktop.org, 23. april 2024

Eksterne lenker rediger