Вопрос или проблема
У меня есть машина с Ubuntu 22.04 и старой графической картой AMD (подробности ниже). В качестве дополнительных сведений, она работала под Linux Mint в течение полутора лет. После некоторых проблем с повреждением жесткого диска я переключился на Ubuntu несколько месяцев назад.
В последний раз, когда система загрузилась корректно, 3 или 4 дня назад, я, как мне кажется, запустил обновление в фоновом режиме, играя в какие-то игры. Затем я выключил её и попытался снова запустить через пару дней. Теперь я не могу загрузиться на рабочий стол Ubuntu. Она загружается на экран с мигающим курсором, и я могу перейти в TTY с помощью Ctrl+Alt+F2. Я также могу подключиться к ней через SSH.
Я попробовал несколько решений. Я пытался запустить Xorg вручную с помощью startx, но это не сработало. Я также попробовал использовать nomodeset в конфигурации grub, чтобы загрузить её, но это выдало ошибку. Я пробовал переустановить ubuntu-desktop. Также я пробовал загрузиться под предыдущим ядром, но, похоже, проблема осталась той же. Я посмотрел журналы xorg, но смог найти только тот, что от последнего успешного запуска, и тот, что я пытался запустить вручную. У меня возникли трудности с поиском аналогичных проблем в последней версии Ubuntu. Я продолжил попытки выполнять обновления Ubuntu, чтобы узнать, решена ли проблема с помощью каких-либо патчей.
Мне кажется, что это может быть проблема между ядром и драйвером GPU, но это всего лишь догадка, основанная на информации о возможных проблемах с новыми ядрами и драйвером amdgpu.
Я использовал различные дистрибутивы Linux в течение многих лет, но не являюсь экспертом. В связи с этим я исчерпал свои знания и способности пользоваться Google. Буду благодарен за любую помощь. Я только что настроил эту установку так, как мне хотелось, и она работала достаточно хорошо, поэтому мне не очень хочется переустанавливать, особенно потому, что ОС, похоже, работает, за исключением GUI.
Детали машины:
OS: Ubuntu 22.04.1 LTS x86_64
Host: B450 AORUS PRO WIFI
Kernel: 5.15.0-58-generic
Packages: 2444 (dpkg), 8 (flatpak), 14 (snap)
Shell: bash 5.1.16
Resolution: 2560x1440
Terminal: /dev/pts/0
CPU: AMD Ryzen 5 2600X (12) @ 3.600GHz
GPU: AMD ATI Radeon RX 470/480/570/570X/580/580X/590
Memory: 560MiB / 15943MiB
07:00.0 VGA совместимый контроллер [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] [1002:67df] (rev e7) (prog-if 00 [VGA controller])
Подсистема: Micro-Star International Co., Ltd. [MSI] Radeon RX 580 Armor 4G OC [1462:3418]
Flags: bus master, fast devsel, latency 0, IRQ 111, IOMMU группа 15
Память по адресу e0000000 (64-бит, пригодна для предварительной выборки) [размер=256M]
Память по адресу f0000000 (64-бит, пригодна для предварительной выборки) [размер=2M]
I/O порты на e000 [размер=256]
Память по адресу fce00000 (32-бит, не пригодна для предварительной выборки) [размер=256K]
ROM расширения на 000c0000 [отключено] [размер=128K]
Возможности: [48] Vendor Specific Information: Len=08 <?>
Возможности: [50] Power Management version 3
Возможности: [58] Express Legacy Endpoint, MSI 00
Возможности: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
Возможности: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
/var/log/Xorg.0.log:
[ 25822.811]
X.Org X Server 1.21.1.3
X Protocol Version 11, Revision 0
[ 25822.812] Текущая операционная система: Linux chuck 5.15.0-58-generic #64-Ubuntu SMP Thu Jan 5 11:43:13 UTC 2023 x86_64
[ 25822.812] Команда загрузки ядра: BOOT_IMAGE=/boot/vmlinuz-5.15.0-58-generic root=UUID=c1bcafb2-ca43-4924-be48-4962bf748b97 ro quiet splash vt.handoff=7
[ 25822.812] xorg-server 2:21.1.3-2ubuntu2.5 (Для технической поддержки, пожалуйста, см. http://www.ubuntu.com/support)
[ 25822.812] Текущая версия pixman: 0.40.0
[ 25822.812] Перед сообщением о проблемах, пожалуйста, проверьте http://wiki.x.org
чтобы убедиться, что у вас установлена последняя версия.
[ 25822.812] Маркеры: (--) обнаружено, (**) из конфигурационного файла, (==) стандартная настройка,
(++) из командной строки, (!!) уведомление, (II) информационное сообщение,
(WW) предупреждение, (EE) ошибка, (NI) не реализовано, (??) неизвестно.
[ 25822.812] (==) Файл журнала: "/var/log/Xorg.0.log", Время: Sat Jan 14 16:43:18 2023
[ 25822.812] (==) Использование системной конфигурационной директории "/usr/share/X11/xorg.conf.d"
[ 25822.812] (==) Нет секции макета. Использование первой секции экрана.
[ 25822.812] (==) Нет доступных секций экрана. Использование стандартных настроек.
[ 25822.812] (**) |--> Экран "Секция экрана по умолчанию" (0)
[ 25822.812] (**) | |--> Монитор "<монитор по умолчанию>"
[ 25822.812] (==) Монитор для экрана "Секция экрана по умолчанию" не указан.
Использование стандартной конфигурации монитора.
[ 25822.812] (==) Автоматическое добавление устройств
[ 25822.812] (==) Автоматическое включение устройств
[ 25822.812] (==) Автоматическое добавление устройств GPU
[ 25822.812] (==) Автоматическая привязка устройств GPU
[ 25822.812] (==) Максимально допустимое количество клиентов: 256, маска ресурса: 0x1fffff
[ 25822.812] (WW) Каталог "/usr/share/fonts/X11/cyrillic" не существует.
[ 25822.812] Запись удалена из пути к шрифтам.
[ 25822.812] (WW) Каталог "/usr/share/fonts/X11/100dpi/" не существует.
[ 25822.812] Запись удалена из пути к шрифтам.
[ 25822.812] (WW) Каталог "/usr/share/fonts/X11/75dpi/" не существует.
[ 25822.812] Запись удалена из пути к шрифтам.
[ 25822.812] (WW) Каталог "/usr/share/fonts/X11/100dpi" не существует.
[ 25822.812] Запись удалена из пути к шрифтам.
[ 25822.812] (WW) Каталог "/usr/share/fonts/X11/75dpi" не существует.
[ 25822.813] Запись удалена из пути к шрифтам.
[ 25822.813] (==) Путь к шрифтам установлен в:
/usr/share/fonts/X11/misc,
/usr/share/fonts/X11/Type1,
built-ins
[ 25822.813] (==) Путь к модулю установлен в "/usr/lib/xorg/modules"
[ 25822.813] (II) Сервер полагается на udev для предоставления списка входных устройств.
Если устройства не становятся доступными, перенастройте udev или отключите AutoAddDevices.
[ 25822.813] (II) Магия загрузчика: 0x557e780b7020
[ 25822.813] (II) Версии ABI модуля:
[ 25822.813] X.Org ANSI C Emulation: 0.4
[ 25822.813] Драйвер видео X.Org: 25.2
[ 25822.813] Драйвер X.Org XInput: 24.4
[ 25822.813] Расширение сервера X.Org: 10.0
[ 25822.813] (--) использование VT номер 2
[ 25822.813] (II) systemd-logind: интеграция с logind требует -keeptty, и -keeptty не был предоставлен, отключение интеграции с logind
[ 25822.814] (II) xfree86: Добавление устройства drm (/dev/dri/card0)
[ 25822.814] (II) Платформа поиска для /sys/devices/pci0000:00/0000:00:03.1/0000:07:00.0/drm/card0
[ 25822.830] (--) PCI:*(7@0:0:0) 1002:67df:1462:3418 rev 231, Память @ 0xe0000000/268435456, 0xf0000000/2097152, 0xfce00000/262144, I/O @ 0x0000e000/256, BIOS @ 0x????????/131072
[ 25822.830] (II) ЗагрузитьМодуль: "glx"
[ 25822.830] (II) Загрузка /usr/lib/xorg/modules/extensions/libglx.so
[ 25822.831] (II) Модуль glx: поставщик="X.Org Foundation"
[ 25822.831] скомпилирован для 1.21.1.3, версия модуля = 1.0.0
[ 25822.831] ABI класс: расширение сервера X.Org, версия 10.0
[ 25822.831] (II) Применение OutputClass "AMDgpu" к /dev/dri/card0
[ 25822.831] загрузка драйвера: amdgpu
[ 25822.831] (==) Подходящий amdgpu как драйвер по умолчанию 0
[ 25822.831] (==) Подходящий ati как драйвер по умолчанию 1
[ 25822.831] (==) Подходящий modesetting как драйвер по умолчанию 2
[ 25822.831] (==) Подходящий fbdev как драйвер по умолчанию 3
[ 25822.831] (==) Подходящий vesa как драйвер по умолчанию 4
[ 25822.831] (==) Драйвер присвоен xf86ConfigLayout
[ 25822.831] (II) ЗагрузитьМодуль: "amdgpu"
[ 25822.831] (II) Загрузка /usr/lib/xorg/modules/drivers/amdgpu_drv.so
[ 25822.833] (II) Модуль amdgpu: поставщик="X.Org Foundation"
[ 25822.833] скомпилирован для 1.21.1.3, версия модуля = 22.0.0
[ 25822.833] Класс модуля: драйвер видео X.Org
[ 25822.833] ABI класс: драйвер видео X.Org, версия 25.2
[ 25822.833] (II) ЗагрузитьМодуль: "ati"
[ 25822.833] (II) Загрузка /usr/lib/xorg/modules/drivers/ati_drv.so
[ 25822.833] (II) Модуль ati: поставщик="X.Org Foundation"
[ 25822.833] скомпилирован для 1.21.1.3, версия модуля = 19.1.0
[ 25822.833] Класс модуля: драйвер видео X.Org
[ 25822.833] ABI класс: драйвер видео X.Org, версия 25.2
[ 25822.841] (II) ЗагрузитьМодуль: "modesetting"
[ 25822.841] (II) Загрузка /usr/lib/xorg/modules/drivers/modesetting_drv.so
[ 25822.841] (II) Модуль modesetting: поставщик="X.Org Foundation"
[ 25822.841] скомпилирован для 1.21.1.3, версия модуля = 1.21.1
[ 25822.841] Класс модуля: драйвер видео X.Org
[ 25822.841] ABI класс: драйвер видео X.Org, версия 25.2
[ 25822.841] (II) ЗагрузитьМодуль: "fbdev"
[ 25822.841] (II) Загрузка /usr/lib/xorg/modules/drivers/fbdev_drv.so
[ 25822.841] (II) Модуль fbdev: поставщик="X.Org Foundation"
[ 25822.841] скомпилирован для 1.21.1.3, версия модуля = 0.5.0
[ 25822.841] Класс модуля: драйвер видео X.Org
[ 25822.841] ABI класс: драйвер видео X.Org, версия 25.2
[ 25822.841] (II) ЗагрузитьМодуль: "vesa"
[ 25822.841] (II) Загрузка /usr/lib/xorg/modules/drivers/vesa_drv.so
[ 25822.841] (II) Модуль vesa: поставщик="X.Org Foundation"
[ 25822.841] скомпилирован для 1.21.1.3, версия модуля = 2.5.0
[ 25822.841] Класс модуля: драйвер видео X.Org
[ 25822.841] ABI класс: драйвер видео X.Org, версия 25.2
[ 25822.841] (II) AMDGPU: Драйвер для AMD Radeon:
Все графические процессоры, поддерживаемые драйвером ядра amdgpu
[ 25822.841] (II) modesetting: Драйвер для Modesetting Kernel Drivers: kms
[ 25822.841] (II) FBDEV: драйвер для фреймбуферов: fbdev
[ 25822.841] (II) VESA: драйвер для чипсетов VESA: vesa
[ 25822.868] (WW) Возвращение к старому методу обнаружения для modesetting
[ 25822.868] (WW) Возвращение к старому методу обнаружения для fbdev
[ 25822.868] (II) Загрузка подмодуля "fbdevhw"
[ 25822.868] (II) ЗагрузитьМодуль: "fbdevhw"
[ 25822.868] (II) Загрузка /usr/lib/xorg/modules/libfbdevhw.so
[ 25822.868] (II) Модуль fbdevhw: поставщик="X.Org Foundation"
[ 25822.868] скомпилирован для 1.21.1.3, версия модуля = 0.0.2
[ 25822.868] ABI класс: драйвер видео X.Org, версия 25.2
[ 25822.868] (II) AMDGPU(0): Создание раздела отображения по умолчанию в секции экрана
"Секция экрана по умолчанию" для глубины/fbbpp 24/32
[ 25822.868] (==) AMDGPU(0): Глубина 24, (--) рамочная глубина bpp 32
[ 25822.868] (II) AMDGPU(0): Глубина пикселей = 24 бита, хранящиеся в 4 байтах (32 bpp пикселей)
[ 25822.868] (==) AMDGPU(0): По умолчанию визуализация - TrueColor
[ 25822.868] (==) AMDGPU(0): Вес RGB 888
[ 25822.868] (II) AMDGPU(0): Использование 8 бит на RGB (8-битный ЦАП)
[ 25822.868] (--) AMDGPU(0): Чипсет: "AMD Radeon RX 580 Series" (ChipID = 0x67df)
[ 25822.868] (II) Загрузка подмодуля "fb"
[ 25822.868] (II) ЗагрузитьМодуль: "fb"
[ 25822.868] (II) Модуль "fb" уже встроен
[ 25822.869] (II) Загрузка подмодуля "dri2"
[ 25822.869] (II) ЗагрузитьМодуль: "dri2"
[ 25822.869] (II) Модуль "dri2" уже встроен
[ 25822.889] (
Ответ или решение
Ваша проблема, где Ubuntu 22.04 загружается только в режим TTY, может быть связана с конфликтами между ядром и драйверами графического процессора. Эта ситуация нередко возникает на системах с устаревшими или специфическими аппаратными компонентами, такими как старые графические карты AMD, особенно после обновлений ядра или системы.
Теория: Основная проблема в вашей ситуации заключается в том, что графическая среда не загружается из-за конфликта между драйверами графического процессора и ядром. Часто это может быть связано с несовместимостью между свободными открытыми драйверами, которые поставляются вместе с системой, и аппаратной конфигурацией вашего устройства. Проблемы могут усугубляться неполадками с менеджером окон (например, Xorg) или оболочкой входа в систему (например, LightDM, GDM).
Пример: Ваша машина через несколько месяцев после успешной работы вдруг столкнулась с проблемой, когда после обновления через несколько дней система не загружается в графическую среду. Анализ логов Xorg показывает наличие фатальной ошибки, возможно возникшей из-за сегментации памяти, что свидетельствует о программной проблеме на уровне взаимодействия драйверов и ядра. Более того, ваши попытки загрузиться с предыдущими ядрами не увенчались успехом, что предполагает наличие более глубокой проблемы, например, несовместимости драйвера.
Применение: Для решения этой проблемы можно попробовать несколько шагов, которые помогут устранить неисправности на уровне драйверов графического процессора и менеджера окон:
-
Проверка и обновление системы: Убедитесь, что у вас установлены последние обновления для всех пакетов, связанное с графическим интерфейсом, командой:
sudo apt update && sudo apt upgrade
-
Переустановка графического интерфейса: Иногда помогает переустановка Xorg и оболочки рабочего стола:
sudo apt install --reinstall xorg ubuntu-desktop
-
Использование nomodeset
: Если существующий драйвер не функционирует, попробуйте добавить параметр nomodeset
к загрузочным параметрам ядра. Это может временно отключить встроенные драйверы, позволив загрузить систему:
- При загрузке, на экране GRUB, выберите вашу систему (обычно это первая опция) и нажмите 'e' для редактирования.
- Найдите строку, начинающуюся с
linux
, и добавьте в конце nomodeset
, затем загрузитесь из сохраненных изменений с помощью Ctrl+X
или F10
.
-
Установка проприетарных драйверов AMD: На сайте поддержки AMD можно загрузить пакет драйверов для вашей карты (например, RX 580). Эти проприетарные драйверы могут обеспечить лучшую поддержку вашего аппаратного обеспечения:
- Скачайте и скопируйте пакет на вашу машину.
- Установите пакет с помощью
dpkg
:
sudo dpkg -i <название_пакета.deb>
- Запустите
amdgpu-install
для установки драйвера:
sudo amdgpu-install
-
Конфигурация DM (Display Manager): Если проблема была в менеджере дисплея (например, LightDM), его переустановка и повторная конфигурация может помочь:
sudo apt install lightdm lightdm-settings slick-greeter --reinstall
sudo dpkg-reconfigure lightdm
-
Журнал и диагностика: Вернитесь к изучению логов Xorg, чтобы определить, есть ли конкретные ошибки, связанные с вашей ситуацией. Это может помочь указать на специфические проблемы.
-
Попробуйте другие среды рабочего стола: Если вы используете Gnome, попробуйте KDE или наоборот. Это может понадобиться, если проблема связана с конкретной конфигурацией текущей среды рабочего стола.
В конечном итоге устранение этих проблем часто требует комбинации вышеперечисленных подходов и терпения. Ваш опыт работы с разными дистрибутивами Linux должно помочь в применении этих решений. Всегда сохраняйте резервные копии конфигураций и данных перед внесением критических изменений в систему.