Change modules to no longer be hardcoded for the graphic card.

Let the users control that instead with their bootloader
This commit is contained in:
HikariKnight 2022-03-09 15:03:40 +01:00
parent 37b00d3b69
commit ee3e886a3a
No known key found for this signature in database
GPG key ID: E8B239063B022F5A

View file

@ -9,9 +9,9 @@ function set_MODULES () {
# Generated by vfio-setup # Generated by vfio-setup
vfio vfio
vfio_iommu_type1 vfio_iommu_type1
vfio_pci ids=%s vfio_pci
vfio_virqfd vfio_virqfd
" "$1" >> "$SCRIPTDIR/$MODULES" " >> "$SCRIPTDIR/$MODULES"
# Write "/etc/initramfs-tools/modules" # Write "/etc/initramfs-tools/modules"
printf " printf "
@ -25,28 +25,35 @@ vfio_virqfd
# Assign the GPU device ids to a variable # Assign the GPU device ids to a variable
GPU_DEVID="$1" GPU_DEVID="$1"
# Update the kernel_args file # Get the kernel_args file content
CMDLINE=$(cat "$SCRIPTDIR/config/kernel_args") CMDLINE=$(cat "$SCRIPTDIR/config/kernel_args")
echo "${CMDLINE} vfio_pci.ids=$GPU_DEVID" > "$SCRIPTDIR/config/kernel_args"
# Ask if we shall disable video output on this card # Ask if we shall disable video output on this card
read -p "Do you want to force disable video output in linux on this card? [Y/n]: " DISABLE_VGA read -p "Do you want to force disable video output in linux on this card? [Y/n]: " DISABLE_VGA
case "${DISABLE_VGA}" in case "${DISABLE_VGA}" in
[Yy]*) [Yy]*)
GPU_DEVID="${GPU_DEVID} disable_vga=1" GPU_DEVID="${GPU_DEVID} disable_vga=1"
# Update kernel_args file
echo "${CMDLINE} vfio_pci.ids=${GPU_DEVID} vfio_pci.disable_vga=1" > "$SCRIPTDIR/config/kernel_args"
;; ;;
[Nn]*) [Nn]*)
echo "" echo ""
;; ;;
*) *)
GPU_DEVID="${GPU_DEVID} disable_vga=1" GPU_DEVID="${GPU_DEVID} disable_vga=1"
# Update kernel_args file
echo "${CMDLINE} vfio_pci.ids=${GPU_DEVID} vfio_pci.disable_vga=1" > "$SCRIPTDIR/config/kernel_args"
;; ;;
esac esac
# Write the vfio modprobe config # Write the vfio modprobe config
printf "# This is an autogenerated file that stubs your graphic card for use with vfio printf "# This is an autogenerated file that stubs your graphic card for use with vfio
# This file should be placed inside /etc/modprobe.d/ ## This file should be placed inside /etc/modprobe.d/
options vfio_pci ids=%s # Uncomment the line below to \"hardcode\" your graphic card to be bound to the vfio-pci driver.
# In most cases this should not be neccessary, it will also prevent you from turning off vfio in the bootloader.
#options vfio_pci ids=%s
# Make sure vfio_pci is loaded before these modules: nvidia, nouveau, amdgpu and radeon # Make sure vfio_pci is loaded before these modules: nvidia, nouveau, amdgpu and radeon
softdep nvidia pre: vfio vfio_pci softdep nvidia pre: vfio vfio_pci