淘姐妹

淘姐妹

Linux Graphics 周刊(第 5 期)

电脑 0

淘宝搜:【天降红包222】领超级红包,京东搜:【天降红包222】
淘宝互助,淘宝双11微信互助群关注公众号 【淘姐妹】


导读:

  • Android11 正式发布
  • drm/dev: 对 【【微信】】() 说再见
  • drm/gem: 删除 drm_gem_vram_kmap() 接口
  • binder: 新增 BINDER_FREEZE ioctl
  • fastboot: 新增 modules 分区
  • Mesa-dev:GLX/WSI 合入新 feature,改善显示卡顿问题
  • RADV: 新增 【【微信】】bug 选项
  • Zink: 性能大幅提升
  • 【【微信】】: 【【微信】】.2.153 发布,master 分支已切换到 main 分支
  • xf86-【【微信】】:正式合入对 Adaptive-Sync/VRR 的支持
  • Hikari Wayland Compositor 2.2.0 发布

每个 dma 设备都有自己的寻址能力限制,如果分配出来的内存超过了 dma 硬件的寻址能力,那就会出现异常。目前的 drm_prime_pages_to_sg() 中就存在这样的漏洞,分配 sg_table 时没检查当前 dma 硬件的寻址能力范围,因而可能导致分配出的内存空间超出 dma 的寻址能力。该问题已经在 【【微信】】 复现,因而 Gerd Hoffmann (RedHat) 提了如下 patch 来修复该 bug。

详情:[PATCH v4 1/1] drm: 【【微信】】er list size

【【微信】】 提了个 patch,将 drm_atomic_helper_calc_timestamping_constants() 函数彻底从 drm_atomic_helper_update_legacy_modeset_state() 中解救出来,实现了 timestamps 和 legacy modeset 之间的解耦。

详情:[PATCH 1/3] drm/atomic-helper: Extract drm_atomic_helper_calc_timestamping_constants()

Daniel 【【微信】】(drm-misc maintianer, Intel)提交的如下 patch merge 之后,我们在 DRM 设备驱动中将再也没有机会使用 【【微信】】() 来做初始化了,取而代之的是 de【【微信】】()。使用该函数将带来极大的方便,我们不再需要做更多的容错处理,也不需要在初始化失败时调用 drm_dev_put(),devm_* 接口本身就能帮我们处理好资源释放的问题。

详情:[PATCH 09/24] drm/dev: Remove 【【微信】】

对于 GEM VRAM 接口而言,drm_gem_【【微信】】() 和 drm_gem_vram_kmap() 的功能重复了,他们都用于将 gem object 映射到 kernel space 的地址空间,而 drm_gem_【【微信】】() 相比 drm_gem_vram_kmap() 调用参数更简洁,且使用率更高。因此 Thomas Zimmermann (SUSE) 索性直接删除了 vram 中的 drm_gem_vram_kmap() 和 drm_gem_【【微信】】() 函数。

详情:[PATCH] drm/【【微信】】: Use drm_gem_【【微信】】() interfaces

上周三 Google Android11 正式发布,发布当天 Google 便将 AndroidR 的代码同步推送到 AOSP 主分支上,开发者们可以立即下载体验该代码所带来的新功能。AndroidR 主要聚焦在三个方面:以人为本、灵活控制和隐私安全。下面我们就通过代码一起来了解一下,AndroidR 在 Graphic 模块上都新增了哪些 feature(一般芯片厂商和手机厂商在半年前就已经拿到了这部分的代码):

Gralloc 4.0

IMapper 新增接口:

  • get()
  • set()
  • getFromBufferDescriptorInfo()
  • getReser【【微信】】()

借助于 IMapper 的 get() 和 set() 接口,我们可以获取/设置任何数据类型的参数,这大大增强了 Gralloc 底层实现的灵活性与可扩展性。通过对 get() 接口的封装,GraphicBufferMapper 可以实现诸如 getWidth()、getHeight()、getPixelFormatFourCC()、getBufferId() 等诸多常用 buffer 属性操作接口,统一了 gralloc 的操作接口。

