» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

[其他] J3455安装PVE折腾记录(直通GPU至Libreelec当HTPC+黑群+OMV)20190703更新简易版

已经正常了,这个坑好深
居然是因为我们太吝啬了,把内存放大到4GB就正常直通了


[ 本帖最后由 ChinaBoyFF 于 2019-7-4 14:42 编辑 ]


TOP

引用:
原帖由 ChinaBoyFF 于 2019-7-4 13:52 发表
已经正常了,这个坑好深
居然是因为我们太吝啬了,把内存放大到4GB就正常直通了
恭喜恭喜~没想到居然是因为这个问题,我的GPU内存一直都是开到最大的



TOP

/etc/default/grub
复制内容到剪贴板
代码:
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Proxmox Virtual Environment"
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on video=vesafb:off,efifb:off"
GRUB_CMDLINE_LINUX=""

# Disable os-prober, it might add menu entries for each guest
GRUB_DISABLE_OS_PROBER=true

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
/etc/modprobe.d/blacklist.conf
复制内容到剪贴板
代码:
blacklist snd_hda_intel
blacklist snd_soc_skl
blacklist snd_hda_codec_hdmi
blacklist i915
/etc/modprobe.d/vfio.conf
复制内容到剪贴板
代码:
options vfio-pci ids=8086:5a85,8086:5a98
/etc/modules
复制内容到剪贴板
代码:
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
/etc/pve/qemu-server/[vmid].conf
复制内容到剪贴板
代码:
boot: cdn
bootdisk: sata0
cores: 1
hostpci0: 00:02.0,x-vga=1
hostpci1: 00:0e.0,rombar=0
ide2: none,media=cdrom
memory: 2048
name: LibreELEC
net0: virtio=EE:56:5C:9B:FF:AB,bridge=vmbr0,firewall=1
numa: 0
ostype: l26
sata0: local-lvm:vm-100-disk-0,size=8G
sata1: local-lvm:vm-100-disk-1,size=552M
scsihw: virtio-scsi-pci
smbios1: uuid=e3af2eb4-9abc-425d-8d1e-2c534c3b21fb
sockets: 2
vga: none
vmgenid: fb17149a-0b6b-4d40-9a73-7795dfd0a660
这个反正我就用web里添加的,用args应该也一样。
而且用你的那个addr=0x02的话错误就是
IGD device 0000:00:02.0 cannot support legacy mode due to existing devices at address 1f.0

find /sys/kernel/iommu_groups/ -type l
复制内容到剪贴板
代码:
/sys/kernel/iommu_groups/7/devices/0000:00:16.0
/sys/kernel/iommu_groups/5/devices/0000:03:00.0
/sys/kernel/iommu_groups/5/devices/0000:00:13.2
/sys/kernel/iommu_groups/5/devices/0000:02:00.0
/sys/kernel/iommu_groups/5/devices/0000:00:13.0
/sys/kernel/iommu_groups/5/devices/0000:01:00.0
/sys/kernel/iommu_groups/5/devices/0000:00:13.1
/sys/kernel/iommu_groups/3/devices/0000:00:0f.0
/sys/kernel/iommu_groups/11/devices/0000:00:1f.0
/sys/kernel/iommu_groups/11/devices/0000:00:1f.1
/sys/kernel/iommu_groups/1/devices/0000:00:02.0
/sys/kernel/iommu_groups/8/devices/0000:00:18.0
/sys/kernel/iommu_groups/6/devices/0000:00:15.0
/sys/kernel/iommu_groups/4/devices/0000:00:12.0
/sys/kernel/iommu_groups/2/devices/0000:00:0e.0
/sys/kernel/iommu_groups/10/devices/0000:00:1a.0
/sys/kernel/iommu_groups/0/devices/0000:00:00.0
/sys/kernel/iommu_groups/9/devices/0000:00:19.2
/sys/kernel/iommu_groups/9/devices/0000:00:19.0
/sys/kernel/iommu_groups/9/devices/0000:00:19.1


