Mir er et open source og gratis display server teknologi, der er designet fra bunden til at yde effektiv støtte til grafik co-processorer på GNU / Linux-systemer. Det er udviklet af Canonical for verden & rsquo;. Mest populære gratis styresystem, Ubuntu
Klient og server implementeringer
Mir distribueres som både klient (libmirclient) og server (libmirserver). Det er blevet udformet som en drop-in erstatning for X Window System (X.Org) på Ubuntu og dets derivater. Det er også kompatibel med Android grafikdrivere.
MIR og XMir produkter vil blive distribueret som standard om kommende udgivelser af Ubuntu Linux operativsystem udviklet af Canonical. Det er også standard display server, der bruges på den aktuelle stabile udgave af Ubuntu Touch mobile styresystem til kraftoverførsel smartphones og tablets.
Hvad & rsquo; s inkluderet
Mir består af flere komponenter, der er afgørende for enhver moderne display server, såsom en typograf, input manager, output manager, application manager, samt inter-app dataudveksling funktionalitet.
Softwaren er en eller anden måde identisk i funktionalitet med og stærkt inspireret af den udbredte X.Org display server, som i øjeblikket gennemføres i 99,9% af alle GNU / Linux-distributioner, samt den helt nye Wayland display server.
Det er blevet udviklet til at understøtte mange af de eksisterende hardware sættere, designet mod EGL / GL (ES), og drage fordel af de eksisterende drivere, der gennemfører Android drivermodel.
Under kølerhjelmen og understøttede operativsystemer
Programmet er platform-uafhængig og helt skrevet i ++ programmeringssproget C, der er designet til at køre på GNU / Linux-systemer, BSD distributioner samt andre UNIX-lignende platforme.
Det er blevet testet med både 32-bit og 64-bit instruktion sæt arkitekturer, og den seneste version kan testes på den aktuelle version af Ubuntu Linux operativsystemer eller ved at snuppe den seneste kildekode fra sin officielle repository.
Hvad er nyt i denne udgivelse:
- Forbedringer:
- Tilføjet et nyt værktøj "mirvanity", som kan bruge en højhastigheds videokamera til at måle klient-til-screen latency.
- Tilføjet (bygge-tid) støtte til desktop fuld OpenGL-servere (deaktiveret som standard til fordel for GLESv2).
- Indført nye buffer semantik (NBS) og aktiveret det som standard.
- undgås ved hjælp libmirserver i mir_demo_standalone_render_overlays, hvilket gør bringup spor mindre rodet.
- Fjernet TilingWindowManager fra eksempel servere.
- Tilføjet to nye MIR _ * _ performance_test værktøjer, der kører som en del af 'mir_performance_tests ".
- Tilføjet pointer indespærring til klienten API.
- Tilføjet ny platform understøtter software EGLStreams.
- Tilføjet et input platform, det indlejrede server kan bruge.
- Tillad konfiguration af application_not_responding_detector
- Håndtag server-side tasteafbildning hjælp XKBMapper.
- Fjern Offscreen display.
- Tilføj tilbagekald mulighed for at anmelde skaller, som serveren er ved at stoppe.
- Tilføj logge for ANativeWindow begivenheder på Android.
- ABI resumé:
- mirclient ABI uændret på 9
- mirserver ABI rumlede til 41
- mircommon ABI uændret på 6
- mirplatform ABI rumlede til 12
- mirprotobuf ABI uændret på 3
- mirplatformgraphics ABI rumlede til 10
- mirclientplatform ABI uændret på 5
- mirinputplatform ABI uændret på 5
Hvad er nyt i version 0.18.0:
- Grafik:
- Internt forberedelse arbejde nødvendige for Vulkan, hardware afkodes multimedie optimeringer og latency forbedringer for indlejrede servere.
- Startede arbejde på plugin destruktionsanstalter. Dette vil bedre forberede mir for tingenes internet, hvor vi ikke kan have en Vulkan / GLES stak på enheden, og måske nødt til at bruge CPU'en.
- Rettelser til grafik korruption påvirker Xmir (klodser sorte søjler)
- Diverse rettelser til Multimonitor scenarier, samt bedre støtte til skalering buffere, der passer til skærmen dens på.
- Input:
- Brug libinput som standard. Vi havde hælder på en gammel version af Android-input stakken. Helt fjerne denne fordel for at bruge libinput.
- Bugs:
- Ganske lang liste af bug korrektion. Nogle af disse var aldrig "i naturen", men fandtes i løbet af 0,18 udvikling.
Hvad er nyt i version 0.17.0:
- ABI resumé: Kun servere og grafik drivere skal genopbygge;
- Mirclient ABI uændret på 9
- Mirserver ABI rumlede til 35
- Mircommon ABI uændret på 5
- Mirplatform ABI rumlede til 11
- Mirprotobuf ABI rumlede til 3
- Mirplatformgraphics ABI rumlede til 6
- Mirclientplatform ABI uændret på 3
- Forbedringer:
- Indfør libmircookie, en simpel mekanisme for en gruppe af samarbejdende processer for at uddele og kontrollere vanskelige at forfalske tidsstempler til untrusted 3rd parter.
- Flere refactorings at støtte andre destruktionsanstalter end GL.
- Tilføj MirBlob til klienten API -. Et værktøj til Fortløbende og deserializing data li>
- Indførelse af en libinput baseret input platform, endnu ikke brugt som standard.
- Giv en mekanisme for skallen til at sende begivenheder på overfladen byggeri.
- Giv mir :: shell :: DisplayConfigurationController giver skaller for at ændre visningen konfiguration korrekt, anmelde kunder efter behov.
- New DSO versionering vejledning.
- Send begivenheder vedrørende output en overflade er i øjeblikket på (dpi, formfaktor, skala) til klienter.
- Fejlrettelser:
- [ekstraudstyr] XMir specifik dokumentation skal leve i sin egen underafsnit (LP: # 1.200.114)
- Indlejrede servere brug cursor støtte (LP: # 1.289.072)
- Mir markøren er mangler / usynlig, indtil kunden sætter det flere gange (LP: # 1.308.133)
- [regression] Större software overflader (som Xmir -sw) kan crashe Mir-serveren (LP: # 1.493.721)
- [USC] Mir giver op og lukker ned på grund af input med Multimonitor qtmir (std :: undtagelse :: hvad: Manglende sende input begivenhed) (LP: # 1.496.069)
- cursor mus forsvinder ved ankomsten til overfladearealet af en indlejret klient (LP: # 1.496.849)
- [Android] input er ikke afsendes ved montering af en ekstern skærm (LP: # 1.498.045)
- [android] input koordinater er skaleret korrekt, når en ekstern skærm er tilsluttet (LP: # 1.498.540)
- [android] std :: undtagelse :: hvad: fejl under HWC sæt (), når frakoble ekstern skærm (LP: # 1.498.550)
- prøver ikke kompilere uden færdigkompilerede overskrifter (LP: # 1.498.829)
- [android] std :: undtagelse :: hvad: Det lykkedes ikke at overvåge fd: Operation ikke tilladt, når frakoble ekstern skærm i en indlejret konfiguration (LP: # 1.499.042)
- Mir bygger pludselig ikke længere siden 'mesa (11.0.
0-1ubuntu1) snu ': /usr/include/EGL/eglplatform.h:100:35: fatal fejl: android / native_window.h: Ingen sådan fil eller mappe (LP: # 1.499.134)
- [android] forskellige går ned, når frakoble ekstern skærm på en indlejret konfiguration (LP: # 1.501.927)
- Cursor bliver synlig ved sig selv, når en ekstern skærm er tilsluttet (LP: # 1.502.200)
- mesa FTBFS grundet manglende Kræver i mirclient (LP: # 1.503.450)
Hvad er nyt i version 0.13.3:
- MirEvent oprydning
- Fortsættes på buffer semantiske forandringer (der vil hjælpe indlejrede bypass)
- & quot; Program reagerer ikke & quot; foreslåede gren
- Mir-on-X foreslåede gren
- Fortsat arbejde på efterbearbejdning QtMir at bruge WM-interface i Mir
- Fortsat koordinering med strømmen og libinput ændringer, vi foreslog
- Platform api med frarådet Mir kode fjernet i færd med at lande
- Startede en python-baseret perf test rammer implementering
- Startet evaluere Vulkan / WSI API
- Faste fd utætheder i nogle tests
- Dobbelt-buffering støtte
Hvad er nyt i version 0.11.0:
- Emballage ændringer:
- På grund af ændringer i Mir drivermodel kunden platforme ikke længere versioneret af soname. Thusly libmirplatform5driver- (mesa | android) erstattes af mir-client-platforms (mesa-android). En ny pakke mir-client-platform-mesa-dev introduceres indeholder overskrifter tidligere mirplatform-dev.
- Forbedringer:
- Masser mere større VVS i Android kode, på vej til at støtte eksterne skærme.
- Tilføj support til klang 3.6.
- Større redesign af server klasser i mir :: shell, scene og venner (stadig i gang).
- Tilføjet klient API til at skabe dialoger og værktøjsvink.
- Tilføjet nye overflade hedder:. Mir_surface_state_hidden og mir_surface_state_horizmaximized
- Ydelse:. Brug optimalt effektiv fragment skygge når det er muligt
- Performance:. (Desktop) Composite hjælp dobbeltbuffering stedet for triple at reducere synlige lag
- mir_proving_server: Kan nu ændre størrelsen vinduer fra en kant eller hjørne ved hjælp af eksisterende Alt + middlebuttondrag .
- mir_proving_server: Tilføjet nogle demo brugerdefinerede shaders (negativ og høj kontrast tilstande: Super + N / C) .
- mir_proving_server:. Kan nu lukke kunder høfligt via Alt + F4
- Tilføjet MirPointerInputEvent (en del af den nye input API, den gamle MirMotionEvent stadig støttede også for nu).
- ABI resumé: Servere brug ombygning, men klienter ikke; . Mirclient ABI uændret på 8. Mircommon ABI uændret på 3. Mirplatform ABI rumlede til 6. Mirserver ABI rumlede til 29
- Fejlrettelser:
- [regression] mir_demo_server forlader straks med undtagelse boost bad_any_cast (LP: # 1.414.630)
- har brug måde at placere menuer og værktøjstip (relativ positionering til forældre) (LP: # 1.324.101)
- GLibMainLoopTest fiasko set i CI (LP: # 1.413.748)
- Dunk bygger mislykkes i CI (LP: # 1.416.317)
- segmenteringsfejl i mir :: typograf :: GLProgramFamily :: Shader :: init () (LP: # 1.416.482)
- GLRenderer: Standard fragment shader er suboptimal for alpha = 1.
0 (LP: # 1.350.674)
- mesa :: DisplayBuffer :: post_update er triple bufferet - mere laggy end det behøver at være (LP: # 1.350.725)
- Kan ikke forbinde til indlejrede server når den startes fra en differen vt (LP: # 1.379.266)
- [testfail] AsioMainLoopAlarmTest fejler i CI (LP: # 1.392.256)
- Compositor rapport inkonsekvent rapporterer ramme tid under bypass, og gøre tid ellers (LP: # 1.408.906)
- [regression] mir_demo_client_fingerpaint ikke male noget mere (med musen) (LP: # 1.413.139)
- Hardware markøren er altid lidt foran den sammensatte billede (LP: # 1.274.408)
- integration test udsende (for mange) DisplayServer logge beskeder (LP: # 1.408.231)
- [regression] deploy-and-test.sh virker ikke længere (medmindre du har umockdev installeret allerede) (LP: # 1.413.479)
- Color Inverse udstillet. Skift Negativt billede (LP: # 1.400.580)
- mir-ubuntu-levende-armhf-ci mislykkes konsekvent (LP: # 1.407.863)
- Dobbelt-buffered overflader kan halte eller fryse, hvis begivenheden drevet og ikke konstant gentegne (LP: # 1.395.581)
- Pointer bevægelses- og krydsende begivenheder mangler (LP: # 1.417.650)
Hvad er nyt i version 0.8:
- Støtte til touchspots visuelt vise touch-steder på skærmen, omend på bekostning af ydelse.
- Mir kunder kan nu afsløre oplysninger ydeevne ligesom frame rates og gøre gange via indstilling af MIR_CLIENT_PERF_REPORT = log miljøvariablen til at dumpe de oplysninger om præstation til standard output.
- Mindre følsomhed over for ABI pauser ved at skjule overskrifter fra at blive udsat, som har været anvendt af eksterne projekter mv Der er også flere scripts nu at opdage ABI brud.
- Flere forbedringer at røre lydhørhed -. Inklusive mindre forsinkelse og glattere rulning
- Hardware overlays er nu aktiveret som standard.
- Et stort antal fejlrettelser.
Hvad er nyt i version 0.1.2:
- grafik: android:. Forbedre interface til MGA :: DisplayDevice så sin bare optaget af rendering og udstationering
- overflader: omdøbe & quot; overflader & quot; komponent til & quot; scene & quot;.
- overflader, shell: Overfør session datamodel fra skallen til overflader .
- grafik: skift fill_ipc_package () til at bruge rigtige pointere .
- mir_client_library.h: Fix typo & quot; gør og låse & quot; bør være & quot; gøre alle låse & quot;.
- API tællinger oprydning: Fjern lidt misvisende * _enum_max_ værdier, og erstatte dem med mere præcise flertalsformer .
- test_android_communication_package:. Forvent ikke åbnet fd at være & gt; 0, kan vi have lukket stdin gøre dette til en gyldig værdi (LP: # 1.247.718)
- Opdater docs om at køre Mir på skrivebordet for at nævne nye pakke ubuntu-desktop-mir.
- Offscreen: Tilføj et display, der gør sin produktion til Offscreen buffere
- grafik: android: fix regression for hwc1.0 enheder indført i r1228 (LP: # 1.252.433) .
- OffscreenPlatform leverer de ydelser, som den Offscreen display behov fra platformen.
- grafik: android:. Konsolidere de GLContexts klasser i brug
- Fix initialiseret variabel forårsager tilfældig drm_auth_magic test fiaskoer. (LP: # 1.252.144).
- Tilføj en fullyish funktionel udev wrapper. Det sidder i øjeblikket i grafik / GBM, men vil blive flyttet til det øverste niveau, når input device detection vandrer.
- Tilføj resizing støtte til eksempel kode; demo-shell og klienter.
- eglapp: Afklar budskaber om pixel formater (LP: # 1.168.304).
- Tilføjer understøttelse til MirMotionEvent under pointer_coordinates kaldet tool_type. Dette vil give kunderne til at fortælle, hvilken type værktøj bliver brugt, fra mus / finger / etc. (LP: # 1.252.498)
- klient, frontend: Rapporter de reelle tilgængelige overflade pixel formater til kunderne. (LP: # 1.240.833)
- grafik: android: 1) ændring hwc1.1 at gøre brug af sync hegn under typograf s gl renderloop. Bemærk, at vi ikke længere vente på, at gengive at fuldføre, vi passerer dette ansvar til chaufføren og kernen. 2) støtte nexus 10. (LP: # 1.252.173) (LP: # 1.203.268)
- shell: ikke udgive SurfacesContainer - det kan være privat til shell .
- GBM:. Må ikke rod op VT mode på fiasko setup Kun genoprette den tidligere VT tilstand under lukning, hvis det var VT_AUTO
- Løs et nedbrud på grund af en mislykket eglMakeCurrent () opkald, når i indlejret tilstand.
- shell: enhed-mir bruger shell :: FocusSetter - gøre header offentligheden igen
- Tilføj resize støtte til klient overflader (mir :: klient :: MirSurface).
- grafik: android: støtte "gamle aka 2012 'nexus 7 HWC (nvidia tegra3 SoC) bedre. (LP: # 1.231.917)
- Tilføj resize støtte til * ClientBuffer klasser. Nu får altid dimensioner fra den nyeste buffer pakke.
- android: Support Driver kroge til Mali T604 (til stede i nexus 10)
- Tilføj bredde og højde til Protocol Buffer-meddelelser, som forberedelse til resizable overflader.
- overflader, shell, logning, tests: offentliggør ikke overskrifter, der kan være private til overflader. overflader / basic_surface.h, overflader / surface_controller.h og shell / surface_builder.h
- eksempler: Gendan GL framebuffer bindende, når ødelægge gør målet
- eksempler, overflader, shell: Fjern render_surfaces afhængighed BasicSurface
- geometri: Fjern gennemførelsen af streaming operatører fra overskrifter (LP: # 1.247.820)
- Eliminer fokus sekvens registrering orden, folde det funktionalitet i til sessionen container.
- Sørg for session mediator udgivelser erhvervet buffer ressourcer inden du forsøger at erhverve en ny buffer på vegne af klienten.Dette løser ydeevne regression (LP: # 1.249.210).
- Nogle oprydninger til test_client_input.cpp.
- Faktor ud en flok af & quot; ClientConfigCommon & quot;.
- Lille oprydning til session container test for at øge indkapsling.
- skal, overflader: Et andet skridt i & quot; fastsættelse & quot; de overflader hierarkier -. kun udgive grænseflader og sætte datamodellen i overflader
- grafik: android:. HWC1.1 brug EGL at få yderligere oplysninger om framebuffer pixelformat
- Fix FTBS hjælp use_debflags = ON (bygning til android-armhf). (LP: # 1.248.014)
- Tilføj en klient input modtager rapport.
- doc: doxygen 1.8.4 klager over en forældet config så løb & quot; doxygen u Doxyfile.in & quot; .
- Implement resize () for server-side Surface klasser.
- android: rydde op MGA :: DisplayBuffer og MGA :: DisplayBufferFactory
- Tilføj resize () støtte til BufferStream, som forberedelse til resizable overflader.
- Merge metadata ændringer fra den nyligt rekonstrueret lp: mir
- test: deduplicate mg :: GraphicBufferAllocator stubbe .
- eksempler: Fjern falsk brug af mir / Shell / surface.h.
- frontend: Fjern ClientTrackingSurface fra Surface klasse hierarki
- Bumping ABI på server til libmirserver11.
- Du må ikke nævne & quot; Renderable & quot ;. Det interface er ikke eksisteret i temmelig lang tid nu.
- android-input:. Tildel mere unikt touch id'er
Hvad er nyt i version 0.1.1:
- unit test Nye, diverse rettelser for at undgå at offentliggøre intern overskrifter, støtte til angivelse af Mir indlejret servernavn enten via en --name = argument eller MIR_SERVER_NAME miljøvariabel, refactoring af Mir Android display klasser, og et første skridt hen imod at levere overflade resize støtte.
Kommentarer ikke fundet