stux2000 / plan9front

Automatically exported from code.google.com/p/plan9front
0 stars 0 forks source link

VESA BIOS missing high resolution VESA modes #96

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
I have a 1920x1080 monitor and an nVidia GeForce 5xxx card that drives it 
adequately in most operating systems. However, it's VESA BIOS only contains 
VESA modes up to 1280x1024.

Cinap and I discussed possible ways to add VESA modes by modifying a software 
copy of the VESA BIOS with realemu. OSX86 achieve a similar feat with their own 
tools:

http://www.insanelymac.com/forum/lofiversion/index.php/t211294.html

Original issue reported on code.google.com by stanley....@gmail.com on 3 Nov 2011 at 8:13

GoogleCodeExporter commented 9 years ago
attached vbt.c, small c program that scans the vesa bios area
0c0000-100000 in a memory image file (/dev/realmodemem)
for 16 bit words that look like vga modes with different 
displacement between the width and height value to look
for mode tables.

can be also used to change the modes.

example:

# dump tables columns
vbt /dev/realmodemem

# change entry at ca800 to 1600x1200 (artificial example)
vbt /dev/realmodemem ca800 1600 ca800+8 1200

Original comment by cinap_le...@felloff.net on 4 Nov 2011 at 10:51

Attachments:

GoogleCodeExporter commented 9 years ago
I've used vbt to determine some combinations of addresses that, when written 
to, manage to alter the output of aux/vga -p. So far, while aux/vga -p now 
includes vesa modes that match my desired resolution, attempting to set that 
resolution with aux/vga -m vesa -l $resolution has resulted in interested 
failures, including: blank screen, wrong resolution, inverted colors, etc. So 
far, this brute force approach has not yet yielded a working VESA mode 
1920x1080.

Original comment by stanley....@gmail.com on 6 Nov 2011 at 6:29

GoogleCodeExporter commented 9 years ago
These are some of the addresses that, when written to, yielded changes:

http://plan9.stanleylieber.com/hardware/thinkcentre/m55/8810-d3u/hits3

The first line is an address from the +2 table. The second line is an address 
from the +8 table. The following lines are the new modes that appeared after 
writing the appropriate strings to the addresses from the two tables. Each 
section is separated by a blank line.

Original comment by stanley....@gmail.com on 6 Nov 2011 at 6:31

GoogleCodeExporter commented 9 years ago
915resolution tool for Intel chipsets:

http://915resolution.mango-lang.org

Original comment by stanley....@gmail.com on 9 Nov 2011 at 6:20

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
I made some progress with an NVidia GeForce 8400 GS:

http://www.flickr.com/photos/stanleylieber/sets/72157627976638191

Original comment by stanley....@gmail.com on 11 Nov 2011 at 6:29

GoogleCodeExporter commented 9 years ago
just for the record, the kernel panic seen if the image
is due nvidia cards not starting the framebuffer on the
beginning of ther pci membar, but somewhere below. plan9
tries to map the whole framebuffer memory on first init
because we can't undo/resize this kernel mapping. 
it failed to detect the whole size and just calculated
the size from the current graphics mode. this in generaly
would'v affected mode switches to a bigger resolution/depth.

this was all fixed in changeset: R18198808ffaa

so with current 9front, that mode from the photo will probably
just work now.

Original comment by cinap_le...@felloff.net on 27 Jan 2012 at 5:56

GoogleCodeExporter commented 9 years ago

Original comment by cinap_le...@felloff.net on 22 May 2012 at 5:19