From: Jonathan Kirwan
Subject: Re: Urgent help needed to blank monitor
X-Newsreader: Forte Agent 1.92/32.572
NNTP-Posting-Date: Mon, 04 Nov 2002 23:35:42 GMT
Organization: AT&T Broadband
Date: Mon, 04 Nov 2002 23:35:42 GMT
On Mon, 4 Nov 2002 20:41:34 -0200, Ulrich Peters
>Thank you for your post.
>> I gather your application is a Win2000 application, then.
>Actually, it is not. It is a Java program, compiled into a Windows
>executable. It could run on any flavor of Windows, as long as the Java
>runtime is installed, not just on Windows 2000. That platform was chosen
>because we already have aquired a lot of licenses, and the operating
>system has not given any problems, even with the software running for
>days, even weeks.
Okay. But the effect is still that the Java program doesn't
gain control until later.
>> However, Win2000's normal video/monitor drivers will probably
>> *not* configure things that way for you during its boot up time
>> or while it starts your application. But on the other hand, it
>> may still be possible for you to write a small ring 0 tool as
>> part of the video/monitor driver which will arrange things so
>> that it happens as you desire. I'm not positive it is possible,
>> but from what little I know about it, I think its worth a little
>Please excuse my ignorance, what is a ring 0 tool?
You can have software which is part of the process of
enumerating hardware. That's going on right at the boot up
time. I believe, but I cannot assure you of it, that you can
write software and integrate it into Win2000 in such a way that
it will precede or just immediately follow the execution of
other video drivers which initialize the PCI video after it is
enumerated on the bus and assigned a linear memory space address
there (on the AGP bus, probably.)
What crossed my mind is that if you can find the right place,
and I cannot promise that you can, you may be able to prevent
the initialization which turns on the monitor -- and instead,
keep the video board outputing the right 'stay off' combo of V
and H synch signals.
These things must take place at ring 0, I believe. This is
simply a privilege level of the 80x86 CPU. It is where these
kinds of drivers reside in the scheme of things.
But please keep in mind I'm no expert in this. This is just my
impression and I'm only trying to suggest an alternative avenue.
But it's your call. I'm only thinking out loud.
>The problem I see in software-based solutions is that the user settings
>(like video driver, screen resolution, etc) are set *after* the boot. So
>it doesn't much good to write a software which is activated only when
>the kernel is already loaded and has shown a number of indesired dialogs
>on the screen.
Well, I think you may be wrong about the inability of getting
some ring 0 software into the right place in the feeding chain
of Win2000. I have a hunch that there *is* a correct place to
get the job done as you want, but I also think it will take some
expert advice, which I cannot provide. But I suspect it's
doable, given my ignorance of the matter. And, if it were me,
I'd probably expend a little time seeing if I could find someone
who could put a yes/no to the idea.