Unable to find the provided shader "". #12447

Closed
opened 2026-01-31 03:15:55 +00:00 by claunia · 6 comments
Owner

Originally created by @rolflobker on GitHub (Feb 6, 2021).

Microsoft Windows NT 10.0.19042.0
Windows Terminal Preview Version: 1.6.10272.0

Steps to reproduce

Open a new tab, with following profile;


  {
    "guid": "{a232ec02-ced9-4160-a72d-16cbc00786c6}",
    "name": "SomeServer",
    "commandline": "c:/profile/someserver.cmd",
    "tabTitle": "SomeServer",
    "backgroundImage": "C:/profile/backdrops/somebackground.jpg",
    "backgroundImageStretchMode": "uniformToFill",
    "backgroundImageOpacity": 0.5,
    "closeOnExit": "always",
    "bellStyle": "none",
    "fontWeight": "light",
    "colorScheme": "Solarized Dark Higher Contrast"
  },

c:/profile/someserver.cmd contains;


set display=localhost:0.0
ssh -Y -C -c aes128-ctr myserver

And myserver is ofc configured in .~/ssh/config as follows


Host *
ForwardAgent yes
ForwardX11 yes
ForwardX11Trusted yes
IdentityFile ~/.ssh/mykey
ServerAliveInterval 60
ServerAliveCountMax 2
User myusername

Host myserver
Hostname
LocalForward 3306 localhost:3306
IdentityFile ~/.ssh/otherkey

Expected behavior

Open the session without popups, being notified about missing shaders,
And WT remaining active. I noticed it sometimes completely dissappears, but have not been able to pinpoint exactly if that coincides with the "Unable to find the provided shader ""." message

Actual behavior

Almost always pops up saying "Warning: Unable to find the provided shader ""."

Below animation shows me opening several tabs with pwsh, powershell, cmd
Before opening the sshserver.cmd profile.
I made a copy of the profile pointing to a different background image, this did not change the behaviour

At the end, we see 1 succesful open, then an open with warning message, then another open with warning message before WT just complete closes (all gone)

ShaderGifSki2

Originally created by @rolflobker on GitHub (Feb 6, 2021). Microsoft Windows NT 10.0.19042.0 Windows Terminal Preview Version: 1.6.10272.0 # Steps to reproduce Open a new tab, with following profile; ----- { "guid": "{a232ec02-ced9-4160-a72d-16cbc00786c6}", "name": "SomeServer", "commandline": "c:/profile/someserver.cmd", "tabTitle": "SomeServer", "backgroundImage": "C:/profile/backdrops/somebackground.jpg", "backgroundImageStretchMode": "uniformToFill", "backgroundImageOpacity": 0.5, "closeOnExit": "always", "bellStyle": "none", "fontWeight": "light", "colorScheme": "Solarized Dark Higher Contrast" }, ----- c:/profile/someserver.cmd contains; ----- set display=localhost:0.0 ssh -Y -C -c aes128-ctr myserver ----- And myserver is ofc configured in .~/ssh/config as follows ----- Host * ForwardAgent yes ForwardX11 yes ForwardX11Trusted yes IdentityFile ~/.ssh/mykey ServerAliveInterval 60 ServerAliveCountMax 2 User myusername Host myserver Hostname <SOMEIP> LocalForward 3306 localhost:3306 IdentityFile ~/.ssh/otherkey ------ # Expected behavior Open the session without popups, being notified about missing shaders, And WT remaining active. I noticed it sometimes completely dissappears, but have not been able to pinpoint exactly if that coincides with the "Unable to find the provided shader ""." message # Actual behavior Almost always pops up saying "Warning: Unable to find the provided shader ""." <!-- What's actually happening? --> Below animation shows me opening several tabs with pwsh, powershell, cmd Before opening the sshserver.cmd profile. I made a copy of the profile pointing to a different background image, this did not change the behaviour At the end, we see 1 succesful open, then an open with warning message, then another open with warning message before WT just complete closes (all gone) ![ShaderGifSki2](https://user-images.githubusercontent.com/904530/107117288-aac06880-6879-11eb-9e0a-87560cb7285d.gif)
claunia added the Resolution-Fix-CommittedResolution-Duplicate labels 2026-01-31 03:15:55 +00:00
Author
Owner

@rolflobker commented on GitHub (Feb 7, 2021):

Addendum:

Looks like the root cause, is the fact that I change the background in the profile, using a .ps1 that I created;

