Ubuntu Server 24.04 на Raspberry Pi 5 и официальном 7-дюймовом дисплее

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

Я уже два дня борюсь с тем, чтобы Ubuntu Server 24 LTS заработал на Raspberry Pi 5 (8Gb). Ситуация такая: я хотел бы создать VPN-сервер с OpenVPN (что обеспечивает полную совместимость с рассматриваемой системой). Чтобы это работало, требуется серверная версия LTS Ubuntu (https://openvpn.net/as-docs/raspberry-pi.html). Я думал о маленькой независимой станции с сенсорным дисплеем исключительно для этой цели и поэтому приобрел кожух для дисплея и официальный дисплей. Как только всё было собрано, я неправильно выбрал версию операционной системы, установив на SD-карту настольную версию (с помощью RPI imager – официального инструмента), я заметил это при запуске, но это не большая проблема, дисплей включается, сенсор работает. Я установил серверную версию на SD-карту всё тем же инструментом, и дисплей не запускается, я подключаю hdmi монитор и думаю, что будет достаточно установить графический интерфейс и некоторые настройки здесь и там, а вместо этого начинается мучение. sudo apt update && sudo apt upgrade и с командой apt install ubuntu-desktop я загружаю все пакеты и устанавливаю, при перезагрузке на мониторе всё останавливается на экране с мигающим курсором в верхнем левом углу……. Ctrl + Alt + F2 и я возвращаюсь к консоли, пробую команду startx и xinit, сдаюсь, не удается подключиться к x, ошибка сервера.

Я снова подготовил SD и попробовал с xubuntu-desktop, и получил ту же историю. Я снова подготовил SD, переустановил полный рабочий стол и попытался изменить файл конфигурации, как нашел в единственном посте в интернете, который пытается решить что-то похожее:

Вставьте “display_auto_detect=1” и закомментируйте строку “dtoverlay=vc4-kms-v3d” в /boot/firmware/config.txt, чтобы включить сенсорный экран на ubuntu “display_auto_detect=1” у меня уже было в конфигурации, и я просто добавил #, чтобы “закомментировать” dtoverlay=vc4-kms-v3d, которая тоже уже присутствует. Результат — ничего не сделано.

Рабочий стол не запускается на HDMI, и сенсорный дисплей не включается. Руководство, использованное для подключения к плате: https://www.raspberrypi.com/documentation/accessories/display.html

Я попытался снова установить настольную версию, и сенсорный дисплей снова заработал (кажется, его нужно как-то перекалибровать), и я воспользовался случаем, чтобы сравнить два конфигурационных файла (настольный с отображением, которое включается, и серверный). Я вставил их сюда, и есть только одно отличие.

конфигурация настольной версии

конфигурация сервера lts

разница между двумя конфигурационными файлами, похоже, не имеет к этому никакого отношения, это просто должен быть включен отладочный порт. это то, что происходит, когда я ввожу команду startx: https://ibb.co/5hY9YS8P

после ошибки я открыл x log файл:

https://ibb.co/KvNF9bj

https://ibb.co/yFq21JsS

https://ibb.co/HTsqvJ8v

как вы думаете, в чём дело?

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

Конечно, давайте углубимся в вашу проблему с использованием Raspberry Pi 5 и Ubuntu Server 24.04 LTS для создания VPN-сервера с OpenVPN и подключения с сенсорным дисплеем.

Теория

Raspberry Pi часто используется для построения небольших серверных конфигураций благодаря своей низкой стоимости и поддержке различных операционных систем на базе Linux. Ваша задача – развернуть сервер Ubuntu, совместимый с OpenVPN, на Raspberry Pi 5 с подключенным сенсорным дисплеем, которое вам поможет отслеживать конфигурацию и работу сервера без внешних мониторов. Однако проблема заключается в том, что серверная версия Ubuntu не поддерживает графический интерфейс по умолчанию, что вызывает проблемы с отображением на официальном сенсорном дисплее Raspberry Pi.

Пример

Как вы отметили, ошибка возникает после установки графического окружения поверх серверной верcии Ubuntu; при этом дисплей остается черным, а запуск графической оболочки приводит к ошибке подключения к X-серверу. Это стандартная ситуация для серверных ОС, которым по умолчанию не требуется графический интерфейс. Проблема с конфигурацией /boot/firmware/config.txt также понятна, поскольку драйверы сенсорного экрана настраиваются иначе в серверной и десктопной версиях.

Для успешного подключения сенсорного дисплея для вывода графического интерфейса необходимо учитывать следующее:

  1. Серверные версии Ubuntu не предустановлены с X-сервером и графическими драйверами, которые требуются для работы инструментов ввода/вывода.
  2. Санкционировать правильные драйверы для сенсорных дисплеев и LCD экранов в серверных конфигурациях, требует ручной инсталляции и конфигурации.
  3. Проблема может также заключаться в том, что серверная версия содержит минимальные версии конфигурационных файлов. Это подтверждает разница в конфигурации между серверной и десктопной версиями, которую вы отметили.

Реализация

Давайте перейдем к возможным решениям:

  1. Установка недостающих драйверов и пакетов:

    • Убедитесь, что все необходимые пакеты для работы X-сервера и драйверов дисплея установлены:
      sudo apt install xserver-xorg-input-all xinit
    • Для сенсорного экрана возможно потребуется установка дополнительных дроверов:
      sudo apt install xserver-xorg-input-evdev
  2. Конфигурация X-сервера:

    • Создайте конфигурационные файлы, если они отсутствуют, и укажите необходимые параметры дисплея и ввода. Для ручной настройки X-сервера:
      sudo nano /etc/X11/xorg.conf.d/99-calibration.conf
      • Добавьте параметры для дисплея и устройства ввода.
  3. Решение проблем с конфигурацией config.txt:

    • Откройте файл конфигурации:
      sudo nano /boot/firmware/config.txt
    • Убедитесь, что вы использовали правильные шины и драйверы. Если закомментированный параметр dtoverlay=vc4-kms-v3d не дал результата, попробуйте другие доступные опции оверлеев.
  4. Использование другой версии системы:

    • Если ни одно из вышеуказанных решений не подходит, попробуйте использовать Raspberry Pi OS, которая может предлагать лучшие драйверы для дисплея и сенсорного экрана из коробки.
  5. Поиск готовых образов:

    • Исследуйте возможность использования готовых образов распределений с предустановленными GUI и поддержкой сенсорных экранов на Raspberry Pi. Интернет-сообщество может предложить кастомные дистрибутивы, уже оптимизированные для такого типа использования.
  6. Логи и диагностика:

    • Просмотрите логи X-сервера, пытаясь выявить специфичные ошибки:
      cat /var/log/Xorg.0.log
    • Используйте информацию из логов для более целенаправленного поиска решения.

Заключение

На основе вышеизложенной информации, подход к решению проблем с подключением сенсорного дисплея к серверной версии Ubuntu на Raspberry Pi требует последовательной отладки конфигурации программного и аппаратного обеспечения. Следует следить за обновлениями системы и патчами, которые могут решить проблемы совместимости. В случае дальнейших трудностей, рекомендуется обратиться к сообществу пользователей Raspberry Pi и Ubuntu, которые могут предоставить специфические для вашей ситуации решения и советы.

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

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