*BSD News Article 29473


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!yeshua.marcam.com!MathWorks.Com!europa.eng.gtefsd.com!howland.reston.ans.net!newsserver.jvnc.net!yale.edu!nigel.msen.com!zib-berlin.de!irz401!uriah!not-for-mail
From: j@uriah.sax.de (J Wunsch)
Newsgroups: comp.os.386bsd.development
Subject: Re: Notebook -- LCD/External display switching
Date: 17 Apr 1994 19:06:39 +0200
Organization: Private U**X site; member IN e.V.
Lines: 53
Message-ID: <2orqavINN6lo@bonnie.sax.de>
References: <9410116.15230@mulga.cs.mu.OZ.AU>
NNTP-Posting-Host: bonnie.sax.de

summer@ee.mu.OZ.AU (Mark Summerfield) writes:

>I am running FreeBSD 1.0.2 and XFree86 2.0 very happily on an extremely
>generic notebook (with 486DX/33, 16M RAM).  The display controller is

Uah! What's ``extremely generic''?

>apparently a Cirrus device (that's all the info in the documentation,
>I'd have to open the machine up to get any more detail if it were
>necessary).  The display can be switched by software between the
>LCD panel, and an external VGA monitor -- DOS and Windows programs were
>provided with the computer for doing this, and I have used a colour
>monitor here at work under Windows when preparing colour graphics.

It appears to me that you never ever tried to look deeper into that
$@!# VGA stuff. 'tis not a flame, just a statement.

There are 1001 VGAs out in userland. Notebook LCD chipsets are a very
special field. (I know what i'm speaking about. I own an older
notebook with a CL-GD 610/620 chipset, and i wrote larger parts of the
pcvt console driver.)

1)	As long as you don't know exactly what chipset you have, you
	totally lose. In order to do chipset-specific stuff, the
	console driver (or you) need to know about you chipset.

2)	If you know it (which might require to open the case), your
	probability to win is minimal. You either need to get infos
	for your chipset from someone, e. g. the vendor. Or, you
	need to use a messdoos debugger to look what your VGA BIOS
	does if you apply those programs that perform several actions
	on the VGA. (This might violate the law though. Watch out.)
	This might be messy, like forcing to RAM-mirror the BIOS
	in order to single-step it, which could only be done by
	some sort of remote connection (unless you can type totally
	blindly:-).

3)	Due to the apparent small amount of people that need such stuff,
	it is _very_ unlikely that the kernel would be bloated with yet
	another silly ioctl command for doing this. Anyway, you could
	write a small program that gains IO priviledge and does the
	bloody job itself. An example of such a program (called vgaio)
	could be found along with the pcvt distribution. NOTE THAT IT'S
	QUITE POSSIBLE THAT YOU MIGHT DAMAGE YOUR HARDWARE UNLESS YOU
	REALLY KNOW WHAT YOU'RE DOING.
	Actually, i'm using that program for my CL-GD 610 in order to
	do some minor hacks to the palette registers on my notebook.

-- 
cheers, J"org                             work:    joerg_wunsch@tcd-dresden.de
                                          private:   joerg_wunsch@uriah.sax.de
Steinbach's Guideline for Systems Programming:
        Never test for an error condition you don't know how to handle.