[PATCH TO TEST] VESA [1024x768] mode support for FreeBSD-CURRENT

Jay O'Brien jayobrien at att.net
Mon Apr 11 23:57:11 PDT 2005


Michal Mertl wrote:
> Jay O'Brien píše v po 11. 04. 2005 v 00:43 -0700: 
>>
>>Michal,
>>
>>The md5 results for vidcontrol.diff.20050215 are the same as yours. The other 
>>files, however, are different. I first did 
>>fetch http://www.freebsd.org/cgi/cvsweb.cgi/src/usr.sbin/vidcontrol/vidcontrol.c
>>fetch http://www.freebsd.org/cgi/cvsweb.cgi/src/usr.sbin/vidcontrol/vidcontrol.1
>>to get the files. I now see this doesn't get the correct files. Rather, it gets 
>>files marked up for the web. Obviously that was a big problem. 
>>
>>Then, using WinXP Pro and Mozilla, I downloaded the files again from 
>>http://www.freebsd.org/cgi/cvsweb.cgi/src/usr.sbin/vidcontrol/
>>and I moved them to the FreeBSD machine using WS_FTP Pro. 
>>Different md5 results again. 
>>
>>I found that now the first hunk of the patch on vidcontrol.1 failed. 
>>
>>After much file comparing, I found the differences in the files. The "$FreeBSD" 
>>line near the beginning of each file had  "/repoman/r/ncvs/" in front of 
>>src/user.sbin/... and when I edited those characters out, the md5 results were 
>>the same as yours, and the patch completed without errors. I found that the 
>>vidcontrol.c file would patch ok without editing out those characters, but the 
>>vidcontrol.1 file would error in hunk #1 if "/repoman/r/ncvs/" was present.
> 
> 
> I see. Sorry about that. I didn't actually retrieve my files from
> cvsweb, I have a local copy of the repository.
> 
> 
>>I rebuilt the kernel with SC_PIXEL MODE and VESA. When it rebooted, I got 
>>16 lines of "vidcontrol:  showing the mouse:  Invalid argument" which I see 
>>from a google search is a common problem.
> 
> 
> Yes. I didn't look into it.

Do you see this problem on your system?

> 
> 
>>Whenever I select a mode with more than 80 characters the screen goes black. 
> 
> 
> I'm afraid I've never seen this.
> 
> 
>>I loaded cp837-8x8 font, but no change.
> 
> 
> I suppose you mean 437. It shouldn't be important. 
> 

Yes, 437. My typo. sorry.

> 
>>I have the following in /etc/rc.conf, to set up 80x50, could it be the problem?
>>font8x8="iso08-8x8"
>>font8x14="iso08-8x14"
>>font8x16="iso08-8x16"
>>scrnmap="iso-8859-1_to_cp437"
>>allscreens_flags="-m on 80x50 white black" 
> 
> 
> I didn't try it lately. I just used vidcontrol manually.
> 
> 
>>Or perhaps this that I have now in /etc/ttys?
>>ttyv0	"/usr/libexec/getty Pc"		cons50	on  secure
>># Virtual terminals
>>ttyv1	"/usr/libexec/getty Pc"		cons50	on  secure
>>ttyv2	"/usr/libexec/getty Pc"		cons50	on  secure
>>ttyv3	"/usr/libexec/getty Pc"		cons50	on  secure
>>ttyv4	"/usr/libexec/getty Pc"		cons50	on  secure
>>ttyv5	"/usr/libexec/getty Pc"		cons50	on  secure
>>ttyv6	"/usr/libexec/getty Pc"		cons50	on  secure
>>
>>At least now I can see what MAY be possible; vidcontrol -i mode returns a 
>>screenful of fonts to try. Tomorrow I'll identify which ones work and 
>>which ones don't.
> 
> 
> This is a part of my 'vidcontrol -i mode' command output:
> 

Where is this display explained? flags, type, window, linear buffer? It isn't 
in MAN VIDCONTROL

> mode# flags type size font window linear
> ------------------------------------------------------------------------------      
> 24 (0x018) 0x00000001 T 80x25 8x16 0xb8000
> 30 (0x01e) 0x00000001 T 80x50 8x8 0xb8000
> 32 (0x020) 0x00000001 T 80x30 8x16 0xb8000
> 34 (0x022) 0x00000001 T 80x60 8x8 0xb8000

My modes 24,30,32 and 34 are identical to yours.

> 259 (0x103) 0x0000000f G 800x600x8 1 8x14
> 275 (0x113) 0x0000000f G 800x600x15 1 8x14
> 276 (0x114) 0x0000000f G 800x600x16 1 8x14
> 277 (0x115) 0x0000000f G 800x600x24 1 8x14

My modes 259,275,276,277 all show 0x0000000b and 8x16; otherwise the same.

> 290 (0x122) 0x0000000f G 800x600x32 1 8x14

I don't have mode 290.

> To set the desired mode use vidcontrol MODE_mode#. From the modes listed
> here mode 259 can't be used (it's 8bpp mode which isn't supported).
> 

Yes, that works fine.

> To be able to use a mode you must have the appropriate font loaded.
> 
> Command 'vidcontrol -f /usr/share/syscons/fonts/cp437-8x14.fnt' may be
> used to use some 8x14 font. You should have loaded all for resolutions'
> fonts though because they're listed at rc.conf.
> 
> I really don't see what you've done wrong this time, sorry. From my
> experience vidcontrol allows you to switch to a desired mode only if
> it's possble - the appopriate font is loaded and in case you ask for
> graphics mode SC_PIXEL_MODE is defined and the mode has supported color
> depth.
> 
> I tested it all again and it works for me flawlessly.
> 
> Michal
> 

Here's my observations now.  Does this suggest any actions to try?

I note that consoles ttyv1-7 are now 80x25, not 80x50 as I had 
them set up before. I can go to each, type vidcontrol MODE_30 
to put that virtual console into 80x50 mode. ttyv0, however, 
starts up in 80x50 as before. 

I have 45 modes in my vidcontrol -i mode display. 21 work fine, many 
are useless because they are large and coarse. However, one new one 
to me, 258, is very useful as it is 100x75, much better than 80x50. 
The ones that work are 0,1,2,3,13,14,18,19,20,21,22,23,24,26,27,30,32,
34,113,258,and 270. 

11 modes result in the following error display line:
vidcontrol: cannot activate raster display: Operation not supported by device
These 11 are 4,5,6,16,28,37,256,257,259,261,and 285. I suspect 
the problem is being reported here, but I don't know what it is 
telling me.

Mode 112 goes to a white display on a red background, and keyboard 
input, is not displayed. The keyboard is active, however, and can 
issue commands that do not display.

265 and 267 go black, with a dim vertical line 15% in from the right 
side; keyboard input is active but not displayed. 268 is the same, 
but without the vertical line. 

266 goes black and my monitor complains "Invalid Mode". Keyboard 
input is active.

7 modes don't change from the previous mode; keyboard input is active 
but not displayed: 272,273,274,275,276,277,296.

And for a finale, 295 goes black and any keyboard input reboots the 
computer without proper dismounts!

FYI: Per dmesg, my video card is as follows:
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-oxbffff on isa0.

Tomorrow, I'm going to see what happens when I remove my scrnmap and 
allscreens_flags lines that are in in rc.conf.

Jay O'Brien
Rio Linda, California, USA




More information about the freebsd-questions mailing list