microsoft / terminal

The new Windows Terminal and the original Windows console host, all in the same place!
MIT License
95.27k stars 8.27k forks source link

Retro effect not working on certain/older systems #4229

Closed GrumpyDemus closed 2 years ago

GrumpyDemus commented 4 years ago

Environment

Windows build number:  10.0.18362.535
Windows Terminal version (if applicable): 0.8.10091.0

DxDiag.txt I attached the DxDiag file, because I think it has something to do with the version of windows or the graphics driver/card. I can't update to a newer version of windows because it is not my system.

Steps to reproduce

Disclaimer: This works as intended on my personal system, so it is definitely system dependent

Try out the new retro effect: "experimental.retroTerminalEffect": true

Expected behavior

The cool retro effect should appear

Actual behavior

The retro effect does not appear

EdgarVaguencia commented 4 years ago

Is required any minimum display drivers version?

The information of my drivers computer

Display Devices

Card name: Intel(R) HD Graphics Manufacturer: Intel Corporation Chip type: Intel(R) HD Graphics (Core i3) DAC type: Internal Display Memory: 1696 MB Dedicated Memory: 64 MB Shared Memory: 1632 MB Current Mode: 1366 x 768 (32 bit) (60Hz) Native Mode: 1366 x 768(p) (60.031Hz) Driver Name: igdumd64.dll,igd10umd64.dll Driver File Version: 8.15.0010.2900 (English) Driver Version: 8.15.10.2900 DDI Version: 10 Feature Levels: 10_0,9_1 Driver Model: WDDM 1.1 Driver Attributes: Final Retail Driver Date/Size: 25/11/2012 06:00:00 p. m., 8369024 bytes

DHowett-MSFT commented 4 years ago

Hey @ironyman, do you have any idea what the requirements actually are for the retro shaders?

lon3wolf commented 4 years ago

It worked for me after I spawned a new tab, make sure to check that too. Somehow, It doesn't apply on the existing tab and requires a new tab to be opened.

ironyman commented 4 years ago

I'm not sure. I know that the shader requires some version of direct3d. If the hardware supports d3d11 then the version of pixel shader we requested should be supported. Is there a way to get the output of LOG_HR_MSG or does there need to be a debugger attached?

DHowett-MSFT commented 4 years ago

Alas, a debugger must be attached.

GrumpyDemus commented 4 years ago

It worked for me after I spawned a new tab, make sure to check that too. Somehow, It doesn't apply on the existing tab and requires a new tab to be opened.

Yes I tried that. Also restarting the terminal and rebooting the system didn't help. I guess the graphics card is just too old. (2009) It officially only supports up to DX10/OpenGL3 (https://www.nvidia.com/object/product_quadro_nvs_295_us.html)

So if I understood @ironyman correctly you need DX11 support for the shaders to work

ironyman commented 4 years ago

So if I understood @ironyman correctly you need DX11 support for the shaders to work

Yes. Mainly because I randomly picked shader model 5 (ps_5_0 and vs_5_0) and that requires d3d11.

https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/specifying-compiler-targets

We can try to change the shaders to target shader model 4. It should just be a matter of changing the target in shader compile call because I don't think we're using any shader model 5 features. That should let us support d3d10 machines.

It's weird that dxdiag thinks directx 12 is supported?

lennybacon commented 3 years ago

Probably related. The retroTerminalEffect has no visual affect but produces high CPU load in my Windows 10 VMs with a RDP or Hyper-V connection.

zadjii-msft commented 2 years ago

@GrumpyDemus you still seeing this? We have gotten surprisingly few reports of this over the last few years so I'm kinda hoping this is something that was machine dependent. That, and we're bumping the min version required for the Terminal to 19041, maybe the issue was OS version dependent. Anyways, if this is resolved, I'd love to get it cleaned off the backlog.

I totally wouldn't expect it to work in VMs at all - idk if hyperv really supports GPU scenarios in VMs like that. IIRC there's another closed thread about that.

lennybacon commented 2 years ago

There are visual effects but the CPU is still very very high as soon as the window is focused. Running a VM on 19041.

image

image

GrumpyDemus commented 2 years ago

@GrumpyDemus you still seeing this? We have gotten surprisingly few reports of this over the last few years so I'm kinda hoping this is something that was machine dependent. That, and we're bumping the min version required for the Terminal to 19041, maybe the issue was OS version dependent. Anyways, if this is resolved, I'd love to get it cleaned off the backlog.

@zadjii-msft as @ironyman mentioned, the shader needs d3d11 support and the graphics card in that system only supports up to d3d10, therefore the shader won't work I suppose. The affected system isn't in use anymore, so it doesn't matter (for me at least).

OstiumAxioma commented 10 months ago

@zadjii-msft Just want to report to this post that my machine is dx12 supported, but CTR effect only showed up for once in my terminal. And when I close the window and reopen it, it's gone. The setting for retro effect remains open. Which is really weird for me.