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.
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
- 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
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
lessto inspect Xorg log files
Navigate with the keyboard arrows or PgUp/PgDown. Exit
less with Q.
Change Video driver with
(… 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-linuxdrivers, 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.
mhwd -r pci video-nvidia-390xx
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.
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:
or, depending on your Display Environment (DE) (example for xfce)
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
.oldadded 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.
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.