From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Sat, 5 Aug 1995 15:50:12 -0400 From: jmk@plan9.att.com jmk@plan9.att.com Subject: VGA problems Topicbox-Message-UUID: 12fdf830-eac8-11e9-9e20-41e7f4b1d025 Message-ID: <19950805195012.rfZXZnBa2wc8PD31nqntwr2t_iMuNCwPCoA_T5GAXvs@z> One of the biggest problems with Plan 9 on the PC is the awful VGA device and the equally awful programme to set it up, aux/vga. If the system hangs on boot before a message from dossrv appears on the CGA screen then aux/vga blew it. You can prevent aux/vga from running by commenting out the 'monitor=' line in plan9.ini, /bin/termrc will only run aux/vga if the environment variable 'monitor' is set. You will be left in CGA mode. Two warnings about this: 1) make sure you do not start anything fancy (such as a window manager) in your lib/profile; 2) DEL is interpreted by the window manager so you will be unable to interrupt anything you start. If you can't get to this state then your PC/VGA just isn't compatible with Plan 9. Manually run aux/vga to see if it can put the VGA card into the basic 640x480x1 mode which all compatible cards should support: aux/vga -lvp > /tmp/x (aux/vga defaults to 'monitor=vga' and resolution 640x480x1). Output is redirected to capture some information during this run while still in CGA mode that would be destroyed by the switch to VGA mode. Usually this will have the desired effect and the system will be in VGA mode. Look in /tmp/x for any obvious errors. There may be a section which says e.g. controller not in /lib/vgadb 0xC0000 55 AA 40 EB 04 37 34 30 30 E9 0A 15 00 00 00 00 U.@..7400....... 0xC0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 49 42 ..............IB 0xC0020 4D 20 56 47 41 20 43 6F 6D 70 61 74 69 62 6C 65 M VGA Compatible 0xC0030 20 42 49 4F 53 2E 20 00 BB 66 DB 01 EF 01 81 00 BIOS. ..f...... 0xC0040 00 FF 00 0A 51 75 61 64 74 65 6C 20 53 33 20 38 ....Quadtel S3 8 0xC0050 36 43 38 30 35 20 45 6E 68 61 6E 63 65 64 20 56 6C805 Enhanced V 0xC0060 47 41 20 42 49 4F 53 2E 20 56 65 72 73 69 6F 6E GA BIOS. Version 0xC0070 20 32 2E 31 33 2E 30 32 45 30 31 0D 0A 43 6F 70 2.13.02E01..Cop 0xC0080 79 72 69 67 68 74 20 31 39 38 37 2D 31 39 39 32 yright 1987-1992 0xC0090 20 51 75 61 64 74 65 6C 20 43 6F 72 70 2E 2C 20 Quadtel Corp., 0xC00A0 41 20 50 68 6F 65 6E 69 78 20 54 65 63 68 6E 6F A Phoenix Techno 0xC00B0 6C 6F 67 69 65 73 20 4C 74 64 20 43 6F 6D 70 61 logies Ltd Compa 0xC00C0 6E 79 2E 0D 0A 41 6C 6C 20 52 69 67 68 74 73 20 ny...All Rights 0xC00D0 52 65 73 65 72 76 65 64 0D 0A 00 00 00 00 00 00 Reserved........ 0xC00E0 00 00 00 00 4F 72 63 68 69 64 20 54 65 63 68 6E ....Orchid Techn 0xC00F0 6F 6C 6F 67 79 20 46 61 68 72 65 6E 68 65 69 74 ology Fahrenheit This is a dump of part of the VGA BIOS and we can use this to add an entry to /lib/vgadb for this card: ctlr 0xC0044="Quadtel S3 86C805 Enhanced VGA BIOS. Version 2.13.02E01" ctlr=vga With this in place aux/vga should work without complaint for resolutions 640x480x[18] as these require no additional programming of the graphics chip, RAMDAC or clock generator. To proceed to higher resolutions and clock rates it's necessary to know more about the VGA card, specifically which graphics chip, RAMDAC and clock generator are used; inspect the card and see VGADB(6) for more details.