Mir

Logiciel capture d'écran:
Mir
Détails logiciels:
Version: 0.24.0 Mise à jour
Date de transfert: 5 Sep 16
Développeur: Canonical Ltd.
Licence: Gratuit
Popularité: 296

Rating: 2.3/5 (Total Votes: 4)

Mir est une source ouverte et la technologie de serveur d'affichage gratuit qui a été conçu à partir du sol pour fournir un soutien efficace pour les graphiques co-processeurs sur les systèmes GNU / Linux. Il est développé par Canonical pour le monde & rsquo;. Système libre le plus populaire d'exploitation, Ubuntu


implémentations client et serveur

Mir est distribué à la fois comme client (libmirclient) et serveur (libmirserver). Il a été conçu comme un remplacement de drop-in pour le système X Window (X.Org) sur Ubuntu et ses dérivés. Il est également compatible avec les pilotes graphiques Android.

Les produits Mir et XMir seront distribués par défaut sur les prochaines versions du système d'exploitation Ubuntu Linux développé par Canonical. Il est également le serveur d'affichage par défaut utilisé sur la version stable actuelle du système d'exploitation mobile Ubuntu tactile pour alimenter les smartphones et tablettes.


Qu'est-ce que & rsquo; s inclus

Mir comprend plusieurs composants qui sont essentiels pour tout serveur d'affichage moderne, comme un composeur, gestionnaire d'entrée, gestionnaire de sortie, gestionnaire d'application, ainsi que des fonctionnalités d'échange de données inter-app.

Le logiciel est en quelque sorte identique dans la fonctionnalité avec et fortement inspiré par le serveur largement utilisé X.Org d'affichage, qui est actuellement mis en œuvre dans 99,9% de toutes les distributions GNU / Linux, ainsi que le serveur d'affichage Wayland flambant neuf.

Il a été conçu pour supporter un grand nombre de compositeurs matériels existants, conçus vers EGL / GL (ES), et tirer parti des pilotes existants qui mettent en œuvre le modèle de pilote Android.


Sous les systèmes d'exploitation pris en charge et le capot

Le programme est indépendant de la plateforme et entièrement écrit en langage C ++ de programmation, conçu pour fonctionner sur les systèmes GNU / Linux, les distributions BSD, ainsi que d'autres plates-formes UNIX.

Il a été testé avec succès à la fois 32 bits et l'instruction 64 bits set architectures, et la dernière version peut être testé sur la version actuelle de l'Ubuntu systèmes d'exploitation Linux ou en saisissant le dernier code source de son dépôt officiel.

ce qui est nouveau dans cette version:

  • Améliorations:
  • Ajout d'un nouvel outil 'mirvanity' qui peut utiliser une caméra vidéo haute vitesse pour mesurer la latence client-écran.
  • Ajouté (build-temps) support pour ordinateur de bureau complet des serveurs OpenGL (désactivé par défaut en faveur de GLESv2).
  • Introduit nouvelle sémantique de tampon (NBS) et activés par défaut.
  • évité d'utiliser libmirserver dans mir_demo_standalone_render_overlays, ce qui rend bringup trace moins encombré.
  • Retiré TilingWindowManager à partir de serveurs par exemple.
  • Ajout de deux nouveaux mir _ * _ performance_test outils qui sont exécutés dans le cadre de «mir_performance_tests».
  • Ajout pointeur confinement à l'API client.
  • nouvelle plate-forme de support Ajouté EGLStreams de logiciels.
  • Ajout d'une plate-forme d'entrée que le serveur imbriqué peut utiliser.
  • Autoriser la configuration du application_not_responding_detector
  • keymapping Handle côté serveur en utilisant XKBMapper.
  • Supprimer l'affichage offscreen.
  • Ajout d'une option de rappel pour notifier les coquilles que le serveur est sur le point d'arrêter.
  • Ajoutez la journalisation des événements ANativeWindow sur Android.

  • Résumé de l'ABI:
  • mirclient ABI inchangé à 9
  • mirserver ABI cogna à 41
  • mircommon ABI inchangé à 6
  • mirplatform ABI cogna à 12
  • mirprotobuf ABI inchangé à 3
  • mirplatformgraphics ABI cogna à 10
  • mirclientplatform ABI inchangé à 5
  • mirinputplatform ABI inchangé à 5

