How to change video drivers or configuration and troubleshoot

drivers
amdgpu
nvidia
xorg
video

#1

It is not necessary to change anything if you don’t encounter serious display problems, or your applications run successfully.


If you believe there is a need to change the video driver or the current configuration, first try to find evidence that there is something wrong. Read the Troubleshooting section bellow.
Also make sure you have your system packages properly updated.


Preparation

If you decide to change the video driver, prepare for… the worst, before you find yourself in front of a black screen and you don’t know what to do. It is not unusual to be in this situation, when changing vital system settings, without knowing what you are doing, for example, doing “copy/paste” following a random tutorial on the web.

Get into the TTY and familiarize with it

In simple terms, when you are at TTY (black terminal with no GUI) you can fully control your system, if you know how. If you have internet working, you can install packages, update system packages etc. You can create, delete, edit text files, enable, disable , start and stop systemd services, or perform other system maintenance. You just don’t have GUI (graphical interface).

Get into TTY

  • after you land in a black screen when you boot
    • press Ctrl+Alt+F2,F3,F4 etc).
  • using the GRUB boot menu
    • At the GRUB menu Manjaro option, press E to edit the menu
    • Navigate with the arrows to the line that starts with linux
    • Go to the end of the line and add a Space and a number 3
    • Press F10 to boot

Examples of what you can do in TTY

Edit a text file

Use nano to edit a configuration file

nano /etc/X11/xorg.conf.d/10-monitors.conf

This starts a text editor. Usage tips are shown at the bottom of the screen. Navigate with keyboard arrows. Delete, or add text. Save your file with Ctrl+O and Enter (here you may change the actual file name and path, but you normally leave the default). Then exit the program with Ctrl+X.

Check and control a systemd service

If you want to see if a service is failing or its condition and history, check status:

systemctl status bumblebeed
systemctl status lightdm

For example of changing DM from GDM to LightDM:

systemctl stop gdm
systemctl disable gdm
systemctl enable lightdm
systemctl start lightdm

Inspect a log file

Use lessto inspect Xorg log files

less /var/log/Xorg.0.log

Navigate with the keyboard arrows or PgUp/PgDown. Exit less with Q.

Change Video driver with mhwd

(… at last!)

Check what video drivers are installed

mhwd --pci -li

Check available video drivers for your system (according to mhwd database)

mhwd --pci -l

If you are installing proprietary nvidia drivers, you don’t need to uninstall the free video-linux drivers, unless you follow a tutorial or a forum support advice that suggests so.

Install the best/suggested driver for your hardware automatically

  • For free/open-source drivers (intel, nouveau, amdgpu or ati)
mhwd -a pci free 0300
  • For non-free/proprietary drivers (nvidia, or radeon)
mhwd -a pci non-free 0300

For a more complicated setup, you should research your available options and install a specific driver configuration.
For example:

  • Uninstall
mhwd -r pci video-nvidia-390xx
  • Install
mhwd -i pci video-nvidia

Troubleshoot your video card configuration

The usual scenario is you are stack in front a black screen after booting your PC.

Try to go to TTY (press Ctrl+Alt+F2 or Ctrl+Alt+F3).

If this is not giving you a screen with a message at the top, requesting login (username and password), then reboot and use the Grub menu method. If you have the default Silent Grub, during boot, press Shift, or Esc, or F8, until you see the Grub menu. Press E to edit the default menu entry (to stop grub countdown, press down arrow once, then go to your proper menu line). You will be presented to a “terminal-like” screen, that is editable. Navigate with the arrows to the line that starts with the word linux and press End keyboard button, to go to the end of the line. Write the number 3 and press F10 to boot. This will start booting and will bring you to the TTY screen (the system will be fully functional, except from the GUI/Xorg)

Log your troubleshooting info in a file

You should store your troubleshooting in a file, in order to later provide your troubleshooting report to your support request topic.

You can do that, appending this at the end of each command you run in TTY (use whatever file name):

| tee -a video-nvidia.log

So the next command could be:

systemctl start lightdm | tee -a video-nvidia.log

This command adds the terminal output to that file, without overwriting the previous contents.
You can also use >> for a command, to send the output to a file, but this will not show that output in the terminal/TTY. Example:

cat /var/log/Xorg.0.log | grep "(EE)" >> video.nvidia.log

You may find this method more suitable, in some cases, so, use what is better and working.

If you finally fail to resolve your issue, you may add some more info (presented later) and post the file to a web paste bin service, (from TTY) and provide the link to your support topic. An easy tool for this is wgetpaste. You need to install it first.

Example:

pacman -S wgetpaste
cat video-nvidia.log | wgetpaste

Exclude Display Manager from potential reason for black screen

Sometimes, it is only the DM that cannot start, while Xorg maybe fine. To exclude this possibility, try to start the DM. For LightDM:

systemctl start lightdm

The errors (if recorded and reported as advised above) will help troubleshooting.

Start Xorg manually to see errors

