Hi everyone,
I have a Lenovo ThinkStation P520 running TrueNAS SCALE in headless mode(no internal GPU). My setup includes an NVIDIA RTX 3090 GPU, which I wanted to use for applications mainly ML model inference. Initially, the GPU seemed to be locked for Applications. i.e. I could not allocate it while creating the apps.
After some research, I modified my GRUB configuration to include the nomodeset
kernel parameter, as follows:
GRUB_CMDLINE_LINUX_DEFAULT="libata.allow_tpm=1 amd_iommu=on iommu=pt intel_iommu=on nomodeset"
After applying this change and rebooting, the GPU became available for applications, and I confirmed it was not being used by the console (decodes=none
in vgaarb
). My applications can now use the GPU without issue.
Here’s the relevant context about my setup:
- Hardware:
- Lenovo ThinkStation P520
- NVIDIA RTX 3090
- Intel Xeon CPU
- TrueNAS SCALE Version: [Include the version you’re running]
- Key BIOS Settings:
- IOMMU is enabled.
- No onboard graphics (GPU is the primary display adapter).
I did this on a lark, but did not record the changes quite enough.
Questions:
- How exactly did adding
nomodeset
resolve this issue? I mean I vaguely that it prevents video drivers from being loaded in grub, but could someone explain how that works technically? - Does this change affect any other aspects of TrueNAS SCALE functionality (e.g., logging, system stability)?
- Are there better practices or alternative approaches to ensure the GPU remains free for applications while keeping the system functional?