Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account



Photo

How to add video driver to WinPE 3.0?

- - - - -

  • Please log in to reply
17 replies to this topic

#1
johnhc

johnhc

    MSFN Junkie

  • Member
  • PipPipPipPipPipPipPipPipPip
  • 3,362 posts
  • Joined 02-March 08
  • OS:Windows 7 x64
  • Country: Country Flag
I am trying to add Catalyst video drivers to WinPE3.0 x64. I injected the driver with no problems and can see the folder/files in the Windows\System32\DriverStore\FileRepository directory. But when I boot WinPE and use DriverView (also have DevCon available), the injected driver is not being used. I found some old threads here saying I needed to install PnP, but this was in XP days. Is this true and if so how do I do that? What I would like to know is how to get the injected video driver to be the running one. Thanks and enjoy, John.


How to remove advertisement from MSFN

#2
Tripredacus

Tripredacus

    K-Mart-ian Legend

  • Super Moderator
  • 9,913 posts
  • Joined 28-April 06
  • OS:Server 2012
  • Country: Country Flag

Donator

I came across the same thing in my testing. It always uses whatever is "Standard VGA" driver. I never solved it, but in my experience WinPE will use the native resolution of an LCD monitor 95% of the time, or you can use a Resolution app to pic resolutions on CRTs or other unsupported displays.
MSFN RULES | GimageX HTA for PE 3-5 | lol probloms
msfn2_zpsc37c7153.jpg

#3
wimb

wimb

    Senior Member

  • Developer
  • 679 posts
  • Joined 21-March 07
For Video driver to work you need to Add DXGKrnl service and some extra files as described here
http://www.911cd.net...70

and as already default applied in Make_PE3 where portable 7pe_x86_E.iso is booting from Grub4dos menu
and will auto search for folder drv to Install the Video driver

http://www.911cd.net...showtopic=23931

Copy PStart folder and wallpaper.jpg and drv folder with drivers as normal from Make_PE3\MULTI to root of HDD or USB boot drive.


:)

Edited by wimb, 11 September 2012 - 09:16 AM.


#4
johnhc

johnhc

    MSFN Junkie

  • Member
  • PipPipPipPipPipPipPipPipPip
  • 3,362 posts
  • Joined 02-March 08
  • OS:Windows 7 x64
  • Country: Country Flag
Tripredacus, thanks. I should have said my real intent is to test my new video driver (preferably injected) on HW without doing a W7 install.

wimb, thanks also. As I infer, I should run the Registry file on WinPE after placing the listed files into the System32 folder, then use drvload to install the video driver. Is this correct? I noticed that the author stated that the nVidia drivers required a Restart. Probably Catalyst also? I would like to use the injected driver but it sounds like this is not possible.

Thanks to both and enjoy, John.

#5
johnhc

johnhc

    MSFN Junkie

  • Member
  • PipPipPipPipPipPipPipPipPip
  • 3,362 posts
  • Joined 02-March 08
  • OS:Windows 7 x64
  • Country: Country Flag
wimb, I gave it a try with no luck. First the Registry update failed with "Error accessing the Registry". I did not see a PE3-SYSTEM key in LOCAL_MACHINE, so I changed it to SYSTEM. I was then able to load the key. When I try to run drvload against the Catalyst .inf file I get "Unable to load driver x80070070". Searching seems to indicate that this means out of space but I am not sure this applies to drvload. Where can I find the error codes that go with drvload? Was I correct in changing PE3-SYSTEM to SYSTEM? Do I need more than the 8 files and Registry update? I am not inclined to go all the way to the build talked about in the referenced thread. Thanks and enjoy, John.

EDIT: In my Registry the key in the link (HKEY_LOCAL_MACHINE\PE3-SYSTEM\ControlSet001\services\DXGKrnl), without the PE3-, has a sub key, Enum:
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\DXGKrnl\Enum]
"0"="Root\\LEGACY_DXGKRNL\\0000"
"Count"=dword:00000001
"NextInstance"=dword:00000001
Do I need this?

Edited by johnhc, 11 September 2012 - 06:33 PM.


#6
JFX

JFX

    Advanced Member

  • Member
  • PipPipPip
  • 471 posts
  • Joined 17-January 11
  • OS:Windows 7 x64
  • Country: Country Flag
You really need to add this registry and files to an offline winpe, so everything is ready at boot time.

The out of space error could mean you don't have enough space on systemdrive to copy the very big ati drivers.

Try to increase WinPECacheThreshold.

#7
johnhc

johnhc

    MSFN Junkie

  • Member
  • PipPipPipPipPipPipPipPipPip
  • 3,362 posts
  • Joined 02-March 08
  • OS:Windows 7 x64
  • Country: Country Flag