TOP

引用:
原帖由 egbluecats 于 2019-7-4 18:35 发表
/etc/default/grub# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple conf ...
上的兄弟把GPU ram调大后搞定了,你也试试?

还有你的虚拟机配置里有两个参数没加上

TOP

引用:
原帖由 xif7456 于 2019-7-4 18:56 发表


上的兄弟把GPU ram调大后搞定了,你也试试?

还有你的虚拟机配置里有两个参数没加上
那也不是GPU ram 啊 调成4096也没用,还是之前的错误 我指的是Failed to mmap 0000:00:02.0 BAR 2. Performance may be slow
配置两个参数 是指的是args里的?反正那addr不能用。

TOP

不知道对不对,我发现Libreelec启动时占用内存走到3G去了,还有就是SCSI控制器要选为默认的,不要用创建时自动选的VirtIO SCSI,我就改了就这两个,然后就直通正常了
附件: 您所在的用户组无法下载或查看附件

TOP

引用:
原帖由 egbluecats 于 2019-7-4 19:00 发表

那也不是GPU ram 啊 调成4096也没用,还是之前的错误 我指的是Failed to mmap 0000:00:02.0 BAR 2. Performance may be slow
配置两个参数 是指的是args里的?反正那addr不能用。
把虚拟机内存分配到4G试试
IGD直通到虚拟机里的总线地址一定要在0x02,所以addr=0x02是必须的
x-igd-gms=1 这个参数如果不加会造成低于5G内存的虚拟机起不来

参考:https://patchwork.kernel.org/patch/9859317/

[ 本帖最后由 xif7456 于 2019-7-4 21:26 编辑 ]

TOP

引用:
原帖由 ChinaBoyFF 于 2019-7-4 20:09 发表
不知道对不对,我发现Libreelec启动时占用内存走到3G去了,还有就是SCSI控制器要选为默认的,不要用创建时自动选的VirtIO SCSI,我就改了就这两个,然后就直通正常了1075601
网卡可以换成virtio,e1000效率很差
还有cpu分配2个核心就够了

这是播放星际穿越4K原盘时的CPU占用


[ 本帖最后由 xif7456 于 2019-7-4 21:33 编辑 ]
附件: 您所在的用户组无法下载或查看附件

TOP

引用:
原帖由 xif7456 于 2019-7-4 21:23 发表


把虚拟机内存分配到4G试试
IGD直通到虚拟机里的总线地址一定要在0x02,所以addr=0x02是必须的
x-igd-gms=1 这个参数如果不加会造成低于5G内存的虚拟机起不来

参考:https://patchwork.kernel.org/patch/985 ...
kvm: -device vfio-pci,host=00:02.0,addr=0x02,x-igd-gms=1,romfile=image.rom: Failed to mmap 0000:00:02.0 BAR 2. Performance may be slow
kvm: -device vfio-pci,host=00:02.0,addr=0x02,x-igd-gms=1,romfile=image.rom: IGD device 0000:00:02.0 cannot support legacy mode due to existing devices at address 1f.0
TASK OK
复制内容到剪贴板
代码:
boot: cdn
bootdisk: sata0
cores: 1
ide2: none,media=cdrom
memory: 4096
name: LibreELEC
net0: virtio=CA:E5:0A:70:2B:53,bridge=vmbr0,firewall=1
numa: 0
ostype: l26
sata0: local-lvm:vm-100-disk-0,size=8G
sata1: local-lvm:vm-100-disk-1,size=552M
smbios1: uuid=0075396c-a662-4a5a-9543-584229c7f5b6
sockets: 2
vga: none
vmgenid: 405006a1-d738-4605-a9a6-6eb55e5997ea
args: -device vfio-pci,host=00:02.0,addr=0x02,x-igd-gms=1,romfile=image.rom
hostpci0: 00:0e,rombar=0
vga: none

TOP

