Вывод в виртуальную консоль (tty1) смехотворно медленный; возможная проблема с графическим ускорением

Некоторое время назад на старом компьютере под управлением Ubuntu я заметил вывод на виртуальной консоли (например, tty1) медленный. Это не было проблемой и едва заметно.

Но теперь на моем новом ноутбуке с Manjaro Linux (производным от Arch) он иногда до смешного медлителен. Я думаю, что это отличается от ситуации, описанной и объясненной здесь, поэтому мой вопрос не является дубликатом. Я подозреваю, что проблема с ускорением графики.

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

Возможно актуальная информация от dmesg:

[    0.474770] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[    0.478826] vesafb: mode is 1920x1080x32, linelength=7680, pages=0
[    0.478827] vesafb: scrolling: redraw
[    0.478828] vesafb: Truecolor: size=8:8:8:8, shift=24:16:8:0
[    0.478843] vesafb: framebuffer at 0xa0000000, mapped to 0xffffc90001000000, using 8128k, total 8128k
[    0.661095] Console: switching to colour frame buffer device 240x67
[    0.842325] fb0: VESA VGA frame buffer device
[    2.301199] fb: switching to inteldrmfb from VESA VGA
[    2.363655] fbcon: inteldrmfb (fb0) is primary device
[    2.363698] Console: switching to colour frame buffer device 240x67
[    2.363705] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device

scrolling: redraw часть выглядит интересной, хотя я не уверен, что это что-то значит, так как говорит switching to inteldrmfb from VESA VGA,

Выход из fbset -i:

mode "1920x1080" 
    geometry 1920 1080 1920 1080 32 
    timings 0 0 0 0 0 0 0 
    accel true 
    rgba 8/16,8/8,8/0,0/0 
endmode 

Frame buffer device information: 
    Name : inteldrmfb 
    Address : 0xa0000000 
    Size : 8294400 
    Type : PACKED PIXELS 
    Visual : TRUECOLOR 
    XPanStep : 1 
    YPanStep : 1 
    YWrapStep : 0 
    LineLength : 7680 
    Accelerator : No

Некоторые дополнительные тесты, чтобы документировать разницу:

  • time python -c "for i in range(100): print(\"hi\")"
    показывает мне 0.03s на xfce4-terminal а также 0.23s на виртуальной консоли.

  • time echo -e "\033c"
    0s на xfce4-terminal а также 0.14s-0.16s на виртуальной консоли.

  • time man gpm (и нажимая Q, пока он открывается)
    мгновенно на xfce4-terminal, 3s-4s на виртуальной консоли.

Это особенно неприятно при прокрутке man страницы. что интересно nano похоже, это не влияет.

Как заставить мои виртуальные консоли отображать текст с приличной скоростью?

1 ответ

Кстати, tty означает любое "телетайпное" устройство (последовательная линия, псевдотерминал, ...). Вы говорите о виртуальной консоли Linux. И прокрутка на этом смехотворно медленная, потому что последние версии Linux используют графический режим в кадровом буфере вместо текстового режима, но иногда не графическое ускорение.

Поэтому проверьте настройки кадрового буфера и посмотрите, не можете ли вы использовать его для ускорения с помощью правильного драйвера и т. Д.

Редактировать: Как видно на видео, проблема определенно заключается в прокрутке без ускорения путем перерисовки всего, можно увидеть "волны" при движении контента.

Я также запутался, почему сначала вы, кажется, используете vesafb (что делает медленную прокрутку без ускорения), а затем через 2 секунды inteldrmfb (что должно делать ускоренную прокрутку). Возможно, проблема связана с выключателем. Пожалуйста, предоставьте полный dmesg выводить после загрузки, положить его в каталог и т. д., и отредактировать вопрос по ссылке.

Другие вопросы по тегам