Skip site navigation (1)Skip section navigation (2)
Date:      19 Nov 2000 18:42:16 +0100
From:      Eric Masson <e-masson@kisoft-services.com>
To:        Mailing List FreeBSD Questions <freebsd-questions@FreeBSD.org>
Subject:   vidcontrol & VESA_1024x768
Message-ID:  <86g0kn505j.fsf@notbsdems.nantes.kisoft-services.com>

next in thread | raw e-mail | index | archive | help
--=-=-=

Hello,

I'm currently fighting with vidcontrol to make it support VESA_1024x768.
My laptop, IBM TP 390 2626-700 reports the following with `vidcontrol -i
mode` :

--=-=-=
Content-Disposition: attachment; filename=modes
Content-Description: Output of vidcontrol -i mode

    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 1     8x8   0xb8000 32k 32k 0x00000000 32k
  5 (0x005) 0x00000003 G 320x200x2 1     8x8   0xb8000 32k 32k 0x00000000 32k
  6 (0x006) 0x00000003 G 640x200x1 1     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 1     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 4     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 1     8x16  0xa0000 64k 64k 0xfd000000 2496k
257 (0x101) 0x0000000f G 640x480x8 1     8x16  0xa0000 64k 64k 0xfd000000 2496k
258 (0x102) 0x0000000b G 800x600x4 4     8x16  0xa0000 64k 64k 0x00000000 2496k
259 (0x103) 0x0000000f G 800x600x8 1     8x16  0xa0000 64k 64k 0xfd000000 2496k
260 (0x104) 0x0000000b G 1024x768x4 4    8x16  0xa0000 64k 64k 0x00000000 2496k
261 (0x105) 0x0000000f G 1024x768x8 1    8x16  0xa0000 64k 64k 0xfd000000 2496k
263 (0x107) 0x0000000f G 1280x1024x8 1   8x16  0xa0000 64k 64k 0xfd000000 2496k
269 (0x10d) 0x0000000f G 320x200x15 1    8x8   0xa0000 64k 64k 0xfd000000 2496k
270 (0x10e) 0x0000000f G 320x200x16 1    8x8   0xa0000 64k 64k 0xfd000000 2496k
272 (0x110) 0x0000000f G 640x480x15 1    8x16  0xa0000 64k 64k 0xfd000000 2496k
273 (0x111) 0x0000000f G 640x480x16 1    8x16  0xa0000 64k 64k 0xfd000000 2496k
274 (0x112) 0x0000000f G 640x480x24 1    8x16  0xa0000 64k 64k 0xfd000000 2496k
275 (0x113) 0x0000000f G 800x600x15 1    8x16  0xa0000 64k 64k 0xfd000000 2496k
276 (0x114) 0x0000000f G 800x600x16 1    8x16  0xa0000 64k 64k 0xfd000000 2496k
277 (0x115) 0x0000000f G 800x600x24 1    8x16  0xa0000 64k 64k 0xfd000000 2496k
278 (0x116) 0x0000000f G 1024x768x15 1   8x16  0xa0000 64k 64k 0xfd000000 2496k
279 (0x117) 0x0000000f G 1024x768x16 1   8x16  0xa0000 64k 64k 0xfd000000 2496k
280 (0x118) 0x0000000f G 1024x768x24 1   8x16  0xa0000 64k 64k 0xfd000000 2496k
288 (0x120) 0x0000000f G 320x240x8 1     8x8   0xa0000 64k 64k 0xfd000000 2496k
289 (0x121) 0x0000000f G 320x240x16 1    8x8   0xa0000 64k 64k 0xfd000000 2496k
290 (0x122) 0x0000000f G 400x300x8 1     8x8   0xa0000 64k 64k 0xfd000000 2496k
291 (0x123) 0x0000000f G 400x300x16 1    8x8   0xa0000 64k 64k 0xfd000000 2496k
292 (0x124) 0x0000000f G 512x384x8 1     8x8   0xa0000 64k 64k 0xfd000000 2496k
293 (0x125) 0x0000000f G 512x384x16 1    8x8   0xa0000 64k 64k 0xfd000000 2496k

--=-=-=


I've modified vidcontrol.c to add VESA_1024x768 in the following way

--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment; filename=vidcontrol.c.diff
Content-Description: Patch to vidcontrol.c

*** vidcontrol.c.orig	Sun Nov 19 16:16:58 2000
--- vidcontrol.c	Sun Nov 19 16:19:15 2000
***************
*** 295,300 ****
--- 295,301 ----
  		{ "VESA_132x50",	SW_VESA_C132x50 },
  		{ "VESA_132x60",	SW_VESA_C132x60 },
  		{ "VESA_800x600",	SW_VESA_800x600 },
+ 		{ "VESA_1024x768",	SW_VESA_1024x768 },
  		{ NULL },
  	};
  	unsigned long mode = 0;
***************
*** 317,324 ****
  		if (ioctl(0, mode, NULL) < 0)
  			warn("cannot set videomode");
  		if (mode == SW_VESA_800x600) {
! 			size[0] = 80;	/* columns */
! 			size[1] = 25;	/* rows */
  			size[2] = 16;	/* font size */
  			if (ioctl(0, KDRASTER, size)) {
  				ioerr = errno;
--- 318,338 ----
  		if (ioctl(0, mode, NULL) < 0)
  			warn("cannot set videomode");
  		if (mode == SW_VESA_800x600) {
! 			size[0] = 100;	/* columns */
! 			size[1] = 37;	/* rows */
! 			size[2] = 16;	/* font size */
! 			if (ioctl(0, KDRASTER, size)) {
! 				ioerr = errno;
! 				if (cur_mode >= M_VESA_BASE)
! 					ioctl(0, _IO('V', cur_mode), NULL);
! 				else
! 					ioctl(0, _IO('S', cur_mode), NULL);
! 				warnc(ioerr, "cannot activate raster display");
! 			}
! 		}
! 		if (mode == SW_VESA_1024x768) {
! 			size[0] = 128;	/* columns */
! 			size[1] = 48;	/* rows */
  			size[2] = 16;	/* font size */
  			if (ioctl(0, KDRASTER, size)) {
  				ioerr = errno;

--=-=-=


When I issue `vidcontrol VESA_1024x768`, the screen goes black (no display
at all), I can switch back to normal operation by `vidcontrol VESA_800x600`.

Any clues about this ?

TIA

Eric Masson
-- 
Progress (n) : What led from smart users in front of dumb terminals to
dumb users in front of smart terminals.

--=-=-=--


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?86g0kn505j.fsf>