исправление пустого консольного монитора для graphical.target в RHEL 8

Вопрос или проблема

конкретно для RHEL-8.10 (или, как я полагаю, более поздних версий), где старый /etc/X11/org.conf больше не используется.

  • С подключенным монитором от серверного порта материнской платы VGA,
  • и с установленными одной или несколькими графическими картами Nvidia,
  • при установке RHEL-8.10 с iso как сервер с GUI графика на мониторе, подключенном к серверному порту VGA, работает. Вы можете пройти процесс установки до тех пор, пока не будет сказано перезагрузить, и после этого экран принять лицензионное соглашение даже появляется и работает.
  • Но после этого графический экран входа в систему при вводе имени пользователя просто пуст.
  • Это было прерывисто: выполнение ctrl-alt-f2 иногда давало полностью текстовый стиль отображения multi-user.target, но после последующих перезагрузок это больше не работало, так что вам либо нужно иметь systemctl set-default multi-user.target в действии, либо войти в систему через SSH и выполнить systemctl isolate multi-user.target, чтобы получить какую-либо функциональность на консольном VGA мониторе.
  • lspci | grep -i vga отвечает
    • 03:00.0 VGA совместимый… Matrox Electronics G200ew3
    • 3b:00.0 VGA совместимый… Nvidia GA104GL RTXA4000
    • и на некоторых серверах у меня появляется вторая перечисленная Nvidia GA104GL RTXA4000

На нескольких серверах, которые у меня есть, когда у них установлено 2 карты Nvidia, эта проблема присутствует всегда. Но у меня есть 2 сервера с установленной одной картой Nvidia каждый, и один работает с графикой через порт VGA в graphical.target, но другой сервер нет – и я установил RHEL-8.10 одинаково на обоих.

Что вызывает это, и как можно исправить графику в RHEL 8 в этой ситуации? Какие файлы мне нужно искать? Как мне указать Linux конкретно выводить на 03:00.0 Matrox G200ew3?

Ответ или решение

Основная проблема, описанная в вашем вопросе, заключается в том, что после установки RHEL 8.10 и перезагрузки системы, графическая оболочка не отображается должным образом на мониторе, подключенном к VGA-порту материнской платы. Это может быть связано с конфликтами между устройствами Matrox G200ew3 и Nvidia GA104GL RTXA4000. Для решения этого вопроса необходимо провести диагностику и настройку системы, чтобы она использовала нужный графический адаптер.

Теория

В современных серверах и рабочих станциях часто встречается установка нескольких графических карт, что иногда приводит к конфликтам, особенно если используется более одного типа провайдера графических процессоров. В Linux, а конкретно в RHEL 8, используемая графическая подсистема по умолчанию — это X.Org или Wayland. При наличии конфликтов в графических выходах часто возникает необходимость вручную указывать, какой из графических адаптеров должен использоваться для вывода изображения.

В RHEL 8 настройка X.Org больше не использует файлы конфигурации как, например, "/etc/X11/xorg.conf", но это можно обойти, создавая конфигурационные файлы в каталоге "/etc/X11/xorg.conf.d/".

Пример

На вашей машине установка нескольких графических карт может вызывать сложности с определением первичного устройства вывода. Конфликт между встроенным устройством Matrox и мощной картой Nvidia может вызвать отключение или неправильную инициализацию графического интерфейса.

Например, при запуске команды lspci | grep -i vga, мы видим следующее:

  1. 03:00.0 VGA совместимое устройство… Matrox Electronics G200ew3
  2. 3b:00.0 VGA совместимое устройство… Nvidia GA104GL RTXA4000

Далее предполагается, что используется графическая карта Matrox для основного вывода. Однако в реальности система может попытаться инициализировать Nvidia в качестве графического адаптера для GUI, из-за чего и возникают проблемы при загрузке в graphical.target.

Применение

Для исправления ситуации, вам необходимо вручную указать, какая видеокарта должна использоваться. Это можно сделать следующим образом:

  1. Создание конфигурационного файла для X.Org:

    Создайте конфигурационный файл, который укажет X.Org использовать Matrox:

    sudo mkdir -p /etc/X11/xorg.conf.d/
    sudo nano /etc/X11/xorg.conf.d/10-matrox.conf

    Содержимое файла /etc/X11/xorg.conf.d/10-matrox.conf:

    Section "Device"
       Identifier  "Matrox Card"
       Driver      "modesetting"
       BusID       "PCI:3:0:0"
    EndSection

    Это укажет X.Org использовать карту Matrox как основной графический адаптер. Указание BusID гарантирует, что устройство распознается правильно.

  2. Обновление GRUB:

    Обновите конфигурацию GRUB, чтобы инициализация графики использовала XVGA.

    Откройте файл /etc/default/grub и добавьте/обновите следующую строку:

    GRUB_CMDLINE_LINUX="rd.driver.blacklist=nouveau"

    Это предотвратит конфликт драйверов Nouveau (из-за Nvidia).

    Затем обновите конфигурацию GRUB:

    sudo grub2-mkconfig -o /boot/grub2/grub.cfg
  3. Перезагрузка системы:

    После выполнения всех шагов перезапустите вашу систему, чтобы изменения вступили в силу:

    sudo reboot

Если после выполнения всех вышеперечисленных шагов проблема не исчезла, стоит проверить следующие моменты:

  • Убедитесь, что на вашей системе установлены все актуальные обновления и патчи, так как они могут содержать улучшения и исправления драйверов графических устройств.
  • Проверьте, что BIOS/UEFI настроен на использование встроенной графики Matrox в качестве основного устройства вывода.
  • Рассмотрите возможность использования проприетарного драйвера Nvidia, если на вашей системе требуется мощность графического процессора Nvidia для специфических задач и вы хотите переключать устройства графического вывода на лету.

Используя данные методы системного администрирования, вы сможете лучше управлять конфликтами между несколькими VGA-устройствами в вашей системе RHEL 8. При необходимости обязательно обратитесь за помощью к дополнительным ресурсам документации RHEL или специализированному техническому специалисту.

Оцените материал
Добавить комментарий

Капча загружается...