自宅のラップトップHP Pavilion Gaming 15 (cx0000/2018年モデル)に搭載されているiGPU「Intel UHD グラフィックス 630」用のドライバが「24.20.100.6344」とバージョンが古く、Office 365のパワーポイントなどで資料を弄っている際などに画面がチラつく事象が発生していたので、仕事がひと段落したこのタイミングでドライバを最新化することにしました。
といっても、「24.20.100.6344」がリリースされた2018年頃より後、iGPUのドライバーはそれまでのStandard版からDCHに移行しており、ドライバの最新化にはちょっと苦労したので、解決に至った過程を備忘録がてら残しておくことにします。
まず、Intelのホームページから同iGPU向けの最新ドライバを落としてきてインストールを試みたのですが、HPなどのOEMな製品への導入は不可のようで失敗。
次いで、HPのサポートページを確認すると同製品向けに「Intel High-Definition (HD)グラフィックス ドライバー (Windows 10 v1903)」(25.20.100.6577)なるものが最新版としてリリースされているのを発見。25.xとなると決して新しくはないですが、こちらをインストールしてDCH版ドライバーに移行してしまえば後からWindows Updateでドライバの最新化が可能なはず…と思ったのですが、いざセットアップを開始するとv1903かどうかのチェックが行われているようで20H2に更新済の最新環境にはインストールできません。
そこでセットアップファイル群を覗いてみると、「install.cmd」というバッチファイルの中でバージョンチェックやっている様子だったのでこれを迂回するよう下記のように修正。
@echo off
REM Set you log name and path here.
Set Logpath=C:\system.sav\Logs\Softpaq_install.log
if not exist C:\system.sav\Logs md C:\system.sav\Logs
REM Detect OS version
set os_ver=
for /f "tokens=1,2 delims== " %%i in ('wmic os get version /value') do (if /i %%~i == version set "os_ver=%%~j")
if not defined os_ver echo [%date%][%time%][%~dpnx0] Could not get OS version >> %Logpath% & goto fail
ECHO [%date%][%time%][%~dpnx0] Detected OS version : [%os_ver%] >> %Logpath%
REM ================== Check if OS is RS5_19H1 (10.0.18362) ==================
ECHO [%date%][%time%][%~dpnx0] Check if OS version has met requirement >> %Logpath%
IF /I [%os_ver%] EQU [10.0.18362] echo [%date%][%time%][%~dpnx0] OS version match. >> %Logpath% & goto Install_DRV
echo [%date%][%time%][%~dpnx0] OS version missmatch. >> %Logpath%
REM goto unsupport_OS ※変更
:Install_DRV
REM ========================================================
REM Driver deliverable installation
REM
REM Template Version: V1.00
REM ========================================================
REM %Description of deliverable%
@ECHO OFF
if not exist C:\System.sav\Logs MD C:\System.sav\Logs
if defined FCC_LOG_FOLDER (SET "APP_LOG=%FCC_LOG_FOLDER%\%~n0.log") else (SET "APP_LOG=C:\System.sav\Logs\%~n0.log")
ECHO ############################################################# >> %APP_LOG%
ECHO [%DATE%] >> %APP_LOG%
ECHO [%TIME%] Beginning of the %~nx0 >> %APP_LOG%
ECHO ############################################################# >> %APP_LOG%
REM ------------------- Script Entry ------------------------
:INSTALL
echo [%TIME%] Pnputil.exe /add-driver "%~dp01_Drv\iigd_dch.inf" /install >> %APP_LOG%
Pnputil.exe /add-driver "%~dp01_Drv\iigd_dch.inf" /install >> %APP_LOG%
if /i [%errorlevel%] == [3010] echo [%TIME%] need to reboot. Base INF install success. >> %APP_LOG% & goto INSTALLAPPX
if /i [%errorlevel%] == [259] echo [%TIME%] driver is update-to-date. Base INF install success. >> %APP_LOG% & goto INSTALLAPPX
if errorlevel 1 echo [%TIME%] Base INF install failed. >> %APP_LOG% & goto RESULTFAILED
echo [%TIME%] Base INF install success. >> %APP_LOG%
rem ---- REG IMPORT dpst.reg
:INSTALLAPPX
if not exist "%~dp0APPX" echo [%TIME%] No APPX UWP found. >> %APP_LOG% & goto END
echo [%TIME%] install appx with command DISM.exe /Online /Add-ProvisionedAppxPackage >> %APP_LOG%
DISM /Online /Add-ProvisionedAppxPackage /PackagePath:"%~dp0APPX\2f952b6e85d448e9aee8ed11b2be91f9.appx" /LicensePath:"%~dp0APPX\2f952b6e85d448e9aee8ed11b2be91f9_License1.xml" /region=all
if errorlevel 1 echo [%TIME%] DISM command failed. >> %APP_LOG% & goto RESULTFAILED
echo [%TIME%] DISM command success. >> %APP_LOG%
echo APPX Result=%errorlevel% >> %APP_LOG%
GOTO END
:RESULTFAILED
ECHO ERRRORLEVEL=%ERRORLEVEL% >> %APP_LOG%
GOTO END
:END
EXIT /B %errorlevel%
。K..
:fail
goto END
:unsupport_OS
mshta.exe vbscript:Execute("msgbox ""The driver is not supported on this OS version (%os_ver%)."",48,""Warning"":close")
:END
編集後、再実行したところ無事DCH版に切り替えることが出来ました。
続けざまにWindows Updateを行ってDCHドライバーを最新化。DCHな環境では従来の「グラフィックス・コントロール・パネル」が使用出来ないので、Microsoft ストアからDCH用の「グラフィックス・コマンド・センター」もインストールして作業完了。
パワポなどでの画面のチラつきも無事解消。めでたしめでたし!