LINUX.ORG.RU

Uvesafb фликует экран на Radeon RX 400 series

 


0

1

после загрузки модуля modprobe uvesafb, экран консоли начинает мелькать (быстро пропадает изображение и появляется). в dmesg вывод такой:

uvesafb: (C) 1988-2010, Advanced Micro Devices, Inc., BAFFIN, 01.00, OEM: AMD ATOMBIOS, VBE v3.0
uvesafb: VBIOS/hardware supports DDC2 transfers
uvesafb: monitor limits: vf = 75 Hz, hf = 90 kHz, clk = 250 MHz
uvesafb: scrolling: redraw
uvesafb: mode switch failed (eax=0x34f, err=0) - trying again with default timings
uvesafb: mode switch failed (eax=0x34f, err=0) - trying again with default timings
Console: switching to colour frame buffer device 80x30
uvesafb: mode switch failed (eax=0x34f, err=0) - trying again with default timings
uvesafb: framebuffer at 0xe0000000, mapped to 0x00000000ab3caff7, using 28800k, total 49152k
uvesafb: fb0: VESA VGA frame buffer device

если вместо uvesafb использую драйвер vesafb (с vga mode = 323), то изображение ровное, не мелькает.

монитор LCD, 60Hz-75Hz.

как мне заставить uvesafb работать нормально? пробовал опции nocrtc, nomttr, режим 1024x768-32 - не помогает.

P/S amdgpu драйвер не могу использовать, во первых он не влезет в целевую систему, во вторых мне требуется обеспечить работу всех современных видеокарт, не тока intel и amd.

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

и ещё проблема с vesa драйвером, что non-root Xorg на vesa не запустился, ругался что прерывание int10 не имеет прав вызвать ((II) VESA(0): initializing int10; (EE) VESA(0): Cannot read int vect). может elogind как то это умеет фиксить? elogind с /dev/fb0 умеет отлично назначать права пользователя. если в иксах существует способ как без рута стартануть на vesa то этот вариант в принципе тоже мне подойдёт.



Последнее исправление: str8fast (всего исправлений: 2)

uvesafb мягко говоря устарел. Сейчас в моде simplefb или efifb

мне хотелось бы функционал с возможностью выбора разрешения уже после старта ядра.

Зачем? В идеале с помощью vesafb/simplefb (и может efifb, тут я хз - у меня железо не настолько новое) сейчас можно добиться единого разрешения от момента старта загрузчика(если используется grub с gfxpayload keep) вплоть до старта иксов.

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

будет live система, хотелось бы автоматом на лету определять разрешение под текущий монитор. а simplefb получается будет работать на том что прописано в grub или выдаст efi. поэтому не самое желательное решение.

str8fast
() автор топика
Ответ на: комментарий от str8fast

Если речь о том, что нужно поддерживать legacy-системы - тогда можно и подискутировать. В мире EFI, как я понимаю, принято полагаться на то, что выдаёт EFI.

Pinkbyte ★★★★★
()
Ответ на: комментарий от str8fast

неправда, прописывай в параметры ядра video=efifb:auto

anonymous
()
Ответ на: комментарий от str8fast

ну и в любом случае это всё фигня, тк должен загружаться родной drm видуодрайвер, никакие *fb не нужны

anonymous
()
Ответ на: комментарий от anonymous

для intel я установил. а драйвера amdgpu и nvidia я не имеет места вкрутить. но стартовать Иксы хочу. на полном разрешении. поэтому fbdev или vesa. загрузка предполагается и по pxe, и я не уверен что на всех машинах включен efi bios, хотелось бы универсальное решение.

str8fast
() автор топика

а посля раздумий.

uvesafb кривое. полагаться нельзя на его работоспособность на всём оборудовании. заглавие топика можно воспринимать не как вопрос, а как констатацию факта.

vesa работает нормальное везде. и я даже проверил с разрешением 2560х1080.

решил остановится на самом надёжном варианте: без vesafb/uvesafb. в ядре с i915 и с xorg-x86-intel + xorg-x86-vesa в системе.

консоль стартует без фреймбуфера. нет опций ядра vga= и т.д.

  1. если видеокарта intel, то драйвер и фреймбуфер подгружается. Xorg стартует от юзера (через поддержку elogind).
  2. если видеокарта другая, то s+u /usr/bin/Xorg, т.е. Иксы стартуют с рутом, далее vesa int10 драйвер переключает разрешение экрана на максимальное.

тема исчерпана.

str8fast
() автор топика

Ыыыыххх–хааа!

Запилите новость штоле… Там Vulkan video спецификации вышли. Так что готовьте деньгу на новые видяшки, железные кодеки быстро устаревают.. му-ха-ха!

Короч, еще года 4 будем ждать обновленных аппаратных реализаций.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.