Banana Pro — автоматическое изменение разрешения дисплея для фреймбуфера при загрузке

Если у вас есть SoC (система на кристалле) с именем Banana Pro, вы можете столкнуться с проблемой, что большинство дистрибутивов Linux, доступных для этой платы, не соблюдают разрешение экрана, которое вы установили в файле uEnv.txt. Эта проблема, связанная с разрешением, может возникнуть, особенно если вы используете какой-либо преобразователь HDMI -> VGA. Вот рабочее решение, чтобы исправить это.

банан soc баннер логотипПо умолчанию для установки желаемого разрешения из разрешений, поддерживаемых графическим процессором платы, обычно требуется смонтировать загрузочный раздел FAT32 и отредактировать файл с именем uEnv.txt. В общем случае команды будут выглядеть следующим образом:

# монтировать / dev / mmcblk0p1 / mnt # nano /mnt/uEnv.txt 

Затем вы можете установить желаемое разрешение в строке bootargs, изменив часть disp.screen0.output_mode на что-то вроде этого:

disp.screen0.output_mode = 1920x1080p60

Это означает, что при следующей загрузке необходимо установить разрешение экрана 1920×1080 и 60 Гц.
Однако, как я уже упоминал выше, это не действует. Если описанная последовательность вам не подходит, есть другое решение.

  1. Перечислите все доступные режимы отображения для вашей доски. Это можно сделать с помощью следующей команды:
    # кошка / системный / класс / графика / fb0 / режимы

    Это даст вам представление о том, какое разрешение можно установить.

  2. Теперь установите желаемое разрешение с помощью следующей команды:
    # echo "V: 1024x768p-60"> / sys / class / graphics / fb0 / mode

    Здесь я предполагаю, что вы получили значение V: 1024x768p-60 из списка режимов, который вы видели на предыдущем шаге.

  3. Теперь установите инструмент fbset. Команда может отличаться в зависимости от дистрибутива, который вы установили на Banana Pro. Например, для Arch Linux используйте следующую команду:
    # pacman -S fbset
  4. Запустить fbset без параметров. Результат будет примерно таким:вывод fbset
  5. Убедитесь, что оно соответствует текущему разрешению, которое вы установили с помощью команды «echo». Теперь выполните следующую команду:
    # fbset >> /etc/fb.modes

    Это добавит ваш текущий режим в файл /etc/fb.modes.fbset вывод в файл

  6. Откройте файл /etc/fb.modes в любом текстовом редакторе (вы можете использовать что-то вроде nano). Перейти в конец файла.
  7. Там вы найдете текущий режим. Переименуйте раздел во что-то вроде «mymode» и удалите строку rgba. До:доПосле:после
  8. Теперь вы можете в любой момент ввести следующую команду, чтобы установить текущее разрешение:
    # fbset mymode

    Это переключит разрешение дисплея для фреймбуфера консоли.

Теперь, чтобы автоматически изменять разрешение дисплея Banana Pro при каждой загрузке, вы можете сделать следующее:

  • Если ваш дистрибутив (например, Bananian) не поставляется с менеджером инициализации systemd, добавьте команду fbset mymode в конец файла /etc/rc.local.
  • Если вы используете systemd (например, при использовании Arch Linux), создайте новый файл * .service, то есть display.service, и поместите его в следующее место:
    /etc/systemd/system/display.service
  • Добавьте в файл display.service следующий контент:
    [Ед. изм] Описание = Разрешение дисплея После = local-fs.target DefaultDependencies = нет
    [Услуга] Тип = простой ExecStart = / usr / bin / fbset mymode
    [Установить] WantedBy = multi-user.target 

    После этого нужно включить агрегат:

    # systemctl включить display.service

Вот и все. Теперь при каждой загрузке ваша плата Banana Pro автоматически устанавливает необходимое разрешение экрана.

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

Ваш адрес email не будет опубликован.