前言
之所折腾这个是为了玩原神,那可能有人会说为啥不用wine?确实,虚拟机方案不够linux,但问题是跑wine是真的不好搞(打补丁之类的),而且更不用说米哈游封号啥的。其实,搞这个主要是看到一个叫winapps的项目(虚拟机+rdp),但后来我发现其实还不如直接虚拟机体验好。
环境
- 操作系统: openSUSE Tumbleweed 20220705
- KDE Plasma 版本: 5.25.2
- KDE 程序框架版本: 5.95.0
- Qt 版本: 5.15.5
- 内核版本: 5.18.6-1-default (64-位)
- 图形平台: X11
- 处理器: 16 × AMD Ryzen 7 5800H with Radeon Graphics
- 内存: 15.0 GiB 内存
- 图形处理器: AMD RENOIR
- 制造商: ASUSTeK COMPUTER INC.
- 产品名称: ASUS TUF Gaming A15 FA506QM_FA506QM
- 系统版本: 1.0
除了核显还有NVIDIA RTX 3060 MAX-Q
环境变量
export VIRSH_DEFAULT_CONNECT_URI=qemu:///system
过程
sudo zypper in grubby -y
sudo grubby --args="iommu=pt" --update-kernel DEFAULT
lspci -Dnn | grep VGA
0000:01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA106M [GeForce RTX 3060 Mobile / Max-Q] [10de:2520] (rev a1)
0000:06:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [1002:1638] (rev c5)
sudo grubby --args="pci-stub.ids=10de:2520" --update-kernel DEFAULT
然后直接在virt-manager中添加显卡就行了。
后记
我尝试直通移动硬盘时,nvidia驱动总是报43错误挂掉,但虚拟磁盘就没问题,也不知道为啥。
参考资料
- https://cliuyang.cn/run-Windows-programs-on-Linux/
- https://github.com/Fmstrat/winapps/blob/main/docs/KVM.md#install-the-virtual-machine
- https://github.com/Fmstrat/winapps/issues/288
- https://wiki.archlinux.org/title/PCI_passthrough_via_OVMF
- https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/9/html/configuring_and_managing_virtualization/assembly_managing-gpu-devices-in-virtual-machines_configuring-and-managing-virtualization