Ubuntu 24.04: разрешение экрана фиксировано на 1024×768 после последнего обновления ядра.

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

Я не могу обновить версию ядра с 6.8.0-11, даже 6.8.0-55 имеет ту же проблему.

uname -a
6.8.0-11-generic #11-Ubuntu SMP PREEMPT_DYNAMIC Wed Feb 14 02:53:31 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux

inxi -G
Graphics:
Message: Нет данных ARM для этой функции.
Display: x11 server: X.Org v: 21.1.11 driver: X: загружен: modesetting
unloaded: fbdev dri: swrast gpu: N/A resolution: 1920x1080~60Hz
API: EGL v: 1.5 drivers: swrast platforms: x11,surfaceless,device
API: OpenGL v: 4.5 vendor: mesa v: 24.2.8-1ubuntu1~24.04.1
renderer: llvmpipe (LLVM 19.1.1 128 bits)
    
lsmod | grep fb
hyperv_fb 24576 0
hv_vmbus 172032 8 hv_balloon,hv_utils,hv_netvsc,hid_hyperv,hv_storvsc,hyperv_keyboard,hyperv_drm,hyperv_fb

lsmod | grep mode

Последнее доступное ядро 6.11.0-17 не работает.

6.11.0-17-generic #17~24.04.2-Ubuntu SMP PREEMPT_DYNAMIC Mon Jan 20 21:54:05 UTC 2 aarch64 aarch64 aarch64 GNU/Linux

inxi -G
Graphics:
Message: Нет данных ARM для этой функции.
Display: x11 server: X.Org v: 21.1.11 driver: X: загружен: fbdev
unloaded: modesetting dri: swrast gpu: N/A resolution: 1024x768
API: EGL v: 1.5 drivers: swrast platforms: x11,surfaceless,device
API: OpenGL v: 4.5 vendor: mesa v: 24.2.8-1ubuntu1~24.04.1
renderer: llvmpipe (LLVM 19.1.1 128 bits)

hyperv_fb 24576 1
hv_vmbus 172032 8 hv_balloon,hv_utils,hv_netvsc,hid_hyperv,hv_storvsc,hyperv_keyboard,hyperv_drm,hyperv_fb

lsmod | grep mode

К сожалению, устройство SoC, Snapdragon 8cx gen 2, является единственным в серии (gen 1, gen 3 и gen 4 (ссылки не принимаются)), которое не поддерживается ядром Linux. Поэтому единственное решение, которое я нашел, это использовать hyper-v на windows 11 (virtualbox не работает на arm на windows).

В любом случае, виртуальная машина с ubuntu 24.04 корректно работает только с ядрами до 6.8.0-11, поэтому я считаю, что есть проблема с этой ос.

Что я могу сделать?

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

Столкнулись с проблемой фиксированного разрешения экрана 1024×768 после обновления ядра на Ubuntu 24.04, особенно в окружении виртуализированных ARM-виртуальных машин на базе Hyper-V на процессоре Snapdragon 8cx Gen 2. Это не только снижает производительность, но и создает неудобства для работы. Ниже приведен детальный анализ проблемы и рекомендации по ее решению.

Теория

Проблема фиксированного разрешения экрана, как правило, указывает на несовместимость или проблемы в драйверах графики или в конфигурации системы. В вашем случае это может быть связано с недостаточной поддержкой графического чипа в ядре Linux для SoC Snapdragon 8cx Gen 2. Как было указано, среди представителей серии Gen 1, Gen 3 и Gen 4, именно Gen 2 не получает необходимую поддержку в актуальных ядрах Linux.

Причина довольно проста: зачастую развитие ОС Linux, особенно ее компонентов, связанных с аппаратной поддержкой, опирается на вклад со стороны производителей железа. Иногда новые или специфичные компоненты переписываются позже, когда проект открытых драйверов начинает поддерживать особенности нового оборудования. В данном случае, актуальные версии ядра, начиная с 6.8.0-11 и выше, видимо, изменили или обновили модули, связанные с ARM-архитектурой или поддержкой определенных графических операций, в результате чего ваше оборудование столкнулось с проблемами отображения.

Пример

Если рассмотреть выход команды inxi -G, видно, что драйвер fbdev загружен вместо modesetting, что указывает на вероятные проблемы в поддержке аппаратного ускорения вашей графической подсистемы. fbdev — это драйвер, используемый для базовой работы с framebuffer, и он значительно ограничен в своих возможностях по сравнению с более мощными драйверами.

inxi -G
Graphics:
Display: x11 server: X.Org v: 21.1.11 driver: X: loaded: fbdev
unloaded: modesetting dri: swrast gpu: N/A resolution: 1024x768

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

Применение

Решение данной проблемы требует комплексного подхода:

  1. Проверка и установка доступных обновлений:

    • Убедитесь, что у вас установлены все обновления для Ubuntu 24.04. Иногда проблемы решаются через патчи или новые версии пакетов, в том числе связанного с X.Org Server и библиотеками Mesa.
  2. Использование более стабильного ядра:

    • Если возможно, откатитесь на более раннюю версию ядра, которая не испытывает данную проблему. Если kernel 6.8.0-11 работают без проблем, временно используйте его, особенно если обновление не критично для других аспектов системы.
  3. Углубленный анализ изменений:

    • Посмотреть изменения в новых ядрах, которые могли бы повлиять на вашу аппаратную платформу. Это может оказаться сложным без профессиональных знаний в области разработки ядра, но может дать понимание, какие именно изменения могли вызвать проблему.
  4. Сбор информации и поддержка сообщества:

    • Проверьте форумы и баг-трекеры, такие как Bugzilla на kernel.org, чтобы понять, делает ли кто-то еще взнос в поддержку вашего процессора. Комбинация вашего чипа и системы может оказаться не столь распространенной, однако иногда сообщества разработчиков ARM обновляются довольно быстро, и поддержка может быть добавлена в ближайшие версии.
  5. Альтернативные виртуализационные решения:

    • Если вы не привязаны к Hyper-V, рассмотрите возможность использования других гипервизоров, таких как QEMU, который имеет более широкую поддержку различных архитектур и может корректно работать с ARM платформами.
  6. Развертывание временного решения:

    • Поработайте над созданием удобного скрипта, который будет переключать вас между версиями ядра в зависимости от ваших нужд. Используйте команды Grub для загрузки нужной версии ядра.
  7. Открытие обращения:

    • В качестве крайней меры откройте тикет в официальных каналах поддержки Ubuntu или kernel.org. Это может привлечь внимание разработчиков, если их усилия не учитывают вашу аппаратную конфигурацию.

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

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

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