[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

svgatextmode -> fbset: not so smooth



Hello everyone.  I just switched to a more modern graphics board with
VESA 2.0 support.  This board is not supported by svgatextmode, and
won't be as there's no development of svgatextmode anymore.  So I have
to use the framebuffer console, instead of svgatextmode, to provide
high-resolution text display (which is quite important to me).

The modes I can select for the framebuffer at boot are limited to the
VESA modes, for example to get 128x48 characters I need vga=0x305
which is 1024x768 pixels at 60Hz refresh rate.  But the hardware can
do much better: in X I can have this resolution with 95Hz!  Now it
seems I should be able to set the desired mode with fbset after
booting, just like I did with svgatextmode. 

Unfortunately, there's a catch: fbset only changes the mode _for the
current virtual terminal_.  As soon as I switch to another vt, I am
back to the default mode from boot.  So I tried something like this

#! /bin/sh

for i in 1 2 3 4 5 6 7 8 ; do
        chvt $i ; fbset 1024x768-95
done

chvt 1


but not even this seems to work!  The mode is changed - for vt1 only,
just as before.  Somehow the kernel seems to tightly associate the
framebuffer settings with vt1 until I switch to another vt
_interactively_.  So the only way to change the mode for all vts is to
log in on each one and run fbset manually.  On top of that fbset can
only be run as root, so this must be done with su/sudo :-(

All this almost makes me regret the upgrade.  Is there a way around
this difficulty?

Thanks,

-- 
Ian Zimmerman, Oakland, California, U.S.A.
The easiest way to win an argument: ridicule your opponent's basic
assumptions by stating their negation and postfixing it with ", right?"
GPG pub key: 433BA087 9C0F 194F 203A 63F7 B1B8 6E5A 8CA3 27DB 433B A087



Reply to: