Проблема
Після встановлення драйверів NVIDIA другий монітор (підключений через HDMI) перестав працювати, хоча фізичне підключення було. Система показувала тільки один віртуальний дисплей.
Діагностика
Перші симптоми
|
1 2 3 |
xrandr # Показувало тільки XWAYLAND0 - віртуальний дисплей Wayland |
|
1 2 3 |
nvidia-smi # NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver |
Перевірка встановлених драйверів показала конфлікт:
|
1 2 3 4 |
dpkg -l | grep nvidia-driver # iU nvidia-driver-575 (incomplete installation) # iU nvidia-driver-580 (incomplete installation) |
Позначка iU означає неповну установку – два драйвери конфліктували між собою.
Основна причина
Виявилося дві проблеми:
- Wayland замість X11 – NVIDIA краще працює з X11
- Застарілий GCC – компілятор GCC 11.4 не підтримує опції ядра 6.8.0-84
Покрокове рішення
Крок 1: Перехід на X11
Відкрийте конфігурацію GDM3:
|
1 2 |
sudo nano /etc/gdm3/custom.conf |
Знайдіть та розкоментуйте рядок:
|
1 2 |
WaylandEnable=false |
Збережіть (Ctrl+O, Enter, Ctrl+X) та перезавантажте:
|
1 2 |
sudo reboot |
Після цього X11 буде за замовчуванням.
Крок 2: Повне очищення конфліктних драйверів
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# Видалити всі NVIDIA пакунки sudo apt remove --purge '^nvidia-.*' -y sudo apt remove --purge '^libnvidia-.*' -y sudo apt autoremove -y # Очистити DKMS sudo rm -rf /var/lib/dkms/nvidia* sudo rm -rf /usr/src/nvidia* sudo rm /var/crash/nvidia*.crash # Виправити пошкоджені пакунки sudo dpkg --configure -a sudo apt --fix-broken install |
Крок 3: Оновлення GCC
Перевірте версію:
|
1 2 3 |
gcc --version # gcc (Ubuntu 11.4.0-1ubuntu1~22.04.2) 11.4.0 |
Встановіть GCC 12:
|
1 2 3 |
sudo apt update sudo apt install gcc-12 g++-12 -y |
Зробіть GCC 12 за замовчуванням:
|
1 2 3 4 |
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 110 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 120 sudo update-alternatives --config gcc # Виберіть gcc-12 |
Перевірте:
|
1 2 3 |
gcc --version # gcc (Ubuntu 12.3.0-1ubuntu1~22.04.2) 12.3.0 |
Крок 4: Встановлення стабільного драйвера
|
1 2 3 4 5 6 |
# Встановити необхідні інструменти sudo apt install build-essential dkms linux-headers-$(uname -r) -y # Встановити драйвер 550 (стабільна LTS версія) sudo apt install nvidia-driver-550 -y |
Драйвер 550 більш стабільний для GTX 1050 Ti, ніж новіші версії 570/580.
Крок 5: Перезавантаження
|
1 2 |
sudo reboot |
Перевірка результату
Після перезавантаження:
|
1 2 |
nvidia-smi |
Повинен показати інформацію про GPU:
|
1 2 3 4 5 6 |
+-----------------------------------------------------------------------------------------+ | NVIDIA-SMI 550.144.03 Driver Version: 550.144.03 CUDA Version: 12.4 | |-----------------------------------------+------------------------+----------------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | 0 NVIDIA GeForce GTX 1050 Ti Off | 00000000:01:00.0 On | N/A | |
|
1 2 |
xrandr |
Тепер показує обидва монітори:
|
1 2 3 |
DVI-D-0 connected 1280x1024+2560+229 HDMI-0 connected primary 2560x1440+0+0 |
Налаштування моніторів
Використайте NVIDIA Settings:
|
1 2 |
nvidia-settings |
У розділі X Server Display Configuration можна:
- Увімкнути/вимкнути монітори
- Налаштувати розташування (ліворуч/праворуч)
- Вибрати роздільну здатність
- Зберегти конфігурацію
Корисні команди для діагностики
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# Перевірити встановлені драйвери ubuntu-drivers devices # Перевірити статус пакунків NVIDIA dpkg -l | grep nvidia-driver # Подивитися лог помилок DKMS cat /var/lib/dkms/nvidia/*/build/make.log # Перевірити, який драйвер завантажений lsmod | grep nvidia # Перевірити, чи працює nouveau (відкритий драйвер) lsmod | grep nouveau # Подивитися версію ядра uname -r # Перевірити, який сервер дисплеїв використовується echo $XDG_SESSION_TYPE # має показати "x11" |
Підсумок
Причини проблеми:
- Wayland за замовчуванням (погано працює з NVIDIA)
- Конфлікт двох драйверів (575 і 580)
- Застарілий компілятор GCC 11.4
Рішення:
- Перехід на X11
- Оновлення GCC до версії 12
- Встановлення стабільного драйвера 550
Важливо: Для карт GTX 10-ї серії (2016-2017 років) краще використовувати драйвер 550, а не найновіші 570/580, які оптимізовані для RTX 40-ї серії.