Mir je open source technologie a bez displeje server, který byl navržen od základu tak, aby poskytly účinnou podporu pro grafiku spolupracovníci procesorů v systému GNU / Linux. Je vyvinutý Canonical pro celý svět a rsquo; s. Nejpopulárnější svobodný operační systém Ubuntu
implementace klienta a serveru
Mir je distribuován jako oba klienta (libmirclient) a serverem (libmirserver). To byl navržen jako drop-in náhradu za X Window System (X.Org) na Ubuntu a jeho derivátů. Je také kompatibilní s Android grafických ovladačů.
Tyto výrobky Mir a XMir bude distribuován ve výchozím nastavení v nadcházejících verzích operačního systému Ubuntu Linux vyvinutý společností Canonical. To je také výchozí displej server používaný na aktuální stabilní verzi mobilního operačního systému Ubuntu Touch pro napájení smartphony a tablety.
Co & rsquo; š zahrnuty
Mir se skládá z několika složek, které jsou nezbytné pro každou moderní zobrazovací serveru, jako sazeč, vstupní manažer, Output Manager, správce aplikací, stejně jako funkce pro výměnu dat mezi aplikacemi.
Tento software je nějak shodný funkčnosti se a silně inspirovaný široce používán X.Org zobrazení serveru, který je v současné době realizován v 99,9% všech distribucí GNU / Linux, stejně jako zbrusu nový Wayland displeje serveru.
Bylo navržen tak, aby podporovaly mnohé stávající hardware skladatelů, které jsou určeny k EGL / GL (ES), a využít stávajících ovladačů, které používají model ovladačů pro Android.
Pod operačním systémem kapucí a podporovaných
Tento program je nezávislý na platformě a psaný úplně v C ++ programovací jazyk, který je určen pro provoz na GNU / Linux systémech, BSD distribuce, stejně jako dalších UNIXových systémech.
To byl úspěšně testován s oběma 32-bit a 64-bit instrukční sada architektur a nejnovější verzi lze testovat na aktuálním vydání Ubuntu Linux operační systémy nebo uchopením nejnovější zdrojové kódy od jeho oficiálního repozitáře.
Co je nového v této verzi:
- Vylepšení:
- Přidán nový nástroj "mirvanity", které lze použít videokameru vysokorychlostní měřit latence klienta k obrazovce.
- Added (build-time) podporu pro stolní plný OpenGL serverů (ve výchozím nastavení zakázána ve prospěch GLESv2).
- zavedeny nové nárazníkové sémantika (NBS) a to ve výchozím nastavení povolena.
- vyvarovat použití libmirserver v mir_demo_standalone_render_overlays, takže bringup sleduje méně přeplněná.
- Odebráno TilingWindowManager z příkladu serverů.
- přidal dvě nové mir _ * _ performance_test nástroje, které jsou spuštěny jako součást "mir_performance_tests".
- Přidal ukazatel vězení do klientského API.
- Přidána nová platforma podporující softwarové EGLStreams.
- Přidána vstupní platformu, která vnořené server může použít.
- Povolit konfiguraci application_not_responding_detector
- Handle na straně serveru mapování kláves pomocí XKBMapper.
- Odstraňte mimo obrazovku displeje.
- Přidat možnost zpětného volání oznámit granátů, že server se chystá zastavit.
- Přidat protokolování událostí ANativeWindow na Android.
- souhrn ABI:
- mirclient ABI beze změny na úrovni 9
- mirserver ABI naražený až 41
- mircommon ABI beze změny na úrovni 6
- mirplatform ABI narazil do 12
- mirprotobuf ABI beze změny na úrovni 3
- mirplatformgraphics ABI narazil do 10
- mirclientplatform ABI beze změny na úrovni 5
- mirinputplatform ABI beze změny na úrovni 5
Co je nového ve verzi 0.18.0:
- Grafika:
- Interní přípravné práce potřebné pro Vulkan, hardware dekódované multimediální optimalizace a latence vylepšení pro vnořené servery.
- začali pracovat na pluginů renderery. Tím se lépe připravit mir na internetu věcí, kde jsme nemusí mít stack Vulkan / GLES na zařízení, a možná bude muset používat procesor.
- Opravy poškození grafiky ovlivňující Xmir (mozaikové černé pruhy)
- Různé opravy pro multimonitor scénáře, stejně jako lepší podpora pro škálování vyrovnávací paměti tak, aby vyhovovaly monitoru jeho on.
- Vstup:
- Pomocí libinput ve výchozím nastavení. Byli jsme opírající se o starou verzi vstupního zásobníku Android. Zcela odstranit tento ve prospěch použití libinput.
- Chyby:
- Poměrně dlouhý seznam korekce chyb. Některé z nich nebyly nikdy "v divočině", ale existovala v průběhu 0,18 vývoje.
Co je nového ve verzi 0.17.0:
- souhrn ABI: pouze servery a grafické ovladače potřebují přestavět;
- Mirclient ABI beze změny na úrovni 9
- Mirserver ABI narazil na 35
- Mircommon ABI beze změny na úrovni 5
- Mirplatform ABI naražený až 11
- Mirprotobuf ABI narazil do 3
- Mirplatformgraphics ABI narazil do 6
- Mirclientplatform ABI beze změny na úrovni 3
- Vylepšení:
- Zavést libmircookie, jednoduchý mechanismus pro skupinu spolupracujících procesů rozdávat a ověřit obtížně padělat časových razítek na nedůvěryhodných 3. stran.
- Další refaktorování na podporu dalších vykreslovací než GL.
- MirBlob Přidat do klientského API. - Nástroj pro serializaci a deserializing dat
- Zavést vstupní platformu libinput vychází, dosud používaný ve výchozím nastavení.
- poskytnout mechanismus pro shell posílat události na povrchu konstrukce.
- Poskytovat mir :: skořápku :: DisplayConfigurationController umožňuje skořápky správně změnit konfiguraci zobrazení, oznamující klienty podle potřeby.
- New DSO verzí průvodce.
- Odeslat událostí vztahujících se k výstupu povrch je v současné době na (dpi, tvarový faktor, stupnice) ke klientům.
- Opravy chyb:
- specifická dokumentace [Vylepšení] XMir by měli žít ve vlastní část (LP: # 1.200.114)
- vnořené servery potřebují podporu kurzor (LP: # 1.289.072)
- Mir kurzor chybí / neviditelný, dokud klient nastaví to vícekrát (LP: # 1.308.133)
- [regrese] celou obrazovku softwarových povrchy (jako Xmir -sw) může způsobit zhroucení serveru Mir (LP: # 1.493.721)
- [USC] Mir vzdá a vypne kvůli vstupu s multimonitor qtmir (std :: exception :: Co: Selhání ke vstupu pro odesílání Událost) (LP: # 1.496.069)
- kurzor myši zmizí při vstupu na plochu vnořené klienta (LP: # 1496849)
- [android] vstup není odeslána po připojení externího monitoru (LP: # 1.498.045)
- [android] vstupní poloha jsou odstupňovány nesprávně, když je připojeno externí zobrazovací zařízení (LP: # 1.498.540)
- [android] std :: výjimka :: co: chyba při HWC sady () při odpojování externího monitoru (LP: # 1.498.550)
- testy nemají kompilovat bez předkompilovaný záhlaví (LP: # 1.498.829)
- [android] std :: výjimka :: co: Nepodařilo se sledovat fd: Operace není povolena při odpojování externí zobrazovací zařízení ve vnořené konfiguraci (LP: # 1499042)
- Mir náhle již staví, protože "mesa (11.0.
0-1ubuntu1) lstivý ": /usr/include/EGL/eglplatform.h:100:35: Závažná chyba: android / native_window.h: Žádný takový soubor nebo adresář (LP: # 1.499.134)
- [android] různé dojde k chybě při odpojení externího monitoru na vnořené konfiguraci (LP: # 1.501.927)
- Kurzor se stane viditelným sama o sobě, pokud je připojen externí monitor (LP: # 1.502.200)
- mesa FTBFS kvůli chybějícím Vyžaduje v mirclient (LP: # 1.503.450)
Co je nového ve verzi 0.13.3:
- MirEvent vyčištění
- Pokračování na nárazníkových sémantických změn (který pomůže vnořené bypass)
- & quot; Aplikace neodpovídá & quot; větev navrhla
- Mir-on-X větev navržené
- Pokračování prací na přepracování QtMir používat WM rozhraní ve Mir
- Pokračování koordinaci s upstream o změnách libinput jsme navrhli
- Platform api s zastaralé Mir kódem odstraněna v procesu přistání
- zahájil výkon rámec testování implementace python-based
- Začínáme vyhodnocování Vulkan / WSI API
- Opraveny úniky fd v některých testech
- Dvojité ukládání do vyrovnávací paměti support
Co je nového v 0.11.0:
- změny Obaly:
- Vzhledem ke změnám v modelu ovladače Mir klientské platformy jsou již číslo verze by soname. Z ní vyplývající libmirplatform5driver- (mesa | android) nahrazuje mir-client-platformě (mesa-android). Nový balíček mir-client-platform-mesa-dev je představen obsahující záhlaví dříve mirplatform-dev.
- Vylepšení:
- Mnohem víc major instalatérské práce v Android kódu, na cestě k podpoře externí displeje.
- Přidává podporu pro kovový zvuk 3.6.
- Major redesign tříd serverových mir :: shell, scéna a přátelé (stále probíhá).
- přidáno klient API pro vytváření dialogy a popisy.
- Přidány nové povrchové stavy:. Mir_surface_state_hidden a mir_surface_state_horizmaximized
- Výkon:. Použít optimálně účinné zastínění fragment, když je to možné
- Výkon:. (Desktop) Composite pomocí dvojité vyrovnávací paměti namísto triple ke snížení viditelného zpoždění
- mir_proving_server: Může se měnit velikost okna z jakéhokoliv hraně nebo rohu s využitím stávajícího Alt + middlebuttondrag .
- mir_proving_server: přidáno několik demo zakázkové shadery (záporná a vysoce kontrastní režimy: Super + N / C) .
- mir_proving_server:. Může se zavřít klienti zdvořile pomocí Alt + F4
- z přidané MirPointerInputEvent (součást nového vstupního rozhraní API, starý MirMotionEvent je stále podporována také prozatím).
- souhrn ABI: servery potřebují přestavět, ale klienti nemají; , Mirclient ABI beze změny na úrovni 8. Mircommon ABI beze změny na úrovni 3. Mirplatform ABI narazil do 6. Mirserver ABI naražený až 29
- Opravy chyb:
- [regrese] mir_demo_server okamžitě ukončí s boost bad_any_cast výjimek (LP: # 1.414.630)
- potřebovat způsob umístění menu a bubliny (relativní polohy rodiči) (LP: # 1.324.101)
- selhání GLibMainLoopTest vidět v CI (LP: # 1.413.748)
- Clang staví selhat CI (LP: # 1416317)
- segfault v MIR :: skladatele :: GLProgramFamily :: Shader :: init () (LP: # 1.416.482)
- GLRenderer: Shader Výchozí fragment je optimální pro alfa = 1.
0 (LP: # 1.350.674)
- mesa :: DisplayBuffer :: post_update je trojnásobný pufrovaný - více laggy než to musí být (LP: # 1.350.725)
- Nelze se připojit k serveru vnořené při spuštění z diferenciální VT (LP: # 1.379.266)
- [testfail] AsioMainLoopAlarmTest selže CI (LP: # 1.392.256)
- Zpráva o skladatele nejednotně hlásí doba, po obchvatu a renderování jinak (LP: # 1.408.906)
- [regrese] mir_demo_client_fingerpaint nic nemění nic víc (pomocí myši) barva (LP: # 1.413.139)
- kurzor Hardware je vždy o něco před složený obraz (LP: # 1.274.408)
- integrační testy jsou výstup (příliš mnoho) DisplayServer zprávy protokolu (LP: # 1.408.231)
- [regrese] deploy-and-test.sh nefunguje nic víc (pokud máte umockdev již nainstalován) (LP: # 1.413.479)
- Color Inverse na displeji. Přepínat Negativní obraz (LP: # 1.400.580)
- mir-ubuntu-živý-armhf-ci nezdaří konzistentně (LP: # 1.407.863)
- Dvojité pufrovaném povrchy mohou zpoždění nebo mrazem, pokud událost řízený a ne neustále překreslování (LP: # 1.395.581)
- Ukazatel pohybu a přechody události chybí (LP: # 1.417.650)
Co je nového ve verzi 0.8:
- Podpora touchspots vizuálně ukázat, dotykové místa na obrazovce, byť na úkor výkonu.
- Mir klienti mohou nyní odhalit informace o výkonnosti jako frame rate a renderovací časy přes nastavením proměnné MIR_CLIENT_PERF_REPORT = log prostředí vypsat údaje o výkonu na standardní výstup.
- Menší citlivost na ABI přestávky tím, že skryje záhlaví před působením, které byly nevyužité externími projektů aj K dispozici je také další skripty nyní k detekci rozbití ABI.
- Další vylepšení na dotek reagovat. - Včetně méně zpožděním a hladší rolování
- překryvy hardware jsou nyní ve výchozím nastavení povoleny.
- Velký počet opravy chyb.
Co je nového ve verzi 0.1.2:
- grafika: android:. Zlepšovat rozhraní pro MGA :: DisplayDevice takže je to jen starosti s omítkou a vysílání
- povrchy: Přejmenovat & quot; povrchy & quot; komponenta & quot; scéna & quot;.
- povrchy, shell: Migrace dat relace modelu z pláště, aby se povrchy .
- grafika: změna fill_ipc_package () používat skutečné ukazatele .
- mir_client_library.h: Fix typo & quot; dělat a zamykání & quot; by měla být & quot; dělat žádnou pojistnou & quot;.
- API vyčištění: Odstraňte mírně zavádějící * _enum_max_ hodnoty, a nahradit je přesnějšími množném čísle .
- test_android_communication_package:. Neočekávejte otevřen fd bude & gt; 0, můžeme mít uzavřený stdin aby byl tento platnou hodnotu (LP: # 1.247.718)
- Aktualizace dokumenty o běh Mir na ploše zmínit nový balík ubuntu-desktop-Mir.
- mimo obrazovku: Přidejte displej, který vykresluje svůj výstup mimo obrazovku vyrovnávacích pamětí
- grafika: android: oprava regrese pro hwc1.0 zařízení zavedené v r1228 (LP: # 1.252.433) .
- OffscreenPlatform poskytuje služby, které mimo obrazovku displeje potřebuje od platformy.
- grafika: android:. Upevnit tříd GLContexts v provozu
- Fix Neinicializované proměnnou příčinou selhání testu náhodný drm_auth_magic. (LP: # 1.252.144).
- Přidat fullyish funkční udev obal. To v současné době sedí v grafickém / GBM, ale bude přesunut do nejvyšší úrovně, když se stěhuje detekce vstupního zařízení.
- Přidat velikosti podporu příklad kódu; demo-shell a klienti.
- eglapp: Vyjasnit zprávy o formáty pixel (LP: # 1.168.304).
- Přidává podporu pro MirMotionEvent pod pointer_coordinates zvaných tool_type. To umožní klientům říci, jaký typ nástroje je používán, z myší / prstem / etc. (LP: # 1.252.498)
- klient, frontend: Zpráva o skutečné dostupné formáty plocha pixelu klientům. (LP: # 1.240.833)
- grafika: android: 1) změna hwc1.1 využívat synchronizačních plotů během skladatele je gl renderloop. Všimněte si, že už ne čekat na omítky dokončit, míjíme tuto odpovědnost na řidiče a jádra. 2) Podpora Nexus 10. (LP: # 1.252.173) (LP: # 1.203.268)
- shell: nepublikovat SurfacesContainer - to může být soukromé loupat .
- GBM:. Nehrajte do režimu VT při selhání instalace předchozího režimu VT obnovit pouze během odstávky, jestli to bylo VT_AUTO
- nedochází k selhání z důvodu selhal eglMakeCurrent () volání, když ve vnořených režimu.
- shell: jednota-mir používá shell :: FocusSetter - vytvořit záhlaví veřejnost znovu
- Přidat resize podporu klientských ploch (Mir :: klient :: MirSurface).
- grafika: android: podpora "staré aka 2012" Nexus 7 HWC (nvidia tegra3 SoC) lépe. (LP: # 1.231.917)
- Přidejte velikost podporu tříd * ClientBuffer. Nyní vždy kóty z nejnovějšího balíčku vyrovnávací paměti.
- android: podpora ovladače háčky pro Mali T604 (přítomné v Nexus 10)
- Přidat šířku a výšku zpráv Protocol Buffer, při přípravě měnit velikost ploch.
- povrchy, shell, protokolování testy: nepublikovat záhlaví, které mohou být soukromé k povrchům. povrchy / basic_surface.h, povrchy / surface_controller.h a shell / surface_builder.h
- příklady: Obnovení vazba, když ničí cíl vykreslení GL framebuffer
- příklady, povrchy, shell: odebrat render_surfaces závislost na BasicSurface
- geometrie: odstranit provádění operátorů streaming z hlaviček (LP: # 1.247.820)
- Eliminovat ostření sekvenci registraci objednávky, skládací je funkčnost do kontejneru relace.
- Ujistěte se, že relace zprostředkovatelské zprávy získané tlumivé prostředky před pokusem o pořízení nového vyrovnávací paměť jménem klienta.Tato opravuje regrese výkonu (LP: # 1.249.210).
- Některé pročištění až test_client_input.cpp.
- vytknout banda & quot; ClientConfigCommon & quot;.
- Malé vyčištění testu kontejneru relaci ke zvýšení zapouzdření.
- shell, povrchy: Dalším krokem v & quot; upevnění & quot; že povrchy hierarchie. - publikovat pouze rozhraní a uvedení datový model do plochy
- grafika: android:. Použití HWC1.1 EGL získat další informace o formátu framebuffer pixelů
- Fix FTBS pomocí use_debflags = ON (budova pro android-armhf). (LP: # 1.248.014)
- Přidat zprávu klienta vstup přijímače.
- doc: doxygen 1.8.4 stěžuje zastaralé config, aby běžel & quot; doxygen u Doxyfile.in & quot; .
- Provést změnu velikosti () pro výuku server-side povrch.
- android: uklidit MGA :: DisplayBuffer a MGA :: DisplayBufferFactory
- Přidat velikosti () podpora BufferStream, v rámci přípravy na měnit velikost ploch.
- sloučit změny metadat z nově zrekonstruovaném LP: mir
- Testy: Deduplikovat mg :: GraphicBufferAllocator pahýly .
- příklady: Odstraňte parazitní využití mir / Shell / surface.h.
- frontend: odebrat ClientTrackingSurface z hierarchie Surface třídy
- narážela ABI na serveru libmirserver11.
- Nezmiňuj & quot; & quot ;. Renderable Že rozhraní neexistoval nějakou dobu nyní.
- android-input:. Přiřazení více unikátních dotykových ID
výčty
Co je nového ve verzi 0.1.1:
- Nové unit testy, různé opravy, aby se zabránilo publikování interní záhlaví, podpora pro určení Mir vnořené název serveru buď prostřednictvím --name = argument nebo proměnné prostředí MIR_SERVER_NAME, refaktoringu tříd zobrazovacích Mir systémem Android, a je prvním krokem k poskytnutí povrchu velikost podporu.
Komentáře nebyl nalezen