引用:
原帖由 egbluecats 于 2019-7-4 21:46 发表


kvm: -device vfio-pci,host=00:02.0,addr=0x02,x-igd-gms=1,romfile=image.rom: Failed to mmap 0000:00:02.0 BAR 2. Performance may be slow
kvm: -device vfio-pci,host=00:02.0,addr=0x02,x-igd-gms=1,rom ...
以下是qemu的源码,这个报错就是机器类型的问题。。。。
+    /*
+     * We need to create an LPC/ISA bridge at PCI bus address 00:1f.0 that we
+     * can stuff host values into, so if there's already one there and it's not
+     * one we can hack on, legacy mode is no-go.  Sorry Q35.
+     */
+    lpc_bridge = pci_find_device(pci_device_root_bus(&vdev->pdev),
+                                 0, PCI_DEVFN(0x1f, 0));
+    if (lpc_bridge && !object_dynamic_cast(OBJECT(lpc_bridge),
+                                           "vfio-pci-igd-lpc-bridge")) {
+        error_report("IGD device %s cannot support legacy mode due to existing "
+                     "devices at address 1f.0
", vdev->vbasedev.name);
+        return;
+    }

TOP

引用:
原帖由 xif7456 于 2019-7-4 22:03 发表


以下是qemu的源码,这个报错就是机器类型的问题。。。。
+    /*
+     * We need to create an LPC/ISA bridge at PCI bus address 00:1f.0 that we
+     * can stuff host values into, so if there's alre ...
可是默认就是
默认 (i440fx)

我自己手动填上machine:i440fx又启不来

只有填对了addr
才不会有IGD device 0000:00:02.0 cannot support legacy mode due to existing devices at address 1f.0
这个错误

填对是只先在web添加pci 然后启动错误里有那个addr 在vm100 vm101 addr 分别是0x10和0x11

[ 本帖最后由 egbluecats 于 2019-7-4 22:20 编辑 ]

TOP

死机后强制关了再开就这样了
复制内容到剪贴板
代码:
Filesystem            Size  Used Avail Use% Mounted on
udev                  3.8G     0  3.8G   0% /dev
tmpfs                 789M  8.9M  780M   2% /run
/dev/mapper/pve-root   28G   28G     0 100% /
tmpfs                 3.9G   37M  3.9G   1% /dev/shm
tmpfs                 5.0M     0  5.0M   0% /run/lock
tmpfs                 3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sda2             511M  304K  511M   1% /boot/efi
/dev/fuse              30M   16K   30M   1% /etc/pve
两次了,真的想放弃,这几天这破NUC上反反复复装了十几次PVE了

TOP

引用:
原帖由 egbluecats 于 2019-7-4 23:30 发表
死机后强制关了再开就这样了Filesystem            Size  Used Avail Use% Mounted on
udev                  3.8G     0  3.8G   0% /dev
tmpfs                 789M  8.9M  780M   2% /run
/dev/mapper/pve-ro ...
你现在的虚拟机是没直通gpu之前用控制台装好的吗?如果是的话,尝试用img引导开机,重装试下。我之前控制台装好的也开机花屏

TOP

引用:
原帖由 xif7456 于 2019-7-4 14:44 发表


恭喜恭喜~没想到居然是因为这个问题,我的GPU内存一直都是开到最大的
现在直通gpu成功了,但是没有声音输出,看kodi的 设置》系统》音频》输出设备 ,有多个可以选,尝试将所有的设备都尝试了,都没有声音输出。设备都带有intel字样, 只有一次不知道怎么多出几个有HDMI字样的设备,选了了其中一个的intel设备后,有声音输出,但后来调其他设置重启后再也看不到带HDMI字样的设备了,选哪个设备都没有声音输出。不知道怎么弄了

TOP

LZ能否说明下J3455直通的时候各种设备被分到一个IOMMU组怎么解决?如何打补丁?

TOP

发新话题
     
官方公众号及微博