• Announcements

    • xper

      MSFN Sponsorship and AdBlockers!   07/10/2016

      Dear members, MSFN is made available via subscriptions, donations and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, become a site sponsor and ads will be disabled automatically and by subscribing you get other sponsor benefits.
Sign in to follow this  
Followers 0
johnhc

How to add video driver to WinPE 3.0?

18 posts in this topic

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.

0

Share this post


Link to post
Share on other sites

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.

0

Share this post


Link to post
Share on other sites

For Video driver to work you need to Add DXGKrnl service and some extra files as described here

http://www.911cd.net/forums//index.php?showtopic=23931&st=100&p=164570entry164570'>http://www.911cd.net/forums//index.php?showtopic=23931&st=100&p=164570entry164570

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/forums//index.php?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
0

Share this post


Link to post
Share on other sites

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.

0

Share this post


Link to post
Share on other sites

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
0

Share this post


Link to post
Share on other sites

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.

0

Share this post


Link to post
Share on other sites

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.

0

Share this post


Link to post
Share on other sites

?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)?

0

Share this post


Link to post
Share on other sites

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.

0

Share this post


Link to post
Share on other sites

@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.

cheers.gif

Edited by JFX
0

Share this post


Link to post
Share on other sites

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.

0

Share this post


Link to post
Share on other sites

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
0

Share this post


Link to post
Share on other sites

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)

And for 32bit, look for a program called Setres.exe.

0

Share this post


Link to post
Share on other sites

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
0

Share this post


Link to post
Share on other sites

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
0

Share this post


Link to post
Share on other sites

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
0

Share this post


Link to post
Share on other sites

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.

0

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.