1 Star 0 Fork 0

冰雅轩/drmcap

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

drmcap

A debugging tool for screen capture under DRM (Direct Render Manager)

This is a debugging tool for screen capture under DRM (Direct Render Manager). This also a revised version for previous “drmfbcap” (DRM Framebuffer Capture).

Unlike the FB based system under which we can capture the frame buffer easily through reading the device node, the DRM is much more complex and secure-protected. No direct way for reading framebuffer data from user space. Under DRM case, we need to open the DRM device, query the resource, get and map the FB object and then read the buffer eventually.

With this tool, we can capture the buffer content from a DRM device and output as raw RGB/YUV data.

Features:

1. Capture all planes or specific plane, including hidden/covered planes or planes (overlays) managed by applications directly.
2. Both RGB and YUV supported (auto detect).
3. Repeat mode which can capture frames continuously.
4. Tile format (VSI Super-Tile) is also supported (not available for open source version).

Important notes:

Behavior of DRM subsystem is different between Linux 4.x and 5.x/6.x.

For Linux 4.x, you can capture the RGB buffer without any problem. But, there’s no API for YUV (multi-plane) buffer. 
    To capture YUV, please patch kernel with: “kernel_0001-drm-Add-getfb2-ioctl_L4.14.98.patch”.
For Linux 5.x, mapping/capturing the internal buffer is not allowed by default due to security reason. 
    To overcome this temporary (for debug only), patch the kernel with: “0001-drm-enable-mapping-of-internal-object-for-debugging_L5.x.patch”. It contains a minor change to remove this guard.

Both patches are included in project.

To get more details about how to use this tool, try “-h” option to print the usage message.

Enjoy!

空文件

简介

暂无描述 展开 收起
C 等 2 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/ice_elegant/drmcap.git
git@gitee.com:ice_elegant/drmcap.git
ice_elegant
drmcap
drmcap
main

搜索帮助

246c6175 1850385 950819b3 1850385