IAllocator 则没有新的变化。

Composer 2.4

Callbacks 新增:

  • HWC2_PFN_VSYNC_2_4
  • HWC2_PFN_VSYNC_PERIOD_TIMING_CHANGED
  • HWC2_PFN_SEAMLESS_POSSIBLE

De【【微信】】 新增接口:

  • HWC2_PFN_GET_DISPLAY_CONNECTION_TYPE
  • HWC2_PFN_GET_DISPLAY_VSYNC_PERIOD
  • HWC2_PFN_SET_ACTIVE_CONFIG_WITH_CONSTRAINTS
  • HWC2_PFN_SET_AUTO_LOW_LATENCY_MODE
  • HWC2_PFN_GET_SUPPORTED_CONTENT_TYPES
  • HWC2_PFN_SET_CONTENT_TYPE
  • HWC2_PFN_GET_CLIENT_TARGET_PROPERTY
  • HWC2_PFN_SET_LAYER_GENERIC_METADATA
  • HWC2_PFN_GET_LAYER_GENERIC_METADATA_KEY

通过以上新增接口的名字,我们大致可以看出这些接口都是为了支持 VRR (【【微信】】,可变刷新率)以及高帧率显示设备而开放的接口。

HWC 2.4 接口定义: platform/hardware/libhardware

gralloc4.0 & composer-2.4 相应的 HIDL 接口定义: platform/hardware/interfaces

Nati【【微信】】

  • 删除了 libagl libagl 是 Android 早期使用 CPU 实现的一套纯软件 OpenGL 函数库,由于没有硬件加速功能,因而运行效率极低,在 AndroidR 中该目录已被彻底移除。
  • 新增 libnati【【微信】】.so 为 Choreographer 添加 【【微信】】 层,并将 libhwui 下的 surface texture 移到 nati【【微信】】 目录下,统一生成 libnati【【微信】】.so。
  • 删除了 bufferhub
  • surfaceflinger 新增大量修改

具体请参考: platform/frameworks/【【微信】】

上周 【【微信】】 合入了一笔 patch,在 IPCThreadState 类中新增 freeze() 方法,用于适配底层 kernel 新增的 BINDER_FREEZE ioctl。该 ioctl 主要用于冻结某个指定的 binder 进程,一旦进程被 freeze,所有向该进程发起的 binder transaction 都会直接返回一个错误码。冻结时会指定一个超时参数,当超时时间到后被冻结的进程就会自动解冻,然后就可以继续处理新的 binder 请求。当然调用者也可以立即解冻某个已被冻结的 binder 进程,通过 enable 参数来区分。至于该 ioctl 的使用场景及作用,目前本人还不太清楚。

详情:aosp/【【微信】】[master]: binder: adopt BINDER_FREEZE api

fastboot 分区列表中新增了个 modules 分区,对应的 image 文件为 modules.img,分区挂载路径为 /modules,目前还不太清楚该分区具体用来存放哪些模块(kernel modules?是否和 GKI 有关?),但分区类型被标记为 ImageType::Normal,而不是 ImageType::BootCritical,说明并不是一个必须的分区,具体的作用还有待进一步确认。

详情:aosp/core[master]: fastboot: add mainline partition

上周四,RedHat 工程师 Adam Jackson 向 mesa-20.3 开发分支合入了6笔 patch,为 GLX/WSI 新增 GLX_EXT_swap_control、GLX_EXT_swap_control_tear 和 【【微信】】_RELAXED_KHR 接口,用于改善显示抖动的问题。

  • GLX_EXT_swap_control:用于实现 glXSwapInter【【微信】】() 函数,用来设置 swap buffer 的间隔时间,间隔时间以 vsync 周期为单位,主要用于渲染和显示同步。例如 glXSwapInter【【微信】】(2) 代表 glutSwapBuffers() 需要等待2个 vsync 后才返回。
  • GLX_EXT_swap_control_tear:和 GLX_EXT_swap_control 类似,但唯一不同是 glXSwapInter【【微信】】() 设置的时间间隔可以是负数,用来表示如果当前发起的 swap 操作已经滞后了一个 vsync,那么就不要等待原来设置的时间间隔了,直接将 buffer swap 出去。这样的操作可以大大改善游戏的卡顿问题,但副作用也很明显,就像它的名字一样,会带来撕裂的问题。
  • 【【微信】】_RELAXED_KHR:是 GLX_EXT_swap_control_tear 的 vulkan 版本,功能和 GLX_EXT_swap_control_tear 类似。

