Jump to content

SOLVED: UnRAID Doesn’t Show Command Prompt on Boot - GPU VFIO Binding


Recommended Posts

I installed an extra Nvidia GPU at one point to do VM gaming. I recall going through some steps, possibly editing some files, to prevent the 2nd GPU from being used during boot, which is now removed, and perhaps to allow the primary to detach and be used for gaming also, etc.  When unRAID boots it shows all the command line details and then gets to a point where it says vfio-pci 000:08:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem and stops showing anything else but does still boot all the way as I can access it from URL.
 

I cannot use the keyboard to enter any command/console prompts at this point and when the server occasionally becomes unresponsive to URL access I have to hard reset. Any ideas what settings would cause this to happen and what files I need to modify so the GPU doesn’t do this and gets all the way to command prompt?

Edited by bugsysiegals
Link to comment
40 minutes ago, ghost82 said:

It could be:

1. primary gpu is not attached to a monitor: unraid uses the primary gpu

2. you disabled via script or with boot args efifb (uefi) or vesafb (legacy bios) <-- usually this is done to passthrough the gpu to a vm, so that the host doesn't reserve the memory to efifb/vesafb

 

Thanks for the reply.  I've only 1 GPU in the server which is attached to a monitor and I can watch it boot  UnRAID GUI mode with all the command lines it's just that the code freezes at the vfio-pci line and I desire it to continue until command prompt.

 

In Flash Drive > Syslinux configuration: I'm booting UnRaid OS which has the following code and is booting in UEFI mode.

kernel /bzimage
append pcie_acs_override=downstream,multifunction isolcpus=1-5,7-11 initrd=/bzroot

 

Under Tools > System Devices I see I've PCIe ACS Override setting enabled to pass through my USB 3.0 controller to a VM.  I also see the primary GPU listed as in-use ... images attached.

 

FWIW - I vaguely recall adding some code to a black list file(s) but not sure if it was on this server.

 

 

 

System Devices 1.JPG

System Devices 2.JPG

Edited by bugsysiegals
Link to comment
5 hours ago, bugsysiegals said:

Thanks for the reply.  I've only 1 GPU in the server which is attached to a monitor and I can watch it boot  UnRAID GUI mode with all the command lines it's just that the code freezes at the vfio-pci line and I desire it to continue until command prompt.

 

Ok, if you have only that gpu it's normal that you can't see any output once it attaches to vfio.

You choose to bind it to vfio driver, or in other words, to not be used by unraid.

To have it back available for unraid you need to uncheck the gpu and the audio part from vfio (iommu group 21 and 22) and reboot unraid.

  • Like 1
Link to comment
17 minutes ago, ghost82 said:

 

Ok, if you have only that gpu it's normal that you can't see any output once it attaches to vfio.

You choose to bind it to vfio driver, or in other words, to not be used by unraid.

To have it back available for unraid you need to uncheck the gpu and the audio part from vfio (iommu group 21 and 22) and reboot unraid.

 

FWIW - when I edit a VM, I see the primary GPU available.  If I've understood correctly, the GPU is available for VM's because it's checked on system devices.  If I uncheck it, click bind to vfio at boot, it will no longer be available for VM's and unRAID will have exclusive access to it at which point it will continue to show all the boot code until it ends at the command prompt? 

 

I must have checked these boxes in order to pass through the primary GPU thinking it would be nice to operate the VM without remoting into it from another PC but never do this and causes full re-scan of the array the few times it's hung and I had to hard reset the PC ... I'll be switching this off, thanks!!

Edited by bugsysiegals
Link to comment
24 minutes ago, bugsysiegals said:

when I edit a VM, I see the primary GPU available.  If I've understood correctly, the GPU is available for VM's because it's checked on system devices.  If I uncheck it, click bind to vfio at boot, it will no longer be available for VM's and unRAID will have exclusive access to it at which point it will continue to show all the boot code until it ends at the command prompt? 

correct, in general when a device it's attached to vfio it will be available for anything else except the host, including a vm.

  • Like 1
Link to comment
  • bugsysiegals changed the title to SOLVED: UnRAID Doesn’t Show Command Prompt on Boot - GPU VFIO Binding

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...