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

Terminal Unresponsive when Playing Games #18040

Open
acelinkio opened this issue Oct 12, 2024 · 16 comments
Open

Terminal Unresponsive when Playing Games #18040

acelinkio opened this issue Oct 12, 2024 · 16 comments
Assignees
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

@acelinkio
Copy link

Windows Terminal version

1.20.11781.0

Windows build number

10.0.26100.0

Other Software

Steam
Any game launched through steam

Steps to reproduce

Start a video game and open Windows Terminal. Windows Terminal becomes unresponsive. This is true for any shell that terminal launches. powershell, cmd, wsl. This is on a fresh install of Windows 11 2024H2 on my Desktop with AMD Ryzen 7950x3d. I have disabled Game Mode and ensured power settings were set to performance.

Please note that a terminal inside of VSCode works without issue while Windows Terminal is entirely unresponsive.

Expected Behavior

No change in Windows Terminal performance when other programs are launching.

Actual Behavior

Windows Terminal freezes. After 3-5 minutes the terminal will accept keystrokes but quickly freeze again.

@acelinkio acelinkio 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 Oct 12, 2024
@acelinkio
Copy link
Author

Turning the setting Use the new text renderer ("AtlasEngine") to Off and relaunching appears to be a workaround.

@lhecker
Copy link
Member

lhecker commented Oct 14, 2024

This isn't an issue that's exclusive to Windows Terminal as it also occurs with Discord for instance. Given that you've got a 7950X3D, I suspect you're not gaming on the iGPU. Can you tell us what GPU you have? I suspect it's an Nvidia one, because I have that issue as well and also have an Nvidia GPU.

My suspicion is that this is a bug in the Nvidia driver and/or with the interaction with DWM. Windows 11 24H2 has the new WDDM 3.2 model after all, plus a ton of new DWM features. It's definitely not a bug in Windows Terminal itself.

@acelinkio
Copy link
Author

This isn't an issue that's exclusive to Windows Terminal as it also occurs with Discord for instance. Given that you've got a 7950X3D, I suspect you're not gaming on the iGPU. Can you tell us what GPU you have? I suspect it's an Nvidia one, because I have that issue as well and also have an Nvidia GPU.

My suspicion is that this is a bug in the Nvidia driver and/or with the interaction with DWM. Windows 11 24H2 has the new WDDM 3.2 model after all, plus a ton of new DWM features. It's definitely not a bug in Windows Terminal itself.

Running a Nvidia 3090ti. Didn't really consider the terminal was leveraging the dGPU. Your explaination makes sense.

On my prior Windows 11 install I faced a lot of bugs where programs launched with the iGPU. Windows Management and other apps like CPUz for example would take minutes to launch. On that previous install I disabled the iGPU in Device Manager would fix some issues but cause other GUI funkyness. So far Win11 24h2 has been solid without disabling the iGPU in Device Manager outside of Windows Terminal.

Is there a better way to disable the iGPU? I didn't see an option in my motherboard bios. Back in my day as long as you plugged the monitor into the dGPU, you were good.

@lhecker
Copy link
Member

lhecker commented Oct 14, 2024

Didn't really consider the terminal was leveraging the dGPU.

Text was always rendered using the GPU, even on ancient versions of Windows (Windows 2000, etc.), so in that regard nothing has changed. And it doesn't outright use the dGPU either: Instead, it uses your "primary" GPU, which is the GPU where your primary display is connected to. If you were to plug your display into your mainboard instead of your Nvidia GPU we'd use the iGPU.

I don't really recommend disabling the iGPU in Windows as doing so does not save power. It just hides it from Windows while keeping it fully powered, and you don't even get the benefits of having an iGPU anymore. Disabling it in the BIOS on the other hand should have an effect and reduce power draw. There's nothing that the RDNA2 iGPU can do that your dGPU can't so doing that should be safe (since both are about the same age). (But if anything goes wrong, please keep in mind that I can't visit you to fix it. 😄 Everything I'm writing here should not be taken as advice to actually do it.)

I didn't see an option in my motherboard bios.

There are many different locations for that setting, depending on the customization from your mainboard vendor. It's always in the "Advanced" tab, and then sometimes in a "Chipset" or "Onboard" configuration submenu. If it's in none of the submenus in the "Advanced" tab, you can go to "AMD CBS" and then either "NBIO Common Options" or "GFX Configuration" or similar. Within those, there should be a setting to disable the iGPU. Only use the AMD CBS menu if it's not anywhere else. Keep in mind that afterwards you'll need your Nvidia GPU to see anything. If it's ever missing or broken you need to reset your BIOS completely.

That will not solve your issue though. In fact, I don't even have an iGPU. I'll have to report a bug against DWM most likely, and they'll have to investigate this.

Back in my day as long as you plugged the monitor into the dGPU, you were good.

