feat(clusterApp):BringUp OpenGlES+DRM on RK3576
This commit is contained in:
34
test/drmcap-main/README.md
Normal file
34
test/drmcap-main/README.md
Normal file
@@ -0,0 +1,34 @@
|
||||
# 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!
|
||||
Reference in New Issue
Block a user