Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inconsistent terminal color (on startup) #16996

Open
lindhe opened this issue Apr 2, 2024 · 14 comments
Open

Inconsistent terminal color (on startup) #16996

lindhe opened this issue Apr 2, 2024 · 14 comments
Labels
Area-Rendering Text rendering, emoji, complex glyph & font-fallback issues Issue-Bug It either shouldn't be doing this or needs an investigation. Product-Terminal The new Windows Terminal.
Milestone

Comments

@lindhe
Copy link

lindhe commented Apr 2, 2024

Windows Terminal version

1.19.10573.0

Windows build number

10.0.22631.0

Other Software

> wsl --version
WSL version: 2.1.5.0
Kernel version: 5.15.146.1-2
WSLg version: 1.0.60
MSRDC version: 1.2.5105
Direct3D version: 1.611.1-81528511
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.22631.3296
  • Ubuntu 22.04.4 LTS
  • ZSH 5.8.1
  • Oh My Zsh version: master (0fed366)
  • ZSH_THEME="bira"

Steps to reproduce

I cannot reproduce it 100% reliably, but I do get it fairly regularly (at least once per day).

It typically happens for the first terminal I create after I boot my computer.

Expected Behavior

If I open multiple panes/tabs/windows, they should all have the same colorscheme (or render the colors the same way).

Actual Behavior

For the first terminal I create, I get colors that are slightly off. All panes/tabs/windows I create after that have correct colors:

Screenshot 2024-04-02 162159

In this example, the upper pane is the first pane and the lower pane was created later.

According to the color picker from PowerToys, these are the colors I get in the screenshot example:

Black White Green Blue
Upper pane #0c0c0c #f0f0f0 #4be14b #4040bd
Lower pane #0c0c0c #f0f0f0 #15b40c #3b78ff

Node that there is some variation caused by aliasing, so I may have accidentally picked the wrong colors. But it's an honest attempt. 😅

@lindhe lindhe added Issue-Bug It either shouldn't be doing this or needs an investigation. Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting labels Apr 2, 2024

This comment was marked as off-topic.

@zadjii-msft
Copy link
Member

Could you share your settings.json file/?

@microsoft-github-policy-service microsoft-github-policy-service bot added the Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something label Apr 2, 2024
@lindhe
Copy link
Author

lindhe commented Apr 2, 2024

Of course! Here: settings.json

@microsoft-github-policy-service microsoft-github-policy-service bot added Needs-Attention The core contributors need to come back around and look at this ASAP. and removed Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something labels Apr 2, 2024
@carlos-zamora
Copy link
Member

Thanks for filing! We took a look at the settings.json file and nothing stood out. Could you capture a Debug Tap of when the terminal launches with this unexpected configuration/? Be sure to hold both alt buttons when the terminal launches to get it to work.

@microsoft-github-policy-service microsoft-github-policy-service bot added Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something and removed Needs-Attention The core contributors need to come back around and look at this ASAP. labels Apr 3, 2024
@lindhe
Copy link
Author

lindhe commented Apr 5, 2024

I've activated the debug trap now, but I was not able to immediately reproduce the issue. It comes every now and then for me, I'll post here as soon as I catch one!

@microsoft-github-policy-service microsoft-github-policy-service bot added Needs-Attention The core contributors need to come back around and look at this ASAP. and removed Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something labels Apr 5, 2024
@carlos-zamora carlos-zamora added Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something and removed Needs-Attention The core contributors need to come back around and look at this ASAP. labels Apr 10, 2024
@microsoft-github-policy-service microsoft-github-policy-service bot added the No-Recent-Activity This issue/PR is going stale and may be auto-closed without further activity. label Apr 14, 2024
@lindhe
Copy link
Author

lindhe commented Apr 15, 2024

I have so far been unable to reproduce the bug with the debug tap active. I will keep trying for a while longer, but maybe the bug does not show up with the tap active?

@microsoft-github-policy-service microsoft-github-policy-service bot added Needs-Attention The core contributors need to come back around and look at this ASAP. and removed Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something No-Recent-Activity This issue/PR is going stale and may be auto-closed without further activity. labels Apr 15, 2024
@zadjii-msft
Copy link
Member

But it does show up relatively consistently without the debug tap? That would be.... extremely bizarre. Especially since the color values in the image don't actually look like they're coming from the color schemes, so that would seemingly suggest that there's something in your prompt that's manually emitting those colors?

@lindhe
Copy link
Author

lindhe commented Apr 15, 2024

Yes, it happens multiple times per day, but I have not yet figured out a way to reliably reproduce it. Mostly I think it's when I leave the computer on for a while and the screen goes dark after screen lock (e.g. during lunch). When I come back, it's very frequent that this problem occurs.