更多详细内容,请查看如下提交:

  1. wsi/x11: Hook up 【【微信】】_RELAXED_KHR
  2. Implement GLX_EXT_swap_control and GLX_EXT_swap_control_tear
  3. [Mesa-dev] 【【微信】】: new GLX/WSI presentation features in git

在 mesa-20.3 开发分支中,Bas Nieuwenhuizen 在 DriConfig 中新增了 【【微信】】bug 选项,用于削减应用程序可见的 VRAM 显存大小,主要用于调试目的,目前仅 RADV 驱动中支持该功能。

详情:radv,【【微信】】: Add driconf VRAM override

Zink 是 mesa 中基于 【【微信】】 实现的 OpenGL 驱动,本质上是一个 API 转换层,可以运行在任意真实的 Vulkan 硬件驱动之上。创建 Zink 的主要目的是为了方便那些还没有能力迁移到 【【微信】】 的应用程序或游戏厂商,帮助他们暂时从 OpenGL 过渡到 Vulkan,同时也有助于 Vulkan 生态的建立。

Mike Blumenkrantz,一直致力于 Zink 的开发工作,近期在他的博客中宣布 Zink 的性能有了重大突破,甚至在某些场景下还优于本地真实 OpenGL 驱动的性能!他做了一个小规模的 benchmark 测试,取相同的 Mesa 节点,让 Zink 运行在 Intel “ANV” Vulkan 驱动之上,与同节点的 Intel “Iris” Gallium3D OpenGL 硬件驱动进行对比测试,结果却惊人的发现在某些 case 中 Zink 的性能大大超过了 Iris,这是非常令人振奋的消息!要知道,去年 Zink 的性能简直不堪入目。该测试总共 2500 项,而 Zink 通过率已达到了 91%,这已经是相当不容易的了。当然,在其它某些 case 中,Zink 的性能仍然落后于本地 OpenGL 驱动。

详情:Zink OpenGL-O【【微信】】mance Is Turning Out Better Than Expected

上周一 【【微信】】.2.153 发布,没有新增 Extension,主要完善了 【【微信】】、【【微信】】_address 等接口的开发文档。不过从该版本开始,【【微信】】 仓库的 master 分支正式切换到 main 分支,后续所有的修改都在 main 分支上进行,而 master 分支则被冻结,不再接受新的提交。

详情:【【微信】】.2.153 Released

名词解释:

  • VRR:【【微信】】,可变帧率,即 Display 硬件的 Vsync 周期是动态可变的,一般普遍认为可变帧率的范围是 9~240Hz。
  • Adaptive Sync: VESA DisplayPort 1.2a 引入的一个行业标准,用于定义 DisplayPort 与具有 VRR 能力的显示器之间的传输协议。通过 Adaptive Sync 技术,GPU 在渲染完一帧图像后,Display 就可以马上进行显示,而无需等到固定的 Vsync 边沿到来时才触发显示。
  • FreeSync:AMD 厂商基于 Adaptive Sync 技术实现的一套软件/硬件整体解决方案,它是一套开放式的标准,免授权费,因此面板厂商可以直接使用该技术而无需支付额外的授权费。FreeSync 不仅支持 DisplayPort 接口,还支持 HDMI 接口。另外,支持 FreeSync 的显示器必须搭配 AMD GPU 才能使用 VRR 功能。
  • 【【微信】】: NVIDIA 厂商实现的一套类似 Adaptive Sync 的技术,它是一套完全封闭的软硬件整体解决方案,从面板制作到认证出货,全程由 NVIDIA 跟踪指导,且需要向面板厂商收取高昂的授权费。同样的,支持 【【微信】】 的显示器必须搭载 NVIDIA 的 GPU 才能正常使用 VRR 功能。