Ce qui est nouveau dans la version 0.18.0:

  • Graphics:
  • Travaux de préparation interne nécessaire pour Vulkan, matériel décodée optimisations multimédias, et des améliorations de latence pour les serveurs imbriqués.
  • commencé à travailler sur équarrisseurs plugin. Cela permettra de mieux préparer mir pour IdO, où nous ne pourrions pas avoir une pile Vulkan / GLES sur l'appareil, et pourrait avoir à utiliser la CPU.
  • Correction pour les graphiques corruption affectant Xmir (polyédrique barres noires)
  • Divers correctifs pour des scénarios de multimonitor, ainsi qu'un meilleur support pour l'extension des tampons en fonction du moniteur son sur.
  • Entrée:
  • Utilisez libinput par défaut. Nous avions été appuyons sur une ancienne version de l'entrée pile Android. Complètement supprimer ce en faveur de l'utilisation de libinput.
  • Bugs:
  • Tout à fait une longue liste de correction de bug. Certains d'entre eux ne furent jamais «dans la nature», mais existait au cours de 0,18 développement.

Ce qui est nouveau dans la version 0.17.0:

  • Résumé de l'ABI: Seuls les serveurs et les pilotes graphiques doivent reconstruire;
  • Mirclient ABI inchangé à 9
  • Mirserver ABI cogna à 35
  • Mircommon ABI inchangé à 5
  • Mirplatform ABI cogna à 11
  • Mirprotobuf ABI cogna à 3
  • Mirplatformgraphics ABI cogna à 6
  • Mirclientplatform ABI inchangé à 3
  • Améliorations:
  • Présentez libmircookie, un mécanisme simple pour un groupe de processus coopérant à distribuer et vérifier difficiles à forger horodatages à 3e parties non fiables.
  • Plus refactorings pour soutenir équarrisseurs autres que GL.
  • Ajouter MirBlob à l'API client -. Un outil de sérialisation et désérialisation des données
  • Introduire une plate-forme d'entrée libinput basée, non encore utilisé par défaut.
  • Fournir un mécanisme pour la coque pour envoyer des événements sur la construction de la surface.
  • Fournir mir :: shell :: DisplayConfigurationController permettant coquilles pour changer correctement la configuration d'affichage, avertir les clients selon le cas.
  • New DSO Guide versioning.
  • Envoyer les événements relatifs à la sortie d'une surface est actuellement sur (dpi, facteur de forme, échelle) aux clients.

  • Correction de bugs:
  • [amélioration] XMir documentation spécifique doit vivre dans son propre paragraphe (LP: # 1200114)
  • serveurs emboîtées ont besoin de soutien du curseur (LP: # 1289072)
  • Mir curseur est manquant / invisible jusqu'à ce que le client le met plusieurs fois (LP: # 1308133)
  • [régression] surfaces de logiciels Fullscreen (comme Xmir -sw) peut faire planter le serveur Mir (LP: # 1493721)
  • [usc] Mir abandonne et arrête en raison de l'entrée avec multimonitor qtmir (std :: exception :: ce que: l'envoi d'événement d'entrée de défaillance) (LP: # 1496069)
  • curseur de la souris disparaît à l'entrée de la surface d'un client imbriqué (LP: # 1496849)
  • [Android] entrée est pas distribué lors de la fixation d'un moniteur externe (LP: # 1498045)
  • [Android] coordonnées d'entrée sont mis à l'échelle de façon incorrecte lorsqu'un écran externe est connecté (LP: # 1498540)
  • [Android] std :: exception :: quoi: erreur lors de l'ensemble de hwc () lorsque vous débranchez le moniteur externe (LP: # 1498550)
  • les tests ne compilent pas sans en-têtes précompilés (LP: # 1498829)
  • [Android] std :: exception :: ce que: Impossible de surveiller fd: Opération non autorisée lors du débranchement affichage externe dans une configuration imbriquée (LP: # 1499042)
  • Mir construit soudainement plus puisque «mesa (11.0.

    0-1ubuntu1) rusée ': /usr/include/EGL/eglplatform.h:100:35: erreur fatale: android / native_window.h: Aucun fichier ou répertoire (LP: # 1499134)

  • [Android] divers accidents lorsque vous débranchez l'écran externe sur une configuration imbriquée (LP: # 1501927)
  • Curseur devient visible par lui-même quand un moniteur externe est connecté (LP: # 1502200)
  • mesa ftbfs en raison de manquant requis dans mirclient (LP: # 1503450)

Ce qui est nouveau dans la version 0.13.3:

  • MirEvent nettoyage
  • Suite à la mémoire tampon des changements sémantiques (qui aidera bypass imbriquée)
  • & quot; application ne répond pas & quot; branche proposée
  • Mir-sur-X branche proposé
  • Poursuite des travaux sur les retravaillant QtMir à utiliser l'interface WM à Mir
  • Suite coordination avec amont sur les changements de libinput nous avons proposé
  • Plateforme api avec le code Mir dépréciée enlevé dans le processus d'atterrissage
  • Démarrage d'une mise en œuvre du cadre de test de base perf python-
  • Started évaluation API Vulkan / WSI
  • fuites fd fixes dans certains tests
  • Support Double-buffering

Ce qui est nouveau dans la version 0.11.0:

  • changements d'emballage:
  • En raison des changements dans le modèle de pilote Mir les plates-formes clientes ne sont versionnées par soname. libmirplatform5driver- Thusly (mesa | android) est remplacé par mir-client-Platform- (mesa-android). Un nouveau package mir-client-plateforme-mesa-dev est introduit contenant des en-têtes précédemment dans mirplatform-dev.
  • Améliorations:
  • Beaucoup plus de plomberie majeur dans le code Android, sur le chemin à soutenir des écrans externes.
  • Ajout du support pour clang 3.6.
  • refonte majeure des classes de serveur dans mir :: shell, scène et les amis (toujours en cours).
  • Ajout API client pour créer des dialogues et des infobulles.
  • Ajout de nouveaux états de surface:. Mir_surface_state_hidden et mir_surface_state_horizmaximized
  • Performance:. Utiliser fragment d'une efficacité optimale ombrage si possible
  • Performance:. (Desktop) composite en utilisant le double buffering au lieu de triple réduire le lag visible
  • mir_proving_server: Peut maintenant redimensionner les fenêtres de tout bord ou un coin en utilisant l'Alt existante + middlebuttondrag
  • .
  • mir_proving_server: Ajout de quelques shaders démo personnalisés (modes de contraste négatif et élevé: Super + N / C)
  • .
  • mir_proving_server:. Pouvez maintenant fermer clients poliment via Alt + F4

  • Ajout MirPointerInputEvent (partie de la nouvelle API d'entrée, l'ancien MirMotionEvent est toujours supporté également pour l'instant).
  • Résumé ABI: Les serveurs doivent reconstruire, mais les clients ne le font pas; . Mirclient ABI inchangé à 8. Mircommon ABI inchangé à 3. Mirplatform ABI cogna à 6. Mirserver ABI cogna à 29
  • Correction de bugs:
  • [régression] mir_demo_server sort immédiatement avec boost bad_any_cast exception (LP: # 1414630)
  • besoin moyen de menus de position et infobulles (positionnement par rapport au parent) (LP: # 1324101)
  • insuffisance GLibMainLoopTest vu dans CI (LP: # 1413748)
  • Clang construit échouer dans CI (LP: # 1416317)
  • segfault in mir de la compositor :: GLProgramFamily :: Shader :: init () (LP: # 1416482)
  • GLRenderer: Le fragment shader par défaut est sous-optimale pour alpha = 1.

    0 (LP: # 1350674)

  • mesa :: DisplayBuffer :: post_update est triple tamponnée - plus laggy qu'il doit être (LP: # 1350725)
  • Impossible de se connecter au serveur imbriqué lors du démarrage à partir d'un vt différen (LP: # 1379266)
  • [testfail] échoue AsioMainLoopAlarmTest dans CI (LP: # 1392256)
  • rapport de Compositor rapports incompatible temps de trame pendant la circulation, et le temps de rendu autrement (LP: # 1408906)
  • [régression] mir_demo_client_fingerpaint ne peint pas plus quoi que ce soit (avec la souris) (LP: # 1413139)
  • curseur de matériel est toujours légèrement en avance sur l'image composited (LP: # 1274408)
  • les tests d'intégration sont de sortie (trop) DisplayServer messages de log (LP: # 1408231)
  • [régression] deploy-and-test.sh ne fonctionne pas plus (sauf si vous avez déjà installé umockdev) (LP: # 1413479)
  • Couleur Inverse sur l'affichage. Basculer Image négative (LP: # 1400580)
  • mir-ubuntu-vive-armhf-ci ne parvient pas toujours (LP: # 1407863)
  • surfaces doubles tamponnée peuvent traîner ou congeler si l'événement conduit et pas constamment redessiner (LP: # 1395581)
  • mouvement du pointeur et de croisement des événements sont manquants (LP: # 1417650)

Ce qui est nouveau dans la version 0.8:

  • Support pour touchspots visuellement montrer des endroits tactiles sur l'écran, mais au prix de la performance.
  • clients Mir peuvent maintenant exposer des informations de performance comme des taux de trame et les temps de rendu via définissant la variable MIR_CLIENT_PERF_REPORT = environnement journal pour vider les informations de performance à la sortie standard.
  • Moins de sensibilité à des pauses ABI en cachant les en-têtes d'être exposés qui ont été utilisé par des projets externes, etc. Il y a aussi plus de scripts maintenant pour détecter ABI casse.
  • Plus d'améliorations touchent la réactivité -. Y compris moins de décalage et le défilement lisse
  • superpositions de matériel sont maintenant activés par défaut.
  • Un grand nombre de corrections de bugs.

Ce qui est nouveau dans la version 0.1.2:

  • graphiques: android:. Améliorer l'interface pour mga :: DisplayDevice donc son juste préoccupé par le rendu et l'affichage
  • surfaces: renommer & quot; surfaces & quot; composant à & quot; scène & quot;.
  • surfaces, shell: Migrer session modèle de données à partir de coquilles de surfaces
  • .
  • graphiques: changement fill_ipc_package () à utiliser de vrais pointeurs
  • .
  • mir_client_library.h: Fix typo & quot; faire et verrouillage & quot; devrait être & quot; faire tout blocage & quot;.

  • énumérations
  • API nettoyage: Enlever un peu trompeuse * valeurs _enum_max_, et les remplacer par des formes plurielles plus précises
  • .
  • test_android_communication_package:. Ne vous attendez pas fd ouvert pour être & gt; 0, nous pouvons avoir stdin fermé ce qui en fait une valeur valide (LP: # 1247718)
  • Mise à jour docs sur l'exécution de Mir sur le bureau pour parler de nouveau paquet ubuntu-desktop-mir.
  • offscreen: Ajouter un écran qui rend sa sortie à tampons hors écran
  • graphiques: android: fixer la régression pour les dispositifs de hwc1.0 introduits dans r1228 (LP: # 1252433)
  • .
  • OffscreenPlatform fournit les services que l'affichage offscreen a besoin de la plate-forme.
  • graphiques: android:. Consolider les classes GLContexts en cours d'utilisation
  • Correction variable non initialisée provoquant des échecs de test de drm_auth_magic aléatoire. (LP: # 1252144).

  • Ajouter un wrapper Udev fonctionnelle fullyish. Ce siège actuellement dans les graphiques / gbm, mais sera déplacé vers le haut niveau lors migre de détection de périphériques d'entrée.
  • Ajouter redimensionnement soutien exemple de code; demo-shell et les clients.
  • eglapp: Clarifier les messages sur les formats de pixels (LP: # 1168304).
  • Ajoute le support à l'MirMotionEvent sous pointer_coordinates appelés tool_type. Cela permettra aux clients de dire ce type d'outil est utilisé, de la souris / doigt / etc. (LP: # 1252498)
  • client, frontend: Signaler les réels disponibles formats de pixels de surface aux clients. (LP: # 1240833)
  • graphiques: android: 1) le changement hwc1.1 à faire usage de clôtures de synchronisation lors de la gl de rendu du compositeur. Notez que nous attendons plus pour le rendre à remplir, nous passons cette responsabilité pour le conducteur et le noyau. 2) le soutien nexus 10. (LP: # 1252173) (LP: # 1203268)
  • shell: ne pas publier SurfacesContainer - il peut être privé à débourser
  • .
  • gbm:. Ne pas gâcher le mode VT en cas d'échec d'installation seulement restaurer le mode VT précédent lors de l'arrêt si elle était VT_AUTO
  • Correction d'un accident dû à un appel échoué eglMakeCurrent () en mode imbriqué.
  • shell: unité-mir utilise shell :: FocusSetter - faire l'en-tête du public à nouveau
  • Ajout du support de redimensionnement sur les surfaces des clients (mir :: client :: MirSurface).
  • graphiques: android: support «vieux aka 2012 'nexus 7 hwc (nvidia SoC Tegra3) mieux. (LP: # 1231917)
  • Ajoutez redimensionner le soutien aux classes * ClientBuffer. Maintenant, toujours obtenir les dimensions du paquet le dernier tampon.
  • android: crochets de support de driver pour le Mali T604 (présents dans nexus 10)
  • Ajouter largeur et la hauteur au protocole des messages tampons, en préparation pour les surfaces redimensionnables.
  • les surfaces, la coquille, l'exploitation forestière, des tests: ne pas publier les en-têtes qui peuvent être privés de surfaces. surfaces / basic_surface.h, surfaces / surface_controller.h et shell / surface_builder.h
  • exemples: Restaurer la liaison lors de la destruction de la cible d'affichage GL framebuffer
  • exemples, surfaces, shell: supprimer la dépendance render_surfaces sur BasicSurface
  • la géométrie: supprimer la mise en œuvre des opérateurs de diffusion en continu des en-têtes (LP: # 1247820)
  • Éliminer la séquence de mise au point de l'ordre d'inscription, le pliage de ses fonctionnalités pour le conteneur de session.
  • Assurer la session de médiateurs de presse acquis les ressources de mémoire tampon avant de tenter d'acquérir un nouveau tampon au nom du client.Cela corrige une régression de la performance (LP: # 1249210).
  • Quelques nettoyages à test_client_input.cpp.
  • Factor un tas de & quot; ClientConfigCommon & quot;.
  • Petit nettoyage de test de conteneur de session pour augmenter l'encapsulation.
  • shell, surfaces: Une autre étape dans & quot; fixation & quot; les surfaces hiérarchies -. ne publient que des interfaces et de mettre le modèle de données dans les surfaces
  • graphiques: android:. HWC1.1 utilisation EGL pour obtenir plus d'informations sur le format framebuffer de pixel
  • Fix FTBS utilisant use_debflags = ON (bâtiment pour android-armhf). (LP: # 1248014)
  • Ajout d'un rapport de récepteur d'entrée du client.
  • doc: doxygen 1.8.4 se plaint d'une configuration obsolète alors couru & quot; doxygen u Doxyfile.in & quot;
  • .
  • Mettre en œuvre resize () pour les classes côté serveur surface.
  • android: nettoyer mga :: DisplayBuffer et mga :: DisplayBufferFactory
  • Ajoutez resize () appui à BufferStream, en préparation pour les surfaces redimensionnables.
  • Fusionner les métadonnées des modifications de la lp nouvellement reconstruit: mir
  • Tests: dédupliquer moignons mg :: GraphicBufferAllocator
  • .
  • Exemples: Supprimer l'utilisation parasite de mir / shell / surface.h.
  • frontend: supprimer ClientTrackingSurface de la hiérarchie des classes de surface
  • Supplantation ABI sur le serveur à libmirserver11.
  • Ne pas mentionner & quot; Renderable & quot ;. Cette interface n'a pas existé pendant un certain temps maintenant.
  • android-entrée:. Attribuer ids tactiles plus uniques

Ce qui est nouveau dans la version 0.1.1:

  • les tests unitaires nouveaux, divers correctifs pour éviter la publication interne têtes, le soutien à la spécification du Mir emboîtés nom du serveur soit via un --name = argument ou la variable d'environnement MIR_SERVER_NAME, refactoring des classes d'affichage Mir Android, et une première étape vers la fourniture surface redimensionne soutien.

D'autres logiciels de développeur Canonical Ltd.

Commentaires à Mir

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!