Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

What happened: Typically, 'yum' update was ran to create a new kernel-header (i.e. accepting during shutdown prompt, performed from some online suggestion), your old NVIDIA driver (that manages your graphics cards), was compiled to the old kernel-header before you ran the 'yum' update, so now GUI will not load.

Expand
titleExample of the new kernel you may have accidentally added

Referencing the image below, in most cases:

  • CentOS Linux (3.10.0-1160.42.2.el7.x86_64) 7 (Core) ← Your new default kernel-header after running yum update (NVIDIA driver NOT compiled to this kernel-header)
  • CentOS Linux (3.10.0-1160.31.1.el7.x86_64) 7 (Core) ← Previously working kernel with display (NVIDIA driver was properly installed and compiled to THIS kernel-header)
  • CentOS Linux (3.10.0-1160.11.1.el7.x86_64) 7 (Core)  ← Fresh install, after updates to setup for initial NVIDIA driver installation (disabling Nouveau) (NVIDIA driver was properly installed and compiled to THIS kernel-header)
  • CentOS Linux (3.10.0-1127.el7.x86_64) 7 (Core) ← Created during the initial CentOS installation (fresh install)
  • CentOS Linux (0-rescue-d7d3687fde2848c18c21b05a0cfe21cf) 7 (Core) ← Created during the initial CentOS installation

Disclaimer: Exxact is not responsible for troubleshooting or resolving issues arising from software updates made to the system after the system has shipped from Exxact. These include Operating system updates and application updates. Exxact may help with this on a best-effort basis at Exxact's discretion. 

...

  1. Reboot system, get to BIOS settings by striking the 'del' key while the system boots up
  2. Change your BIOS setting to use ONBOARD as primary video display
  3. Save and Reset, and then switch to a VGA cable and monitor using the VGA port on your system while it reboots twice
  4. Your GUI/Display will load, log in, open a terminal, and then obtain and install the NVIDIA driver

    Code Block
    ## login as root
    wget https://us.download.nvidia.com/XFree86/Linux-x86_64/470.63.01/NVIDIA-Linux-x86_64-470.63.01.run
    chmod +x NVIDIA-Linux-x86_64-470.63.01.run
    init 3
    
    ## you are disabling display, and will be in 'text-mode' only to run the next command
    ./NVIDIA-Linux-x86_64-470.63.01.run
    
    reboot


    Expand
    titleNVIDIA driver .run file installation

    Pretty much hit 'no' to everything.

    reboot


  5. Change your BIOS setting to use OFFBOARD as primary video display, the opposite of step 3
    • Why should I bother changing this setting back? If we setup your system to use OFFBOARD video display, your SW probably required GPU-accellerated local display. You may see disruptions (i.e. Relion/CyroSPARC) if you use your motherboard's ONBOARD VGA display to run these programs.

...

What is ONBOARD/OFFBOARD display?: If you have a server motherboard, then it will typically have a display built onto the motherboard (ONBOARD), like a VGA plug on the front or back depending on your system. If you have your display cable plugged into the graphics card, then the system is using OFFBOARD channel. The OFFBOARD video channel also goes by 'PCI-e device' or 'External' in BIOS. Your OFFBOARD video channel is typically source from the graphics card, so here is the explanation again:

Your GNOME/GUI/Display, hosted from your graphics card will no longer work, because you updated your Linux OS kernel-header to a new one, which your NVIDIA driver is NOT compiled to.

How to fix this?: Simply, re-install the NVIDIA driver. Getting to a working terminal seems to be most people's issue. Usually those who have never touched server-hardware or BIOS settings will have the most difficulty with the 'local with system' steps.

...

If you work with/in anything high-security, then you should have a Linux/Network IT Administrator who should routinely controls updates and users so you wouldn't need to run into this issue.Your GNOME/GUI/Display, hosted from your graphics card will no longer work, because you updated your Linux OS kernel-header to a new one, which your NVIDIA driver is NOT compiled to.

How do I prevent this issue in the future?: A lot of people run into this the first time. Just 'wget' the latest NVIDIA '.run' file, make it executable, and then run it over your existing NVIDIA driver file. This article holds up well to show how to look for the NVIDIA driver file from NVIDIA's website: Reinstall NVIDIA drivers for CentOS 7.x

...