之前曾在我的星球中报道过关于 Intel 添加 VRR 支持的消息:《Intel i915 DRM 驱动将添加对 VRR 的支持》、《Xorg 将添加 Adaptive-Sync/VRR 的支持》,而就在上周二,xorg-server 终于合入了对 Adaptive-Sync/VRR 的支持。

Adaptive-Sync/VRR 最早由 AMD 的 【【微信】】 驱动支持,而此次合入的 【【微信】】 其实就是从 amdgpu 那 porting 过来的。不同于 AMD,Intel 开源 X 驱动 xf86-【【微信】】 早已被废弃,多年来 Intel 的开源 X 驱动都是直接提交到公共的 xf86-【【微信】】 驱动中的。也就是说,此 【【微信】】 合入之后,不但可以支持 Intel 显卡的 VRR 功能,还可以支持 AMD 显卡的 Adaptive-Sync/FreeSync 功能。

不过需要注意的是,并不是在你的电脑上安装了 xf86-【【微信】】 驱动就一定支持 VRR 功能,VRR 的支持需要整个系统都支持才可以正常使用,这涉及到 DRM kernel 驱动、Xorg Server、【【微信】】 驱动的完整支持,任何一个模块的不兼容都将导致无法正常使用 VRR 功能。更令人沮丧的是,当前合入 VRR 的 patch 是在 【【微信】】.21 版本中,此版本已经开发了两年半时间,至今仍然没有 release 正式版本出来,这可能和目前 xorg 社区都把主要精力放在 Wayland 开发上有关。换句话说,在 xorg 正式 release 1.21 版本之前,我们仍然无法享用该 patch 所带来的 VRR 功能。

关于 Adaptive-Sync/VRR 的详细介绍,可以参考本人翻译的《VES【【微信】】 / AMD FreeSync / VRR 白皮书》

信息来源:

  1. Intel Lands Adaptive-Sync/VRR Into Modesetting X.Org Driver
  2. modesetting: Lay the foundation for enabling VRR
  3. modesetting: Allow users to opt-in VRR support

Hikari 是一款支持 X11 和 Wayland 协议的 Window Manager / Compositor,类似于 GNOME 桌面,不同于其它桌面系统,Hikari 主要运行在 FreeBSD 系统上。当然,它的 Wayland Compositor 也可以运行在 Linux 系统上。它的 Wayland 基于 wlroots 库实现,使用 darcs 进行版本控制。

上周二 Hikari 社区发布了 2.2.0 版本,该版本的一个重大更新是添加了对 【【微信】】 的支持,可以作为 Wayland 【【微信】】 进行远程连接访问图形桌面。

详情:hikari 2.2.0 is out



全景直播软件有哪些 vr全景直播软件

全景直播软件有哪些,全景直播软件哪个好,360°全景直播,全景直播是什么意思

这家软件站网络电视分类下的【【淘密令】】(3D立体全景直播软件) v1.1.1.3官方版,文件大小为474.3M,适用系统为WinAll,以下为介绍或使用方法。

【【淘密令】】是一款专业的3D立体全景直播软件,可以通过SDI或者RTMP即可一键推送至各大主流媒体平台进行直播,支持实时预览拼接、颜色校正和H.264/ H.265编码等功能,和Obsidian 3D全景相机配合使用可以实时捕捉360°3D/2D画面。

使用方法

一、连接

1、 路由器连接相机和电脑

准备好POE电源,足够长的千兆网线,Obsidian相机,千兆路由器,以及满足直播配置要求的电脑(至少有i7-5960x的CPU, N【【微信】】的显卡及8 GB的内存),流畅的网络,即可开始连接。

相机和电脑需处于同一个局域网内,并用千兆网线连接。

连接方式如图示,连接不分先后顺序:

2、 DHCP直接连接

可通过网线直接连接电脑与相机,操作如下:

1) 在【首选项】中设置DHCP服务,选择与相机直连的网卡,点击保存;

2) 等待15s,再次刷新列表,即可与相机进行连接;

