当前位置: 首页 > news >正文

Vbox虚拟机+Ubuntu motest测试drm

1. 效果演示

大家做学习drm的时候,没有硬件测试平台不方便测试,这里给大家演示下如何基于Vbox虚拟机+Ubuntu测试drm的一些功能,先看下演示视频。

没有光标测试:

demo_vwmfgx_test_drm

带有光标测试:

demo_vwmfgx_drm_with_cursor

可以看到,有个半透明的小方块就是光标,使用虚拟机的方式,drm cursor相关的效果也可以实际体验了^_^.

左边是ssh登录虚拟机执行modetest命令,右边是实时效果。这个应该是目前没有硬件的条件下最直观的drm测试方法了。

2.测试方法

Vbox虚拟机+Ubuntu16/18都可以测试。
测试的前提是Vbox+Ubuntu已经安装好了,并且能够通过ssh登录虚拟机里面的Ubuntu。
具体测试步如下:
0. 安装drm相关的package
sudo apt install libdrm-dev
没有相关packge的可以直接下载libdrm 源码编译安装 1. 进入linux命令行模式Ubunt18.04
在Linux系统中,可以使用以下快捷键来进入命令行模式:
Ctrl + Alt + F1:GUI模式
Ctrl + Alt + F6:命令行模式Ubunt16.04
在Linux系统中,可以使用以下快捷键来进入命令行模式:
Ctrl + Alt + F1:命令行模式
Ctrl + Alt + F7:GUI模式2.进入命令行模式,命令行模式选择一个用户登录3.ssh 登录虚拟机的Ubuntu执行下面脚本
执行shell脚本进行测试
Ubunt18
detst_no_cursor_test_all_disp_modes_ubuntu_18.sh
Ubunt16
detst_no_cursor_test_all_disp_modes_ubuntu_16.sh4.
执行完测试后,快捷键返回GUI模式

3. Vbox虚拟机+Ubuntu 为什么能做这个测试?

测试的命令如下:
modetest -M vmwgfx -s 24@27:1920x1200-60 -F tiles
测试其实是使用vmwgfx这个虚拟显卡驱动,提供对应的的drm接口。vmwgfx 是虚拟机虚拟显卡驱动,linux内核自带了这个驱动。
如果这个驱动没有安装,可以安装VirtualBox的虚拟机增强功能试试。
安装这个功能可以百度下就可以。查询自己系统有没有有安装vmwgfx这个驱动的方法如下
如果没有任何显示则没有安装,也就不能进行这个实验了。
要确定vmwgfx这个驱动安装后才能做这个实验。dmesg | grep vmwgfx
[    1.502045] [drm] Initialized vmwgfx 2.9.0 20150810 for 0000:00:02.0 on minor 0vmxgfx 在linux内核源码的路径,感兴趣的可以看看如何实现的
\linux-5.4.70\drivers\gpu\drm\vmwgfx	

4.资源共享及测试脚本说明 

测试脚本下载链接

Ubunt16测试drm脚本,不带有cursor
test_drm_modetst_no_cursor_test_all_disp_modes_ubuntu_16.shUbunt16测试drm脚本,带有cursor
test_drm_modetst_with_cursor_ubuntu_16.shUbunt18测试drm脚本,不带有cursor
test_drm_modetst_no_cursor_test_all_disp_modes_ubuntu_18.sh具体效果大家可以实际运行看下,一切顺利就是我演示视频中的效果

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • # Redis 入门到精通(八)-- 服务器配置-redis.conf配置与高级数据类型
  • Django transaction.atomic()事务处理
  • 【ROS2】高级:安全-理解安全密钥库
  • 《梦醒蝶飞:释放Excel函数与公式的力量》18.1 图表类型与设计
  • 机器学习(二十):偏差和方差问题
  • Docker Desktop安装
  • 汽车免拆诊断案例 | 2014 款上汽名爵 GT 车发动机无法起动
  • PACS-医学影像信息管理系统,全影像科室PACS源码,内置包括MPR、CMPR、VR等三维处理功能
  • vue2获取视频时长
  • Docker-Compose实现MySQL之主从复制
  • 理想化相机模型的相机内参
  • 医学图像分类
  • 金融数据的pandas模块应用
  • iview中Checkbox组件设置不勾选是0,勾选是1
  • Mac安装Hoomebrew与升级Python版本
  • CSS 提示工具(Tooltip)
  • ES2017异步函数现已正式可用
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • Idea+maven+scala构建包并在spark on yarn 运行
  • JavaScript函数式编程(一)
  • Java多态
  • laravel 用artisan创建自己的模板
  • leetcode46 Permutation 排列组合
  • Logstash 参考指南(目录)
  • maven工程打包jar以及java jar命令的classpath使用
  • Redis 懒删除(lazy free)简史
  • scala基础语法(二)
  • spring-boot List转Page
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • 编写符合Python风格的对象
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 关于for循环的简单归纳
  • 世界上最简单的无等待算法(getAndIncrement)
  • 我建了一个叫Hello World的项目
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • MPAndroidChart 教程:Y轴 YAxis
  • 移动端高清、多屏适配方案
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • (1)(1.13) SiK无线电高级配置(五)
  • (27)4.8 习题课
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转)Sql Server 保留几位小数的两种做法
  • (转)visual stdio 书签功能介绍
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • .NET COER+CONSUL微服务项目在CENTOS环境下的部署实践
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .NET 动态调用WebService + WSE + UsernameToken
  • .NET 某和OA办公系统全局绕过漏洞分析
  • .Net(C#)常用转换byte转uint32、byte转float等