首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
drm专题
驱动开发系列16 - Linux Graphics DRM和KMS内核模块介绍
一:概述 “直接渲染管理器”(DRM)和“内核模式设置”(KMS)API 是 Linux 图形系统的重要组成部分。然而,关于它们具体是什么的文档非常难以找到——而谷歌搜索到的大部分内容都是完全过时的。看起来在这个领域工作的人们太忙了,无法进行文档编写。这篇文章提供了关于 DRM 内核模块内部实现细节的更详细信息。 二:DRI、DRM和KMS的目的 一开始,所有
阅读更多...
Linux中的DRM 介绍
Linux中的DRM 如果在搜索引擎离搜索 DRM 映入眼帘的尽是Digital Rights Managemen,也就是数字版权加密保护技术。 这当然不是我们想要的解释。在类unix世界中还有一个DRM即The Direct Rendering Manager,它是DRI(Direct Rendering Infrastructure)框架的一个组件。而DRI的作用是为类Unix系统提供
阅读更多...
DRM Wayland基本概念
1.linux系统中查看屏幕分辨率(通常是在设备树中进行配置的) #2代设备,实际物理尺寸-1.9英寸$cat /sys/class/graphics/fb0/virtual_size170,320#3代设备,实际物理尺寸-2.97英寸$cat /sys/class/graphics/fb0/virtual_size480,800 2.lcd外设选型参数 (1)物理尺寸(2)硬件
阅读更多...
Android下HWC以及drm_hwcomposer普法(下)
Android下HWC以及drm_hwcomposer普法(下) 引言 不容易啊,写到这里。经过前面的普法(上),我相信童鞋们对HWC和drm_hwcomposer已经有了一定的认知了。谷歌出品,必须精品。我们前面的篇章见分析到啥来了,对了分析到了HwcDisplay::init,然后设置Backend后端来着! 一.如何理解drm_hwcomposer的backend
阅读更多...
Android下HWC以及drm_hwcomposer普法(上)
Android下HWC以及drm_hwcomposer普法(上) 引言 按摩得全套,错了,做事情得全套,普法分析也是如此。drm_hwcomposer如果对Android图形栈有一定研究的童鞋们应该知道它是Android提供的一个的图形后端合成处理HAL模块的实现。但是在分析这个之前我们非常有必要了解一下Android的HWC前世今生,然后再来看drm_hwcomposer是如何配合
阅读更多...
drm 和 sysfs
DRM 全称是Direct Rendering Manager,进行显示输出管理、buffer 分配、帧缓冲。对应userspace 库为libdrm,libdrm 库提供了一系列友好的控制封装,使用户可以方便的进行显示的控制和buffer 申请。 DRM的设备节点为"/dev/dri/cardX", X 为0-15 的数值,默认使用的是/dev/dri/card0。 CRTC 显示控制
阅读更多...
DRM/RESP无法连接linux上redis的原因
问题一: redis.conf配置文件 进入到自己的redis软件目录 vim redis.conf 将bind 127.0.0.1 : 1 注释掉,改成bind 0.0.0.0,让远程所有ip都可以访问 将daemonize yes 守护进程,修改后可在后台运行 protected-mode no 关闭保护模式 redis-server r
阅读更多...
[RK-Linux] RK3399 DRM驱动程序框架详解
如果需要编写一个DRM驱动,应该怎么做呢?具体流程如下: (1) 定义struct drm_driver,并初始化成员name、desc、data、major、minor、driver_features、fops、dumb_create等; (2)调用drm_dev_alloc函数分配并初始化一个struct drm_device; (3) 调用drm_mode_config_init初始化
阅读更多...
linux drm mipi dsi lcd 点屏之设备树配置
linux drm mipi dsi lcd 点屏之设备树配置 设备树文档: https://elixir.bootlin.com/linux/v6.8-rc5/source/Documentation/devicetree/bindings/display/dsi-controller.yaml https://elixir.bootlin.com/linux/v6.8-rc5/source/
阅读更多...
drm 随记
调用drmModePageFlip来更换缓冲区,当下一次vblank时,内核会类似于调用drmModeSetCrtc()来执行framebuffer切换动作:fb->crtc->conn->mode. drmModeSetCrtc是用户直接调用切换缓冲区并立即生效;而drmModePageFlip由内核去调用切换缓冲区,并且调用时机为下一个vblank。 drmHandleEvent会处理两种消
阅读更多...
DRM(Direct Rendering Manager)(非常全)
https://blog.csdn.net/hexiaolong2009/article/details/83720940
阅读更多...
drm 驱动系列- 第一章 drm_device
文章目录 1. 注册 drm_dev1.1 connector 属性文件 2. 源码阅读2.1 drm_dev_init1) drm_minor_alloc2) drm_sysfs_minor_alloc3) drm_minor_get_slot4) drm_gem_init 2.2 drm_dev_register1) drm_minor_register2) modeset_regist
阅读更多...
RockChip DRM Display Driver
资料来源: 《Rockchip_DRM_Display_Driver_Development_Guide_V1.0.pdf》 《Rockchip_Developer_Guide_DRM_Display_Driver_CN.pdf》 一:DRM概述 DRM(Direct Rendering Manager)直接渲染管理,buffer分配,帧缓冲。对应userspace库位libdrm,lib
阅读更多...
RK3568笔记九: DRM显示摄像头
若该文为原创文章,转载请注明原文出处。 一、介绍 学习DRM的目的是想做类似NVR显示多路实时流,通过勇哥(Marc)的指导,大概流程是通过Zlmedia拉流,RK3568的MPP解码,DRM显示,可以使用HDMI或DIS屏幕,所以为了后面的实现,先测试摄像头采集DRM显示。 二、移植过程 测试过程在笔记八里,如有不懂的,请看笔迹八。 移植过程参考GitHub - MontaukLaw/
阅读更多...
DRM-VAE
𝛿 means variance,𝑃(𝑋|𝑧;𝜃) means a function that make 𝑧 close to 𝑋. 作者未提供代码
阅读更多...
KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(33)
接前一篇文章:KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(32) 上一回了开始对于drm_gem_handle_create_tail函数的解析,对于函数的注释和第一段代码进行了讲解,本回开始对于drm_gem_handle_create_tail函数的核心功能代码进行解析。为了便于理解,再次贴出drm_gem_handle_create_tail函数
阅读更多...
KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(31)
接前一篇文章:KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(30) 上回书解析了drm_gem_open函数的两个参数struct drm_device *dev和struct drm_file *file_private(所对应的实参),本回开始解析drm_gem_open函数的内容。为了便于理解和加深印象,再次贴出drm_gem_open函数源码,在
阅读更多...
KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(21)
接前一篇文章:KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(20) 距离本系列上一篇文章发布的时间已经过去了十多天,虽然这样算下来时间不算长,但笔者感觉上都快过了一个月没更新了。这可能是在我心里一直把Linux图形、尤其是DRM、libdrm这块看得很重,总想尽快往更深入走去的缘故吧。关注我博客的朋友最近应该能看到,近一个时期发布的文章基本上都是SELi
阅读更多...
uvc_app里面自定义的drm
直接上代码: #include <errno.h>#include <fcntl.h>#include <stdio.h>#include <string.h>#include <sys/mman.h>#include <sys/ioctl.h>#include <unistd.h>#include <libdrm/drm.h>#include <libdrm/drm_mode.h
阅读更多...
Android中两种播放器API对应的两种DRM
之前因为种种原因好久没有更新视频开发的文章了。今天刚刚从国内飞回来,趁着周末更新一下.不过关于DRM这块首先一般的开发者很少用到,而且DRM的开发需要前后台的密切合作,可以说后台的工作占了一大半,安卓前端这块DRM的API封装其实已经很到位了,只是因为接触的人少,所以文档并没有多么而已。所以这篇文章只是给大家过一遍概念,细节我就少讲一些。有具体的问题可以留言, 今天主要开始讲解一下安卓
阅读更多...
RockChip RGA与DRM大小端命名冲突解析
RockChip RGA与DRM大小端命名冲突解析 概述 使用Rockchip平台RGA处理RGB数据然后送显示时,一定要注意RGA与DRM命名大小端是反着来的,否则容易出现颜色不对情况。 大小端定义 1、内存大小端区分: 自然语言 0x11223344 小端机器: int a = 0x11223344; cha *b = (char *)&a; *(b + 0) = 0
阅读更多...
[RV1109/RV1126系列]-4.RGA、DRM对图像Resize加速
RGA、DRM对图像Resize加速 上文中,我们已经部署好RKNN基本的转换、部署工具的安装操作,下面我们对在视觉算法中常用 Resize 操作进行优化提速,因RV1126/1109采用Arm A7的处理器,我们在使用 opnecv 进行resize操作时,发现会有较大的耗时。针对这一场景,瑞芯微为我们提供了硬件加速方案,通过RGA和DRM可以成倍的提升resize操作的耗时。
阅读更多...
KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(20)
接前一篇文章:KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(19) 上一回讲解了从drm_mode_addfb2_ioctl()和drm_mode_addfb_ioctl()一步步往前追溯的全过程: drm_mode_addfb2_ioctl() / drm_mode_addfb_ioctl() ---> drm_ioctls[] ---> drm_
阅读更多...
KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(16)
接前一篇文章:KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(15) 本回按照上回中说的,开始对于drivers/gpu/drm/i915/display/intel_fb.c中的intel_user_framebuffer_create函数进行解析。再次贴出intel_user_framebuffer_create函数源码: struct drm_fr
阅读更多...
KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(16)
接前一篇文章:KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(15) 本回按照上回中说的,开始对于drivers/gpu/drm/i915/display/intel_fb.c中的intel_user_framebuffer_create函数进行解析。再次贴出intel_user_framebuffer_create函数源码: struct drm_fr
阅读更多...
天啦噜_HTML5 DRM正式成为Web标准_以后我们还怎么看视频?
原文地址 不顾近三成成员反对,W3C(万维网联盟)正式宣布将加密媒体扩展 (EME) —— 即集成 DRM 数字版权保护的 API 纳入 HTML5 建议标准。 EME 一直以来都备受争议,EME 由 Google、Microsoft 和 Netflix 等公司的工程师联合开发(值得注意的是 谷歌、微软 都是浏览器大厂,标准通过后马上就可以再浏览器上跟进并向用户推送),其提供了
阅读更多...