ThinkPad X1 Yoga Dark/Black Screen Issues


ThinkPad X1 Yoga: First 2-in-1 with OLED screen

OLED (Organic Light Emitting Diode) displays are now coming to the ThinkPad X1 Yoga line. These displays offer a wider color range, deeper blacks for which they are well known for, and infinite contrast. As with most new technology, these displays also come with the need for a specific device driver. This panel driver is what allows the graphics subsystem to control elements such as screen brightness.

Problem Summary:

Beginning in May of 2016 we added to the X1 Yoga driver pack the PanelDriver.inf for support of our OLED displays on this model. Recently we began to receive feedback in regards to the non-OLED models that either the display brightness keys (F5/F6) do not work to change the brightness or by upgrading to the latest version of the Intel HD Graphics 520 Driver (21.20.16.4590), the screen will go extremely dim or completely black. The only way to get around this issue and view the contents of the screen is to plug in an external monitor.

We also received feedback from a client that they were using our preload image and were experiencing the same issue after running Reset this PC (Windows icon > Settings > Update & Security > Recovery > Reset this PC > Get started).

As we dug into the issue, we found that the driver was in the Windows DriverStore and, during the recovery process, it is restored into the OS causing this issue to occur.

Solution:

To resolve this issue, first remove the PanelDriver registry value at HKLM\SOFTWARE\Intel\IGFX.  Second, use PNPUtil to remove the paneldriver.inf driver package from the DriverStore.

When drivers get imported into the DriverStore, they get a new name, not PanelDriver.inf anymore, but oemX.inf (where X is an iterative number).


Using the PNPUtil in a PowerShell script, the removal of this driver package can be automated to make life easier on admins.  In the provided scripts, we have crafted them to serve multiple deployment scenarios to prevent confusion.

Operating System Deployments via MDT

For MDT Deployments, first obtain script S1: PanelDriverFix.ps1 below and import it into SCCM or add it to your scripts folder in MDT.


S1: PanelDriverFix.ps1


#Requires -RunAsAdministrator
$SysNatPath = ""
IF (!(Test-Path "c:\windows\system32\pnputil.exe")){$SysNatPath = "%windir%\sysnative\"}
$RetVal = c:\drivers\panel\tpdevpe.exe /CM "PANE0001"
$RetVal.toString()
$sRetVal = $RetVal.GetValue(2).ToString()
IF ($sRetVal.contains("Not found")){
    $RetVal = Remove-ItemProperty -Path "HKLM:\Software\Intel\IGFX" -Name "PanelDriver"
    cmd /c $SysNatPath "pnputil /enum-drivers > %Temp%\EnumDrivers.txt"
    $ReadEnumDrivers = Get-Content "$Env:Temp\EnumDrivers.txt"
    FOREACH($line IN $ReadEnumDrivers){
       IF($line.contains("PanelDriver.inf") -OR $line.contains("paneldriver.inf")){
            $prevLine = $prevLine.Replace("Published Name:", "").trim()
            cmd /c $SysNatPath "pnputil /delete-driver $prevLine"
            cmd /c $SysNatPath "pnputil /enum-drivers > %Temp%\EnumDriversRes.txt"
        }
        $prevLine = $line
    }
}



Next, download Patch module for Intel Panel for Windows 10 (Script S1 uses a tool in this package).  Import the downloaded .exe as an application (not extracted) and use the following command line switches for a silent install.

  
/VERYSILENT /DIR=C:\Drivers\Panel /EXTRACT="YES"

The entire command should look something like:


In an MDT task sequence, create a ThinkPad X1 Yoga group and use WMI targeting information found in our Recipe Cards to target these systems.


     


Create the following tasks:

1. Type: Install Application

    Name: Intel Patch Module for Panel 1.0.0.0
    Install a single application: <Choose name of application created.>
     
2. Type: Run PowerShell Script
    Name: Panel Driver Fix Reg and DriverStore
    PowerShell script: %SCRIPTROOT%\PanelDriverFix.ps1




Configuration Manager (OSD, Software from TS, and Software Deployments)

Package Creation

For Configuration Manager deployments, obtain both Scripts S1 and S2 from this post.  Next download and extract Patch module for Intel Panel for Windows 10 (Script S1 uses a tool in this package) to the default location. 

S2: X1CFxLCD.bat

If exist c:\windows\system32\pnputil.exe (
Powershell -Command "& {Start-Process Powershell.exe -ArgumentList '-ExecutionPolicy Bypass -File ""C:\Drivers\Panel\PanelDriverFix.ps1""' -Verb RunAs}"
) else (
Powershell -Command "& {Start-Process %windir%\sysnative\WindowsPowerShell\v1.0\Powershell.exe -ArgumentList '-ExecutionPolicy Bypass -File ""C:\Drivers\Panel\PanelDriverFix.ps1""' -Verb RunAs}"
)





Place both scripts, S1 and S2, into the folder created at C:\Drivers\Panel, overwriting any previous versions of the scripts. Once completed, copy this folder to your sources folder.


Import this folder into Configuration Manager as a package, create the programs, and distribute content to distribution points.










Program 1 (of 2) - PanelDriver Fix Copy

Program 2 (of 2) - PanelDriver Fix Apply






Operating System Deployment in Configuration Manager

First create the package as listed above.  Next, open the task sequence where Windows 10 is being deployed.  If there is not already a group for deployment to ThinkPad X1 Yoga, create a group and use WMI targeting information found in our Recipe Cards to target these systems.


Next create the Download Lenovo Panel Driver Fix task as a Run Command Line and fill in as below.

Finally, create the Lenovo Panel Driver Fix task as a Run Command Line and fill in as below.

Software Deployment via Software Center in Configuration Manager

First, create the package as listed above.  Next, deploy the program PanelDriver Fix Apply to a device collection.  Here we target just the ThinkPad X1 Yoga group.




Software Deployment via Task Sequence in Configuration Manager

First, create the package as listed above.  Next create a new custom task sequence.  In this Task Sequence, if there is not already a group for deployment to ThinkPad X1 Yoga, create a group and use WMI targeting information found in our Recipe Cards to target these systems.






Next create the Download Lenovo Panel Driver Fix task as a Run Command Line and fill in as below.

Finally, distribute the content and deploy to the ThinkPad X1 Yoga device collection.

Manual In-place Installations

Download the Patch module for Intel Panel for Windows 10 (Script S1 uses a tool in this package). Manually extract the file down to the default location.  Copy scripts S1 and S2 into C:\Drivers\Panel on each computer the Patch Module is installed on. Execute C:\Drivers\Panel\X1CFxLCD.bat file as an administrator to execute the fix.