Linux darbvirsmu sarakstam 28. jūlijā pievienojās Starling: čaula, logu pārvaldnieks, savs Wayland kompozitors un iebūvēts X11 serveris, kopā ap 335 000 rindu paša projekta koda. Projektu sešos mēnešos un aptuveni 2000 komitos izveidojis viens cilvēks, kas kodu lielākoties rakstījis ar Claude.
Versija 0.2.1 ir 53 MB liela .deb pakotne Ubuntu 26.04 LTS amd64 sistēmai. Starling kods ir Apache-2.0 licencē, ietvara apakškoks sdk/ ir BSD-3-Clause. Repozitorijam pirmajās dienās bija 74 zvaigznes un pieci atzarojumi, tātad plaša auditorija tam vēl nav.
Swift augšā, C apakšā
Čaula, logu pārvaldnieks, dok josla un komplektā iekļautās lietotnes ir rakstītas Swift valodā. Kompozitors ir C valodā un tiek izsaukts no Swift. Zem visa strādā Flutter dzinēja C kodols ar DRM/KMS iegulšanas slāni, tātad zīmēšana iet tieši uz kodola DRM saskarni bez X servera un bez pārlūka.
Autors Swift forumā nosauc trīs vietas, kur Swift un C sadure sāpēja. Uz Ubuntu 26.04 Foundation C starpslānis kompilējas C++ režīmā un tā math.h ievelkas tekstuāli, kaut arī jau sakompilētajā std modulī tas ir. Dzinēja saskarnes pavediens nav galvenais pavediens, tāpēc MainActor izolācija radīja problēmas; risinājums bija platformas ziņojumus vadīt pa tiešiem C atzvaniem un aktora pārlēcienu apiet vispār. Foundation.Timer uz DRM iegulšanas slāņa nestrādā, tā vietā izmantota DispatchQueue.
Repozitorijs ir sadalīts četrās daļās: sdk/ ar ietvara portu kā SwiftPM pakotni, shell/ ar kompozitoru, logu pārvaldnieku un doku, apps/ ar paša projekta lietotnēm, build/ ar .deb pakošanas rīkiem. Pašam sakompilēt nav triviāli: blakus šim repozitorijam jābūt noklonētam arī atsevišķam starling-engine.
Swift uz Linux līdz šim galvenokārt izmantots servera pusē. Šeit tas vada kompozitoru, kas runā ar DRM/KMS un ar Wayland klientiem reālā laikā, tātad valodas atmiņas pārvaldībai un pavedienu modelim jāiztur kadru budžets.
Flutter ietvars bez Dart
Lielākā koda daļa nav pati darbvirsma. No 335 000 rindām aptuveni 273 000 aizņem Flutter ietvara ports uz Swift, bet čaulai, serveriem un lietotnēm paliek ap 62 000. Dart virtuālās mašīnas nav vispār: Flutter logdaļu slānis ir pārrakstīts Swift valodā un kompilēts. Skaitļi gan avotos nesakrīt. Projekta lapa runā par 273 000 rindām SDK apakškokā, autora ieraksts Swift forumā min aptuveni 190 000 rindu Swift koda ietvarā.
Ports dod dažas lietas, ko GNOME un KDE pēc noklusējuma nedara. Stikla efekts ir īsts fragmentu šeiders ar Snela likuma laušanu katram pikselim. Buferi starp klientiem iet pa dmabuf bez kopēšanas. Katram monitoram ir savs mērogojums, monitora pievienošana darba laikā tiek apstrādāta.
Vai tas palaiž svešu programmatūru
Projekta lapa pati uzstāda pārbaudi, pēc kuras jāvērtē jauna darbvirsma:
Vai tā palaiž programmatūru, ko nav uzrakstījusi pati?
Kā pārbaudīti norādīti Chrome, VS Code, Slack, IntelliJ, GIMP un Blender. Tas nosedz Chromium un Electron lietotnes, Qt6, GTK3 un GTK4, JetBrains izpildvidi un Blender GHOST slāni. Zoom iet caur iebūvēto X11 serveri kā X11 klients. Chrome strādā kā parasts Wayland klients.
Komplektā ir Faili, Terminālis, Iestatījumi, Kalkulators, Teksta redaktors, Attēlu skatītājs un lietotņu veikals ar Ubuntu arhīva integrāciju. Veikala katalogā pagaidām ir desmit ieraksti.
Kur tas vēl neiet
Repozitorija README robus uzskaita atklāti. xdg_output stāvokļa apstrāde ir nepilnīga, portālu ieviešana daļēja, ekrāna bloķēšanas nav nemaz, mērogojums ir piesiets pie 2.0. Pārbaudīta ir AMD Radeon 780M grafika un virtio-gpu ar virgl virtuālajās mašīnās. Intel un NVIDIA vēl nav. Pieteikšanās notiek caur GDM3, tāpēc bez Wayland spējīga pieteikšanās pārvaldnieka pakotne nenostrādās.
Autors versiju sauc par agrīnu priekšskatījumu un brīdina par asām malām, trūkstošiem iestatījumiem un lietotnēm, pie kurām vēl jāstrādā. Uzstādīt to uz darba mašīnas šobrīd nozīmē uzstādīt kaut ko, kas nemāk bloķēt ekrānu.
Kompilators, kas atteica to pašu
Savu lomu autors apraksta tieši. Projekts esot lielākoties uzrakstīts ar AI, proti, Claude, viņa vadībā. Viņš atsevišķi uzsver savu Swift inženiera pieredzi. GitHub README par autorību neko nesaka; atzīšanās ir projekta lapā un foruma ierakstā.
GNOME Shell pirmo laidienu 2011. gadā sagatavoja desmitiem izstrādātāju vairāku gadu laikā, KDE Plasma vēsture stiepjas vēl tālāk. Starling sešos mēnešos savāca 2000 komitu no viena cilvēka un startē caur parasto pieteikšanos ar doku, darbvietām un logu pārvaldību. Trūkstošais ekrāna bloķētājs un pie 2.0 piesietais mērogojums ir tieši tās detaļas, ko lielās darbvirsmas slīpēja gadiem.
Tā pati nedēļa deva vēl divus punktus tajā pašā virzienā. Phoronix 29. jūlijā rakstīja par YSERVER 1.4, Rust valodā rakstītu X11 serveri, kas arī tapis galvenokārt ar AI palīdzību un tagad palaiž Steam un pilnekrāna spēles zem Cinnamon. Tajā pašā dienā GCC vadības komiteja pieņēma politiku, kas noraida juridiski nozīmīgu AI un LLM ģenerētu kodu. Vienīgais izņēmums ir testu gadījumi.
Avoti
- Phoronix: Starling: A New Linux Desktop Written In Swift, Own Wayland Compositor & Written With AI
- starling.build
- GitHub: starling-build/starling
- Swift Forums: Starling, a Linux desktop environment built on a Swift port of Flutter’s framework
- Phoronix: GCC To Decline Any Significant Contributions Made Via AI/LLMs
Komentāri
Šim rakstam vēl nav komentāru. Esi pirmais, kurš dalās ar savu viedokli.