To start Xorg session manually:

startx

or, depending on your Display Environment (DE) (example for xfce)

startxfce

Do NOT use tee to log errors of startx, until you are sure the command fails to start GUI/DE. Only then, you may use it to log the errors to your troubleshooting log, like for example

startx | tee -a xfcefail.log

Looking for errors

In System Journal log

  • You can inspect system journal log for errors of the current boot, or the previous one:
journalctl -b -p3
journalctl -b -1 -p3

In Xorg log files

  • Inspect Xorg server (GUI administrator) current boot logs:
cat /var/log/Xorg.0.log | grep "(EE)"
  • Gnome and GDM (and maybe Cinnamon) keep(s) logs locally:
cat ~/.local/share/xorg/Xorg.0.log | grep "(EE)"
sudo cat  /var/lib/gdm/.local/share/xorg/Xorg.0.log  | grep "(EE)"
  • Depending your driver setup, Xorg logs names may vary at the number, so there maybe like:
Xorg.1.log Xorg.8.log etc...
  • Previous boot logs have .old added to their name.

  • You should always confirm that you are inspecting the proper Xorg logs (current or older), checking the "Time" they are written/renamed, either at the file attributes, or in the file contents.

Example:

ls -l /var/log/Xorg*
sudo ls -l /var/lib/gdm/.local/share/xorg

or in the file manager.

  • Checking the contents (example):
grep -F "Time" /var/log/Xorg*

Create a Support Request topic

In order to help forum experienced users help you solve your video drivers problems, you need to provide:

  • A good and as precise as possible description of the problem you are experiencing. A simple “the display is wrong” does not help.
  • When does the issue happen, during boot, before or after grub, before or after login screen (DM), immediately or after how long, sometimes (how often) or always.
  • If the problem is difficult to describe, post a screenshot or a photo (do not post photos/images with text unless it is absolutely necessary)
  • A set of terminal output info, as bellow:
inxi -SMGxxz 
mhwd -li
xrandr
cat /etc/X11/xorg.conf.d/*.conf 
cat /etc/modules-load.d/*.conf 
cat /etc/modprobe.d/*.conf 
journalctl -b -p3

For bumblebee related setups

optirun inxi -Gxxxz
optirun xrandr
cat /etc/bumblebee/bumblebee.conf
cat /etc/bumblebee/xorg.conf.nvidia
systemctl status bumblebeed
journalctl -b -g "bbswitch|bumble"

You should use proper formatting to make it easy to read, read how


Note: Be aware that some of the above commands that perform system administrative actions, require root privileges, so they have to be run as root, or with sudo. If you don’t know what that means, then don’t do it. It is possible that you may break your system.


Another tutorial for general troubleshooting


Disclaimer: This tutorial is a Work In Progress. If you find some mistakes, please post bellow and help improve it.


Can't boot after installing Nvidia drivers
Not able to boot into graphical session after 2018-12-31 update
My System Is Broke? Newbie Needing Some Help
Monitor doesn't detect DisplayPort connection, if it's turned on after the computer
Laptop failed to boot after installing video-hybrid-intel-nvidia-bumblebee
Black screen on boot after grub on fresh install
After switching from a nvidia GPU to a Radeon RX580, can't boot to desktop
Manjaro goes black screen on boot up
Manjaro stuck on boot after latest update
Boot problems - only seeing 1 out of 3 distros installed
X1 extreme i5, so far I could not get bumblebee to work
Vega 64 installation problems
Graphics driver
DELL workstation huge performance problem on battery
Fstab booting error and graphics card replacement problem
Problem with video card in Dell Inspiron 7520 (Intel/AMD dual graphics)
Optimus laptop issues
ThinkPad Pro Dock USB 3.0 external display not detected
Manjaro stuck at black screen after starting services
Manjaro KDE works perfectly live but freezes once installed
Cannot startx after adding second nvidia gpu
HP Pavillion Notebook - hybrid Intel UHD 630 Nvidia GeForce GTX 1050 - frezees when trying to use or query graphics
[SOLVED] Dell Latitude E6420 Manjaro KDE [Fresh install] HDMI Port Not Recognised Hybrid Intel/Nvidia
Unable to access computer
Black screen after login only mouse shows and access to tty
Problem with nvidia graphic card
Issue with multiple nvidia graphics cards (maybe MSI specific)
Second monitor with Radeon 570
[SOLVED] No boot after removing the dedicated graphic card
Installation Problem caused by nvidia card
Dual Monitor Stopped Working
Display resolution different between "live" and "installed" XFCE
X11 NVIDIA config probleme and become unbootable
How to install drivers from usb
Manjaro not booting. Blackscreen after Grub
GDM becoming unstable after switching to Nvidia-driver
Optimus + Ultra Wide monitor + i3
Black screen after install Ati proprietary drivers -- Do not install this buggy drivers ! work no more with Xorg
Setting up nvidia optimus; nvidia not detected
Boot Failure - Unrecognizable Error