I'm not sure how long those days are past, but I there have been countless major issues over the last 2 decades with both Nvidia and AMD. Here's an example of a longstanding Nvidia bug with ~200 comments: #649

@lhecker
Copy link
Member

lhecker commented Oct 15, 2024

We should leave this issue open so that others won't create duplicates accidentally. I expect this to be a common bug report as people continue to update to 24H2.

@lhecker lhecker reopened this Oct 15, 2024
@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 labels Oct 16, 2024
@carlos-zamora carlos-zamora added this to the Backlog milestone Oct 16, 2024
@bptrsn
Copy link

bptrsn commented Nov 9, 2024

Turning the setting Use the new text renderer ("AtlasEngine") to Off and relaunching appears to be a workaround.

Hello, I do not have this setting and my Windows Terminal freezes/crashes since updating to 24H2 a couple days ago :(

Is there any other fix? I use Windows Terminal daily. I am on Windows Terminal Version: 1.21.2911.0

@lhecker
Copy link
Member

lhecker commented Nov 10, 2024

I have a theory that it may be fixed if you set the background opacity of the window to less than 100 (Settings > Defaults > Appearance).
Edit: It seems my theory is correct.

@bptrsn
Copy link

bptrsn commented Nov 12, 2024

I have a theory that it may be fixed if you set the background opacity of the window to less than 1 (Settings > Defaults > Advanced). Edit: It seems my theory is correct.

I don't have that setting:
Image

@lhecker
Copy link
Member

lhecker commented Nov 12, 2024

Oh, I apologize. I meant to write "Appearance" instead of "Advanced". I fixed my comment.

@bptrsn
Copy link

bptrsn commented Nov 12, 2024

Oh, I apologize. I meant to write "Appearance" instead of "Advanced". I fixed my comment.

Ahh I see. Well that just gives a transparent Terminal :D Can't work with that :D
I'll try reverting Nvidia driver to older version and see if that fixes it :)

@lhecker
Copy link
Member

lhecker commented Nov 22, 2024

This has been reported as MSFT-55182474 internally.

Personally, I've found that disabling this setting fixed it for me, as another possible workaround:
Image

@bptrsn
Copy link

bptrsn commented Nov 25, 2024

I got it fixed by playing around with settings in Windows Terminal.
I think it was the "Use software rendering (WARP)" one under Rendering that did it. Haven't had WT freeze since.

@lhecker
Copy link
Member

lhecker commented Nov 25, 2024

Ahh I see. Well that just gives a transparent Terminal :D Can't work with that :D

You can set it to 99 and it'll essentially appear as if it's not transparent at all.

I think it was the "Use software rendering (WARP)" one under Rendering that did it. Haven't had WT freeze since.

That will indeed fix it, but I strongly advise against doing that. It's really CPU intensive for no good reason when you have a perfectly fine GPU to use.

@bptrsn
Copy link

bptrsn commented Nov 27, 2024

Task Manager says 0 to 0.1% usage, but I'll try your opacity route solution.

You originally wrote "set the background opacity of the window to less than 1", which I thought you meant 0 by haha, I'm guessing it was supposed to say 100.

@lhecker
Copy link
Member

lhecker commented Nov 27, 2024

Task Manager says 0 to 0.1% usage [...]

It depends on what you're doing. If you print a lot of text, it'll be significantly higher. I have an AMD 5950X and it'll produce up to 40% load and consume >30W. If I use my GPU on the other hand, it produces <1% load and consumes <4W. Software rasterization, aka WARP, also runs across all CPU cores which is not ideal during gaming because it may steal the game's time slices. It should only ever be used as an option of last resort, because CPUs are simply not good at emulating GPUs.

You originally wrote "set the background opacity of the window to less than 1", which I thought you meant 0 by haha, I'm guessing it was supposed to say 100.

Oh, it's because the value is a percentage, so I meant "less than 1" as in "less than 100 percent". 😅 I apologize for that.

@bptrsn
Copy link

bptrsn commented Nov 29, 2024

Task Manager says 0 to 0.1% usage [...]

It depends on what you're doing. If you print a lot of text, it'll be significantly higher. I have an AMD 5950X and it'll produce up to 40% load and consume >30W. If I use my GPU on the other hand, it produces <1% load and consumes <4W. Software rasterization, aka WARP, also runs across all CPU cores which is not ideal during gaming because it may steal the game's time slices. It should only ever be used as an option of last resort, because CPUs are simply not good at emulating GPUs.

You originally wrote "set the background opacity of the window to less than 1", which I thought you meant 0 by haha, I'm guessing it was supposed to say 100.

Oh, it's because the value is a percentage, so I meant "less than 1" as in "less than 100 percent". 😅 I apologize for that.

Okay thanks for the explanation :)

Is there an issue here on Github I can track regarding this bug? I have several other programs where I can't disable hardware acceleration and they freeze too. Is it on Nvidia or Microsoft to fix?

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

4 participants