Mir

Software screenshot:
Mir
Dettagli del software:
Versione: 0.24.0 Aggiornato
Data di caricamento: 5 Sep 16
Sviluppatore: Canonical Ltd.
Licenza: Libero
Popolarità: 224

Rating: 2.3/5 (Total Votes: 4)

Mir è un open source e la tecnologia server di visualizzazione gratuito che è stato progettato da zero per fornire un supporto efficace per la grafica co-processori sui sistemi GNU / Linux. E 'sviluppato da Canonical per il mondo & rsquo;. S sistema operativo libero più popolare, Ubuntu


implementazioni client e server

Mir è distribuito sia come client (libmirclient) e il server (libmirserver). E 'stato progettato come una sostituzione drop-in per il sistema X Window (X.Org) su Ubuntu e dei suoi derivati. E 'inoltre compatibile con i driver grafici Android.

I prodotti Mir e XMir saranno distribuite per impostazione predefinita sui prossime uscite del sistema operativo Ubuntu Linux sviluppato da Canonical. E 'anche il server di visualizzazione predefinita utilizzata sulla attuale versione stabile del sistema operativo mobile di Ubuntu Touch per l'alimentazione di smartphone e tablet.


Che & rsquo; s incluso

Mir è composto da diversi componenti che sono essenziali per qualsiasi server moderno display, come un compositore, direttore d'ingresso, Output Manager, Application Manager, così come funzionalità di scambio dei dati tra le app.

Il software è in qualche modo identico nella funzionalità con e fortemente ispirato dal server X.Org ampiamente utilizzato display, che è attualmente implementato nel 99,9% di tutte le distribuzioni GNU / Linux, così come il nuovo server di visualizzazione Wayland.

E 'stato progettato per supportare molti dei compositori hardware esistenti, progettati verso EGL / GL (ES), e approfittare di driver esistenti che implementano il modello di driver di Android.


Sotto i sistemi operativi supportati e cappuccio

Il programma è indipendente dalla piattaforma e scritto interamente in linguaggio C ++ di programmazione, progettato per funzionare su sistemi GNU / Linux, distribuzioni BSD, così come altre piattaforme UNIX-like.

E 'stato testato con successo con le architetture a 32-bit e set di istruzioni a 64-bit, e l'ultima versione può essere testato sulla versione corrente di Ubuntu Linux sistemi operativi o afferrando il codice sorgente più recente dal suo repository ufficiale.

Cosa c'è di nuovo in questa versione:

  • Miglioramenti:
  • Aggiunto un nuovo strumento 'mirvanity' in grado di utilizzare una videocamera ad alta velocità per misurare la latenza client-to-schermo.
  • Aggiunto (build-time) il supporto per i server desktop completo OpenGL (disabilitata per default in favore di GLESv2).
  • Introdotta nuova semantica tampone (NBS) e abilitato di default.
  • evitato di usare libmirserver in mir_demo_standalone_render_overlays, rendendo bringup tracce meno denso.
  • Rimosso TilingWindowManager dall'esempio server.
  • aggiunto due nuovi mir _ * _ strumenti performance_test che vengono eseguiti come parte del 'mir_performance_tests.
  • Aggiunto puntatore confinamento al client API.
  • Aggiunta nuova piattaforma di supporto EGLStreams software.
  • Aggiunta una piattaforma di ingresso che il server nidificato può utilizzare.
  • Consenti configurazione del application_not_responding_detector
  • keymapping maniglia sul lato server utilizzando XKBMapper.
  • Rimuovere il display fuori campo.
  • Aggiungi opzione di callback per notificare conchiglie che il server sta per fermarsi.
  • Aggiungi la registrazione per eventi ANativeWindow su Android.

  • sintesi ABI:
  • mirclient ABI invariato al 9
  • mirserver ABI urtato a 41
  • mircommon ABI invariato a 6
  • mirplatform ABI urtato a 12
  • mirprotobuf ABI invariato a 3
  • mirplatformgraphics ABI urtato a 10
  • mirclientplatform ABI invariato a 5
  • mirinputplatform ABI invariato a 5