Next time I catch it, I'll try to echo a color (e.g. echo -e '\e[34m\e[1m\u25A0\e[0m') and inspect what color that is. That might give us a clue if this is the text output that goes wrong or if all colors are off. ¯\_(ツ)_/¯

I'll do my best to try and figure out the exact circumstances. Will keep you posted!

@carlos-zamora carlos-zamora added Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something and removed Needs-Attention The core contributors need to come back around and look at this ASAP. labels Apr 17, 2024
@microsoft-github-policy-service microsoft-github-policy-service bot added the No-Recent-Activity This issue/PR is going stale and may be auto-closed without further activity. label Apr 22, 2024
@lindhe
Copy link
Author

lindhe commented Apr 22, 2024

Just FYI: I'll get back whenever I have new info. If this is automatically closed, I'll just reopen it. 👍

@microsoft-github-policy-service microsoft-github-policy-service bot added Needs-Attention The core contributors need to come back around and look at this ASAP. and removed Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something No-Recent-Activity This issue/PR is going stale and may be auto-closed without further activity. labels Apr 22, 2024
@DHowett
Copy link
Member

DHowett commented Apr 22, 2024

Thanks! If you don't have the rights to reopen it, let one of us know and we will!

@carlos-zamora carlos-zamora added Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something and removed Needs-Attention The core contributors need to come back around and look at this ASAP. labels Apr 25, 2024
@microsoft-github-policy-service microsoft-github-policy-service bot added the No-Recent-Activity This issue/PR is going stale and may be auto-closed without further activity. label Apr 29, 2024
@lindhe
Copy link
Author

lindhe commented May 3, 2024

I just had it occur again and was able to capture the output of echo '\e[34m\e[1m\u25A0\e[0m':

image

Upper pane: #5454ff
Lower pane: #3b78ff

@microsoft-github-policy-service microsoft-github-policy-service bot added Needs-Attention The core contributors need to come back around and look at this ASAP. and removed Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something No-Recent-Activity This issue/PR is going stale and may be auto-closed without further activity. labels May 3, 2024
@lhecker lhecker reopened this May 3, 2024
@lhecker
Copy link
Member

lhecker commented May 3, 2024

The image you shared has a background color of #050505 but the settings.json you previously shared doesn't have such a color anywhere. The first screenshot you shared in the beginning has #0c0c0c which does exist in one of the themes. Couple related questions:

  • Did you change your settings.json since then?
  • Are you using an HDR display?
  • If you open the Settings app and go to System > Display > Color Management, do you have a display profile set up?
  • ...and if you have a "Automatically manage color for apps" toggle there, is it turned on or off?

I think this may be a memory corruption of our color table(s).

@lindhe
Copy link
Author

lindhe commented May 3, 2024

  • Did you change your settings.json since then?

No.

  • Are you using an HDR display?

On the monitor I took the screenshot on (my external monitor): no. On my laptop: yes. And would that really matter when taking a screenshot or measuring with the color picker tool from PowerToys?

  • If you open the Settings app and go to System > Display > Color Management, do you have a display profile set up?

I didn't find "Color management". Is it the same as "Colour profile"? I've got a profile for my external monitor but not the built in one:
image

  • ...and if you have a "Automatically manage color for apps" toggle there, is it turned on or off?

It's off for both displays.

I think this may be a memory corruption of our color table(s).

I always find the bizarre ones: 😂

@lhecker
Copy link
Member

lhecker commented May 3, 2024

And would that really matter when taking a screenshot or measuring with the color picker tool from PowerToys?

Yes, at least in my understanding. DWM composites all applications into a single surface which has a color format and space that fits the target display. Windows Terminal renders text into a BGR (reverse RGB) 8-bit surface, which DWM composites into for instance (I'm not actually sure which one specifically) RGB with 16-bit floats to later output it on a HDR display. When you take a screenshot, it'll take a copy from that DWM surface and then convert it back to 8-bit RGB.

I've got a profile for my external monitor but not the built in one:

GPUs should apply color profiles very late with a matrix or LUT transform, only when actually sending the image to the monitor. I was just wondering if it's possible that a color profile may get applied early by DWM and if so, if it may not be applied to all swap chains (= all panes/tabs). I don't think that's possible, but...

Well maybe it's indeed a memory corruption. But it'd definitely be the first and only report about it so far!

@carlos-zamora carlos-zamora added Area-Rendering Text rendering, emoji, complex glyph & font-fallback issues Product-Terminal The new Windows Terminal. and removed Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting Needs-Attention The core contributors need to come back around and look at this ASAP. labels May 8, 2024
@carlos-zamora carlos-zamora added this to the Backlog milestone May 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Rendering Text rendering, emoji, complex glyph & font-fallback issues Issue-Bug It either shouldn't be doing this or needs an investigation. Product-Terminal The new Windows Terminal.
Projects
None yet
Development

No branches or pull requests

5 participants