当前位置: 首页 > 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具体效果大家可以实际运行看下,一切顺利就是我演示视频中的效果

相关文章:

Vbox虚拟机+Ubuntu motest测试drm

1. 效果演示 大家做学习drm的时候,没有硬件测试平台不方便测试,这里给大家演示下如何基于Vbox虚拟机Ubuntu测试drm的一些功能,先看下演示视频。 没有光标测试: demo_vwmfgx_test_drm 带有光标测试: demo_vwmfgx_drm_with_cursor 可以看到,有…...

ArcGIS Pro SDK (九)几何 15 转换

ArcGIS Pro SDK (九)几何 15 转换 文章目录 ArcGIS Pro SDK (九)几何 15 转换1 创建地理转换2 创建复合地理变换3 创建投影转换4 创建高压基准变换5 创建复合高压基准变换6 决定转换7 地图点 - 地理坐标字符串转换 环境&#xff1…...

Spring IOC DI --- 认识IOC DI

T04BF 👋专栏: 算法|JAVA|MySQL|C语言 🫵 今天你敲代码了吗 文章目录 认识Ioc & DIIoc是什么?DI是什么? 认识Ioc & DI 我们知道,Spring 是一个开源框架,让我们的开发更加简单.但是更加具体来说,实际上Spring 是包含了众多工具方法的Ioc容器 …...

常用的python程序汇总——入门级

只用于记录最近的一些日常程序。 目录 前言 一、文件和目录管理 1.读取文件结构 读取所有文件夹和文件 读取到N级子文件夹和文件 只读取到N级子文件夹 2.遍历文件并处理(复制、删除) 说明: 二、数据分析和处理 三、数据可视化 四、…...

被问到MQ消息已丢失,该如何处理?

在分布式系统中,消息中间件(如 RabbitMQ、RocketMQ、Kafka、Pulsar 等)扮演着关键角色,用于解耦生产者和消费者,并确保数据传输的可靠性和顺序性。尽管我们通常会采取多种措施来防止消息丢失,如消息持久化、…...

open3d:ransac分割多个平面(源码)

1、背景介绍 随机采样一致性算法(RANSAC Random Sample Consensus)是一种迭代的参数估计算法,主要用于从包含大量噪声数据的样本中估计模型参数。其核心思想是通过随机采样和模型验证来找到数据中最符合模型假设的点。因此,只要事先给定要提取的参数模型,即可从点云中分割…...

Github 2024-07-17 开源项目日报 Top10