二、直播设置

1、连接相机

打开相机和【【淘密令】】,点击左上角相机选择框,连接相机和电脑。

2、预览模式设置

镜头总览

单镜头预览

拼接预览

拼接预览包括全景2D及3D。可以进行3D模式的Top&Bottom双目预览;也支持分别预览3D全景的左右眼,“L”表示左眼,“R”表示右眼。

3、 参数设置

右边面板可以调整直播的各项参数

(1)拼接

支持设置拼接参数。可选项如下:

1) 画面反转:画面视图水平翻转

2) 拼接质量:正常及应用了实时光流的高质量

3) 2D/3D:默认为360° 2D模式,也支持3D(左眼,右眼,top&bottom视角)

4) 周边距离:调整拼接效果最佳的相对于相机的距离

5) 自动曝光补偿:每隔一段时间,画面各镜头自动计算曝光量并进行曝光补偿

6)主视角调整:平移范围:-180°至90°;倾斜范围-90°至90°;滚动范围-180°至180°。

(2)调色

可对拼接结果进行总体调色,参数包括:“色温”、“色彩”;“曝光”、“对比度”、“高光”、“阴影”、“黑色色阶”、“白色色阶”;“自然饱和度”、“饱和度”。并支持导入“.cube”和“.look”的配色方案。

在单镜头预览模式下,可设置该镜头参数同步以及调整镜头白平衡与曝光参数,并显示单镜头RGB曲线。

(3)增强

为直播画面提供降噪功能,并可自行调节降噪强度。

(4)曲线

支持调整RGB 曲线调色功能,默认为RGB(亮暗的调整),也可以红、绿、蓝通道单独调整。

(5)贴图

支持顶部&底部贴图功能,并可以自由调整贴图的透明度。图片格式支持”.jpg”和”.png”。

4、推流设置

(1)分辨率、编码方式、码率

分辨率目前最高支持3840*3840;编码方式目前支持h264/h265。

在网速允许的条件下,可以调整至更高的直播分辨率和码率。码率建议设置在带宽上行速度的80%以内。

(2) 推流方式

1)LAN

将直播流推到本机的流媒体服务,局域网内的其他设备可通过本机生成的RTMP地址获取直播流;

选择网络设备可以查看在该设备所连网段中,其他设备获取该直播流的RTMP地址;

网络设备选项更改并不会对直播有影响;

2)RTMP

填写“服务器地址”以及“直播密钥”后,即可进行推流直播,“直播密钥”为选填项;

3)SDI

通过SDI采集卡输出非编码直播流;

在【SDI输出硬件列表】中选择用于推流的SDI采集卡,待开始直播后,直播流将通过选中的SDI采集卡进行输出;

(3)边直播边录制

在连接相机成功后,即可进行录制,录制的视频最高可进行3840*3840@30fps的拼接。

三、观看直播

观看直播期间,下行网速应至少大于20Mb/s(至少达到直播所选码率的两倍),否则客户端画面出现卡顿或丢失,直到网络速度满足要求。

1、局域网内观看

同一网段内的电脑在局域网内观看,需要得到直播电脑的IP地址(在直播电脑输入命令行获得)

在观看电脑用potplayer/VLC输入这一IP地址,即可进行观看。路径为【菜单】-【打开】-【打开链接】

2、局域网外观看

通过自己推流的地址进行观看,例如,在Face book上推流,即在浏览器登录自己face book账号观看最新的直播推送

更新日志

1.1.1.3

2018-07-26

注意:本次更新不支持软件升级,请前往官网进行下载

C 修复电脑外接音频卡顿问题

C 修复长时间局域网推流导致文件一直变大的问题

C 修复软件无法进行更新的问题

C 优化直播画面清晰度

www.zJkWeiQI.CN

这家软件站为您提供【【淘密令】】最新版的网络电视,欢迎大家记住本网站地址,这家软件站是您下载软件或app最好的网站!

如果您觉得本站提供的这款软件好玩或好用,请分享给您的好友:http://www.zjkweiqi.cn/【【微信】】/39420.html