Red Hat 8.6 NVIDIA Optimus and 12th Gen Intel Alder Lake Driver Installation
/Dell Lattitude 5530 boots to black screen after installing NVIDIA proprietary drivers. This issue can be seen on other laptops that use NVIDIA Optimus. Generally, that means that a laptop with an Intel iGPU and NVIDIA GPU have graphics switching/hybrid capability, where the iGPU is used most often to conserve power and then the dGPU is used as needed for 3D Acceleration.
Disclaimer
This may not be the best method to get the NVIDIA drivers working with the iGPU but this what I did and what works, including with Kickstart. I have only observed this issue on Red Hat 8.6 and fixed it on Red Hat 8.6. This may not work for 8.5 and older releases.
Assumptions
You will be installing drivers from the CUDA Network Repositories provided by NVIDIA
You have SSH or Command Line access to your laptop
You have removed or have not yet installed NVIDIA drivers
You have the latest kernel and updates
How to Fix
For 12th Generation Intel Laptops the fix is easy, do the follow items.
1: Get Intel Device Name
lspci |grep “VGA”
You should see something like the following line and we are looking for the text after Device, in my case 46a8.
0000:00:02.0 VGA compatible controller: Intel Corporation Device 46a8 (rev 0C)
2: Modify grub with Intel Device
sudo echo ‘GRUB_CMDLINE_LINUX='"i915.force_probe=46a8"' >> /etc/default/grub
sudo grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
reboot
3: Install NVIDIA Drivers
Go ahead and add the required repositories to install drivers from the CUDA Network. You can follow the instructions here -> https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#redhat8-installation
sudo dnf install -y module nvidia-driver:latest-dkms
reboot
4: Congratulations
Everything should work normally from this point. You can confirm your graphics card is being used with the following items in command line. Recommend two different terminal windows to watch nvidia-smi output.
glxgears
watch nvidia-smi
Kickstart
For kickstart installations one thing I did differently that doesn’t seem to affect other older generation of Intel iGPUs or CPUs like Xeon; was to add the following items to my kickstart script. Using * seems to be safe and I have yet to run into issues with Servers, Precision laptops, and Workstations with older CPUs.
echo ‘GRUB_CMDLINE_LINUX='"i915.force_probe=*"' >> /etc/default/grub
grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
Also in Kickstart I am installing NVIDIA drivers with the ks flag. nvidia-driver:latest-ks
Final Considerations
If you are having trouble for any reason you can always change "i915.force_probe=46a8" to "i915.force_probe=*" instead. This also seems to work fine and I have not observed any issues using the wildcard so far.
Feel free to ask me anything but please know that I am not an expert. This method just worked and I ran with it.