根据Github Trendings的统计,今日(2024-07-17统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量非开发语言项目3Python项目3Rust项目2TypeScript项目2MDX项目1项目化学习 创建周期:2538 天协议类型:MIT LicenseStar数量:161973 个Fork数量…...

vue3中Composition API写法 <script setup>标签中哪些可以不用导入即可使用?

在 Vue 3 中使用 <script setup> 时&#xff0c;确实有一些全局的 API 和宏可以直接使用&#xff0c;而不需要显式地从 vue 包中导入它们。这是因为 <script setup> 是专门为了提供更简洁的组件编写方式而设计的&#xff0c;它内部利用了编译时的语法糖。 以下是在…...

Facebook Dating:社交平台的约会新体验

随着社交媒体的普及和技术的发展&#xff0c;传统的社交方式正在经历革新&#xff0c;尤其是在约会这个领域。Facebook作为全球领先的社交平台&#xff0c;推出了Facebook Dating&#xff0c;旨在为用户提供一个全新的约会体验。本文将探讨Facebook Dating如何重新定义社交平台…...

【系统架构设计 每日一问】五 搜索型业务,采用MySQL+ES,如何保证数据一致性

将数据从MySQL同步到Elasticsearch&#xff08;ES&#xff09;中并保证一致性是一个常见的需求&#xff0c;特别是在需要快速全文搜索和分析功能的应用中。以下是一些常见的方法和实践来确保数据一致性&#xff1a; 1. 使用双写策略 描述&#xff1a;在应用程序层面&#xff…...

缓存穿透,缓存击穿,缓存雪崩

目录 介绍 缓存穿透 缓存击穿 缓存雪崩 原因 影响 解决方案 缓存穿透 防止缓存穿透->空值缓存案例 缓存击穿 使用互斥锁解决缓存击穿 介绍 缓存穿透 定义&#xff1a;缓存穿透是指用户查询数据&#xff0c;缓存和数据库中都不存在该数据&#xff08;一般是发起恶意…...

运维 | 清理 Linux 磁盘空间方法汇总

清理 Linux 磁盘空间方法汇总 前言 系统磁盘不够用或占满了&#xff0c;导致部分应用或程序无法正常使用。 本章节将记录一些常用或常见的方法清理系统磁盘&#xff08;持续更新中&#xff09;。 常见操作 查看磁盘使用情况 cd / df -Th查找大文件和目录&#xff08;根目…...

googleTest 源码主线框架性分析——TDD 01

TDD&#xff0c;测试驱动开发&#xff0c;英文全称Test-Driven Development&#xff0c;简称TDD&#xff0c;是一种不同于传统软件开发流程的新型的开发方法。它要求在编写某个功能的代码之前先编写测试代码&#xff0c;然后只编写使测试通过的功能代码&#xff0c;通过测试来推…...

Python:对常见报错导致的崩溃的处理

Python的注释&#xff1a; mac用cmd/即可 # 注释内容 代码正常运行会报以0退出&#xff0c;如果是1&#xff0c;则表示代码崩溃 age int(input(Age: )) print(age) 如果输入非数字&#xff0c;程序会崩溃&#xff0c;也就是破坏了程序&#xff0c;终止运行 解决方案&#xf…...

linux系统进程占cpu 100%解决步骤

1.查找进程 ps aux 查看指定进程: ps aux | grep process_name2.根据进程查找对应的主进程 pstree -p | grep process_name 3.查看主进程目录并删除 ps -axu | grep process_name rm -rf /usr/bin/2cbbb...

数据传输安全--IPSEC

目录 IPSEC IPSEC可以提供的安全服务 IPSEC 协议簇 两种工作模式 传输模式 隧道模式 两个通信保护协议&#xff08;两个安全协议&#xff09; AH&#xff08;鉴别头协议&#xff09; 可以提供的安全服务 报头 安全索引参数SPI 序列号 认证数据 AH保护范围 传输模…...

Unity XR Interaction Toolkit的安装(二)

提示&#xff1a;文章有错误的地方&#xff0c;还望诸位大神不吝指教&#xff01; 文章目录 前言一、安装1.打开unity项目2.打开包管理器&#xff08;PackageManage&#xff09;3.导入Input System依赖包4.Interaction Layers unity设置总结 前言 安装前请注意&#xff1a;需要…...

什么是PCB流锡槽焊盘/C型焊盘,如何设计?-捷配笔记

在PCB进行机器组装器件时&#xff08;如波峰焊&#xff09;&#xff0c;为了防止部分需要二次焊接的元器件的焊盘堵孔&#xff0c;就需要在PCB焊盘上面开个过锡槽&#xff0c;以便过波峰焊时&#xff0c;这些焊锡会流掉。开流锡槽就是在焊盘裸铜&#xff08;敷锡&#xff09;部…...

电缆故障精准定位系统

简介 电缆故障精准定位系统应用于35~500kV电压等级电缆线路故障精准定位与故障识别。基于百兆高速采样、北斗高精度授时、信号相位误差精确校准等 先进技术的应用&#xff0c;其定位精度小于5米&#xff0c;业内领先。 基于人工智能深度学习算法核心模块可自动、 快速进行故障…...

Google Chrome 浏览器在链接上点右键的快捷键

如今&#xff0c;越来越多的软件都懒得设个快捷键&#xff0c;就算设置了连个下划线也懒得加了。 谷歌浏览器右键 > 链接另存为... 和 复制链接地址 的快捷键 (如图)...

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…...

C++:std::is_convertible

C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下&#xff0c;虚拟教学实训宛如一颗璀璨的新星&#xff0c;正发挥着不可或缺且日益凸显的关键作用&#xff0c;源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例&#xff0c;汽车生产线上各类…...

电脑插入多块移动硬盘后经常出现卡顿和蓝屏

当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时&#xff0c;可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案&#xff1a; 1. 检查电源供电问题 问题原因&#xff1a;多块移动硬盘同时运行可能导致USB接口供电不足&#x…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

在四层代理中还原真实客户端ngx_stream_realip_module

一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡&#xff08;如 HAProxy、AWS NLB、阿里 SLB&#xff09;发起上游连接时&#xff0c;将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后&#xff0c;ngx_stream_realip_module 从中提取原始信息…...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心&#xff0c;JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例&#xff1a; 1. onclick - 点击事件 当元素被单击时触发&#xff08;左键点击&#xff09; button.onclick function() {alert("按钮被点击了&#xff01;&…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...

SpringTask-03.入门案例

一.入门案例 启动类&#xff1a; package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...