分享

○ Bootcamp Windows安装指引 – eGPU外置显卡

 看见就非常 2020-10-09

目前来看,官方在MacOS High Sierra 10.13已经支持eGPU了,我们也总结出了一套完整可行的,在使用BOOTCAMP下安装Windows10系统环境下,正常使用eGPU设备的方案。在过去的几个月里,我们尝试了很多种不同的eGPU安装方式。我们在2016年15寸的Macbook Pro下发现了非常稳定可行的方式,利用了apple_set_os.efi,rEFInd,integrated.bat和右侧的雷雳3接口的组合。13寸的Macbook Pro因为并没有独立显卡,所以更容易成功。我们成功的让集显和eGPU在内屏正常稳定的运作,并且在windows下没有error 12的错误。

何必要这么认真呢?

让我们简单的介绍一下windows下的显卡切换问题。论友Sky11在他的帖子中解释了在windows 10下有三种模式(Microsoft Hybrid graphics, AMD XConnect, 和Nvidia Optimus)。而目前最重要的是如何让Intel的集显能够在内屏中使用eGPU,因为如果没有一个工作中的集显,eGPU只能在外接显示器里工作了。这就解释了为什么拥有独显的15寸Macbook Pro相比于只有集显的更难实现,而目前来看更不幸的是也没有一个合适的主机固件或者CPU的设置可以使用。

在设置eGPU之前,我们最好先把主机上的每一个PCIe连接都弄清楚。我们用HWiNFO64在2016年 15寸 Macbook Pro(与2017年一致)上做了一些PCIe连接的测试。x16 PCI Express是直接连接到Radeon Pro的独显的。x8 PCI Express是连接了左侧的USB-C/雷雳3接口。x4 PCI Express则是连接了右侧的USB-C/雷雳3接口。所以这样就告诉我们了该如何去关闭掉一些连接好让系统能够腾出足够的资源留给我们需要的USB-C/雷雳3接口。

13寸Macbook Pro没有直接连接CPU的雷雳3,所有的PCIe都是通过PCH来连接。根据Apple的雷雳3协议,2016年13寸带Touchbar的Macbook Pro的右侧雷雳3接口的带宽比左侧的要小一些。这个对应的就是x2 PCI Express Root Port #9 – 9D18,左侧对应的是x4 PCI Express Root Port #5 – 9D14。我们测试并抓取了15寸 Macbook Pro(左侧图)和13寸 Macbook Pro(右侧图)的PCIe 的列表。

这是一场名为:在不削弱笔记本其他性能及功能的前提下让Windows腾出更多的资源给外置显卡的游戏。经过了无数次的测试与error,我们发现对于15寸的雷雳3接口的Macbook Pro在PCI Express x 4 controller -1909控制的右侧雷雳3接口是最佳的外置显卡连接口。而对于使用AMD的Radeon显卡作为外置显卡时可能需要同时关闭PCI Express Controller 1901和1905来避免error 12。

13寸不带Touchbar的Macbook Pro在使用中Windows基本上可以为eGPU腾出足够的资源。如果出现error 12的问题,只需要关闭iSight摄像头就可以解决了。13寸带Touchbar的就很难同时为eGPU和另外2条雷雳3接口提供资源。那么就可以选择让外接显卡连接左侧的雷雳3接口,并关闭掉PCIe Express #9 -9D18来关闭掉右侧的雷雳3接口来解决问题。

 

以下就是在Macbook Pro上安装eGPU的步骤及原因:

第一步:安装windows 10及其他准备工作

第二步:强制开启集显

第三步:在内屏中使用集显

第四步:解决eGPU的error12问题

详细安装步骤

Windows一般启动步骤

*译者注:不想了解原因可以直接跳到详细安装步骤

第一步:安装Windows,DDU和备份

已经有很多教程告诉我们如何去安装Windows,这里不再累述。但我们不建议使用外置的U盘或者其他存储器来安装,因为使用外部存储器安装会打乱后续的egpu的安装步骤且有可能会造成一些未知的问题。如果你的Macbook的容量不足,我们建议Bootcamp留50Gb给Windows安装,你的软件或者游戏请可以直接安装到外置硬盘中。