If I run this batchfile, from a pswh session in Terminal Preview the Terminal also crashes.

Batch executed;

 @echo off
 set display=localhost:0.0
 @pwsh.exe -noprofile "C:\profile\Scripts\Powershell\Change-WindowsTerminalBackground.ps1"
 ssh -Y -C -c aes128-ctr ssh -Y myhost

Probably the fact that I change the settings.json file during the loading;

Change-WindowsTerminalBackground.ps1

 $profilesJson =      "C:\Users\user\AppData\Local\Packages\Microsoft.WindowsTerminalPreview_8wekyb3d8bbwe\LocalState\settings.json"
 $json = Get-Content $profilesJson -Raw | ConvertFrom-Json
 
 $backgrounds = Get-ChildItem "C:\profile\backdrops\view\"
 
 $background = (($backgrounds[(Get-Random -Minimum 0 -Maximum ($backgrounds.Count))]).VersionInfo.FileName) -replace      ("\\","/")
 
 $pwsh = $json.profiles.list | where {$PSItem.Name -eq 'PowerShell'}
 
 $pwsh.backgroundImage = $background
 $pwsh.backgroundImageStretchMode = "uniformToFill"
 #$pwsh.backgroundImageOpacity = 0.5
 
 $json | ConvertTo-Json -Depth 100 | Set-Content $profilesJson

Edit:

Another addendum;

I am now running a Windows Task, that changes the backgrounds for the profiles periodically

When I run this, with an active WT (preview) process I still get the "Unable to find the provided shader" popup and the occasional vanishing / crashing of the WT process.
image

My script runs through all profiles, for each profile look in it's respective "image folder", randomly picks a backdrop, alters the Json and then saves the file settings.json

For those interested, this is the script I run (which currently does occasionally crashes WT)

 $profilesJson = 
 "C:\Users\user\AppData\Local\Packages\Microsoft.WindowsTerminalPreview_8wekyb3d8bbwe\LocalState\settings.json"
 $json = Get-Content $profilesJson -Raw | ConvertFrom-Json
 
 $rootFolder = 'C:\profile\backdrops\'

 foreach ($profile in $json.profiles.list){
 
     $ImagesFolder = "$rootFolder$($profile.name)"
     #Write-Output $ImagesFolder
     If (Test-Path $ImagesFolder){
         $backgrounds = Get-ChildItem $ImagesFolder
         $background = (($backgrounds[(Get-Random -Minimum 0 -Maximum ($backgrounds.Count))]).VersionInfo.FileName) -     replace ("\\","/")
 
         $thisProfile = $json.profiles.list | where {$PSItem.Name -eq $profile.name}
         #Write-Output $Profile.backgroundImage
         $thisProfile.backgroundImage = $background
         $thisProfile.backgroundImageStretchMode = "uniformToFill"
         $thisProfile.backgroundImage = $background
     }
 
 }
 
 $json | ConvertTo-Json -Depth 100 | Set-Content $profilesJson
@rolflobker commented on GitHub (Feb 7, 2021): Addendum: Looks like the root cause, is the fact that I change the background in the profile, using a .ps1 that I created; If I run this batchfile, from a pswh session in Terminal Preview the Terminal also crashes. Batch executed; @echo off set display=localhost:0.0 @pwsh.exe -noprofile "C:\profile\Scripts\Powershell\Change-WindowsTerminalBackground.ps1" ssh -Y -C -c aes128-ctr ssh -Y myhost Probably the fact that I change the settings.json file during the loading; Change-WindowsTerminalBackground.ps1 $profilesJson = "C:\Users\user\AppData\Local\Packages\Microsoft.WindowsTerminalPreview_8wekyb3d8bbwe\LocalState\settings.json" $json = Get-Content $profilesJson -Raw | ConvertFrom-Json $backgrounds = Get-ChildItem "C:\profile\backdrops\view\" $background = (($backgrounds[(Get-Random -Minimum 0 -Maximum ($backgrounds.Count))]).VersionInfo.FileName) -replace ("\\","/") $pwsh = $json.profiles.list | where {$PSItem.Name -eq 'PowerShell'} $pwsh.backgroundImage = $background $pwsh.backgroundImageStretchMode = "uniformToFill" #$pwsh.backgroundImageOpacity = 0.5 $json | ConvertTo-Json -Depth 100 | Set-Content $profilesJson Edit: Another addendum; I am now running a Windows Task, that changes the backgrounds for the profiles periodically When I run this, with an active WT (preview) process I still get the "Unable to find the provided shader" popup and the occasional vanishing / crashing of the WT process. ![image](https://user-images.githubusercontent.com/904530/107145679-90eb5800-6943-11eb-9961-af194314c05c.png) My script runs through all profiles, for each profile look in it's respective "image folder", randomly picks a backdrop, alters the Json and then saves the file settings.json For those interested, this is the script I run (which currently does occasionally crashes WT) $profilesJson = "C:\Users\user\AppData\Local\Packages\Microsoft.WindowsTerminalPreview_8wekyb3d8bbwe\LocalState\settings.json" $json = Get-Content $profilesJson -Raw | ConvertFrom-Json $rootFolder = 'C:\profile\backdrops\' foreach ($profile in $json.profiles.list){ $ImagesFolder = "$rootFolder$($profile.name)" #Write-Output $ImagesFolder If (Test-Path $ImagesFolder){ $backgrounds = Get-ChildItem $ImagesFolder $background = (($backgrounds[(Get-Random -Minimum 0 -Maximum ($backgrounds.Count))]).VersionInfo.FileName) - replace ("\\","/") $thisProfile = $json.profiles.list | where {$PSItem.Name -eq $profile.name} #Write-Output $Profile.backgroundImage $thisProfile.backgroundImage = $background $thisProfile.backgroundImageStretchMode = "uniformToFill" $thisProfile.backgroundImage = $background } } $json | ConvertTo-Json -Depth 100 | Set-Content $profilesJson
Author
Owner

