From mboxrd@z Thu Jan 1 00:00:00 1970 To: 9fans@cse.psu.edu From: Agnelo de la Crotche Message-ID: <3D09F637.27346BE3@yahoo.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit References: <02580f2e9d1062be41b15fe4acf73ae0@plan9.bell-labs.com>, <3D09C883.6A525C9A@yahoo.com> Subject: Re: [9fans] What a poor VGA support ! Date: Fri, 14 Jun 2002 14:26:20 +0000 Topicbox-Message-UUID: ad8b3c8a-eaca-11e9-9e20-41e7f4b1d025 Agnelo de la Crotche wrote: > presotto@plan9.bell-labs.com wrote: > > > > Simple, because it is supported by the 28 other > > > operating systems I managed to install on that machine. > > > > My interest is clearly piqued. What are those 28 OS's and > > what to you use to boot them all? > > > > As long as you're asking 'how?' and not 'why?' .... > > - 6 DOSez : MS-DOS, PC DOS, Open DOS, DR DOS, PTS DOS, Free DOS > - 6 Windozes : 95, 98 , ME, NT, 2K, XP > - 3 BSD : Free BSD, Open BSD, Net BSD > - 2 Linux : Debian, Suse > - 2 Unix : SCO, Solaris > - 1 Minix > - 8 others : Hurd, BeOS, QNX, OS/2, AtheOS, VsTa, Netware, Amoeba > - 1 Plan9 > > on 2 IBM IDE 40 GB harddisks, a single AMD K6-2 500 MHz CPU and 512 MB Ram. > > Basically I use 3 bootmanagers : > - xfdisk ( http://www.mecronome.de/xfdisk/ ) in the MBR of the first HD > - the XP bootloader in the bootsector of a primary FAt 16 partition ( <= > 256 MB ) > - Grub in a bootsector of some logical partition. > > and some small shell scripts and batchfiles calling utilities (like dd) > to rewrite > the partition tables when necessary. > > As a rule, I never use a floppy, emulator or virtual machine. If I cannot > boot an > operating system the simple way from the harddisk, I don't install it. > > It is not as complicated as writing video drivers and probably much more > useless, but > having spent the last couple years playing around with bootsectors, hard disk > > partitions and 'ennemy' operating systems, I would probably have enough stuff > to > dedicate a website to the subject, although there are already plenty of > those, but > I've never heard of anybody getting as many bootable OS. The only problem is > > that I need at least 3 hours of sleep. > > You can easily figure out that the greatest difficulty has been to get the > widest compatible > hardware components for all these OS. Replacing a video card is a great big > deal > for me. > > > > > > But , please, tell me, because I'm curious : Why is it so difficult, so > > > impossible to add some kind of minimum VGA support ? > > > > We used to have minimum support, i.e., 640x480x{1,2,4}. Those modes are > > standard and normally grey scale. You can use a color map with them > > but 16 or fewer colors doesn't make for great viewing, red letters on > > a blue backround was my favorite headache producer. > > > > Even under DOS I can get some graphic based applications working > in a reasonnable resolution. ( which doesn't mean that I use them !) > > > > > We nuked support for the standard modes because > > a) it was very odd to implement especially after we changed > > graphics models. It doesn't really fit the > > model of a frame buffer. Instead you had to do odd things > > to write the different bits to diferent planes. > > b) it was made clear to us that supporting 640x480x4 grey scale > > was so inferior to what people wanted that it wasn't worth the > > effort. > > > > All other modes are non-standard, i.e., different from card type > > to card type. There are a smaller number of VGA chips than cards > > though even that number is unwieldy. How the differenty > > card manufacturers map the chips and plug them together varies. > > Often the only extra info we have to know about a card is how to > > recognize it. PCI is helping there though in the past we had to > > look at the onboard BIOS and look for patterns; half of /lib/vgadb > > is just trying to figure out what's there. If you wc /sys/src/cmd/aux/vga > > you'll see that the ammount of code per chip type is pretty small > > (often with an equivalent amount in the kernel to support > > cursors and such). However figuring out that code is hard: > > > > I've already tried, read, compared, posted, modified all that ( without > knowing what > I was doing ) last year, with the only result of destroying a monitor. I'm > not > complaining about that, I was aware of the risk. > > > > > - documentation is usually poor or non-existant. Drivers from > > more popular OS's (or X) are often the only documentation > > - Some registers bits lock out other registers; just reading the > > settings used by windows and rewriting them back is usually > > impossible. > > - setup requires writing values into MANY registers, most of > > which are different from chip to chip. The values are dependent > > on clock speed, bit depth, screen size, and chip version. Just > > getting them working on one machine doesn't ensure they'll work > > on another. In some cases it takes futzing with a number of > > machines and board revs to get a `stable' implementation. > > What I found particularly annoying and frustrating is that it almost works. > Almost ! I have already discussed that issue and probalby other people > did as well. You know : the problem with the overlapped screen ! > The chipset is identified, because different ATI Xpert use the same > chipset and so have the same BIOS signature. I was told that they run at > different clock speed. > Even if what I got to see, about 2/3 of windows is sufficient for the > installation, > you cannot think of starting anything with it. > > > > > Our most popular laptop is the T23 (because of a company deal with > > IBM) and we set it up by being careful not to touch too many registers > > since we have no idea what the LCD extension registers do. > > > > In our group, we have one person, jmk, who sepnds a considerable amount > > of time just getting the cards we have working. However, that's > > in addition to what he's supposed to be doing, not what he's paid > > for. Some of the community is also nice enough to send us the /lib/vgadb > > info + drivers to get other cards working. > > So did I. > > > However, because the > > Plan 9 distribution is a 'free time' effort at the Labs we can't > > aim one person to doing full time VGA support. If the community > > were larger, we'ld probably get enough contributions to cover a > > larger percentage of the cards or if Plan 9 were actually popular > > we might be able to get manufacturers to write drivers. > > > > It would be useful if the manufacturers could get together and > > come up with another VGA standard so that we would waste less > > time and angst. However, there's no real motivation for this. > > To first order, there's only one OS for PC's, and to second order > > only two. It's not that hard for a manufacturer to put together > > drivers for their new board for 2 OS's. > > Obviously if they were humanists, they won't be manufacturers. > > > I'm pretty impressed that > > there are 26 others that manage to support all cards. > > As I said Plan9 is the 'only' OS which doesn't work like it should. > I've been coming so far with that operating system to write a > bootmenu and set the default to 'no vga'. So at least, it boots > and opens a console and I can count it as the 29th. > > > > > > Besides, if you ever got your ATI Xpert (Rage Pro) working, > > we'ld have to go through this conversation again explaining why > > we don't have a web browser worth using. > > Since I (almost) never get up, I keep trying regurarly ... What a funny mistake ! You would have read 'give up' instead. > > > agnelo.