You are not logged in.

#1 2007-09-24 01:16:23

bzklrm
Member
From: Australia
Registered: 2005-04-18
Posts: 36

improving scrolling speed in linux terminal

Hi all,

I generally use only terminal apps. For some time I set up my system to boot in the linux console, with a resolution of 1024x768 (using vga=). But then, using framebuffer, scrolling is frustratingly slow, even after adding video=vesafb,mtrr:3,yspan.
If I boot without any vga= option the system responsiveness is the way I want, but resolution is horribly low.

Would anyone know a way I can get the best of both world? Maybe by recompiling my kernel to use a better resolution by default ? (Yeah, I know it's kind of wasting my time, as I can and probably will use X to meet my needs, but I'm just curious)

Offline

#2 2007-09-24 02:01:26

kagerato
Member
Registered: 2007-09-10
Posts: 45
Website

Re: improving scrolling speed in linux terminal

Vesafb is a generic framebuffer driver, and there's some significant limitations to its capacities (especially at resolutions higher than 1024x768, I've found).  As you've seen, even with MTRRs and playing with the ywrap/yspan options, you may not get the response you want.  Note that the reason for this can vary.  Sometimes your ywrap option, for instance, is not actually being enabled.  Check the kernel output at startup or using dmesg .

Your options are:

1.) Look for a card or card-class specific framebuffer driver that works for your hardware, and build a kernel that uses it.  Beware that the these specific drivers are not always faster than vesafb.

2.) Find a userspace application or library to manage the framebuffer more effectively. DirectFB, perhaps.  If it doesn't provide acceleration for your card, though, I doubt you will see any improvement(s).

3.) Use a different bit depth.  Amazingly enough, 8 or 16 bits per pixel can be significantly faster than 24/32 bits, depending on the hardware.  Obviously this isn't an option if you need millions of colors.

As to recompiling the kernel just to set the default resolution; don't bother.  It makes no performance difference (compared to specifying on the kernel boot line with the vga parameter).

Offline

#3 2007-09-24 07:45:16

retsaw
Member
From: London, UK
Registered: 2005-03-22
Posts: 132

Re: improving scrolling speed in linux terminal

4) Don't use the framebuffer.  Most graphics chips support a variety of text modes, boot with vga=ask and you'll get given a selection of diiferent text modes to choose from most with a higher resolution than the default.

Offline

#4 2007-09-24 08:11:31

klixon
Member
From: Nederland
Registered: 2007-01-17
Posts: 525

Re: improving scrolling speed in linux terminal

try with vga=792.
Also, maybe the config-option "scrollback buffer in RAM" is enabled, which makes the framebuffer horribly slow


Stand back, intruder, or i'll blast you out of space! I am Klixon and I don't want any dealings with you human lifeforms. I'm a cyborg!

Offline

#5 2007-09-24 20:58:02

bzklrm
Member
From: Australia
Registered: 2005-04-18
Posts: 36

Re: improving scrolling speed in linux terminal

Thanks heaps for the answers!
vga=792 is what I had in the beginning, and it is slow.
With vga=ask, the choice I get is not very satisfactory -- 80x60 is the best I can get. I don't get suggested anything with more than 80 columns. hmm
With video=nvidiafb instead of vesafb I get the same, slow, scrolling sad
I am using the default arch kernel, so I think the scrollback option is not set.

Last edited by bzklrm (2007-09-24 20:59:07)

Offline

#6 2007-09-25 01:33:03

kagerato
Member
Registered: 2007-09-10
Posts: 45
Website

Re: improving scrolling speed in linux terminal

If this problem is bothering you a great deal, you could also try vesafb-tng or its successor, uvesafb.  They're not in the vanilla kernel; you need the patches.

Links:

http://dev.gentoo.org/~spock/projects/vesafb-tng/
http://dev.gentoo.org/~spock/projects/uvesafb/

Offline

Board footer

Powered by FluxBB