linux系统GPU编程之DRM编程

背景:

framebuffer大家都知道哈,打开/dev/fb0设备节点,然后开辟一段内存(即显存),再mmap,在吧图形数据填充到这段显存里面。怎么填,比如QT,有一套图形系统,他帮你填,或者ubuntu等系统。

现在安卓手机都有GPU,Linux也跟着进步,再加上人工智能,需要GPU做硬件加速。目前Linux的显示系统基本都是基于drm驱动,这点在linux 4.0 5.0以后都非常常见。

DRM驱动原理,看这篇就够了:

DRM (Direct Rendering Manager)

一 对驱动程序的几种操作方法

我们知道,Linux对驱动的操作有以下几种:
1 一种是/dev下的设备节点文件,
2 proc文件系统
3 sys文件系统。

这里讲第一种,dev下的设备节点。Linux显卡下的设备节点是:
/dev/dri/card0

二 modeset工具使用

2.1 对于DRM显卡的测试,目前比较流行的是modeset,这个源码在我的git。

https://gitee.com/caledonian_study/modeset.git

2.2 modeset其实调用了libdrm这个库,流程是这样的。

2.3 为了适配ST的交叉工具链,我对makefile做了修改,另外我对modeset.c做了修改,为的是显示4个矩形框。
docs是makefile进行编译的,
modeset-qmake是可以用qtcreak打开进行编译的。
modeset-cmake目前还没有搞定,留着以后有时间了再搞吧。

三 编译过程

https://gitee.com/caledonian_study/modeset/blob/master/README.md

四 最终效果


基于STM32MP157的GPU编程之DRM驱动调试相关推荐

  1. 基于Linux的Socket编程之TCP全双工Server-Client聊天程序

    转载:http://blog.csdn.net/apollon_krj/article/details/53437764#0-tsina-1-58570-397232819ff9a47a7b7e80a ...

  2. 【实战篇】模块化编程之LCD驱动框架详解

    ID:嵌入式云IOT技术圈 作者:杨源鑫 传送门:[架构篇]嵌入式编程中如何给代码的结构分层 废话不多说,理论讲太多没啥感觉,这些条条框框本质就是基于面对对象的设计模式相关的一些理论,设计模式就是前人 ...

  3. 树莓派模块化编程之TM1637驱动四位数码管

    一.驱动TM1637的时序图 二.代码实现 #encoding:utf-8 import RPi.GPIO as GPIO import time GPIO.setwarnings(False) GP ...

  4. GPU编程之CUDA(三)——关于联想Y470

    解决闪退问题-- 配置了几天,发现示例程序运行之后闪退 以为是显卡驱动的问题,于是去NVIDIA官网下载了最新的驱动,但是之后还是闪退 在这个过程中还尝试过禁用集成显卡,结果黑屏了...后来随意按了键 ...

  5. GPU编程之GUDA(四)——基础知识补充

    主机函数:在CPU上调用,CPU上执行的函数 全局函数:在CPU上调用,GPU上执行的函数 设备函数:在GPU上调用,GPU上执行的函数--它的线程配置由调用关系中最近的全局函数决定 主机函数在声明时 ...

  6. 基于Linux的SOCKET编程之TCP半双工Client-Server聊天程序

    转自:http://blog.csdn.net/apollon_krj/article/details/53398448#0-tsina-1-64987-397232819ff9a47a7b7e80a ...

  7. RK3288:linux系统中基于I2C的数字温度传感器TCN75A的驱动调试

    CPU:RK3288 Kernel:4.4 Systerm:linux(buidroot) IC:TCN75A 下面我们来看这款芯片的介绍: 引脚介绍,一共八个引脚: 引脚描述: 我选择的是9位,0. ...

  8. 基于python的modbus协议编程_通往未来的网络可编程之路:Netconf协议与YANG Model

    近年来,随着全球云计算领域的不断发展与业务的不断增长,促使网络技术也不断发展,SDN技术应运而生,从最初的基于Openflow的转发与控制分离的核心思想,人们不断的去扩展SDN的外延,目前,人们可以达 ...

  9. linux c 多显卡编程,Linux 编程之GPU计算(转)

    08月11日(星期六) Linux 编程之GPU计算(转) 关于brookgpu的简要介绍看下面的链接: 本文翻译了斯坦福大学网站上的关于brookgpu语言的一篇文章,原文在: 关于brookgpu ...

最新文章

  1. HarmonyOS 设置图标在Text 旁边
  2. 2011-11-27
  3. 面试官:你能聊聊高并发下的接口幂等性如何实现吗?
  4. 文巾解题 1816. 截断句子
  5. idea链接oracle数据库报错:[66000][12505] Listener refused the connection with the following error:
  6. Exynos4412 IIC总线驱动开发(二)—— IIC 驱动开发
  7. 手机百度输入法的用户体验
  8. linux命令编译C语言程序
  9. SQL Server插入binary类型的数据
  10. 【版本控制】Github for Windows客户端的使用
  11. 红月3.8登入器重新设计并且支持窗口化兼容win10
  12. 做科普自媒体是怎么挣钱的?
  13. Cursor 详解及使用
  14. 清翔51单片机开发板及原理图-去年购买的
  15. 浅谈交换机和路由器的区别
  16. 绍耕反失败学课程(01)— —人生只做一件事
  17. oracle固定资产部门分摊,用友软件操作手册--固定资产--多部门使用、分摊处理...
  18. scrapy模拟登陆强智教务系统
  19. 物理机无法ping通虚拟机,虚拟机能ping通物理机
  20. 什么牌子的护眼灯对眼睛好?性价比最高的护眼灯

热门文章

  1. python翻译器怎么下载_Python实现桌面版翻译工具教程
  2. 电脑缺少msvcp140.dll怎么办,缺少msvcp140一键修复方法
  3. RGB图片隐写术免杀
  4. APP自动化测试框架
  5. Thread类源码解读1--如何创建和启动线程
  6. JasperReport导出excel包含公式
  7. jsp导出excel教程及常见问题
  8. 快速搭建Kerberos服务端及入门使用
  9. 【Android】短信应用——短信截获
  10. HTML5期末大作业:电影网站设计——迪斯尼公主滚动特效(7页) HTML5网页设计成品_学生DW静态网页设计代做_web课程设计网页制作