Windows 10会自动检测并下载新显卡的驱动,然而,这样下载的驱动有时候不是最新且可能会对eGPU的安装造成麻烦。我们建议使用DDU卸载掉独显的驱动,并且DDU可以禁止windows10自动下载安装显卡驱动。

请记住Apple不会在Bootcamp中有任何的关于对eGPU的支持。接下来的所有安装过程,都有可能对你的Macbook Pro的开机造成问题。强烈建议使用Windows的系统保护,你可以设置多个系统恢复点防止将来可能会发生的问题。

第二步:安装apple_set_os.efi

当双显卡的MAC笔记本在启动进入非MacOS系统时,会优先使用其他显卡而非集显。举个例子,15寸Macbook Pro Bootcamp的时候就会直接启动Radeon的独显。当有eGPU连接着的仅有集显的13寸Macbook Pro在启动时偶尔就会出现卡住的现象。为了解决这个问题,我们使用了apple_set_os.efi让Mac笔记本“以为”正在使用MacOS系统启动。这个启动加载项可以安装在USB存储器或者是Mac内置的硬盘中(加载映像)。

Goalque’s guide on apple_set_os.efi这篇帖子里就详细介绍了如何完成这个任务。他提供了如何安装apple_set_os.efi到USB存储器的步骤。rEFInd在USB存储器中提供了一些启动选项。一旦Windows使用了集显,那么我们要确定驱动是否是最新的Intel集显驱动版本。如果集显在设备管理器中显示的是“Microsoft基础显示适配器”,那么你就需要手动的去安装Intel的集显驱动了。在15寸的TB3 Macbook Pro中,我们的目标就是使用集显再使用外置显卡来加速,如果可以的话,还可以屏蔽掉独显,接下来就是oxbb的integrated.bat大显身手的时候。

第三步:运行integrated.bat

这一步仅针对有独显的雷雳3接口的MBP,如果你是13寸的MBP,那么请直接前往第四步。oxbb的GPU-switch批处理命令的目的就是强制电脑下一次以集显或者是独显启动。所以我们就需要以管理员身份启动integrated.bat来让下一次启动以集显的方式。如此操作了并重启之后,windows就使用集显在MAC的内屏启动了。运行这个语句需要Microsoft Visual C++ 2013。

注意:最重要的事就是,你需要记得在要重启进入MAC OS时,一定要去Windows的设备管理器中开启PCIe Controller x16 – 1901(如果被禁止的话)。否则下一次启动Windows就会由于MAC OS强制开启了独显而卡死。这也是为什么我们强烈建议做一些在windows下做一些系统恢复点。就算是windows启动失败,你也可以回到上一次正常启动点。

第四步:解决error 12

最后就是最有挑战性的解决error 12问题(因为针对eGPU的资源太少)。这几乎在每台同时拥有集显和独显的MAC设备上都会发生。有很多种方式解决error 12。其实就是解决在设备管理器中出现的各种黄色小感叹号的问题。

2016年的Macbook Pro中,Nando’s DSDT Override解决的不错,但是需要windows测试模式,这样很多游戏和软件就无法运行。Clover DSDT override method方式有一些风险,但却提供了一种简单的终极解决方案,愿意承担风险的用户可以尝试一下。

2017年中的15寸Macbook Pro可以使用这里的PCIe语句来尝试解决问题。如果不行的话,请按照以下说明来…

那就是关闭一些PCIe控制器和桥接器来让windows有足够的资源给eGPU。PCIe情况会根据MAC设备的不同而不同,但方式是一样的。我们可以让PCIe以最少的工作状态来启动。

在13寸的无Touchbar的Macbook Pro上,可以关闭掉iSight摄像头的PCIe桥接器。而带Touchbar的13寸有一些轻微的区别,它多一根雷雳3控制器来控制右侧的两个额外的雷雳3接口。有一些先行者尝试了关闭右侧的雷雳3接口和Wifi的PCIe桥接器也获得了成功。