Thanks, JFX. I was thinking off-line Registry changes were needed - the PE3-SYSTEM key was the hint. It looks like the WinPECacheThreshold defaults to 32 MB, which is way too small for the Catalyst driver (folder is 129 MB). Is there any reason not to set it to x200 (512MB)? Will I be able to inject the Catalyst driver to the image with these changes? Thanks and enjoy, John.

#8
submix8c

submix8c

    Inconceivable!

  • Patrons
  • 4,331 posts
  • Joined 14-September 05
  • OS:none specified
  • Country: Country Flag
?Still questioning the installation of the complete package. It includes the CCC which is IMHO really unnecessary for a PE (see post#12 here). Shouldn't only the 1st three be necessary (isolation should be a treat...) at maximum? CCC is very similar to nVidia Display Panel (an "add-on" software) in function. Or am I missing something (again)?

Someday the tyrants will be unthroned... Jason "Jay" Chasteen; RIP, bro!

Posted Image


#9
johnhc

johnhc

    MSFN Junkie

  • Member
  • PipPipPipPipPipPipPipPipPip
  • 3,362 posts
  • Joined 02-March 08
  • OS:Windows 7 x64
  • Country: Country Flag
submix8c, thanks for your reply. I had not planned on adding CCC, just the driver. I am really only interested in testing the driver (hope I can inject it) and learning something. I do use CCC on my W7 system but I don't plan on using WinPE for more than testing and starting W7 flat install. I guess the first three (post #12) is all that is needed to get the driver going but I use the CCC also. I simply run the DLed .exe suite, and then capture the files I need from the "%SystemDisk%\AMD\Support\12-8_vista_win7_win8_64_dd_ccc_whql" directory. This time I wanted to install the package on my system but usually I just Cancel the installer at this point. Thanks and enjoy, John.

#10
JFX

JFX

    Advanced Member

  • Member
  • PipPipPip
  • 471 posts
  • Joined 17-January 11
  • OS:Windows 7 x64
  • Country: Country Flag
@johnhc
If every PC you want to boot this WinPE has 2GB RAM, you can set WinPECacheThreshold to the maximum of 512MB.

Sometimes driverinstall copies the uncompressed drivers twice,
but 512MB freespace on systemdrive should be enough to install the driver.

if still not enough, I've reduced the driver package to ~ 10MB ATI_12.8_x64.7z

@submix8c
driver integration will not add the complete package, dism parses the .inf files and copies only the result.

Posted Image

Edited by JFX, 12 September 2012 - 12:34 PM.


#11
johnhc

johnhc

    MSFN Junkie

  • Member
  • PipPipPipPipPipPipPipPipPip
  • 3,362 posts
  • Joined 02-March 08
  • OS:Windows 7 x64
  • Country: Country Flag
Thanks, JFX. Only have one machine with 16 GB memory. I'm not using a driver package, just injecting SDD and RAID drivers now and would like to try Catalyst. Thanks and enjoy, John.

#12
johnhc

johnhc

    MSFN Junkie

  • Member
  • PipPipPipPipPipPipPipPipPip
  • 3,362 posts
  • Joined 02-March 08
  • OS:Windows 7 x64
  • Country: Country Flag
OK, I have successfully installed the Catalyst driver using drvload after updating the Registry (WinPECacheThreshold to x200 and DXGKrnl service set) in the mounted image. I can see the AMD driver in DriverView and devcon driverfiles and drivernodes. Next I will try to inject the driver. Enjoy, John.

EDIT: Injecting the driver did not result in seeing the driver in use when I booted WinPE. I can see the driver in the System32\FileRepository folder. I use drvload to load the driver and again can see it in DriverView and DevCon but the screen is still in low resolution so I am not sure if the Catalyst driver is really being used. No reboot was requested. But I see a Videoprt.sys (Video Port) in DriverView. I took a quick shot at installing the Catalyst Control Center, but the installer is a 32 bit PE. Is there a way to try to change the resolution? I am using an Unattend.xml file with the resolution set to 1920:1080.

Edited by johnhc, 12 September 2012 - 06:18 PM.


#13
Tripredacus

Tripredacus

    K-Mart-ian Legend

  • Super Moderator
  • 9,913 posts
  • Joined 28-April 06
  • OS:Server 2012
  • Country: Country Flag

Donator

Is there a way to try to change the resolution? I am using an Unattend.xml file with the resolution set to 1920:1080.


I use a third party app. Here is 64bit app to change resolution (does not work in WinPE 4)
http://www.msfn.org/...post__p__885861

And for 32bit, look for a program called Setres.exe.
MSFN RULES | GimageX HTA for PE 3-5 | lol probloms
msfn2_zpsc37c7153.jpg

#14
johnhc

johnhc

    MSFN Junkie

  • Member
  • PipPipPipPipPipPipPipPipPip
  • 3,362 posts
  • Joined 02-March 08
  • OS:Windows 7 x64
  • Country: Country Flag
Tripredacus, thanks. The DL link in the site pointed to by your link is broken. I DLed setresolution.script from the guy's site. I tried it on a VM but Wscript will not run it. Perhaps it needs to be compiled into an .exe - don't know how. I tried to find setresolution-x64.exe with no luck. Any ideas. Thanks and enjoy, John.

Edited by johnhc, 14 September 2012 - 01:35 PM.


#15
johnhc

johnhc

    MSFN Junkie

  • Member
  • PipPipPipPipPipPipPipPipPip
  • 3,362 posts
  • Joined 02-March 08
  • OS:Windows 7 x64
  • Country: Country Flag
I ran setresolution-x64 on my WinPE 3.0 x64 and was able to set 1024:768 only. Any other resolution I tried, except for 800:600, did nothing. I wrote an AutoIt script to show the current display settings and it works fine except the refresh always shows 1. The scrip is one line:
MsgBox (1,"Resolution",@DesktopWidth&":"&@DesktopHeight&":"&@DesktopDepth&":"&@DesktopRefresh)
During searching I found qres and ran it on my VM. It looked neat, so I tried it on WinPE 3.0 32 bit and it works fine. I tried 'qres /L' to see what valid resolutions were available but it showed nothing. Changing the unattend.xml file to reflect a resolution of 1024:768 worked also. I searched for a 64 bit version of qres with no luck, but the link (above) has the source. Maybe some enterprising programmer can compile qrez for x64. There is a readme-build.txt file with instructions. I am not a programmer.
The real purpose of all this was to test the Catalyst driver. I have been unable to convince myself that after installing the Catalyst driver that it is actually controlling the video card. Using
devcon stack "PCI\VEN_1002&DEV_6738"
I see the card and a line that shows the controlling service as amdkmdap. This is the same as on W7. I can also see the driver files in 'devcon driverfiles' and 'devcon drivernodes'. I expected to be able to set my display resolution to 1920:1080 (actual screen size) but could only set 800:600 and 1024:768. Perhaps this is a WinPE 3.0 restriction. Can anyone tell me how to determine for sure that the Catalyst driver is controlling the video card? Thanks and enjoy, John.

EDIT: I just learned that the source pointed to above is not for the QRes by Anders Kjersem and does not seem to work at all.

Edited by johnhc, 19 September 2012 - 03:06 PM.


#16
wimb

wimb

    Senior Member

  • Developer
  • 679 posts
  • Joined 21-March 07
Probably you need more files
Set Screen Resolution is working in Make_PE3 builds .....

See WIN7_add_explor.txt in Make_PE3\PE3_mod\WIN7_add\amd64

// Screen Resolution and Personalize Desktop Background + some extra files
// Added July 16, 2010 dwmcore.dll

\windows\system32\alttab.dll
\windows\system32\cscdll.dll
\windows\system32\cscui.dll
\windows\system32\msfeeds.dll
\windows\system32\mydocs.dll
\windows\system32\photometadatahandler.dll
\windows\system32\provsvc.dll
\windows\system32\searchfolder.dll
\windows\system32\shacct.dll
\windows\system32\shgina.dll
\windows\system32\structuredquery.dll
\windows\system32\themeui.dll
\windows\system32\dwmcore.dll

\windows\system32\en-US\alttab.dll.mui
\windows\system32\en-US\cscui.dll.mui
\windows\system32\en-US\mydocs.dll.mui
\windows\system32\en-US\provsvc.dll.mui
\windows\system32\en-US\searchfolder.dll.mui
\windows\system32\en-US\shacct.dll.mui
\windows\system32\en-US\shgina.dll.mui
\windows\system32\en-US\themeui.dll.mui
\windows\system32\en-US\dwmcore.dll.mui

\Windows\Web\Wallpaper\Windows\*.*

Edited by wimb, 15 September 2012 - 03:36 PM.


#17
johnhc

johnhc

    MSFN Junkie

  • Member
  • PipPipPipPipPipPipPipPipPip
  • 3,362 posts
  • Joined 02-March 08
  • OS:Windows 7 x64
  • Country: Country Flag
Thanks, wimb. I assume I am to copy these files from my W7 x64 system and place them in the WinPE image. My W7 does not have a shacct.dll.mui file. Thanks and enjoy, John.

#18
johnhc

johnhc

    MSFN Junkie

  • Member
  • PipPipPipPipPipPipPipPipPip
  • 3,362 posts
  • Joined 02-March 08
  • OS:Windows 7 x64
  • Country: Country Flag
I copied the files from the above into the appropriate folders and tried it. I see no difference. I can change to several resolutions but to only a few selected ones. I used the OUTPUT switch on SetResolution-x64 to get a list and will post it if anyone is interested. There are no 16:9 ratios which is what my monitor is, only 5:4 and 4:3. With none of these changes on a 32 bit WinPE, the same list of resolutions is available. I also see no difference between running the booted driver and the Catalyst driver. So I still cannot convince myself that the Catalyst driver is actually controlling my video card. Enjoy, John.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users