@zadjii-msft commented on GitHub (Feb 8, 2021):

Hmm. This is certainly bizarre. I wonder if this has anything to do with #8723.

For the record, I don't think there's any reason why just hot-reloading your settings file to change the background image should cause the terminal to think you provided an empty string to the pixel shader... Does it consistently happen with a particular image? Maybe it has something to do with the path to that image. No idea really.

@zadjii-msft commented on GitHub (Feb 8, 2021): Hmm. This is certainly bizarre. I wonder if this has anything to do with #8723. For the record, I don't think there's any reason why just hot-reloading your settings file to change the background image should cause the terminal to think you provided an empty string to the pixel shader... Does it consistently happen with a particular image? Maybe it has something to do with the path to that image. No idea really.
Author
Owner

@rolflobker commented on GitHub (Feb 8, 2021):

It happens with any image.

I have scheduled a Windows Task to run my script every 5 minutes, every so often it just crashes WT or gives me the shader error popups.

A reload of WT (with unchanged file paths) works just fine.

You should be able to try it out using my script (above) and placing some images in the specified folder.
Then surround that script in a while loop, with start-sleep -seconds 30 or something

@rolflobker commented on GitHub (Feb 8, 2021): It happens with any image. I have scheduled a Windows Task to run my script every 5 minutes, every so often it just crashes WT or gives me the shader error popups. A reload of WT (with unchanged file paths) works just fine. You should be able to try it out using my script (above) and placing some images in the specified folder. Then surround that script in a while loop, with start-sleep -seconds 30 or something
Author
Owner

@DHowett commented on GitHub (Feb 10, 2021):

Thanks for the report! This has the same root cause as /dup #8723, actually, and there's a fix in #9092!

@DHowett commented on GitHub (Feb 10, 2021): Thanks for the report! This has the same root cause as /dup #8723, actually, and there's a fix in #9092!
Author
Owner

@ghost commented on GitHub (Feb 10, 2021):

Hi! We've identified this issue as a duplicate of another one that already exists on this Issue Tracker. This specific instance is being closed in favor of tracking the concern over on the referenced thread. Thanks for your report!

@ghost commented on GitHub (Feb 10, 2021): Hi! We've identified this issue as a duplicate of another one that already exists on this Issue Tracker. This specific instance is being closed in favor of tracking the concern over on the referenced thread. Thanks for your report!
Author
Owner

@ghost commented on GitHub (Feb 11, 2021):

:tada:This issue was addressed in #9092, which has now been successfully released as Windows Terminal Preview v1.6.10412.0.🎉

Handy links:

@ghost commented on GitHub (Feb 11, 2021): :tada:This issue was addressed in #9092, which has now been successfully released as `Windows Terminal Preview v1.6.10412.0`.:tada: Handy links: * [Release Notes](https://github.com/microsoft/terminal/releases/tag/v1.6.10412.0) * [Store Download](https://www.microsoft.com/store/apps/9n8g5rfz9xk3?cid=storebadge&ocid=badge)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#12447