我有一个外星人 M18 R1配备 i9-13980hx,以及NVIDIA GeForce RTX 4090 笔记本 GPU这是我几个月前买的。一段时间以来,它一直很好用。
背景:最近我开始遇到与 CPU 相关的 BSOD,我尝试了各种解决方法,最终导致主板更换昨天安装的。技术人员注意到 CPU 附近的一个螺丝根本没有拧紧,这可能导致 CPU 周围组件的冷却不足(CPU 核心温度正常,但显然我无法测量电压调节器等的温度)。新主板通过所有测试并正常启动 Windows 11。
然而,我很快注意到,在 Windows 设备管理器中,我有一个“,而不是我的 GPU。Microsoft 基本显示适配器。“我尝试了所有方法来修复它:卸载该适配器、DDU、在安全模式下的 DDU、安装制造商(戴尔)的 NVidia 驱动程序、从网站安装最新的 NVidia 驱动程序。当尝试安装驱动程序时,我很快就会收到以下错误消息:
- Dell/Alienware(稍旧)NVidia 显卡驱动程序安装程序:“此 NVIDIA 显卡驱动程序与此版本的 Windows 不兼容。此显卡驱动程序找不到兼容的显卡硬件“”。
- 官方 NVidia 546.01 显卡驱动程序安装程序:“NVIDIA 安装程序无法继续:此 NVIDIA 图形驱动程序与您的设备不兼容。可以通过选择正确的产品信息从 NVIDIA.com/drivers 下载正确的驱动程序。此图形驱动程序找不到兼容的图形硬件。“
- (我也尝试了 NVidia 桌面驱动程序 - 同样错误。)
现在,我立即想到新主板的 GPU 有故障(由于它位于集成的英特尔 GPU 上,因此屏幕可以正常工作),所以我安排了另一次主板更换。请注意,我尝试运行 GPU-Z,它显示“Microsoft Basic Display Adapter”作为我的 GPU,但它显示了 4090 GPU 的一系列正确统计数据,例如技术(5nm)、填充率等。所以它显然在那里,只是无法访问。
接下来,我尝试从 USB 驱动器安装并运行 Ubuntu。在安装了所有驱动程序(包括闭源 NVidia 驱动程序)后,GPU 运行完美,无需任何自定义配置,就像一切正常一样。我甚至安装了 Steam,并运行了一款相对现代的电子游戏来利用 GPU,Dota 2,没有任何问题。(在 1440p 下,在所有最大设置下,我在 Dota 2 中获得了 200fps,Ubuntu NVidia 工具显示 GPU 正在更改为更高频率的设置,所以我确定它没有使用内置的英特尔 GPU。)
然后,我尝试使用 Rufus 将 Windows 11 的单独干净副本安装到 USB 驱动器上,作为“Windows To Go”安装。同样,我遇到了同样的问题:“Microsoft 基本显示适配器“,在尝试我之前提到的两个 NVidia 驱动程序时,都会显示相同的错误消息。
然后我尝试了一些不寻常的事情,我重新启动进入我的主要 Windows 11 安装并尝试手动“更新驱动程序“通过将最新的官方 NVidia 驱动程序解压到一个目录中,然后使用”有磁盘”并将其指向“(base dir)\DisplayDriver\546.01\Win11_Win10-DCH_64\International\Display.Driver”目录。这显示了一堆不同的 GPU,包括大约 5-10 个“NVIDIA GeForce RTX 4090 笔记本 GPU“条目(我的 GPU 型号),所以我只选择了第一个(我不确定它们之间是否有区别)。
这在某种程度上解决了这个问题:安装了 NVidia 驱动程序(包括 NVidia 控制面板等工具),我的第二台显示器突然恢复了运行, Alienware Command Center 现在可以检测 GPU 并显示其统计数据,我可以正常运行 Dota 2 和 3DMark(尽管3DMark Time Spy 显示得分约为 17.9k相比之下,旧主板的价格约为 20k,但这可能无关;此外,我禁用了 Optimus,因此我只使用 NVidia GPU)。
所以我想,也许我的设备标识符存在一些问题,以至于驱动程序无法识别它?
事实上,Windows 和 GPU-Z 中显示的设备 ID 如下:
- Windows:PCI\VEN_10DE&DEV_2757&SUBSYS_0C481028&REV_A1
- GPU-Z:10DE 2757 - 1028 0C48
通过 grepping NVidia .inf 文件可以发现没有与该 ID 完美匹配的内容. 最接近的匹配项在文件 nvdmig.inf 中:
$ grep "NVIDIA GeForce RTX 4090 Laptop GPU" *.inf | egrep 2757 | egrep 1028
nvdmig.inf:NVIDIA_DEV.2757.0BF0.1028 = "NVIDIA GeForce RTX 4090 Laptop GPU"
nvdmig.inf:NVIDIA_DEV.2757.0BFC.1028 = "NVIDIA GeForce RTX 4090 Laptop GPU"
nvdmig.inf:NVIDIA_DEV.2757.0BFE.1028 = "NVIDIA GeForce RTX 4090 Laptop GPU"
nvdmig.inf:NVIDIA_DEV.2757.0C49.1028 = "NVIDIA GeForce RTX 4090 Laptop GPU"
nvdmig.inf:NVIDIA_DEV.2757.0C4B.1028 = "NVIDIA GeForce RTX 4090 Laptop GPU"
请注意我的 ID 是:
- NVIDIA_DEV.2757.0C48.1028,而文件中实际最接近的匹配是:
- NVIDIA_DEV.2757.0C4B.1028
几乎一样,除了我的实际设备显示的“8”和文件中的“B”有差异之外。
到目前为止,GPU 运行良好(基于我今天的有限测试),尽管我不确定我是否能够更新我的驱动程序而不必每次都执行“有磁盘”程序。也许我可以自己修复设备 ID?:)
[编辑] 像 Cyberpunk 2077 这样的游戏似乎无法正确检测 GPU,因此它们不允许使用 DLSS 等现代 RTX 功能。这当然是一个大问题。
因此,我不禁想知道:
- 有人以某种方式更改了这台翻新笔记本电脑主板的设备 ID 吗?也许他们手动输入了设备 ID,却把“8”写错了,写成了“B”?
- 是否有可能更改物理设备 ID?
- 或者也许我有一些独特的 GPU 4090 样品,像这样出厂的?
- Windows“有磁盘”列表中同名的 GPU 之间有什么区别?
- 有什么方法可以修复 Cyberpunk 2077 等游戏缺少 DLSS 的问题?
谢谢!
[编辑] 最后更新:我有一个具有正确设备 ID 的替换 GPU,所以我不再遇到这个问题。
TLDR:我的 Alienware 笔记本电脑更换主板上的 NVidia 4090 笔记本 GPU 的设备 ID 在官方或笔记本电脑制造商的 GPU 驱动程序中均不存在。使用 .inf 文件从列表中手动选择 GPU 可使其在 Windows 中工作。但是,它在 Ubuntu 中“正常工作”。为什么我的设备 ID 错误?有办法修复吗?