display adapter component prototype?

  • Thread starter Thread starter Lucvdv
  • Start date Start date
L

Lucvdv

Does something like a display adapter component prototype exist?

Continuing on the problem I posted in "Can't get TNT2 driver to work
anymore" last week, I'd like to try to create a new component that installs
the TNT2 driver in a working fashion.

I've got no idea of how to get the display resolution setting etc. into it
though, so having a prototype or a working example of a display adapter SLD
file as a cheat sheet would come in handy.

Being able to export the existing component from the database so I can
update it would be even easier. I first asked for this functionality
almost a year ago and got some positive reactions, but...


Or is there a way to revert a single component to pre-SP1 without affecting
the rest?
 
Does something like a display adapter component prototype exist?

It does: "Device: Display".

Question for MS personnel, I don't think anyone else will be able to
answer:

I've been searching through the database, and maybe I spotted an error.

Each component has three GUID fields: ComponentVSGUID, ComponentVIGUID and
PrototypeVIGUID.

I suppose the PrototypeVIGUID points to the prototype a component is based
upon; which should have a matching ComponentVIGUID.

All (or most?) display drivers seem to have a PrototypeVIGUID of
{8F9F53C6-A737-4327-B27F-CBFA7D4E5EF7}.

Now there are two such components in the database with the same
ComponentVIGUID.

