米爾是一個開源和免費的顯示服務器技術已經從底層向上設計,以提供在GNU / Linux系統的圖形協處理器,有效的支持。它是由Canonical為世界&rsquo的發展;最流行的免費的操作系統,Ubuntu的
客戶端和服務器實現
米爾分佈作為客戶端(libmirclient)和服務器(libmirserver)。它被設計成一個簡易替換為在Ubuntu及其衍生物X Window系統(X.Org)。這也符合了Android的圖形驅動程序不兼容。
米爾和XMir產品將在默認情況下由Canonical開發了Ubuntu Linux操作系統即將發布的分發。這也是對Ubuntu的觸控手機操作系統的當前穩定版本用於智能手機和平板電腦供電的默認顯示服務器。
什麼大局;包括
米爾包括幾個部件,對於任何現代顯示服務器是必要的,諸如合成器,輸入管理器,輸出管理器,應用程序管理器,以及應用間的數據交換的功能的
該軟件是與功能相同的莫名其妙和廣泛使用的X.Org顯示服務器,這是目前在所有的GNU / Linux發行版的99.9%,實施,以及全新的Wayland顯示服務器重啟發。
據設計支持許多現有的硬件合成器,設計走向EGL / GL(ES),並採取實現了Android的驅動程序模型中現有的驅動程序的優勢。
引擎蓋下和支持的操作系統
該計劃是平台無關的,完全在C ++編程語言,設計為在GNU / Linux系統,BSD發行版,以及其他類UNIX平台上運行寫的。
該公司已經與32位和64位指令集架構測試成功,而最新的版本可以在Ubuntu的Linux操作系統的當前版本或通過其官方資料庫抓取最新的源代碼進行測試。
本發行版是新的
- 增強:
- 增加了一個新的工具“mirvanity',可使用高速攝像機來測量客戶機到屏幕的等待時間。
- 新增(編譯時)桌面完整的OpenGL服務器的支持(默認情況下有利於GLESv2的禁用)。
- 推出新的緩衝區語義(NBS)和默認啟用它。
- 避免使用mir_demo_standalone_render_overlays libmirserver,使得bringup痕跡更簡潔。
- 從例如服務器中刪除TilingWindowManager。
- 增加了兩個新的mir _ * _ performance_test所運行為“mir_performance_tests”的一部分的工具。
- 添加指針禁閉到客戶端API。
- 增加了新的平台支持軟件EGLStreams。
- 新增的輸入平台,嵌套服務器可以使用。
- 允許application_not_responding_detector配置
- 處理服務器端的鍵盤映射。
- 刪除離屏顯示。
- 添加回調選項通知砲彈服務器即將停止。
- 添加日誌記錄在Android ANativeWindow事件。
- ABI總結:
- mirclient ABI 9 不變
- mirserver ABI被撞至41
- mircommon ABI 6 不變
- mirplatform ABI被撞12
- mirprotobuf ABI在3 不變
- mirplatformgraphics ABI被撞10
- mirclientplatform ABI在5 不變
- mirinputplatform ABI在5 不變
使用XKBMapper
什麼在0.18.0開始的版本是新的
- 圖形
- 內部準備工作,硬件解碼的多媒體優化和改善延遲,嵌套服務器。
- 在插件渲染器開始工作。這將更好地準備為MIR物聯網,我們可能沒有在設備上福爾康/ GLES棧,並有可能使用的CPU。
- 修正了圖形損壞影響Xmir(塊狀黑條)
- 為多顯示器場景的各種修補程序,以及更好地支持縮放緩衝區,以適應顯示器對。
- 輸入:
- 在默認情況下使用libinput。我們一直扶著一個老版本的Android輸入堆棧。贊成使用libinput的完全刪除這一點。
- 錯誤:
- 修正的bug相當長的名單。其中一些是從來沒有“野生”,但在0.18發展的過程中存在著。
需要福爾康
什麼在0.17.0版本是新的
- ABI摘要:僅服務器和圖形驅動程序需要重建;
- Mirclient ABI持平於9
- Mirserver ABI被撞至35
- Mircommon ABI持平於5
- Mirplatform ABI被撞11
- Mirprotobuf ABI被撞3
- Mirplatformgraphics ABI被撞6
- Mirclientplatform ABI持平於3
- 增強:
- 介紹libmircookie,一組協作進程的一個簡單的機制來伸手,並驗證難以偽造時間戳來不信任的第三方。
- 更重構支持其他渲染比GL。
- 添加到MirBlob客戶端API - 一個工具序列化和反序列化數據
- 介紹一種基於libinput輸入平台,目前還沒有默認使用。
- 提供一個機制,外殼上發送面層施工的事件。
- 提供MIR ::外殼:: DisplayConfigurationController讓砲彈正確更改顯示器配置,通知客戶端為宜。
- 新版本DSO指導。
- 發送有關輸出的表面是目前(DPI,外形,尺寸)到客戶端的事件。
- 錯誤修正:
- [增強] XMir特定的文檔應該活在自己的第(LP:#1200114)
- 嵌套服務器需要支持光標(LP:#1289072)
- 米爾光標缺少/不可見,直到客戶端設置它多次(LP:#1308133)
- [回歸]全屏軟件的表面(如Xmir -sw)可能會崩潰和平號服務器(LP:#1493721)
- [USC]米爾放棄並關閉由於與多顯示器qtmir(性病::例外::什麼:發送失敗輸入事件)輸入(LP:#1496069)
- 鼠標光標消失在進入嵌套客戶端的表面積(LP:#1496849)
- 連接外接顯示器時,[機器人]輸入時,不會調度(LP:#1498045)
- [機器人]輸入坐標被正確縮放當外部顯示器連接(LP:#1498540)
- [機器人]的std ::例外::什麼:HWC集時出錯()拔下外接顯示器時(LP:#1498550)
- 測試不無預編譯頭(LP:#1498829)編譯
- [機器人]的std ::例外::什麼:無法監控FD:(LP:#1499042)以嵌套構造拔下外接顯示器時,不允許操作
- 米爾因為'檯面(11.0突然不再生成。
0-1ubuntu1)老謀深算“:/usr/include/EGL/eglplatform.h:100:35:致命錯誤:機器人/ native_window.h:沒有這樣的文件或目錄(LP:#1499134)
- [機器人]在嵌套配置拔下外接顯示器時,各種崩潰(LP:#1501927)
- 光標當外部顯示器連接本身變得可見(LP:#1502200)
- 檯面FTBFS由於缺少mirclient要求(LP:#1503450)
什麼在0.13.3版本是新的:
- MirEvent清理
- 續的緩衝語義變化(這將有助於嵌套旁路)
- "應用程序沒有響應"擬設
- 米爾上-X擬設
- 在返工QtMir使用WM界面在和平號空間站繼續工作
- 與上游的libinput變化持續協調提出
- 平台的API,在過程中除去落地棄用米爾代碼
- 入門基於Python的PERF測試框架實施
- 開始評估福爾康/ WSI API
- 在某些測試中固定FD洩漏
- 雙緩衝支持
什麼在0.11.0版本是新的
- 包裝的變化:
- 由於和平號驅動模型的客戶端平台是由SONAME不再版本的變化。正是如此libmirplatform5driver-(檯面|機器人)是由MIR-客戶端與平台(MESA - 機器人)所取代。新包的mir-客戶端平台的檯面-dev的引入此前包含mirplatform-dev的頭。
- 增強:
- 很多更重要的管道在Android的代碼,路徑支持外部顯示器上。
- 添加支持鐺3.6。
- 在MIR服務器類的重大的重新設計::外殼,場景和朋友(仍在進行中)。
- 添加客戶端API創建對話框和提示。
- 增加了新的表面狀態:mir_surface_state_hidden和mir_surface_state_horizmaximized
- 性能:盡可能使用最為有效的片段著色
- 性能:(桌面)複合使用雙緩衝,而不是三,以減少可見滯後
- mir_proving_server:可以使用現有ALT + middlebuttondrag現在調整從任何邊或角窗 。
- mir_proving_server:增加了一些演示定制著色器(陰性和高對比度模式:超級+ N / C) 。
- mir_proving_server:可以通過ALT + F4禮貌現在已經接近客戶
- 新增MirPointerInputEvent(新的輸入API的一部分,老MirMotionEvent仍然支持也為現在)。
- ABI摘要:服務器需要重建,但客戶沒有; 。 Mirclient ABI 8不變。 Mircommon ABI在3不變。 Mirplatform ABI被撞6。 Mirserver ABI被撞至29
- 錯誤修正:
- [回歸] mir_demo_server與升壓bad_any_cast異常立即退出(LP:#1414630)
- 需要的方式來位置菜單和工具提示(相對定位父)(LP:#1324101)
- 在CI看到GLibMainLoopTest故障(LP:#1413748)
- 鏘建立在CI失敗(LP:#1416317)
- 段錯誤的MIR ::排字:: GLProgramFamily ::著色::的init()(LP:#1416482)
- GLRenderer:默認片段著色器是亞最佳的用於α-= 1。
0(LP:#1350674)
- 檯面:: DisplayBuffer :: post_update三重緩衝 - 更多laggy比它需要(LP:#1350725)
- 從一個differen VT啟動時無法連接到服務器嵌套(LP:#1379266)
- [testfail] AsioMainLoopAlarmTest失敗的CI(LP:#1392256)
- 合成器報告不一致體外循環報告幀時間,否則渲染時間(LP:#1408906)
- [回歸] mir_demo_client_fingerpaint不畫任何事(用鼠標)(LP:#1413139)
- 硬件光標總是略高於合成圖像(LP:#1274408)
- 集成測試的輸出(太多)DisplayServer日誌消息(LP:#1408231)
- [回歸] deploy-and-test.sh不工作了(除非你有umockdev已經安裝)(LP:#1413479)
- 彩色逆展出。切換負像(LP:#1400580)
- MIR-Ubuntu的生動-armhf-CI一貫失敗(LP:#1407863)
- 雙緩衝表面可能會滯後或凍結,如果事件驅動,而不是不斷地重繪(LP:#1395581)
- 指針移動和交叉事件失踪(LP:#1417650)
在什麼版本0.8是新的
- 支持touchspots直觀地顯示在屏幕上觸摸位置,儘管性能有所降低。
- 熱血傳奇客戶端現在可以公開的性能信息像幀速率,並通過設置MIR_CLIENT_PERF_REPORT =日誌環境變量轉儲性能信息到標準輸出渲染時間。
- 由暴露那些由外部項目等未使用過躲在頭ABI的休息時間少靈敏度還有現在更多的腳本來檢測ABI破損。
- 更改善觸摸響應 - 包括較少的滯後,更流暢的滾動
- 硬件覆蓋默認情況下啟用。
- 大量的bug修復。
現在
在什麼版本0.1.2新是
- 顯卡:機器人:提高MGA接口:: DisplayDevice所以它只是關心渲染和發布
- 面:重命名"表面"組件"現場"
- 表面,外殼:從外殼遷移會話數據模型表面 。
- 顯卡:改變fill_ipc_package()使用真正的指針 。
- mir_client_library.h:修正錯字"做好和鎖定"應該是"做任何鎖定"
- API枚舉清理:小幅刪除誤導* _enum_max_值,並用更準確的複數形式替代它們 。
- test_android_communication_package:不要指望開FD是大於0,我們可能不得不關閉標準輸入使之成為一個有效的值(LP:#1247718)
- 有關在桌面上運行米爾更新文檔提到新的軟件包Ubuntu的桌面-MIR。
- 屏幕外:添加使得其輸出到屏幕外的緩衝區顯示
- 顯卡:安卓:修正回歸在r1228推出hwc1.0設備(LP:#1252433) 。
- OffscreenPlatform規定,離屏顯示從平台的需求。
- 顯卡:機器人:鞏固在使用GLContexts類
- 修正未初始化的變量導致隨機drm_auth_magic測試失敗。 (LP:#1252144)。
- 添加fullyish功能Udev的包裝。這目前是在圖形/ GBM,但將被移動到頂層時,輸入設備檢測遷移。
- 添加到調整示例代碼的支持;演示殼和客戶端。
- eglapp:澄清有關像素格式(LP:#1168304)消息。
- 在pointer_coordinates稱為tool_type增加了支持的MirMotionEvent。這將允許客戶告訴正在使用什麼類型的工具,從小鼠/手指/等。 (LP:#1252498)
- 客戶端,前端:報告的實際可用表面的像素格式提供給客戶。 (LP:#1240833)
- 顯卡:機器人:1)改變hwc1.1使合成器的GL renderloop在使用過程中同步柵欄。請注意,我們不再等待渲染完成,我們通過這個責任,驅動程序和內核。 2)支持的Nexus 10。(LP:#1252173)(LP:#1203268)
- 貝:不公佈SurfacesContainer - 它可以是私人殼 。
- GBM:不要亂了VT模式安裝失敗,只有在關閉期間恢復以前的VT模式,如果它是VT_AUTO
- 修正崩潰因未能eglMakeCurrent()調用時,嵌套模式。
- 外殼:團結-MIR採用殼:: FocusSetter - 使公眾頭再次
- 添加到客戶端表面大小調整支持(MIR ::客戶:: MirSurface)。
- 顯卡:機器人:支持“老又名2012”的Nexus 7 HWC(NVIDIA的Tegra3 SoC)的更好。 (LP:#1231917)
- 添加調整為* ClientBuffer類的支持。現在總是從最新的緩衝封裝尺寸。
- 的android:對馬里T604支持驅動鉤(目前在Nexus 10的)
- 添加寬度和高度的協議緩衝區的消息,在可調整大小的表面準備。
- 表面,外殼,測井,測試:不發布標題可以是私有的表面。表面/ basic_surface.h,表面/ surface_controller.h和外殼/ surface_builder.h
- 例子:恢復GL幀緩衝摧毀渲染目標時結合
- 的例子,表面,外殼:消除對BasicSurface render_surfaces依賴
- 幾何:從頭(LP:#1247820)執行刪除操作流的
- 消除註冊順序焦點順序,折疊它到會話容器功能。
- 試圖獲得代表客戶端的新緩衝區之前確保獲得緩衝資源會話中介發布。這修復性能回歸(LP:#1249210)。
- 某些清理到test_client_input.cpp。
- 分解出一堆" ClientConfigCommon"
- 小清理會話容器試驗,以增加封裝。
- 外殼,表面:在&QUOT另一個步驟;固定"表面層次 - 只發布接口,把數據模型轉換成表面
- 顯卡:機器人:HWC1.1使用EGL,以獲取有關幀緩衝像素格式的進一步信息
- 使用use_debflags = ON(建設Android的armhf)修正FTB外。 (LP:#1248014)
- 添加客戶端輸入接收報告。
- 文檔:doxygen的1.8.4抱怨過時的配置讓跑" doxygen的üDoxyfile.in" 。
- 實施服務器側的面類調整大小()。
- 的android:清理MGA :: DisplayBuffer和MGA :: DisplayBufferFactory
- 添加調整大小()來BufferStream支持,在可調整大小的表面準備。
- 合併元數據更改:MIR
- 測試:刪除重複毫克:: GraphicBufferAllocator存根 。
- 例子:刪除虛假使用MIR /殼/ surface.h的。
- 前端:從表面的類層次結構刪除ClientTrackingSurface
- 在服務器碰碰ABI到libmirserver11。
- 請不要提與QUOT;渲染&QUOT ;.該接口已不存在了相當長的一段時間了。
- Android的輸入:分配更獨特的觸摸IDS
從新近重建的LP
什麼是新的在0.1.1版本:
- 新的單元測試,各種補丁,以避免內部發布頭,用於指定米爾支持或者通過--name =參數或MIR_SERVER_NAME環境變量中,米爾Android的顯示類的重構,以及對提供表面調整支持的第一步嵌套的服務器名稱。
評論沒有發現