Cosa c'è di nuovo nella versione 0.18.0:

  • Grafica:
  • lavoro di preparazione interna necessaria per Vulkan, hardware decodificato ottimizzazioni multimediali, e miglioramenti di latenza per i server nidificati.
  • iniziato a lavorare su renderer plugin. Questo sarà meglio prepararsi mir per IoT, dove non potremmo avere uno stack Vulkan / GLES sul dispositivo, e potrebbe essere necessario utilizzare la CPU.
  • Le correzioni per la corruzione grafica che interessano Xmir (a blocchi barre nere)
  • Varie correzioni per gli scenari multimonitor, così come un migliore supporto per scalare i buffer per soddisfare il monitor la sua via.
  • Input:
  • Usa libinput per impostazione predefinita. Ci era stato appoggiato a una vecchia versione dello stack di ingresso Android. rimuovere completamente questo a favore dell'uso di libinput.
  • Bugs:
  • Piuttosto un lungo elenco di correzioni di bug. Alcuni di questi non sono mai stati 'in the wild', ma esisteva nel corso di 0,18 sviluppo.

Cosa c'è di nuovo nella versione 0.17.0:

  • sintesi ABI: solo i server e grafica i driver devono essere la ricostruzione;
  • Mirclient ABI invariato al 9
  • Mirserver ABI urtato a 35
  • Mircommon ABI invariato a 5
  • Mirplatform ABI urtato a 11
  • Mirprotobuf ABI urtato a 3
  • Mirplatformgraphics ABI urtato a 6
  • Mirclientplatform ABI invariato a 3
  • I miglioramenti:
  • Introdurre libmircookie, un meccanismo semplice per un gruppo di cooperare processi per distribuire e verificare difficili da forgiare timestamp a 3 parti non attendibili.
  • Più refactoring per supportare renderer diversi da GL.
  • Aggiungi MirBlob al client API -. Uno strumento per la serializzazione e deserializzazione dei dati
  • Introdurre una piattaforma di ingresso libinput base, non ancora utilizzato per impostazione predefinita.
  • forniscono un meccanismo per la shell per inviare eventi sulla costruzione superficie.
  • Fornire mir :: :: guscio DisplayConfigurationController permettendo gusci di modificare correttamente la configurazione del display, notificando i clienti a seconda dei casi.
  • Nuovo DSO guida delle versioni.
  • Invia eventi relativi alla uscita di una superficie è attualmente in (dpi, fattore di forma, scala) ai clienti.

  • Correzioni di bug:
  • documentazione specifica [valorizzazione] XMir deve vivere nella relativa sottosezione (LP: # 1.200.114)
  • server nidificati hanno bisogno di sostegno cursore (LP: # 1.289.072)
  • cursore Mir è mancante / invisibile fino a quando il cliente lo mette più volte (LP: # 1.308.133)
  • [regressione] superfici di software a schermo intero (come Xmir -sw) può mandare in crash il server Mir (LP: # 1.493.721)
  • [USC] Mir si arrende e si spegne a causa di ingresso con multimonitor qtmir (std :: eccezione :: cosa: la mancata trasmissione evento di ingresso) (LP: # 1.496.069)
  • Il cursore del mouse scompare entrando nella superficie di un cliente nidificato (LP: # 1.496.849)
  • [Android] ingresso non viene inviato quando il collegamento di un monitor esterno (LP: # 1.498.045)
  • [Android] coordinate di ingresso vengono scalati in modo non corretto quando è collegato uno schermo esterno (LP: # 1.498.540)
  • [Android] std :: eccezione :: cosa: errore durante set HWC () quando si scollega monitor esterno (LP: # 1.498.550)
  • test non compilare senza intestazioni precompilate (LP: # 1.498.829)
  • [Android] std :: eccezione :: cosa: Impossibile monitorare fd: Operazione non consentita quando si scollega display esterno in una configurazione annidata (LP: # 1.499.042)
  • Mir costruisce improvvisamente non è più da 'mesa (11.0.

    0-1ubuntu1) scaltro ': /usr/include/EGL/eglplatform.h:100:35: errore fatale: Android / native_window.h: Nessun file o directory (LP: # 1.499.134)

  • [Android] vari crash quando si stacca display esterno su una configurazione annidata (LP: # 1.501.927)
  • Il cursore diventa visibile da solo quando è collegato un monitor esterno (LP: # 1.502.200)
  • mesa FTBFS a causa della mancanza Richiede a mirclient (LP: # 1.503.450)

Cosa c'è di nuovo nella versione 0.13.3:

  • MirEvent pulizia
  • Continua a tampone cambiamenti semantici (che vi aiuterà bypass annidati)
  • & quot; L'applicazione non risponde & quot; ramo proposto
  • Mir-on-X ramo proposto
  • Continua il lavoro sulla rielaborazione QtMir utilizzare l'interfaccia WM in Mir
  • coordinamento Continua con a monte sui cambiamenti libinput abbiamo proposto
  • API della piattaforma con il codice di Mir deprecato rimosso in fase di atterraggio
  • iniziato una implementazione framework di test perf basato su Python
  • Iniziato valutare Vulkan / WSI API
  • perdite FD Fixed in alcuni test
  • supporto Double-buffering

Cosa c'è di nuovo nella versione 0.11.0:

  • cambiamenti di imballaggio:
  • A causa dei cambiamenti nel modello di driver Mir le piattaforme client non sono più di versione dal soname. Questa convenzione libmirplatform5driver- (mesa | Android) è sostituita dalla mir-client-dalla piattaforma (mesa-Android). Un nuovo pacchetto di mir-client-platform-mesa-dev viene introdotto contenente intestazioni in precedenza in mirplatform-dev.
  • I miglioramenti:
  • Un sacco più importante impianto idraulico nel codice Android, sul percorso a supportare display esterni.
  • Aggiungi il supporto per clang 3.6.
  • riprogettazione importante di classi di server in mir :: guscio, scena e amici (ancora in corso).
  • Aggiunto client API per la creazione di finestre di dialogo e suggerimenti.
  • Aggiunto nuovi stati di superficie:. Mir_surface_state_hidden e mir_surface_state_horizmaximized
  • Prestazioni:. Utilizzare in modo ottimale efficace ombreggiatura frammento quando possibile
  • Prestazioni:. (Desktop) Composite con il doppio buffer invece di tripla per ridurre il ritardo visibile
  • mir_proving_server: Può ora ridimensionare le finestre da qualsiasi bordo o angolo utilizzando i tasti Alt + esistente middlebuttondrag
  • .
  • mir_proving_server: Aggiunte alcune shaders demo personalizzate (modalità di contrasto negativo e alta: Super + N / C)
  • .
  • mir_proving_server:. Possibile chiudere clienti educatamente tramite Alt + F4

  • Aggiunto MirPointerInputEvent (parte della nuova API di input, il vecchio MirMotionEvent è ancora supportato anche per ora).
  • sintesi ABI: Server hanno bisogno di ricostruzione, ma i clienti non lo fanno; . Mirclient ABI invariato a 8. Mircommon ABI invariato a 3. Mirplatform ABI urtato a 6. Mirserver ABI urtato a 29
  • Correzioni di bug:
  • [regressione] mir_demo_server esce immediatamente con l'eccezione spinta bad_any_cast (LP: # 1.414.630)
  • bisogno modo per i menu di posizione e le descrizioni dei comandi (posizionamento relativo al genitore) (LP: # 1.324.101)
  • fallimento GLibMainLoopTest visto in CI (LP: # 1.413.748)
  • Clang costruisce non riuscire a CI (LP: # 1.416.317)
  • segfault in mir :: compositore :: :: GLProgramFamily Shader :: init () (LP: # 1.416.482)
  • GLRenderer: Lo shader frammento di default è sub-ottimale per alpha = 1.

    0 (LP: # 1.350.674)

  • mesa :: :: DisplayBuffer post_update è triplice tamponata - più lag di quello che deve essere (LP: # 1.350.725)
  • Non è possibile connettersi al server nested, quando lanciato da un VT differen (LP: # 1.379.266)
  • [testfail] non riesce a AsioMainLoopAlarmTest CI (LP: # 1.392.256)
  • rapporto Compositor riporta in modo incoerente lasso di tempo durante il bypass, e rendere tempo altrimenti (LP: # 1.408.906)
  • [regressione] mir_demo_client_fingerpaint non dipinge più nulla (con il mouse) (LP: # 1.413.139)
  • cursore hardware è sempre leggermente in anticipo le immagini composite (LP: # 1.274.408)
  • test di integrazione viene trasmesso il segnale (troppi) DisplayServer registrare i messaggi (LP: # 1.408.231)
  • [regressione] deploy-and-test.sh non funzionerà più (a meno che non si dispone di umockdev installato già) (LP: # 1.413.479)
  • Inversa colori sul display. Toggle Immagine negativa (LP: # 1.400.580)
  • mir-ubuntu-vivo-armhf-ci riesce sempre (LP: # 1.407.863)
  • superfici doppio buffer può essere in ritardo o congelare se l'evento guidato e non continuamente ridisegnare (LP: # 1.395.581)

  • eventi
  • movimento del puntatore e di attraversamento mancano (LP: # 1.417.650)

Cosa c'è di nuovo nella versione 0.8:

  • Il supporto per touchspots visivamente dimostrare posizioni tocco sullo schermo, anche se a scapito delle prestazioni.
  • i clienti possono ora Mir esporre le informazioni sulle prestazioni come frame rate e tempi di rendering tramite l'impostazione della variabile MIR_CLIENT_PERF_REPORT = ambiente registro per scaricare le informazioni sulle prestazioni sullo standard output.
  • minore sensibilità alle interruzioni ABI nascondendo le intestazioni siano esposti che sono stati inutilizzati da progetti esterni, ecc C'è anche più script ora per rilevare ABI rottura.
  • Ulteriori miglioramenti a toccare la risposta -. Compresa meno lag e agevole scorrimento
  • sovrapposizioni hardware sono ormai attivati ​​per impostazione predefinita.
  • Un gran numero di bug-fix.

Cosa c'è di nuovo nella versione 0.1.2:

  • grafica: Android:. Migliorare l'interfaccia per mga :: DisplayDevice così il suo solo interessati con il rendering e la pubblicazione
  • superfici: rinominare & quot; & quot; superfici componente per & quot; scena & quot;.
  • superfici, coperture: Migrare sessione modello di dati da shell per superfici
  • .
  • grafica: il cambiamento fill_ipc_package () usino gli indicatori reali
  • .
  • mir_client_library.h: Fix errore di battitura & quot; fare e bloccaggio & quot; dovrebbe essere & quot; fare qualsiasi bloccaggio & quot;.

  • enumerazioni
  • API di pulizia: Rimuovere leggermente fuorviante * valori _enum_max_, e sostituirli con forme plurali precisare
  • .
  • test_android_communication_package:. Non aspettatevi fd aperto per essere & gt; 0, possiamo avere stdin chiuso rendendo questo un valore valido (LP: # 1.247.718)
  • Aggiornamento documenti riguardanti l'utilizzo di Mir sul desktop per citare nuovo pacchetto ubuntu-desktop-mir.
  • fuori campo: Aggiungi un display che rende la sua uscita al buffer fuori schermo
  • grafica: android: fissare la regressione per i dispositivi hwc1.0 introdotti in r1228 (LP: # 1.252.433)
  • .
  • OffscreenPlatform fornisce i servizi che il display fuori campo ha bisogno dalla piattaforma.
  • grafica: Android:. Consolidare le classi GLContexts in uso
  • Fissare variabile non inizializzata causando fallimenti dei test drm_auth_magic casuale. (LP: # 1.252.144).

  • Aggiungi un fullyish involucro funzionale udev. Questo si trova attualmente nella grafica / GBM, ma sarà spostato al livello superiore quando il dispositivo di input migra di rilevamento.
  • Aggiungi il ridimensionamento sostegno al codice di esempio; demo-shell e clienti.
  • eglapp: Chiarire i messaggi sui formati di pixel (LP: # 1.168.304).
  • Aggiunge il supporto per la MirMotionEvent sotto pointer_coordinates chiamati tool_type. Questo permetterà ai clienti di dire che tipo di strumento viene utilizzato, dal topo / finger / etc. (LP: # 1.252.498)
  • cliente, frontend: Segnalare i veri formati pixel superficie a disposizione dei clienti. (LP: # 1.240.833)
  • grafica: Android: 1) il cambiamento hwc1.1 a fare uso di recinzioni di sincronizzazione durante renderloop gl del compositore. Si noti che aspettiamo non più per il render per completare, si passa questa responsabilità per il conducente e il kernel. 2) Supporto Nexus 10. (LP: # 1.252.173) (LP: # 1.203.268)
  • shell: non pubblicare SurfacesContainer - può essere privato a sborsare
  • .
  • GBM:. Non rovinare la modalità di VT in caso di errore di installazione ripristinare la modalità VT precedente solo durante l'arresto se fosse VT_AUTO
  • Fissare un incidente a causa di una chiamata fallita eglMakeCurrent () in modalità nidificato.
  • shell: unity-mir utilizza shell :: FocusSetter - rendere l'intestazione pubblico ancora una volta
  • Aggiungi il supporto di ridimensionamento per superfici client (mir :: :: client MirSurface).
  • grafica: android: sostegno 'vecchio alias 2012' Nexus 7 HWC (NVIDIA Tegra3 SoC) meglio. (LP: # 1.231.917)
  • Aggiungi ridimensionare sostegno alle classi * ClientBuffer. Ora sempre ottenere dimensioni da l'ultimo pacchetto di buffer.
  • Android: supporto ganci driver per il Mali T604 (presenti nel Nexus 10)
  • Aggiungi la larghezza e l'altezza per i messaggi buffer di protocollo, in preparazione per le superfici ridimensionabili.
  • superfici, conchiglia, la registrazione, test: non pubblicare le intestazioni che possono essere privati ​​di superfici. superfici / basic_surface.h, superfici / surface_controller.h e Shell / surface_builder.h
  • esempi: Restore GL framebuffer vincolante quando distruggere il bersaglio rendere
  • esempi, superfici, coperture: rimuovere render_surfaces dipendenza BasicSurface
  • geometria: rimuovere implementazione degli operatori di streaming dalle intestazioni (LP: # 1.247.820)
  • Eliminare la sequenza di messa a fuoco ordine di registrazione, piegatura è funzionalità al contenitore sessione.
  • Assicurarsi che i rilasci sessione mediatore acquisite le risorse del buffer prima di tentare di acquisire un nuovo buffer per conto del cliente.Questo risolve la regressione delle prestazioni (LP: # 1.249.210).
  • Alcune pulizie a test_client_input.cpp.
  • Factor fuori un mazzo di & quot; ClientConfigCommon & quot;.
  • Piccolo pulizia a prova di contenitore sessione per aumentare l'incapsulamento.
  • shell, le superfici: Un altro passo in & quot; fissaggio & quot; le superfici gerarchie -. pubblicare solo le interfacce e mettendo il modello di dati in superfici
  • grafica: Android:. Uso HWC1.1 EGL per ottenere ulteriori informazioni sul formato framebuffer pixel
  • Fix schema FTBS utilizzando use_debflags = ON (edificio per Android-armhf). (LP: # 1.248.014)
  • Aggiungi un rapporto ricevitore di ingresso del cliente.
  • Doc: doxygen 1.8.4 lamenta un config obsoleto così correva & quot; doxygen u Doxyfile.in & quot;
  • .
  • Implementare resize () per le classi lato server di superficie.
  • Android: ripulire mga :: DisplayBuffer e mga :: DisplayBufferFactory
  • Aggiungi resize () sostegno alla BufferStream, in preparazione per le superfici ridimensionabili.
  • Unisci metadati modifiche dal lp recentemente ricostruito: mir
  • test: deduplicare stub mg :: GraphicBufferAllocator
  • .
  • esempi: Rimuovere uso spurio di Mir / shell / surface.h.
  • frontend: rimuovere ClientTrackingSurface dalla gerarchia delle classi di superficie
  • Urtando ABI sul server per libmirserver11.
  • Non parlare & quot; Renderable & quot ;. Quella interfaccia non esiste da parecchio tempo.
  • Android-input:. Assegnare ID tocco più unici

Cosa c'è di nuovo nella versione 0.1.1:

  • test nuova unità, varie correzioni per evitare la pubblicazione interna intestazioni, il supporto per specificare il nome del server Mir annidati sia tramite un --name = argomento o la variabile d'ambiente MIR_SERVER_NAME, refactoring delle classi di visualizzazione Mir Android, e un primo passo verso l'offerta di superficie di ridimensionare il supporto.

Altri software di sviluppo Canonical Ltd.

Ubuntu Touch
Ubuntu Touch

17 Feb 15

Xubuntu
Xubuntu

16 Aug 18

Ubuntu Kylin
Ubuntu Kylin

16 Aug 18

Ubuntu DVD
Ubuntu DVD

17 Feb 15

Commenti a Mir

I commenti non trovato
Aggiungi commento
Accendere le immagini!