Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

What happened: 'yum' update command created a new kernel-header, 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.

 Example 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. 

This would be 'best-effort'.

How to fix this issue

If you have SSH access to the system

'i8042: No controller found' still means that your OS loaded, it's just your GUI/Display that does not work. You can still SSH into the machine if you remember the SSH IP address.

## 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
./NVIDIA-Linux-x86_64-470.63.01.run

Mind you, this is the NVIDIA driver file that is latest for GeForce and Quadro graphics card at the time of writing this (9/17/21 - 470.63.01). NVIDIA driver versions change fairly often, but you don't need to be at the latest all the time.

 NVIDIA driver .run file installation

Pretty much hit 'no' to everything.

reboot

Fixed.

If you are local to the system

You're going to need to access your server's BIOS settings, and have access to a VGA monitor. If you're an end-user who doesn't know what BIOS settings are, or lacking a VGA cable/monitor, then I strongly advise you reach out to your site's Linux IT Administrator.

  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
  4. Your GUI/Display will load, log in, open a terminal, and then obtain and install the NVIDIA driver

    ## 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
     NVIDIA 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.

Fixed.

FAQ's

What happened:'yum' update command created a new kernel-header, 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.

What is 'i8042: No controller found'?: This is the last system boot message you see. This means your GUI/display will not load through the offboard video channel. It will however boot to the onboard video channel.

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:

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.

How do I install the NVIDIA driver file?: Once you are at a working terminal, disable GUI processes (they still run even if after you ran the yum update commands) and then run the NVIDIA driver '.run' installation file. As of Ubuntu 18.04 and CentOS 7.x, it is 'init 3' to disable GUI processes. This is already instructed in the steps above.

Do I need to regularly run 'yum' updates?: Not necessarily. If you are unsure on what those updates do, then don't run them. If your system runs fine, but only needs a newer NVIDIA driver update, then just update the NVIDIA driver. If your system is really aged, then it may complain that you need to update your compilers (gcc, make, kernel-devel, epel-release).

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

  • No labels