We don't use phosphorus terminals and 64k video anymore toto

So why are we set by default as if we do?!
I don't know about you. But I haven't used such hardware since the early 80's. So why are the consoles/syscons/(p)tty(s) setup by default as if we still are -- 80x25 Text mode? Really. The other *nix group have been properly detecting, and accordingly rendering higher resolutions/modes for years. H3ll, even the many utility/boot CD/DVD's usually boot to higher resolutions/modes.
Sure. I understand that sometimes you're working on a headless system, maybe over a serial device. But even then, you're generally able to produce better modes than 80x25. So what's it take to offer booting to higher modes/resolutions? Can this become a "standard" with FreeBSD? Wouldn't it be great if loader() provided an option for higher modes/resolutions, as well as acpi(), multiuser, singleuser, and reboot? Really, why not? Devin Teske has done some things with loader. Specifically; the boot menu. It involved getting familiar with the forth language -- something I haven't messed with, since the late 90's, and early 2000. When I used to hack on OpenBoot on "classic" Macintoshes, so I could get OSX to install on hardware it was never intended/allowed to install on. Frankly, I wish he'd spent the time doing something more practical, like probing for capabilities, and offering the available resolutions in the boot menu. Then one can see more info in one page full, during boot. One can also have a more practical con/(p)tty to work in. Anyway. How exactly can one "bump up" their default boot, working console. Is vidcontrol() enough?
Given the only example in the vidcontrol() man() page:
The following command will set-up a 100x37 raster text mode (useful for some LCD models):
vidcontrol -g 100x37 VESA_800x600
Uh huh. Well that's nice. But I'm not on "some LCD models". In fact, I'm on a 25" CRT. I simply don't care for the "cartooney" look LCD displays produce. So what's it take? I don't even see the literal example in the table vidcontrol - mode produces:
Code:
    mode#     flags   type    size       font      window      linear buffer
------------------------------------------------------------------------------
  0 (0x000) 0x00000001 T 40x25           8x8   0xb8000 32k 32k 0x00000000 32k
  1 (0x001) 0x00000001 T 40x25           8x8   0xb8000 32k 32k 0x00000000 32k
  2 (0x002) 0x00000001 T 80x25           8x8   0xb8000 32k 32k 0x00000000 32k
  3 (0x003) 0x00000001 T 80x25           8x8   0xb8000 32k 32k 0x00000000 32k
  4 (0x004) 0x00000003 G 320x200x2 C     8x8   0xb8000 32k 32k 0x00000000 32k
  5 (0x005) 0x00000003 G 320x200x2 C     8x8   0xb8000 32k 32k 0x00000000 32k
  6 (0x006) 0x00000003 G 640x200x1 C     8x8   0xb8000 32k 32k 0x00000000 32k
 13 (0x00d) 0x00000003 G 320x200x4 4     8x8   0xa0000 64k 64k 0x00000000 256k
 14 (0x00e) 0x00000003 G 640x200x4 4     8x8   0xa0000 64k 64k 0x00000000 256k
 16 (0x010) 0x00000003 G 640x350x2 2     8x14  0xa0000 64k 64k 0x00000000 128k
 18 (0x012) 0x00000003 G 640x350x4 4     8x14  0xa0000 64k 64k 0x00000000 256k
 19 (0x013) 0x00000001 T 40x25           8x14  0xb8000 32k 32k 0x00000000 32k
 20 (0x014) 0x00000001 T 40x25           8x14  0xb8000 32k 32k 0x00000000 32k
 21 (0x015) 0x00000001 T 80x25           8x14  0xb8000 32k 32k 0x00000000 32k
 22 (0x016) 0x00000001 T 80x25           8x14  0xb8000 32k 32k 0x00000000 32k
 23 (0x017) 0x00000001 T 40x25           8x16  0xb8000 32k 32k 0x00000000 32k
 24 (0x018) 0x00000001 T 80x25           8x16  0xb8000 32k 32k 0x00000000 32k
 26 (0x01a) 0x00000003 G 640x480x4 4     8x16  0xa0000 64k 64k 0x00000000 256k
 27 (0x01b) 0x00000003 G 640x480x4 4     8x16  0xa0000 64k 64k 0x00000000 256k
 28 (0x01c) 0x00000003 G 320x200x8 P     8x8   0xa0000 64k 64k 0x00000000 64k
 30 (0x01e) 0x00000001 T 80x50           8x8   0xb8000 32k 32k 0x00000000 32k
 32 (0x020) 0x00000001 T 80x30           8x16  0xb8000 32k 32k 0x00000000 32k
 34 (0x022) 0x00000001 T 80x60           8x8   0xb8000 32k 32k 0x00000000 32k
 37 (0x025) 0x00000003 G 320x240x8 V     8x8   0xa0000 64k 64k 0x00000000 256k
