Linux 板


LINE

比较新的教学文...就不另外发了> , ^ http://lifed.gitlab.io/blogger/2016/08/26/PCI-passthrough-2/ --- linux很麻烦但我喜欢,喜欢它带给我的问题与解决的成就感,它也来许多新颖的观点, 好让我们学习、吸收与成长,即使这只是linux世界中的一个点。 本篇基於arch的antergos,其他的发行商就抱歉啦!:Q 题外话...线上安装antergos的时候,有些设定档不正确,导致pci passthrough的一些 问题,要跟的话请用arch或manjaro。 --- Wine-staging 说到wine大家都知道,说到玩游戏专用的wine非wine-staging莫属。 详情请见官方网...(这不是本篇的重点) --- BIOS设定 https://db.tt/NN94KqlB https://db.tt/3i01FdeF https://db.tt/nFMruNv1 这里一个大重点请用HOST的显卡开机 举例来说 我有HD4600(Host, linux)与R9-390(Guest, win) 开机必须使用HD4600(linux)开机绝对不是用R9-390那张显卡去开机,这点错後面全都不用做了。 大概是这几点没讲好又用影片混淆了视听 在此先测试的人说声抱歉了<(_ _)> --- qemu/kvm(pci passthrough) 先看影片(没兴趣就可以左转了) :< https://www.youtube.com/watch?v=37D2bRsthfI
简单来讲linux开一台win虚拟机,而win有近乎原生的效能(意味着你可以玩任何游戏)。 实际上我也正在使用,这个方法有许多意想不到的优点存在,最後在慢慢举例吧! 1. 电脑配备必须要有两张(或以上)GPU(intel+amd, intel+nv, nv+nv, etc...) 2. 虚拟技术支援且BIOS记得打开... 备注:需要一颗很强大的内心 配备 CPU: i7-4790, RAM: 24g, GPU: intel hd4600 + r9-390, monitor: vh242, mg279q 内显--hdmi-->vh242 外显--dp to mini dp -->mg279q 安装必要软体 # yaourt -S qemu linux-vfio rpmextract synergy bridge-utils 注意这里使用原生的kernel(3.12以上)也可以,但须自行测试。 --- 设定 --- # vim /etc/default/grub #pcie_acs_override=downstream必须使用linux-vfio才有效果 ... GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on intel_iommu=pt pcie_acs_override=downstream hugepagesz=2M transparent_hugepage=never " … # grub-mkconfig -o /boot/grub/grub.cfg # vim /etc/mkinitcpio.conf ... MODULES="vfio_pci vfio vfio_iommu_type1 vfio_virqfd" ... # mkinitcpio -p linux-vfio # vim /etc/modprobe.d/kvm-iommu.conf #[重要]这部份nv passthrough的额外参数要在找一下,有关於效能、体验的问题。 options kvm allow_unsafe_assigned_interrupts=1 options vfio_iommu_type1 allow_unsafe_interrupts=1 options i915 enable_hd_vgaarb=1 # lspci -nn 红色为撷取重点 ... 01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Hawaii PRO [Radeon R9 290] [1002:67b1] (rev 80) 01:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Device [1002:aac8] … # /etc/modprobe.d/vfio.conf #如果不要显卡音效可以不必加入 options vfio-pci ids=1002:67b1,1002:aac8 options vfio-pci disable_vga=1 # vim /etc/fstab ... hugetlbfs /dev/hugepages hugetlbfs mode=1770,gid=78 0 0 ... # vim /etc/sysctl.d/40-hugepage.conf #设定公式"qemu设定的记忆体/2在多一点点" #如这里是12G那就是1024*12/2+100 vm.nr_hugepages = 6244 # brctl addbr br0 # 修正有连线能力装置的名称 # brctl addif br0 eno1 # ip link set up dev br0 # dhcpcd br0 # 选填 是否给eno1装置IP(供synergy使用) # ifconfig eno1 123.123.123.123 --- 实战 --- 下载UEFI的BIOS edk2.git-ovmf-x64 https://www.kraxel.org/repos/jenkins/edk2/ # rpmextract.sh edk2.git-ovmf-x64-*.rpm # cp -R ./usr/share/* /usr/share qemu测试开启看pci passthrough是否正常启动 # qemu-system-x86_64 \ -enable-kvm \ -m 2048 \ -cpu host,kvm=off \ -vga none \ -device vfio-pci,host=01:00.0 \ -drive if=pflash,format=raw,readonly,file=/usr/share/edk2.git/ovmf-x64/OVMF_CODE-pure-efi.fd 如果您到这边都没问题 1. pci passthrough没问题 2. ovmf没问题 来真的 下载 安装win系列所缺少的驱动 https://fedorapeople.org/groups/virt/virtio-win/repo/latest/ https://db.tt/ZKMgFjFw 请依照Script的内容修改符合的位置,启动後应当就像重灌win系列一样,只是要多一个事先给virto的驱动。 # sh ./vm.sh 安装完win系列开始设置synergy,linux为伺服端(server)而win为连线端(client)。 红色部份为ip 记得server IP填写在client那边 橘色部份client的名称要完全与server的设定页面相同 萤幕的位置就照你想要的位置放 advanced server settings有一个use relative mouse moves(滑鼠相对移动?要开启) 按下Scroll lokc来锁定当下萤幕 https://db.tt/de8NPVd8 [喔呜!?我记得synergy nightly可以好好试用试用...] 以上大功告成... --- 其他部份 --- 像是可以启用samba来达到win与linux之间的资料传递 https://db.tt/uKQLQSpw 然而samba又存在一些程式开启上的问题,这时可以使用mklink mklink /D "C:\Users\USERNAME\Desktop\SOMEWHERE" "\\1.1.1.111\galgame" 有些程式依然无解...万恶的battle.net 游戏在全萤幕的状态下,滑鼠仍然可以在linux与win之间来去自如,像是开实况要开个网页监控之类的就可以方便管理。 像是freesync需要在全萤幕下执行,这个方法就很方便了!左边狂打game右边逛网页之类的无压力! 监於板上好像没有相似的文章来个抛砖引玉 希望之後会跑出virtmanager之类的host-passthrough… 这样的虚拟机已经使用半年了且完全没什麽问题,这也不一定仅可以玩游戏,有问题的大多都是程式先天不相容(win10之类的)。 the division, hots, ark, gta5等等都跟原生win的电脑一样爽爽跑,实在是没有理由不去使用。 参考资料 https://bbs.archlinux.org/viewtopic.php?id=162768 (Arch的讨论串) 里面包含「虚拟机成功与失败资料库」,还有一堆问题与解决的方法。 http://vfio.blogspot.tw/ (aw大的blog) 里面从硬体挑选到实机模拟讲钜细靡遗,但是里面讲的都很「英文」(没有复制贴上的余地)。 -- --
QR Code



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.133.203.240
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Linux/M.1460990620.A.B5D.html ※ 编辑: Shelllife (220.133.203.240), 04/18/2016 22:49:03
1F:推 a07051226: 怎麽感觉像黑科技 04/19 00:28
2F:→ a07051226: 想玩,有没有副作用? 04/19 00:28
3F:→ a07051226: 我怕被系统搞爆掉或者不好还原 04/19 00:28
4F:→ qoopichu: 滑鼠用起来怎麽样?以前用vmware时滑鼠用起来很拖 04/19 00:48
滑鼠很顺就跟在windows一样,synergy切换萤幕可以即时或是设定毫秒。
5F:→ CP64: 刚好最近有重灌过 明天来玩玩看 04/19 02:19
6F:推 Vdragon: 的确可以这样用呢 04/19 02:45
7F:推 druid0214: 玩steam就好了 04/19 07:47
8F:→ George017: 你内显是不是标错了(应为HD4600) 04/19 09:30
感谢提醒:)
9F:→ HamalAri: VGA passthrough 比 pci passthrough 还麻烦 04/19 09:49
10F:→ HamalAri: 要晶片组有支援才行,低阶主机板和 cpu 大部份都不行 04/19 09:50
11F:→ HamalAri: intel+nv 比较有机会 , amd 支援的较少 04/19 09:51
https://bbs.archlinux.org/viewtopic.php?id=162768 https://docs.google.com/spreadsheets/d/1LnGpTrXalwGVNy0PWJDURhyxa3sgqkGXmvNCIvIMenk/edit#gid=0 这边有资料库可以比对资讯,如果有相符的有成功大概就没问题,不用担心支援度的问题。 这方法2013(kernel的某一版後)就开始讨论了,大多都成功的案例,passthrough就仅是多 一条参数并不会麻烦到哪里去,可惜的是中文有讨论的地方太少了。
12F:→ qoopichu: 关键字 "galgame" lol 04/19 12:23
13F:推 Adama: 满厉害的。steam上的游戏应该有限制吧 (opengl) 04/19 12:50
14F:→ Adama: 6年前i5-750和H5x晶片组就有VT-d了,硬体该该不会那麽挑吧 04/19 12:52
15F:→ CP64: 虽然我当初玩 gal 基本上 wine 就绰绰有余就是 XD 04/19 13:23
16F:→ CP64: 但是有时候还是要用到别人做的语系 patch 04/19 13:23
LC_ALL=ja_JP.UTF-8? (误)
17F:推 ChakraLinux: 现在有些gal也走DX惹,动不动Wine就跑不起来 04/19 14:08
dx是还好,是影片播放动不动导致wine崩坏的还满多的,不然wine其实挺方便的!?
18F:→ qoopichu: liar的开起来有bug,用EAGLS的则是连开都不能开 04/19 14:10
19F:→ qoopichu: 其他大概就碰到影片才比较有问题需要调校 04/19 14:10
20F:推 winken2004: cool 04/19 15:06
※ 编辑: Shelllife (220.133.203.240), 04/19/2016 17:23:52
21F:推 danny8376: synergy超好用XD 至於pci passthrough的话 VT-d支援 04/19 19:18
22F:→ danny8376: 现在应该不大难找到吧 04/19 19:18
23F:推 POSIX: 推推! 04/19 20:56
24F:→ qoopichu: 我记得之前板上好像是用xen的,不过我那时候搞不成功 04/19 21:22
25F:推 undersky: 大推~ 这篇必须要收藏!! 04/20 13:54
26F:推 Neisseria: 感谢分享,纯推不玩 04/20 14:15
27F:→ CP64: 今天试下来遇到了一点问题 options vfio_pci ids=... 04/20 15:20
28F:→ CP64: 这段如果设定下去会导致开机的时候卡在载入 nvidia 模组 04/20 15:21
29F:→ HamalAri: 会觉得不麻烦的一定是没遇过 kernel panic 或开不起来的 04/20 17:38
30F:→ HamalAri: 问题,核心也是常常这版 ok 下一版出问题,不过新机器加 04/20 17:39
31F:→ HamalAri: kvm 的确是比较稳。 xen 或旧 cpu 要自求多福 04/20 17:39
arch的常客用aur的套件更新前看一下留言讯息基本上应该不会有什麽问题 我是没遇到过啦,如果真的遇到了arch上面也会有更多慌张的人 顶多就livecd&arch-chroot修正(最常修的反而是grub..爱乱玩的话)
32F:→ qoopichu: 话说passthrough的可以是内显吗? 04/20 17:48
33F:→ qoopichu: 个人因为intel内显没办法用dualscreen的关系要用独显 04/20 17:48
其实我不太懂这说法的意思...我看资料库里面也没有人特别去pass内显 只要单一萤幕有两种接法就可以了 内显vga接A萤幕的vga 外显DVI接A萤幕的DVI这样就可以了 玩的时候要切萤幕模式
34F:→ danny8376: CP64 要玩这些请避开nvidia驱动 问题超多XDrz 04/20 18:22
35F:→ danny8376: 没炸过? Arch应该炸过得够多了吧XDrz 04/20 18:25
36F:→ CP64: 刚刚去查了些东西 果然是被雷到了 (趴 04/20 18:27
玩这个东西我只有一个观点 显卡有成功过 主机板有成功过理论上就可行。 可能本文是初始设定讲的太粗糙,导致许多未预期的事情发生等等赶工:P ※ 编辑: Shelllife (220.133.203.240), 04/20/2016 19:19:41
37F:→ qoopichu: 我对passthrough的理解是把硬体直接交给VM去控制 04/20 19:26
38F:→ qoopichu: 所以host要用的硬体不能pass过去对吧? 04/20 19:27
对:) ※ 编辑: Shelllife (220.133.203.240), 04/20/2016 19:57:22
39F:→ qoopichu: 那我的问题就很简单啦,就只是问能不能把内显pass过去 04/20 20:09
40F:→ qoopichu: 有内显独显,和接的萤幕数量无关 04/20 20:10
41F:→ qoopichu: 是说Ubuntu好像没有vfio可以装 04/20 20:14
猜测是不行! 你可以试试显卡开机&lspci | VGA把内显给bind passthrough那边改成内显的看看,如果可以也是第一人阿 vfio类似的patch可能就要找一下了 ※ 编辑: Shelllife (220.133.203.240), 04/20/2016 21:12:59
42F:→ Bellkna: ubuntu 印象中看过一篇也是这种做法的 可是连结不见了XD 04/20 21:41
43F:→ Bellkna: 可不可以也写一篇wine的(小声 04/20 21:42
44F:推 Bencrie: wine 不是已经很方便了吗? 04/20 21:43
45F:→ Bellkna: 可能脱节太久 对wine的印象还停在1.0的时代 04/20 21:47
46F:推 Bencrie: 使用方式好像没变化太多 XD 04/20 23:30
47F:→ Bencrie: 用 wine-staging 主要是有 CSMT,对某些游戏可以用 CPU 04/20 23:31
48F:→ Bencrie: 去换 framerate,大幅提昇速度。 04/20 23:31
49F:推 Bellkna: 自己常用的软体几乎都有linux版 除了office和游戏外 04/21 02:32
50F:→ Bellkna: 再加上少玩游戏 结果使用wine这块反而都没有接触到XD 04/21 02:33
wine几乎都是那个模样,我是1.6那边加入的,後来跑出staging让人趋之若鹜,效能有爆炸性的增长根本天国。 当然缺点也是一箩筐,每天要追这次的staging commit的什麽哇哥,这次的哪个patch导 致破图都要自己去找,更不用说有一阵子rebase的黑暗期,找不出来问题点的所在。 像如果要用wine玩台湾的游戏几乎是不可能...不是游戏的问题而是「平台的问题」 各种软体安装可能装了A,结果B因为某个conflict跑不起来,才会有许多wine分支的软体 取而代之的方法就是虚拟一台与win系列效能近乎的虚拟机出来。 wine前期方便..後续要处理的问题跟山一样高,随着使用软体的多样性处理的时间也是... 虚拟机前期麻烦..後续没什麽要处理的问题,有什麽问题丢给win自己解决就对啦XD ※ 编辑: Shelllife (220.133.203.240), 04/21/2016 09:40:25
51F:→ qoopichu: 亚系的游戏有很多问题都是卡在anticheat的垃圾上面... 04/21 10:21
52F:→ qoopichu: 欧美的比较不容易出问题 04/21 10:22
53F:→ CP64: 结果昨天晚上想说顺便更新 bios 爆炸了 (囧 04/21 10:27
为CP64默哀十秒...1...2...阿~太麻烦了...(茶)
54F:推 Bellkna: 感谢回答XD 这样看样子要玩还是双系统切回去win比较方便 04/21 19:25
55F:→ HamalAri: 更新开不了机的意思不是不能修,而是你拿掉参数後虽然可 04/21 23:28
56F:→ HamalAri: 以进 linux ,但你的 windows 就不能 passthrough 了 04/21 23:28
57F:→ HamalAri: 所以你唯一解就是 downgrade kernel ,这种情况难道不麻 04/21 23:28
58F:→ HamalAri: 烦? 改 bootloader 是几秒钟就修好启动问题,但你的 VM 04/21 23:29
59F:→ HamalAri: 也就掰了。 根本不是什麽修不修的好的问题 04/21 23:29
60F:→ HamalAri: 跳针到要用 live-cd 再 chroot 根本多此一举 04/21 23:31
61F:→ HamalAri: 改个 grub/syslinux 参数哪需要 live cd 04/21 23:31
这位大大 面对linux问题也有很多不同的解法,面对linux日新月异的更新,谁都没办法清楚明了现在linux强大到哪种地步。 小弟仅是标记一下livecd->arch-chroot这种方法可以解、改bootloader参数也是一种可以参考的路线,如果kernel本身出问题可能不是改参数可以解决,或许会有某论坛的大大表示禁掉某些参数可以暂时过度解决。 毕竟livecd有个好处可以边google边修理并不是所有大大都精通grub/syslinux/linux等等。 有时候状况都是刚开始没讲好导致一堆问题出现,像是我一开始没讲要内显开机,这是一个重点而我习以为常,让一堆人卡死在门口即使我以前也死在这里过。 像用显卡开机然後把自己的显卡给bind,结果kernel觉的纳闷出现问题,而这参数我也没放在bootloader里面。 有些东西是可以放到bootloader以利於测试而我没有做,只因为不想让grub_default看起来那麽肥。 还有这篇教学已经少掉很多验证的步骤,我也测试过好几次重新安装系统再来一次,一般概念弄懂的话、这篇像复制贴上一样简单,就跟安装arch一样(抖)。 还有pci passthrough是从kernel 3.12就开始有的概念?(方法) ※ 编辑: Shelllife (220.133.203.240), 04/22/2016 09:18:47
62F:推 sppmg: 前几周也想玩VGA passthrough,无奈主板不支援... 04/22 09:15
63F:→ sppmg: 原po要不要跑分看看kvm:host的效率比? 04/22 09:17
换硬体入坑啦!!! 跑分我是没什麽兴趣,CPU-Z浅浅跑一下是85%(4790)vs100%(4790k)。 CPU的部份又牵扯到很多,最主要还是游戏的体感最为重要。 https://www.redhat.com/archives/vfio-users/2016-January/msg00124.html 像是这篇所讲的用到libvirtd(这个技术我还弄不起来...一直失败的状态中T_T) emulatorpin & vcpupin & linux之间的核心分配,配置的好游戏反而不会顿。 像我这样的配置对於某些优化比较不佳的游戏可能会有许多的影响,所以最後才说看有没有大大可以用virt-manager教学一下。 我玩游戏基本上都是host什麽设定kvm就什麽样的设定,不太能容忍host能开kvm不行...。 ※ 编辑: Shelllife (220.133.203.240), 04/22/2016 09:38:09
64F:推 sppmg: 我只是很好奇passthrough到底可以多接近实机啦!google到的 04/22 12:59
65F:→ sppmg: 都是说很接近,但没看到数值描述。 很久已前我用过 04/22 13:03
66F:→ sppmg: CrystalMark 2004 ,可以在一个软体中测含GPU内的各项数值 04/22 13:03
67F:→ sppmg: cpu-z那个是拿你的去和资料库比对吗? 4790k 100% ?? 04/22 13:07
68F:→ sppmg: 完全没损耗,这麽强喔! 04/22 13:08
我的是4790..不是4790k 效能损耗约10%上下。这边只使用六核心 http://imgur.com/WIT8qFp ※ 编辑: Shelllife (220.133.203.240), 04/22/2016 19:11:16
69F:推 Bellkna: 结果试了 wine-staging 和 wine 跑ro卡都在更新程式 04/26 14:10
70F:推 jaid: 用virt-manager搞定了 不过直接pass through音效卡 05/01 21:49
71F:→ jaid: 不知道为什麽爆音有点严重 05/01 21:50
72F:推 onlyeric23: 太神辣 05/12 19:56
73F:→ wytec9: Wine+Codeja 05/17 01:36
※ 编辑: Shelllife (220.133.203.240), 07/19/2018 06:09:56







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Boy-Girl站内搜寻

TOP