設置 | 登錄 | 註冊

目前共有5篇帖子。

啥时候有人能把BasicDisplay.sys移植下来,就能全面支持新显卡亮机(仅仅是亮机,不支持硬件加速)

1樓 巨大八爪鱼 2026-1-16 12:54

Backporting the Microsoft Basic Display Adapter driver from Windows 8 Build 7963 to Windows 7

https://forums.mydigitallife.net/threads/backporting-the-microsoft-basic-display-adapter-driver-from-windows-8-build-7963-to-windows-7.86144/


Installing Windows 7 on the pure UEFI systems without CSM

https://forums.mydigitallife.net/threads/installing-windows-7-on-the-pure-uefi-systems-without-csm.80876/

2樓 巨大八爪鱼 2026-1-16 12:55

这两个帖子,特别是后一个,算是对驱动层面怎么显示的科普

很值得研究

巨大八爪鱼CCTV.com 12:10:06
KB968730能使64位xpsp2的ie6支持sha256的https证书 如果只是想进桌面,不开aero,能有办法不
@KB968730能使64位xpsp2的ie6支持sha256的https证书 见我说的上面的,原理就是利用GOP协议

CCTV.com 12:10:26
但是目前还没有人做到

CCTV.com 12:11:04
我试着做过,最关键的那个Present函数(相当于GOP里面的Blt)没有被调用,黑屏。

CCTV.com 12:11:32
MDL论坛有讨论,大家可以群策群力一下

CCTV.com 12:12:05
如果把win8的dxgkrnl.sys移植下来,则BasicDisplay就能用了,全品牌亮机

Canon~控 12:17:06
flashbootpro应该就可以直接进桌面

Canon~控 12:17:48
还没遇到过不行的机器

CCTV.com 12:18:08
这个方法可以试,模拟win8的显示方法。我有一两个机器用它可以进入安全模式。

Canon~控 12:19:59
win8的dx移植太难了,函数缺失太多了

CCTV.com 12:22:01
除了IAT,还担心用户模式一堆d3d…和win32k.sys和它的匹配问题

CCTV.com 12:22:26
但是单独加支持BasicDisplay的模块,可行性也不高,代码量很大

562409920 12:23:54
要是win8支持dx12  那我还真不换win10了

Canon~控 12:23:55
d3d应该还行,dx版本支持上,win7比win8/8.1高

Canon~控 12:24:09
就怕wddm版本卡

CCTV.com 12:25:47
win7是1.1,win8好像是1.2

CCTV.com 12:26:03
这么说用户模式肯定还是d3d11

562409920 12:30:25
win8.1应该是支持dx11.2的吧?

無天 12:39:30
DX12子版本区别还是不小

無天 12:39:53
单纯针对独显基本要求来讲

562409920 12:40:09
20系和6000系才完整支持dx12

無天 12:40:20
是这个意思

無天 12:40:36
所以这点来讲win8。。

Canon~控 12:45:41
win7虽然支持dx12,但依赖游戏厂商支持


3樓 巨大八爪鱼 2026-1-16 12:56

basicdisplay值得继续研究,有意思

显示这块,有VGA仲裁、VGA资源、INT10虚拟等,既复杂又有趣

4樓 巨大八爪鱼 2026-1-16 13:12
CCTV.com 12:56:01
basicdisplay还有一定可能,微软有一个KMDOD的源码

CCTV.com 12:56:18
再结合XP源码里对VGA的处理,有可能改造出来

 KB968730能使64位xpsp2的ie6支持sha256的https证书 12:58:12
int10虚拟是uefiseven已经做了的

CCTV.com 13:00:44
这个我分析过,我认为:
1.它的INT10只是避免hal.dll虚拟机卡死
2.它不能实现真实INT10的功能(如写显卡端口)(真实INT10是显卡VBIOS初始化的)
3.它的入口处理有缺陷,填好的中断向量可能被操作系统覆盖
我的修改版是针对上面第3个问题,把第0页内存标记为EFI_RUNTIME_SERVICES使用的,防止操作系统回收。

CCTV.com 13:02:54
关于第1点,跟踪一下hal.dll的x86BiosCall函数就能了解。对于关闭CSM而不会卡死的情形,是因为hal.dll虚拟机遇到无效指令会跳出。而卡死的情形,是刚好INT10指向的随机位置的内存形成的16位指令,会产生死循环(比如完整执行完一个0x10000长度又回到原点)。

CCTV.com 13:11:19
flashboot为什么能显示,是它把内核写VGA的操作统统换成写GOP帧缓冲区的操作,由于GOP协议是UEFI OPROM初始化的,BIOS阶段显示正常,只要不作改动,在操作系统阶段依然正常。

CCTV.com 13:11:35
规避了VBIOS未加载的问题。

內容轉換:

回覆帖子
內容:
用戶名: 您目前是匿名發表。
驗證碼:
看不清?換一張