仮想マシンでGPUパススルーが機能するようにします。私はこのビデオをフォローしています。https://www.youtube.com/watch?v=6FI31QDtyy4。私がビデオでしたものと彼がビデオでしたものの違いは、mkinitcpio設定のモジュールです。画像が少し古いので、代わりに "MODULES = (vfio_pci vfio vfio_iommu_type1 vfio_virqfd)"を使用しました。
だから私がしたことは
- grub パラメータに intel_iommu=on を追加
- 私のシステムがIOMMUをサポートしていることを確認するために 'dmesg | grep -e DMAR -e IOMMU'を実行しました。
- vfio.conf に「オプション vfio-pci ids=10de:10f0,10de:1b81」を追加します。
- 上記のようにmkinitcpio.confを修正します。
- "mkinitcpio -p linux"を実行してください。
- qemu.confの修正(関連がない可能性があります)
- 「systemctlを有効にする --now libvirtd」と「systemctlを有効にするvirtlogd.socket」を実行します。
- 再起動してWindows 10に戻りました(デュアルブートではありません。USBスティックでArchを実行しています(ライブUSBではありません))(仮想マシンを追加しようとしましたが、ntfs-3gを実行していないため失敗しました)。
- Windows 10で戻り、fstabに「UUID = 061A04D11A04C023 /media/Data/ntfs-3g defaults 0 0」を追加しました。
- /etc/default/grub の 'GRUB_CMDLINE_LINUX_DEFAULT="quiet"' を 'GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"' に変更します。
- 再起動して「バージョン240をロード中」で停止する(パラメータからintel_iommu = onを削除すると正常に起動します)
iommuが初めて動作するときにGPUを出力として使用します。最後の起動時にGPUが動作しなかった後(信号なし)、iGPUを試してみました。また、PCIパススルーのArchの公式wikiを確認しましたが、手順は非常に似ています。
/etc/mkinitcpio.conf:
# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
# run. Advanced users may wish to specify all system modules
# in this array. For instance:
# MODULES=(piix ide_disk reiserfs)
MODULES=(vfio_pci vfio vfio_iommu_type1 vfio_virqfd)
# BINARIES
# This setting includes any additional binaries a given user may
# wish into the CPIO image. This is run last, so it may be used to
# override the actual binaries included by a given hook
# BINARIES are dependency parsed, so you may safely ignore libraries
BINARIES=()
# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in any way. This is useful for config files.
FILES=()
# HOOKS
# This is the most important setting in this file. The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
# Examples:
## This setup specifies all modules in the MODULES setting above.
## No raid, lvm2, or encrypted root is needed.
# HOOKS=(base)
#
## This setup will autodetect all modules for your system and should
## work as a sane default
# HOOKS=(base udev autodetect block filesystems)
#
## This setup will generate a 'full' image which supports most systems.
## No autodetection is done.
# HOOKS=(base udev block filesystems)
#
## This setup assembles a pata mdadm array with an encrypted root FS.
## Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
# HOOKS=(base udev block mdadm encrypt filesystems)
#
## This setup loads an lvm2 volume group on a usb device.
# HOOKS=(base udev block lvm2 filesystems)
#
## NOTE: If you have /usr on a separate partition, you MUST include the
# usr, fsck and shutdown hooks.
HOOKS=(base udev autodetect modconf block filesystems keyboard fsck)
# COMPRESSION
# Use this to compress the initramfs image. By default, gzip compression
# is used. Use 'cat' to create an uncompressed image.
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
#COMPRESSION="xz"
#COMPRESSION="lzop"
#COMPRESSION="lz4"
# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=()
/etc/modprobe.d/vfio.conf:
options vfio-pci ids=10de:10f0,10de:1b81
カーネルバージョン: 4.20.10-arch1-1-ARCH
ハードウェア情報(lshw):
cube-arch
description: Desktop Computer
product: B360M-HD3 (Default string)
vendor: Gigabyte Technology Co., Ltd.
version: Default string
serial: Default string
width: 4294967295 bits
capabilities: smbios-3.1 dmi-3.1 smp vsyscall32
configuration: boot=normal chassis=desktop family=Default string sku=Default string uuid=E002D503-5E04-7905-ED06-310700080009
*-core
description: Motherboard
product: B360M HD3
vendor: Gigabyte Technology Co., Ltd.
physical id: 0
version: x.x
serial: Default string
slot: Default string
*-firmware
description: BIOS
vendor: American Megatrends Inc.
physical id: 0
version: F4
date: 04/19/2018
size: 64KiB
capacity: 15MiB
capabilities: pci upgrade shadowing cdboot bootselect socketedrom edd int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int14serial int17printer acpi usb biosbootspecification uefi
*-memory
description: System Memory
physical id: 3a
slot: System board or motherboard
size: 16GiB
*-bank:0
description: DIMM DDR4 Synchronous 2133 MHz (0.5 ns)
product: F4-3000C16-8GISB
vendor: Fujitsu
physical id: 0
serial: 00000000
slot: ChannelA-DIMM0
size: 8GiB
width: 64 bits
clock: 2133MHz (0.5ns)
*-bank:1
description: [empty]
physical id: 1
slot: ChannelA-DIMM1
*-bank:2
description: DIMM DDR4 Synchronous 2133 MHz (0.5 ns)
product: F4-3000C16-8GISB
vendor: Fujitsu
physical id: 2
serial: 00000000
slot: ChannelB-DIMM0```
答え1
解決済み
愚かですね。モニターをGPUに接続し、iGPUに接続したところ正常に動作しました。 BIOSでデフォルト出力に設定されていることを確認してください。