第十七篇:实例分析(1)--初探WDDM驱动学习笔记(八)
第四篇(VidPN)中提到过MIRROR驱动.
在进入本篇的实际内容前, 带着好奇心, 想请教CSDN中的显卡驱动方面的大虾, 怎样才干把这个驱动玩起来, 这个驱动的作用是什么,等等, 敬请不吝赐教.
显卡的公司眼下有两家, A与N(嵌入式方面的, 听到过一些, 比方ARM的MALI, 不太清楚). 不论什么一家半导体公司, 其主要内容还是硬件的设计, 软件层面上来讲, 就可大可小了, 但不可否认, 半导体公司对软件的需求与要求, 也越来越多, 越来越高.
近期几天我对显卡以及相关方面的了解, 上层的应用程序, OpenGL, DirectX, 再到用户模式下的UMD, 与内核层的KMD miniport driver, 不论什么一个方面,都是显卡, 显示应用的一个慷慨向, 要深入不论什么一个方面,都须要时间与精力及努力.
前面7篇都是一些基础的知识, 也是我在曾经写AVSTREAM/BDA过程中,没有遇到过的, 特别是VidPN的概念.
光看文档, 是不可能有长进的, 做实际的项目, 带着问题去看文档, 看代码, 调试, 打印, ... 一系列的实践才干把别人的东西消化为自己的东西, 才干渐渐地理解深入, 最后, 提出自己的意见与观点, 提出改进的方法.
这次, 我带着一个实际问题在网上搜显卡驱动的Windows驱动样例代码.
Mirror没有搞明确, 后来, 找到了
Kernel mode display-only miniport driver (KMDOD) sample
http://code.msdn.microsoft.com/Kernel-mode-display-only-49adea58
从微软对这个样例的描写叙述来讲, 这个驱动实现了一个display-only 显卡驱动.
我的一贯作风, 就是先拿这个驱动的.sys文件, 在实际的系统上试一下,看看究竟有什么作用, 效果, 然后再伴随着实际须要解决的问题,去看代码,改代码.
从2006年開始Windows驱动编程, 那时候很easy,安装了DDK, WDK, 就能对代码进行编译, 如今不行了, 非得VS与WDK才干编译驱动程序了(当初为了在USB驱动中增加bulk stream的支持,也是这样, 下VS, 下WDK, 搞得很累, 主要原因,就是WDK不再带有编译, 链接的工具链了).
没办法, 仅仅能下一个免费的vs express 2013, 一个WDK 8.1 Update. 对样例编译出.sys, .inf, .cat.
令人头痛的是, 这个驱动仅仅能执行在 WDDM 1.2的环境下, 而我的WIN8 为
Win8 pro build 9200
在设备管理器中, 看到显卡安装的驱动为WDDM 1.1框架的: 例如以下:
intel(r) q45/q43 express chipse
依据代码的相关描写叙述, 在这个WIN8系统上, 我是不可能看到这个驱动的执行 情况了:
If the current display driver is not a WDDM 1.2 compliant driver, the sample driver might fail to install, with error code 43 displayed.
The KMDOD driver is actually installed, but it cannot be started. The workaround for this issue is to switch to the Microsoft Basic Display Adapter Driver before installing the KMDOD sample driver, or simply to reboot your system after installing the KMDOD
sample.
所以, 实践环境就此被实际原因给阻挡了.
大家有兴趣, 能够參考下这两篇内容, 我将在下一篇, 把代码分析呈现给大家:
http://www.yiiyee.cn/Blog/wddm1/
http://www.yiiyee.cn/Blog/wddm2/
第十七篇:实例分析(1)--初探WDDM驱动学习笔记(八)的更多相关文章
- 《Linux内核分析》第七周学习笔记
<Linux内核分析>第七周学习笔记 可执行程序的装载 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/co ...
- 《Linux内核分析》第六周学习笔记
<Linux内核分析>第六周学习笔记 进程的描述和创建 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/co ...
- 《Linux内核分析》第五周学习笔记
<Linux内核分析>第五周学习笔记 扒开系统调用的三层皮(下) 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.c ...
- 《Linux内核分析》第三周学习笔记
<Linux内核分析>第三周学习笔记 构造一个简单的Linux系统MenuOS 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.stud ...
- 可能是一篇(抄来的)min25学习笔记
可能是一篇(抄来的)min25学习笔记 一个要求很多的积性函数 我们考虑有一个积性函数,这个函数满足可以快速计算质数处的值 且质数可以写成一个多项式的形式--而且这个多项式如果强行套在合数上,满足积性 ...
- Linux 驱动学习笔记05--字符驱动实例,实现一个共享内存设备的驱动
断断续续学驱动,好不容易有空,做了段字符驱动的例子.主要还是跟书上学习在此记录下来,以后说不定能回过头来温故知新. 首先上驱动源码 gmem.c: /************************* ...
- linux驱动学习(八) i2c驱动架构(史上最全) davinc dm368 i2c驱动分析【转】
转自:http://blog.csdn.net/ghostyu/article/details/8094049 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] 预备知识 lin ...
- python 学习笔记八 进程和线程 (进阶篇)
什么是线程(thread)? 线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执 ...
- linux 驱动学习笔记02--应用实例:在内核中新增驱动代码目录和子目录
下面来看一个综合实例,假设我们要在内核源代码 drivers 目录下为 ARM 体系结构新增如下用于 test driver 的树型目录:| --test | -- cpu | -- cpu.c ...
随机推荐
- 用shell脚本爬取网页信息
有个小需求,就是爬取一个小网站一些网页里的某些信息,url是带序号的类似的,不需要写真正的spider,网页内容也是差不多的 需要取出网页中<h1></h1>中间的字符串,而且 ...
- 极光IM使用教程-极光推送
链接地址:http://jingyan.baidu.com/article/a948d65178a6ea0a2ccd2e7e.html 极光IM使用教程,如果您的 App 需要同时集成 Push 功能 ...
- C中的链接属性及作用域
如果相同的标识符出现在几个不同的源文件中时,它们是表示相同的实体,还是不同的实体.标识符的链接属性决定如何处理在不同文件中出现的标识符.标识符的作用域与它的链接属性有关. 链接属性一般有三种:exte ...
- android:android:background="#00000000",透明效果
ImageButton中设置 android:background="#00000000",可以达到透明效果 具体的源码 管理-->文件中的 viewpager0829.ra ...
- CentOS6.5+php5.3听云安装过程
听云安装过程请参考听云安装指导页面:http://doc.tingyun.com/help/html/doc/server_novice.html 根据自己的服务器系统和语言包下载对应的 安装包 安装 ...
- Android_简单笔记一
入门学习Android的简单笔记(已经安装好了开发环境ADT) 一.关于 AndroidManifest.xml文件 1. android:icon和android:label定义了应用程序安装后显示 ...
- 基于二叉树和数组实现限制长度的最优Huffman编码
具体介绍详见上篇博客:基于二叉树和双向链表实现限制长度的最优Huffman编码 基于数组和基于链表的实现方式在效率上有明显区别: 编码256个符号,符号权重为1...256,限制长度为16,循环编码1 ...
- PB数据管道
数据管道提供了一种不同数据库之间传递数据和(或)表结构的方法. 数据管道对象 要完毕数据管道的功能须要提供例如以下内容: 须要数据源和目标数据库,并可以和这两个数据库正常联接 须要源数据库中的哪些表: ...
- IE 下使用firebug
javascript :var firebug=document.createElement('script');firebug.setAttribute('src','http://getfireb ...
- SOLR搭建企业搜索平台
一. SOLR搭建企业搜索平台 运行环境: 运行容器:Tomcat6.0.20 Solr版本:apache-solr-1.4.0 分词器:mmseg4j-1.6.2 词库:sogou-dic ...