Linux mint is working flawlessly for me for years. No major problems or any awful experience related to black screens, no sound or crashing applications. Only some minor problems or unexpected user experience. No need to search and manually install drivers in order to get several monitors, mixed sounds, HDMI and DisplayPort to work - most of the devices are plug and play.
And yet sometimes you may want to identify and fix issues related to the sound and video or you to change the system behavior. In this post I'll try to cover as much as possible for audio and graphic stuff related to Linux Mint (indirectly to Ubuntu and Debian). All the steps will help to find, analyze and fix problems in your Linux Mint.
Additional Resources
- Linux Mint identify, fix sound problems, set default device
- Install latest NVIDIA drivers for Linux Mint 19/Ubuntu 18.04
- Install Tensorflow with NVIDIA GPU on Ubuntu
Useful commands for detecting hardware and video problems
inxi -Fxz
List your hardware profile. It's really useful when you want to check what is your system, GPU, CPU, Audio, installation. The output of this command will be (shorten for readability):
System: Host: vanx-machine Kernel: 4.15.0-45-generic x86_64 bits: 64 gcc: 7.3.0
Desktop: Cinnamon 3.8.9 (Gtk 3.22.30-1ubuntu2) Distro: Linux Mint 19 Tara
Machine: Device: desktop Mobo: Micro-Star model: B350 PC MATE (MS-7A34) v: 2.0 serial: N/A
UEFI: American Megatrends v: A.A0 date: 01/26/2018
Graphics: Card: NVIDIA GP104 [GeForce GTX 1080] bus-ID: 20:00.0
Display Server: x11 (X.Org 1.19.6 ) driver: nvidia Resolution: [email protected], [email protected]
OpenGL: renderer: GeForce GTX 1080/PCIe/SSE2 version: 4.6.0 NVIDIA 390.77 Direct Render: Yes
Audio: Card-1 Advanced Micro Devices [AMD] Family 17h (Models 00h-0fh) HD Audio Controller
driver: snd_hda_intel bus-ID: 22:00.3
Card-2 NVIDIA GP104 High Definition Audio Controller driver: snd_hda_intel bus-ID: 20:00.1
Another way to get this information but using the GUI would be to install program called Hardinfo. You can install it by Software Manager and search for: Hardinfo
HardInfo is a system profiler and benchmark for Linux systems. It is able to obtain information from both hardware and basic software, and organize them in a simple to use GUI.
xrandr
the command will show you all displays, resolution, frame rate and more. You can see what outputs are supported by your GPU.
Screen 0: minimum 8 x 8, current 3200 x 1080, maximum 32767 x 32767
DVI-D-0 connected primary 1280x1024+1920+0 (normal left inverted right x axis y axis) 376mm x 301mm
1280x1024 60.02*+ 75.02 72.00
1152x864 75.00
1024x768 75.03 70.07 60.00
800x600 75.00 72.19 60.32
640x480 75.00 72.81 59.94
640x350 70.07
HDMI-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 527mm x 296mm
1920x1080 60.00*+ 59.94 50.00 60.00 50.04
1680x1050 59.95
1600x1200 60.00
1440x900 59.89
1280x1024 75.02 60.02
1280x960 60.00
1280x720 59.94 50.00
1152x720 60.00
1024x768 75.03 60.00
800x600 75.00 60.32
720x576 50.00
720x480 59.94
640x480 75.00 59.94 59.93
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
DP-4 disconnected (normal left inverted right x axis y axis)
DP-5 disconnected (normal left inverted right x axis y axis)
For more detailed information you can use:
xrandr --verbose
Which will show all details for a given display as:
Screen 0: minimum 8 x 8, current 3200 x 1080, maximum 32767 x 32767
DVI-D-0 connected primary 1280x1024+1920+0 (0x1bf) normal (normal left inverted right x axis y axis) 376mm x 301mm
Identifier: 0x1be
Timestamp: 4656232
Subpixel: unknown
Gamma: 1.0:1.1:1.2
Brightness: 1.0
Clones:
CRTC: 0
CRTCs: 0 1 2 3
Transform: 1.000000 0.000000 0.000000
0.000000 1.000000 0.000000
0.000000 0.000000 1.000000
filter:
CscMatrix: 65536 0 0 0 0 65536 0 0 0 0 65536 0
EDID:
00ffffffffffff0009d1d576c2490000
0311010380261e78eac5c6a3574a9c23
124f54bdef80714f8180818c01010101
010101010101302a009851002a403070
1300782d1100001ed50980a0205e6310
10605208782d1100001a000000fd0038
4c1f530e000a202020202020000000fc
0042656e51204650393347580a20007c
BorderDimensions: 4
supported: 4
Border: 0 0 0 0
range: (0, 65535)
SignalFormat: TMDS
supported: TMDS
ConnectorType: DVI-D
ConnectorNumber: 0
_ConnectorLocation: 0
1280x1024 (0x1bf) 108.000MHz +HSync +VSync *current +preferred
h: width 1280 start 1328 end 1440 total 1688 skew 0 clock 63.98KHz
v: height 1024 start 1025 end 1028 total 1066 clock 60.02Hz
nvidia-smi
This information will show you information about the installed drivers:
Mon Mar 4 09:34:21 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.77 Driver Version: 390.77 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 1080 Off | 00000000:20:00.0 On | N/A |
| 20% 47C P0 46W / 200W | 701MiB / 8116MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1324 G /usr/lib/xorg/Xorg 354MiB |
| 0 2149 G cinnamon 83MiB |
| 0 2358 G ...-token=DF4AEAFFA13914F68JD5132F34AD7CF8 43MiB |
| 0 2434 G ...-token=5BD5703B5BB567A1DD0023A3085BDC9C 31MiB |
| 0 6148 G ...quest-channel-token=7764958154348DD5503 89MiB |
| 0 9074 G ...-token=409DBFF5A412B19EC22CCC44548DC4AB 58MiB |
| 0 11002 G ...uest-channel-token=124866327789EED89920 36MiB |
+-----------------------------------------------------------------------------+
lshw -c display
Display information for your video card:
*-display
description: VGA compatible controller
product: GP104 [GeForce GTX 1080]
vendor: NVIDIA Corporation
physical id: 0
bus info: pci@0000:20:00.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: vga_controller bus_master cap_list rom
configuration: driver=nvidia latency=0
resources: irq:61 memory:f6000000-f6ffff
sudo service lightdm start
sudo service lightdm stop
This commands will start and stop the X server in other words your graphical interface. They can be used in order to install new drivers or fix problems related to the video and Xorg.
X -configure
Reconfigure X server
Useful commands for detecting audio
aplay -l
This command will list all your Audio cards. This information is really important when you deal with audio problems. The output of this command will help you to test your sound devices and are they working. So you can see the output below:
**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 0: ALC892 Analog [ALC892 Analog]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 2: Microphone [Yeti Stereo Microphone], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
In order to test any of those devices you need to get the card and device number. For example testing:
card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
can be done with this command:
aplay -D plughw:0,3 /usr/share/sounds/alsa/Front_Right.wav
while testing:
card 2: Microphone [Yeti Stereo Microphone], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
aplay -D plughw:2,0 /usr/share/sounds/alsa/Front_Right.wav
pacmd list-cards
This will list detailed information for your audio devices like:
4 card(s) available.
index: 1
name: <alsa_card.pci-0000_20_00.1>
driver: <module-alsa-card.c>
owner module: 8
properties:
alsa.card = "0"
alsa.card_name = "HDA NVidia"
profiles:
output:hdmi-stereo: Digital Stereo (HDMI) Output (priority 5400, available: no)
active profile: <output:hdmi-stereo-extra1>
sinks:
alsa_output.pci-0000_20_00.1.hdmi-stereo-extra1/#0: GP104 High Definition Audio Controller Digital Stereo (HDMI 2)
sources:
alsa_output.pci-0000_20_00.1.hdmi-stereo-extra1.monitor/#0: Monitor of GP104 High Definition Audio Controller Digital Stereo (HDMI 2)
ports:
hdmi-output-0: HDMI / DisplayPort (priority 5900, latency offset 0 usec, available: no)
properties:
device.icon_name = "video-display"
You can search for a given information with this command:
pacmd list-sinks | grep -e 'name:' -e 'alsa.device ' -e 'alsa.subdevice '
name: <alsa_output.usb-Blue_Microphones_Yeti_Stereo_Microphone_REV8-00.analog-stereo>
alsa.subdevice = "0"
alsa.device = "0"
name: <alsa_output.pci-0000_22_00.3.analog-stereo>
alsa.subdevice = "0"
alsa.device = "0"