O mică întrebare frecventă de la Kevin (nick kdub pe # ubuntu-mir freenode), care vă va ajuta să înțelegeți hiperele în jurul serverului de afișare Mir și sistemul de operare Ubuntu Touch pentru tablete. Acest articol descrie modul în care Mir va fi extras din stratul de bază pentru a putea lucra pe desktop-uri obișnuite, înlocuind Xorg și pe tablete, înlocuind SurfaceFlinger. Nu uitați că unitatea Next va lucra deasupra podelei, al cărei scop este integrarea diferitelor platforme și arhitecturi cu interfața sa.
Pentru a înțelege ceea ce este în joc, merită să ne uităm la o ilustrare a situației actuale cu Ubuntu pentru tablete.
Mir va sprijini driverul de android?
Da. Când porniți Mir în interiorul unei tablete care rulează Ubuntu Touch, platforma Android este utilizată pentru a obține accelerația completă OpenGLES. OpenGL ES (OpenGL pentru sisteme încorporate) - OpenGL pentru sistemele încorporate.
Ce accelerare va fi cu driverele Android?
Accelerare completă! Mai precis, aceasta înseamnă că întreaga cale de redare (client rendering) la framebuffer va fi accelerată hardware. Acest lucru va oferi utilizatorilor serverului de afișare Mir and Unity Next performanța foarte necesară.
Android utilizează Java. Acest lucru înseamnă că Mir utilizează Java?
Oh, nu! Mir nu conține Java. Mir este C ++ 11, folosind lucruri noi, cum ar fi pointeri inteligenți, funcții lambda și așa mai departe.
Am nevoie de instrumente, cum ar fi SDK sau NDK, de pe platforma Android pentru a lucra cu Mir în Ubuntu Touch?
Nu! Toate dependentele și instrumentele de construire sunt disponibile în pachetele Ubuntu deb. Utilizăm pachetul de software pentru brațul gcc din repozitoriul Ubuntu. Programul adb de la android-tools-adb poate fi util, dar nu este necesar.
Pe ce dispozitive Mir funcționează deja?
Ne concentrăm mai întâi pe linia Nexus, dar totul ar trebui să funcționeze pe orice dispozitiv, indiferent de producătorul GPU-ului. Acum majoritatea dezvoltatorilor vizează platforma Ice Cream Sandwich și mai nouă. În lista de dispozitive testate pentru a lucra cu Mir, puteți să consultați instalarea pachetelor preconfigurate pe un dispozitiv Android.
Cum utilizează Mir driverul de android?
Dezvoltatorii Mir folosesc direct, ca atare, binarele de la producătorul GPU. Dezvoltatorii de drivere Android au investit milioane de dolari, astfel încât driverele lor să funcționeze perfect pentru Android, iar Mir nu va arunca munca și banii în coșul de gunoi.
Drivere pentru utilizare Android:
- nucleul androidului.
- bionic libc este o versiune a bibliotecii standard de limba C dezvoltată de Google pentru a fi folosită cu sistemul de operare Android.
- driverul bibliotecii.
Mir utilizează aceeași combinație pentru a fi la fel de fiabil ca actualul sistem de afișare a datelor Android.
Acest lucru înseamnă că Mir folosește libc bionic?
Pe scurt, nu. Driverele Android folosesc bionic libc, pe care dezvoltatorii Android îl cunosc și îl iubesc, iar codul Mir și bibliotecile folosesc GNU libc, pe care îl cunoaștem mai bine și mai iubim.
Și ce nu a folosit SurfaceFlinger în loc să scrie un server de afișare Mir?
Am analizat această problemă și am constatat că:
- SurfaceFlinger este foarte atașat la platforma Android și este nevoie de multă muncă, transformând Ubuntu obișnuit în Ubuntu Touch. Dacă ne imaginăm, ipotetic, că acest lucru sa întâmplat, atunci va fi foarte diferit pentru Ubuntu.
- SurfaceFlinger se bazează pe o metodă foarte simplă de randare cu tampoane Z (compunere bazată pe z-comanda). Aveam nevoie de ceva care să sprijine capabilitățile Unity, care deja lucrează pe Desktop.
- SurfaceFlinger ar trebui să fie adaptat pentru a lucra cu driverele Mesa / GBM, iar acesta este un front de treabă uriaș și poate că nu este realist de făcut.
Utilizarea Mir va afecta platforma Android sau Mesa / GBM la care rulează?
Nu! Clienții Mir pot fi lansați atât pe platforma Mesa / GBM, cât și pe Android. Am făcut multe pentru a face ca "clientul" să fie independent de modelul de bază al driverelor OpenGLES.
Nu este necesară recompilarea sau definirea platformei necesare!
Gândul meu.
În general, mult mi-a devenit clar. Unitate Înainte, rescrisă în stil Qt / QML, va continua activitatea Unity și va combina platforme de calcul disparate sub o singură interfață. Qt / QML va oferi dezvoltatorilor o modalitate ușoară de a adapta Ubuntu la diferite dispozitive cu ecranele lor diferite și prezența / absența unor trucuri senzoriale și noi.
În această lumină, crearea lumii este într-adevăr un pas competent.
Wayland încearcă să acopere doar desktop-ul și dezvoltatorii săi, poate că nu au considerat munca lui Waylan în ceea ce privește driverele pentru platforme mobile, cum ar fi tabletele. Însuși să pună în aplicare dreptul? Ce este mai bine de la zero? Christopher Rogers a subliniat deja 5 motive pentru care Wayland nu a fost ales.
De 30 de ani vechiul Xorg de tăiere și schimbare la nevoile moderne și multe platforme hardware diferite - o pierdere trivială de timp.
Acesta este scopul Canonical! O bază de cod unică a Ubuntu, care va deveni ușor Ubuntu Touch sau ceva de genul asta în viitor pentru dispozitivele viitoare. Acest singur Ubuntu, dar cu fețe diferite, datorită unității Next, va funcționa pe serverul de afișare Mir. Și Mir va lucra pe diferite platforme - cu diferite arhitecturi CPU și GPU. Și totul este sub controlul Canonicului! Bravo!
Încă nu-ți plac știrile despre pace? Scrieți cu apă fierbinte din transparența rețelei X? Nu mai funcționează în ea 100%.
am citit:
Programatorul francez Julien Danjou, dezvoltator al managerului ferestrei Awesome, și gândurile sale cu voce tare despre protocolul X.
Jasper St. Pierre, dezvoltator de GNOME Shell în articolul Stack Linux Graphic.