米尔是一个开源和免费的显示服务器技术已经从底层向上设计,以提供在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的显示类的重构,以及对提供表面调整支持的第一步嵌套的服务器名称。
评论没有发现