QtMir i QtUbuntu

QtMir i QtUbuntu són Qt Platform Abstractions (QPAs) per a la plataforma Ubuntu Touch. QtMir es pot considerar com un servidor per a Unity8 mentre que QtUbuntu s’utilitza per a aplicacions client. Cadascun d’ells permet als seus respectius dominis utilitzar abstraccions d’alt nivell de les Qt de superfícies, finestres, controls i més, sense preocupar-se pel sistema operatiu subjacent.

QtMir

El QtMir QPA permet que Unity8, l’intèrpret d’ordres de l’Ubuntu Touch, s’escrigui en QML i Qt C++ mentre s’opera en Mir Surfaces i Windows. També permet que l’escriptori sigui representat i raonat com un Qt Scene Graph.

Trobareu la major part de l’enregistrament de QtMir als registres d’Unity8, normalment emmagatzemats a /home/phablet/.cache/upstart/unity8 a Ubuntu Touch. Diferents categories de registre, com qtmir.sessions i qtmir.surfaces, es relacionen directament amb diferents mòduls dins de la base de codi del QtMir.

Tot i que Unity8 mostra gairebé tots els registres de QtMir per defecte, podeu activar un registre encara més detallat col·locant el següent contingut al fitxer /usr/share/upstart/sessions/unity8.override:

env QT_LOGGING_RULES='qtmir.*=true'

Després reinicieu Unity8:

restart unity8

QtUbuntu

El QtUbuntu QPA utilitza l” API de client Mir i l” API de plataforma d’Ubuntu per proporcionar aplicacions Ubuntu Touch amb una API de compatibilitat de maquinari estable.

Atès que QtUbuntu és utilitzat directament per les aplicacions, qualsevol sortida de registre d’ella estarà situada en el fitxer de registre d’una aplicació. La majoria de les vegades, QtUbuntu no dona sortida de registre. No obstant això, si voleu rebre més sortida, podeu establir adequadament la variable d’entorn QT_LOGGING_RULES. Atès que les aplicacions d’Ubuntu Touch s’han iniciat amb la sessió d’usuari d’Upstart, podeu establir això per a totes les aplicacions fins que reinicieu el dispositiu amb la següent ordre:

initctl set-env QT_LOGGING_RULES='qt.qpa.mirclient.*=true'

Tenim previst reemplaçar QtUbuntu per QtWayland en el futur.

Documents

QtUbuntu té una sèrie de subcomponents per proporcionar altres funcions a la plataforma Ubuntu Touch. En teoria, aquests es podrien utilitzar en altres plataformes per proporcionar característiques similars. En la pràctica, això mai ha ocorregut.

QtUbuntu-Camera proporciona el connector aalCamera (Càmera de capa d’abstracció d’Android) a QtMultimedia. Aquest connector permet a les aplicacions accedir a les càmeres de dispositiu Android a través de l’API estàndard de QtMultimedia. Estem intentant reemplaçar aquest component amb el connector gst-droid per al GStreamer per a tots els ports nous de dispositius Android.

QtUbuntu-Sensors proporciona retroalimentació hàptica per a Android, GPS, orientació i sensors d’acceleròmetre a QtSensors. Estem tractant de reemplaçar aquest component per sensorfw, un sol daemon capaç de proporcionar aquestes funcions utilitzant controladors de nucli Android o Linux estàndard.

QtUbuntu-Media proporciona la codificació i descodificació de maquinari de contingut d’àudio/vídeo en dispositius Android a QtMultimedia. Està estretament integrat amb media-hub.