Last active 8 months ago

Readme.md Raw

На серверах Huawei 2288H V5 (и других серверах Huawei серии V5) работа с графическим выводом и framebuffer в UEFI-режиме имеет особенности, связанные с тем, что:

  • Эти серверы не имеют выделенного GPU — используется встроенный видеоконтроллер на базе ASPEED AST2500 (или аналогичного BMC-чипа).
  • В UEFI-режиме VESA-совместимый режим отключён (как раз то, о чём говорит ошибка vesa: Refusing to run on UEFI).
  • По умолчанию Linux может не видеть /dev/fb0, если не загружен правильный драйвер.

✅ Цель

Включить framebuffer (/dev/fb0) в Linux под UEFI на Huawei 2288H V5 для запуска X.Org или консольной графики.


🔧 Шаг 1: Убедитесь, что включён видеовыход в BIOS/UEFI

  1. Перезагрузите сервер.
  2. Зайдите в BIOS Setup (обычно клавиша Delete или F2).
  3. Перейдите в:
    Advanced → PCI Subsystem Settings → AST2500 VGA Support
    
  4. Убедитесь, что AST2500 VGA Support = Enabled.
  5. Также проверьте:
    • Primary Display → AST2500
    • UEFI GOP Driver → Enabled (GOP = Graphics Output Protocol)

⚠️ Без GOP в UEFI Linux не получит графический вывод.

  1. Сохраните настройки и перезагрузитесь.

🔧 Шаг 2: Проверьте наличие устройства в Linux

После загрузки Linux выполните:

lspci | grep -i vga

Вы должны увидеть что-то вроде:

04:00.0 VGA compatible controller: ASPEED Technology, Inc. ASPEED Graphics Family

Также проверьте:

ls /dev/fb*
dmesg | grep -i ast
dmesg | grep -i frame

Если /dev/fb0 отсутствует, скорее всего, не загружен драйвер ast.


🔧 Шаг 3: Убедитесь, что загружен драйвер ast

Драйвер ядра Linux для ASPEED называется ast.

Проверьте:

lsmod | grep ast

Если нет — загрузите вручную:

modprobe ast

Если команда завершается ошибкой (modprobe: FATAL: Module ast not found), значит, ваш ядро не содержит драйвер ast.

📌 Решение:

  • Используйте более новое ядро Linux (≥ 4.15, лучше ≥ 5.4).
  • Или пересоберите ядро с включённой опцией:
    CONFIG_DRM_AST=y
    
    (это драйвер DRM/KMS для ASPEED).

💡 Начиная с ядра 4.10–4.15, поддержка ASPEED AST2500 улучшена. В Ubuntu 20.04+ / Debian 11+ / RHEL 8+ драйвер обычно есть.


🔧 Шаг 4: Проверьте, работает ли framebuffer

После загрузки ast:

ls /dev/fb0        # должен появиться
cat /sys/class/graphics/fb0/name

Вы можете даже вывести изображение (например, через fbi):

sudo apt install fbi
sudo fbi -T 1 image.jpg

🔧 Шаг 5: Настройка X.Org (если нужно)

Создайте файл /etc/X11/xorg.conf.d/20-aspeed.conf:

Section "Device"
    Identifier "ASPEED"
    Driver "modesetting"
    BusID "PCI:4:0:0"   # ← замените на ваш BusID из lspci!
EndSection

Section "Screen"
    Identifier "Screen0"
    Device "ASPEED"
    DefaultDepth 24
EndSection

Узнайте точный BusID:

lspci -nn | grep ASPEED
# Пример: 04:00.0 → BusID = "PCI:4:0:0"

Затем попробуйте запустить X:

startx

⚠️ Важные ограничения

  • ASPEED AST2500 — очень слабый GPU, предназначен только для удалённого управления (iBMC) и базовой консоли.
  • Он не поддерживает аппаратное ускорение 3D.
  • Разрешение обычно ограничено 1920×1200 или 1280×1024.
  • В некоторых прошивках BMC графический вывод отключён полностью — проверьте версию BIOS/iBMC.

🔍 Дополнительно: Обновите BIOS/iBMC

Убедитесь, что у вас последняя версия BIOS и iBMC от Huawei:

  • Старые версии могут не предоставлять GOP в UEFI.
  • Обновления часто добавляют/фиксят поддержку framebuffer.

Скачать можно с официального портала Huawei Enterprise.


📌 Краткий чек-лист

Шаг Статус
✅ AST2500 VGA в BIOS включён ✔
✅ UEFI GOP включён ✔
✅ Ядро ≥ 5.4 (или с CONFIG_DRM_AST) ✔
✅ Модуль ast загружен ✔
✅ /dev/fb0 существует ✔

Если всё сделано — framebuffer заработает, и X.Org сможет использовать modesetting драйвер.


Если вы укажете:

  • Ваш дистрибутив и версию ядра (uname -r)
  • Вывод lspci -nn | grep ASPEED
  • Есть ли /dev/fb0

— я помогу точнее!