15寸的Macbook pro就更有挑战性一些了。通过关闭x16 PCIe控制器-1901来关闭独显后,我们发现Windows就有足够的资源来支持eGPU了。这个方式在GTX 980 Ti和GTX 1070的外置显卡方案中得到了证实。通过eGPU的爱好者们的经验来看,Windows对AMD显卡的支持更差一些。当我们尝试使用RX 580和RX Vega 56的时候,我们还需要关闭PCIe Express X8控制器-1905来关闭左侧的雷雳3接口,然后让eGPU连接到右侧的雷雳3接口用PCI Express x4控制器-1909才能成功。

Boot Camp 外置显卡详细步骤

 

以下为在15寸 Macbook Pro上外接显卡盒的安装从开始到结束的所有步骤。在说明未提及前,请不要将外置显卡和电脑相连。

*所有软件都可以在下载页面中找到

第一步:Windows 10 ISO与DDU

使用Bootcamp助手安装Windows 10 ISO – Mac OS

安装DDU卸载默认的显卡驱动并关闭Windows显卡驱动自动下载 -Windows

制作一个系统恢复点以便不时之需 – 起名 DDU安全模式 – Windows

第二步:rEFInd,apple_set_os.efi,Intel 集显驱动

安装rEFInd Boot Manger并加载ESP盘 —做这个之前请确认已经关闭了SIP – Mac OS

下载apple_set_os.efi并放在EFI盘中的Custom文件夹 – Mac OS

使用rEFInd 和选择 apple_set_os.efi 启动来开启集显  – 启动选项

确认在设备管理器中集显已经启动,安装Intel集显驱动 -Windows

制作一个系统恢复点以备不时之需 -起名iGPU安全模式 – Windows

第三步:0xbb’s gpu-swich and 2013 Visual C++

关闭PCIe Controller x8 – 1905(相当于关闭左边的USB-C/雷雳3接口) -Windows

使用0xbb’s gpu-swich让下次以集显启动,可能需要安装 2013 Visual C++ x86 – Windows

第四步:AMD显卡驱动或者Nvida显卡驱动

连接eGPU到右侧的TB3接口并启动进Windows – 启动选项

为eGPU安装AMD或者Nvida驱动 – Windows

关闭独立显卡的PCIe Controller x 16 -1901 – Windows

Windows一般启动步骤

我们尝试了很多组合,如:在AKiTiO Node, Gigabyte AORUS Gaming Box, Mantiz Venus, Razer Core, 和Sonnet Breakaway Box外置显卡盒中配合R9 Fury, RX 480, RX 580, GTX 980 Ti, 和 GTX 1070显卡,在2016年15寸的Macbook Pro和2017年无Touchbar的13寸Macbook Pro的电脑上,使用了以下的启动步骤,eGPU都运行的非常稳定。以下就是一个正常的启动步骤:

连接显卡到Macbook Pro的雷雳3接口,开启Macbook Pro

显示器显示rEFInd启动目录(如果apple_set_os.efi在USB设备上的话,请按住OPTION启动)

选择apple_set_os.efi boot选项 -Macbook Pro的屏幕会因为选择后闪动一下

使用方向键选择Windows 10按下ENTER进入系统

Windows启动到桌面,并开启AMD/Nvida显卡运行启动界面

有些关于热插拔,我们发现非常不稳定,并有可能系统崩溃。更有可能会造成启动不了。所以我们养成了在做尝试前先做好系统备份点的好习惯。你永远不知道Windows什么时候会无法启动进入桌面,拥有了这些备份点后你就不会因为无法启动而焦头烂额。

结束与思考

Apple是可以通过优化固件的方式来优化Bootcamp的eGPU的。我们也不知道到底有多少的工程师正在忙碌的处理这些外置显卡的支持工作。不过Bootcamp的eGPU优化好像优先级并不是很高,如果有这个处理列表的话。我们也只是开启了在Bootcamp中支持eGPU的一种思路,希望Apple能够在将来能够更多的注意到有这么多Mac用户迫切的希望更多的支持。

在Mac的eGPU环境下,我们都是尝试者。如果你有更好的方式的话,请直接联系我。

更新:

Apple在2017年中的Macbook Pro的固件中做了一些改进。Windows 10现在拥有了更多的资源,这意味着有一些2017年中的Macbook Pro可能可以不需要任何改动而不存在error 12的问题。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多