112 (0x070) 0x00000000 T 80x43           8x8   0xb8000 32k 32k 0x00000000 32k
113 (0x071) 0x00000001 T 80x43           8x8   0xb8000 32k 32k 0x00000000 32k
256 (0x100) 0x0000000f G 640x400x8 P     8x16  0xa0000 64k 64k 0xc0000000 250k
257 (0x101) 0x0000000f G 640x480x8 P     8x16  0xa0000 64k 64k 0xc0000000 300k
258 (0x102) 0x0000000b G 800x600x4 4     8x16  0xa0000 64k 64k 0x00000000 234k
259 (0x103) 0x0000000f G 800x600x8 P     8x16  0xa0000 64k 64k 0xc0000000 468k
260 (0x104) 0x0000000b G 1024x768x4 4    8x16  0xa0000 64k 64k 0x00000000 384k
261 (0x105) 0x0000000f G 1024x768x8 P    8x16  0xa0000 64k 64k 0xc0000000 768k
262 (0x106) 0x0000000b G 1280x1024x4 4   8x16  0xa0000 64k 64k 0x00000000 640k
263 (0x107) 0x0000000f G 1280x1024x8 P   8x16  0xa0000 64k 64k 0xc0000000 1280k
270 (0x10e) 0x0000000f G 320x200x16 D    8x8   0xa0000 64k 64k 0xc0000000 125k
271 (0x10f) 0x0000000f G 320x200x32 D    8x8   0xa0000 64k 64k 0xc0000000 250k
273 (0x111) 0x0000000f G 640x480x16 D    8x16  0xa0000 64k 64k 0xc0000000 600k
274 (0x112) 0x0000000f G 640x480x32 D    8x16  0xa0000 64k 64k 0xc0000000 1200k
276 (0x114) 0x0000000f G 800x600x16 D    8x16  0xa0000 64k 64k 0xc0000000 937k
277 (0x115) 0x0000000f G 800x600x32 D    8x16  0xa0000 64k 64k 0xc0000000 1875k
279 (0x117) 0x0000000f G 1024x768x16 D   8x16  0xa0000 64k 64k 0xc0000000 1536k
280 (0x118) 0x0000000f G 1024x768x32 D   8x16  0xa0000 64k 64k 0xc0000000 3072k
282 (0x11a) 0x0000000f G 1280x1024x16 D  8x16  0xa0000 64k 64k 0xc0000000 2560k
283 (0x11b) 0x0000000f G 1280x1024x32 D  8x16  0xa0000 64k 64k 0xc0000000 5120k
304 (0x130) 0x0000000f G 320x200x8 P     8x8   0xa0000 64k 64k 0xc0000000 62k
305 (0x131) 0x0000000f G 320x400x8 P     8x16  0xa0000 64k 64k 0xc0000000 125k
306 (0x132) 0x0000000f G 320x400x16 D    8x16  0xa0000 64k 64k 0xc0000000 250k
307 (0x133) 0x0000000f G 320x400x32 D    8x16  0xa0000 64k 64k 0xc0000000 500k
308 (0x134) 0x0000000f G 320x240x8 P     8x8   0xa0000 64k 64k 0xc0000000 75k
309 (0x135) 0x0000000f G 320x240x16 D    8x8   0xa0000 64k 64k 0xc0000000 150k
310 (0x136) 0x0000000f G 320x240x32 D    8x8   0xa0000 64k 64k 0xc0000000 300k
317 (0x13d) 0x0000000f G 640x400x16 D    8x16  0xa0000 64k 64k 0xc0000000 500k
318 (0x13e) 0x0000000f G 640x400x32 D    8x16  0xa0000 64k 64k 0xc0000000 1000k
325 (0x145) 0x0000000f G 1600x1200x8 P   8x16  0xa0000 64k 64k 0xc0000000 1875k
326 (0x146) 0x0000000f G 1600x1200x16 D  8x16  0xa0000 64k 64k 0xc0000000 3750k
327 (0x147) 0x0000000f G 1400x1050x8 P   8x14  0xa0000 64k 64k 0xc0000000 1435k
328 (0x148) 0x0000000f G 1400x1050x16 D  8x14  0xa0000 64k 64k 0xc0000000 2871k
338 (0x152) 0x0000000f G 2048x1536x32 D  8x16  0xa0000 64k 64k 0xc0000000 12288k
and of course I'm currently set to:
Code:
# vidcontrol -i adapter
fb0:
    vga0, type:VESA VGA (5), flags:0x700ff
    initial mode:24, current mode:24, BIOS mode:3
    frame buffer window:0xb8000, buffer size:0x8000
    window size:0x8000, origin:0x0
    display start address (0, 0), scan line width:80
    reserved:0x0
yep. You guessed it, 80x25. :p
So I don't want to sound too obtuse, or anything. I know I could eventually "figure it out". But it's risky business. If you pick a "bad" mode, by using the wrong syntax, or something. You''re stuck with a corrupt, unreadable, or worse, console. While it might be hard to imagine; does it persist between (re)boots? That'd really suck. No?
So if someone were willing to shed a little more light on this subject; I'd be extremely grateful. Once I get a better feel for this; I'd like to try to do some work on improving loader(), and friends. So as to provide the ability to choose optional resolutions/modes to boot with, and if chosen, stay in.

Thank you for all your time, and consideration.

--Chris

@moderators
I chose this section, as opposed to "general", because it is specific to video card(s), and their capabilities. :)
 
Back
Top