manjaro笔记本显卡驱动_618装机 —— Manjaro + Windows Workstation

618

由于笔者的笔记本(六代标压i5 + gtx965m)已经跟不上笔者剪辑4K视频和机器学习的需求了。所以在618的时候拿到了预算,有能力购入一台新电脑。

新电脑旨在追求长期性价比,并且尽量追求边际效应最小化。笔者是计算机科学的学生,因此未来可能会写CUDA,大型编译以及多系统的需求。适逢AMD的Zen2架构和英伟达图灵显卡大降价,因此618可以算是购入电脑的一个好时机。

配置

【AMDR9 3900X】AMD 锐龙9 3900X 处理器 (r9)7nm 12核24线程 3.8GHz 105W AM4接口 盒装CPU【行情 报价 价格 评测】-京东​item.jd.com
c01175a5d3acba500b660a149b0fd239.png

JD 3286.33

【华硕PRO WS X570-ACE】华硕(ASUS)PRO WS X570-ACE 主板 支持 CPU3900X/3800X/3700X (AMD X570/socket AM4)【行情 报价 价格 评测】-京东​item.jd.com
acdf01841bce3aff584b68ba2e689acb.png

JD 2890.00

镁光 MT 32G 2133 2400 2666 3200 DDR4 纯ECC 服务器内存4G8G16G​item.taobao.com
dc6a182775559b64f43130f11c4cdde8.png

TAOBAO 1100.00

Canarypwn:618装机 —— Manjaro + Windows Workstation​zhuanlan.zhihu.com
63797aec9d9ed85f5f67bdaf9a46d885.png

TAOBAO 787.50

【ThermalrightFS140】利民(Thermalright) FS140 霜灵 双塔散热器全电镀 回流焊8mm 热管 SFDB 风扇 6年质保 TF7 硅脂【行情 报价 价格 评测】-京东​item.jd.com
98324029c01964cbb897d835c2e68106.png

JD 228.00

【美商海盗船RMX850 2018款】美商海盗船 (USCORSAIR) 额定850W RM850x 全模组电脑电源(80PLUS金牌/低噪音 /十年质保/全日系电容)【行情 报价 价格 评测】-京东​item.jd.com
9aef514dc3b3ed72f7c3d31bf7052355.png

JD 818.17

【索泰RTX2060super-8GD6 霹雳版 OC HA】索泰(ZOTAC)RTX2060super霹雳版OC HA显卡/N卡/台式机/游戏/电竞/网课/绘图/设计/独立显卡/8G显存【行情 报价 价格 评测】-京东​item.jd.com
4d76915ae1ef9ded2f04d0086cfe4119.png

JD 2491.00

【先马黑洞】先马(SAMA)黑洞 黑色 中塔式机箱(支持ATX主板/配3把静音风扇/宽体游戏电脑机箱/支持长显卡/黑化背线)【行情 报价 价格 评测】-京东​item.jd.com
593fe2af3d59f2903a36d2b4778f4435.png

JD 247.00

外加一根 U.2连接线

外加问同学暂时借了块970, 以后会收一块RX580 给 Linux 用

ALL 11848

购买理由

  • 3900X 一共拥有 2 个CCD,总共十二核心,二十四线程。 每个CCD分表包含着6个核心和十二个线程 (id: 0-5, 12-17)(i: 6-11, 18-23) ,一共 64M 的三级缓存(虽然跨CCD时延迟会很大)。三级缓存对编译的提升是很大的,同时多核心更利于虚拟机运行。
  • 华硕(ASUS)PRO WS X570-ACE 主板 是一块工作站主板,特点是支援ECC UDIMM内存, 主板用料较好, 有一个华硕自家的远程管理系统( 类 IPMI ), 共有三条pcie插槽(pcie 3.0 16+ pcie 3.0 * 8)。
  • 因为<del>上科大水电网免费</del>学习需要,所以预计是24*7工作。ECC内存对于系统稳定性的提升是很大的。
  • P4500, 英特尔企业级SSD,TLC颗粒, U.2接口
  • 利民虽然各种参数上都不如猫扇(例如风压),但口碑较为不错,已经在学校内见到一个有组织的传教团队了(
  • 因为会上双卡,所以上了850W的电源
  • 目前,
    • 由于英伟达在CUDA领域较早的布局和在教育行业的疯狂送卡行为(一个电话连夜免费快递六块V100),AMD目前在机器学习和教育领域的生态已经落后n个身位了
    • 机器学习要求显存8G起步(测试结果来自 @ murez 用openai跑历史的期末论文,注,后来他又自己写了一篇)
    • 同一个核心的丐版和顶级非公的性能差距不会超过5%
    • CPU更容易成为性能瓶颈
    • 2060S是20系列当前性价比较高的一张卡
    • 堆料索,售后走京东
    • 其它需求可以白嫖学校

所以我决定采用索泰的丐版2060S

  • 机箱随便买的

装机

装机过程将会在BILIBILI见面

双系统

因为学习需求,所以准备采用 host 系统上通过虚拟机来运行若干个 guest 系统。目前主流的方案有 proxmox, unraid, Hyper-V, kvm 等。为了更加开放和性能损失更小,所以选择了用 manjaro 作为 Host , 跑 kvm ,再用 pcie passthrough 将显卡直通给 guest 系统的 Windows 。

所以我将借来的GTX 970 插在了靠近CPU的pcie槽,作为Manjaro的显示输出。将2060S插在了第二根pcie槽,作为将来直通给WIndows的显卡。未来,将显示线插在970上就可以显示Manjaro,将显示线插在2060S就可以显示Windows。非常方便。

经过简单的配置,Manjaro到了可用的程度。

这里顺便吐槽一下学校的图书与信息中心,连交大的镜像源都会劫持。因此多了一步添加host。

b26efa90cfe1c30e1d141e9cf39d9586.png

检查CPU对虚拟化的支持

可以用该命令来查看CPU是否支持虚拟化

$ LC_ALL=C lscpu | grep Virtualization
Output: Virtualization:                  AMD-V

通常情况下的CPU都支持虚拟化。注意要在BIOS中开启。对于Intel处理器来说是VT-x,对于AMD处理器来说是AMD-V。

452971af2717ac0489fb2691cedddbb4.png

检查内核

# 这里输出中需要包含 kvm kvm_intel
$ lsmod | grep kvm

# 这里输出中需要包含 virtio
$ lsmod | grep virtio

# 没有 virtio 时执行
$ sudo modprobe virtio

安装所需的软件包

$ sudo pacmna -Sy qemu libvirt ebtables dnsmasq bridge-utils openbsd-netcat
# 图形化的管理界面,如果使用带桌面环境的操作系统可选安装。我这里安装
$ sudo pacman -Sy virt-manager
  • qemu QEMU 软件,提供 qemu-img 等命令
  • libvirt 提供管理虚拟机、存储、网络的功能
  • ebtables 桥接网络管理,用于 default NAT 网络
  • dnsmasq DHCP DNS 服务,用于 default NAT 网络
  • bridge-utils 桥接网络管理,用于桥接网络
  • openbsd-netcat 用于通过 SSH 管理

启动服务

# 启动虚拟机管理后台服务开机自启
sudo systemctl enable libvirtd

# 启动虚拟机管理后台服务
sudo systemctl start libvirtd

配置显卡直通

参考: https://github.com/pavolelsig/passthrough_helper_manjaro

有视频,也有脚本,挺清晰的。

配置虚拟机

具体配置和 配置显卡直通 部分类似不过有几个点需要注意。

virtio

Virtio是一种半虚拟化技术。用VIrtio虚拟的网卡和硬盘,其性能相比Nat和SATA有很大的提升。

https://docs.fedoraproject.org/en-US/quick-docs/creating-windows-virtual-machines-using-virtio-drivers/index.html

首先将硬盘改成virtio总线以增加性能

b1b6730e69eeb7b730c01f4d946005a6.png

下载virtio驱动预备

下载地址页面:https://docs.fedoraproject.org/en-US/quick-docs/creating-windows-virtual-machines-using-virtio-drivers/index.html

如:https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso

创建一个光驱,把驱动放进去

c1818fe1d5ccdf545cdcef5822f23097.png

可以再做一个准备,把网卡也virtio化

5507b86e21940f8bd30e57763abcbe7e.png

同时也可以把 usb host 作为 pcie 设备直通给 WIndows ,这样速度和便利性都比较好。但这样 Manjaro 上面就无法访问 usb 设备了。 如果你有多余的 pcie 槽, 可以考虑买一个 pcie 转 usb 的转接卡,某宝大概几十块的样子。

ea57e5ae927a0e57db25823991ab0aa2.png

在 windows 安装时,需要加载硬盘驱动,驱动文件夹地址是 E:viostorw10amd64

当开机成功后,右键计算机 - 管理 - 设备管理器 , 然后对于未知的 pcie 设备选择安装驱动。 将驱动文件夹指向 你的光盘即可。 目前我一共装了三个驱动。 分别是硬盘,网卡还有一个virtio ballon,用于CPU的调配。

ea35eb7e6248b9ad2fa513fdf964b77a.png

显卡

英伟达显卡的设置稍有不同。

要让显卡直通,先要启用iommu,然后让pcie设备使用修改的rom。启动iommu在主板里就可以设置,关键是昨天的那个rom file那一行xml。

857310862ec89ce6c8bf9cdb4c7e3c57.png

这是一个显卡的修改bios。首先要获得显卡的原生Bios。

最简单的办法是在Windows上的GPU-Z上导出Bios

519d785d9f4a0cec45cc5900a8619828.png

如果已经装好了 Manjaro,也可以在这个网站找到显卡BIOS

https://www.techpowerup.com/vgabios/

然后就是修改ROM了。首先用 WINHEX 或者 HXD 来打开十六进制文件。全文搜索 VGA 。删除 55 AA 的全部内容。前面基本都是 nvflash 啥的信息,这些可能会导致显卡不支持 efi 。

0ac2f0405ed450d3732ba2d375860338.png

最后的文件应该是55 AA顶格的

44a9ef0197d27b9c2ddb667439a316f3.png

然后保存为 .rom 文件, 复制到 Manjaro 里面。在虚拟系统管理系统中的xml文件中加一行用于加载显卡bios

当然事情没有那么简单,NVIDIA屏蔽了消费级显卡的驱动在虚拟机上的加载 (黄氏刀法.JPG) 所以我们需要编辑 kvm 的配置文件来骗过老黄。

https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF

$ sudo EDITOR=nano virsh edit win10

win10替换为你的虚拟机的“域”名字

0add95c5e925ecfd208bc515c14d45ba.png

添加一个 12 位的 字母数字混合的 vender_id 然后开启 kvm hide

之后就可以当正常显卡使用了,安装驱动后跑 CUDA 和 3D 项目没有发现明显的问题。

CPU

之前碰到了一个问题是虚拟机可以检测到12个逻辑核心,但从任务管理器中只有两个逻辑核心被用上了。后面发现是CPU的配置问题。

这是我的设置。因为 3900X 是胶水总线的设计,跨 CCD 的延迟较高。所以我将在一个CCD上的物理核心对应的物理核心分配给虚拟机(也就是0-5 12-17的逻辑核心,3900X 瞬间变成 3600X)。当然你也可以将12核24线程全部分配给虚拟机,这样的话cinebench 可以跑到 7300分 (我做过超频,全核4.3GHZ, 在原生windows上可以跑到7700),但某些应用会出现无响应和推出的情况。所以我暂时还是选择分配一般的核心的方案。

f6c6a4e17aadf8e2a548631e911181ed.png

d55ad43d9ddafb6f883ffa100b861fb0.png

cdab1ec95d00eee311c4cd055ce44b16.png

参考与致谢

  • KVM (简体中文))
  • 在 Arch Linux (Manjaro) 中使用 KVM 虚拟机)
  • pavolelsig/passthrough_helper_manjaro
  • Luv Letter - dual-system-osx-kvm-tutorial 也是 Luv Letter 大佬给出的计算机配置
  • 感谢 Kiwi 提供的帮助

本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值