There's a MinRevision column in the ComponentDependencyLists table, but
this contians only zeroes for all [like 'Nvidia Riva%'] component-related
dependencies (the prototype isn't among the dependencies too).


Could the reason why the TNT2 drivers don't work be that this VIGUID should
actually be unique in the database or the prototype should be listed as a
dependency too with MinRevision set, and the wrong prototype component is
used by TD as a result?

It doesn't seem normal that the same ComponentVIGUID occurs for multiple
components without any way for TD to know which one is referred to by
another component's PrototypeVIGUID.
 
Hi,

What would happen if I tell you that you can use component "Device: Display"
directly from TD to set default resolution, and that if you copy all files
from new NVIDIA package to folders where they should be. PnP will install
you adapter without any settings related to your card in TD?

Also if you don't want to set default resolution during the FBA then
component "Device: Display" is not required.

Read setupapi.log for more info why your drivers does not work.

Regards,
Slobodan



Lucvdv said:
Does something like a display adapter component prototype exist?

It does: "Device: Display".

Question for MS personnel, I don't think anyone else will be able to
answer:

I've been searching through the database, and maybe I spotted an error.

Each component has three GUID fields: ComponentVSGUID, ComponentVIGUID and
PrototypeVIGUID.

I suppose the PrototypeVIGUID points to the prototype a component is based
upon; which should have a matching ComponentVIGUID.

All (or most?) display drivers seem to have a PrototypeVIGUID of
{8F9F53C6-A737-4327-B27F-CBFA7D4E5EF7}.

Now there are two such components in the database with the same
ComponentVIGUID.

There's a MinRevision column in the ComponentDependencyLists table, but
this contians only zeroes for all [like 'Nvidia Riva%'] component-related
dependencies (the prototype isn't among the dependencies too).


Could the reason why the TNT2 drivers don't work be that this VIGUID should
actually be unique in the database or the prototype should be listed as a
dependency too with MinRevision set, and the wrong prototype component is
used by TD as a result?

It doesn't seem normal that the same ComponentVIGUID occurs for multiple
components without any way for TD to know which one is referred to by
another component's PrototypeVIGUID.
 
Hi,

What would happen if I tell you that you can use component "Device: Display"
directly from TD to set default resolution, and that if you copy all files
from new NVIDIA package to folders where they should be. PnP will install
you adapter without any settings related to your card in TD?

Thanks for the tip.
Also if you don't want to set default resolution during the FBA then
component "Device: Display" is not required.

Read setupapi.log for more info why your drivers does not work.

I already did: 131K, about half of it error messages about files like
browseui.dll and wininet.dll that aren't in the target (and shouldn't be,
dependency check said everything was there too), but not a single message
about display drivers...

fbalog did't contain anything useful either.


BTW, it's not "my" drivers, it's XPe's own, picked by TD based on TA
output, and only after SP1.
The pre-SP1 driver is still available as a component: selecting it manually
instead of the one TA picked didj't fix it either.
 
I can't help you with video drivers provided by MS.
Since TNT2 is very old, it is probable that it is supported but I don't
think that these drivers will use most of potentials even on TNT2 card.

Go to www.nvidia.com download new forceware drivers. Unpack file you
download.

Uses these files as you downloaded them, or modify inf file so it supports
only TNT2 and pure driver without extras.

Only three files needed for driver to work. (Same files for all NVIDIA
cards)

Regards,
Slobodan
 
Lucvdv,

You are right. Many XPe/CMI objects have VSGUID and VIGUID identifications.
VSGUID is version-specific guid, VIGUID is version independent guid.
PrototypeVIGUID is nothing more then just a prototype component version
independent guid.
I think it is proper way of prototyping components. This way you can update
the prototype (increasing its revision) for all the components based on it
without changing the components themselves.
Since MS has released two versions of XPe (XPe and XPE/SP1) there are two
versions (revisions) of many components (including display prototype
component you found). I guess XPe tools are supposed to get that prototype
component which MinRevision number is higher.

I have nether been able to export components from XPe database. And this is
my quesiton to MS guys. Could you post possible values for "Reserved"
argument of the CMI interface? That is what preventing me from have the
export to work.

Btw, Lucvdv, on my dev workstation I've got "NVidia Riva TNT2 Model 64/Model
64 Pro" card and it was perfectly picked up by TAP and CD. In TD I am able
to change screen resolution in the component settings and it seems to work
on target.

KM


L> It does: "Device: Display".

L> Question for MS personnel, I don't think anyone else will be able to
L> answer:

L> I've been searching through the database, and maybe I spotted an
L> error.

L> Each component has three GUID fields: ComponentVSGUID,
L> ComponentVIGUID and
L> PrototypeVIGUID.

L> I suppose the PrototypeVIGUID points to the prototype a component is
L> based upon; which should have a matching ComponentVIGUID.

L> All (or most?) display drivers seem to have a PrototypeVIGUID of
L> {8F9F53C6-A737-4327-B27F-CBFA7D4E5EF7}.

L> Now there are two such components in the database with the same
L> ComponentVIGUID.

L> There's a MinRevision column in the ComponentDependencyLists table,
L> but this contians only zeroes for all [like 'Nvidia Riva%']
L> component-related dependencies (the prototype isn't among the
L> dependencies too).


L> Could the reason why the TNT2 drivers don't work be that this VIGUID
L> should actually be unique in the database or the prototype should be
L> listed as a dependency too with MinRevision set, and the wrong
L> prototype component is used by TD as a result?

L> It doesn't seem normal that the same ComponentVIGUID occurs for
L> multiple components without any way for TD to know which one is
L> referred to by another component's PrototypeVIGUID.
 
Btw, Lucvdv, on my dev workstation I've got "NVidia Riva TNT2 Model 64/Model
64 Pro" card and it was perfectly picked up by TAP and CD. In TD I am able
to change screen resolution in the component settings and it seems to work
on target.

TAP detects it, TD picks up the driver, but after FBA completes it's using
the standard VGA driver and InitStartFailed=1 in the driver's registry key.

To cut a long story short: it's working now.
For some mysterious reason, PnP support for FBA was missing from my target,
yet a dependency check didn't report that.


It may be my own fault: I edited the TAP file in XML Notepad, to remove the
network adapter so no driver for it would be installed.
Maybe I deleted a node too many, though I don't remember touching anything
but the network adapter.

Or maybe there's a bug in XML Notepad, and that's why MS removed it from
their website?
 
Back
Top