-
Notifications
You must be signed in to change notification settings - Fork 27.9k
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 full black #187198
Comments
I have met this bug as well after upgrading to 1.80.0.
From now on, the terminal is full black. But I could still start the terminal with '+' icon. It can be fixed by restart vscode. I hope this imformation could be helpful. |
The first thing I did was to close all terminals and create new ones with the '+' symbol. The new terminals were experiencing the same issue. Then, I restarted VSCode and created new terminals again, but they still had the same problem. |
After updated latest, I also occur this issue sometime.
|
I'm also having this issue, can it be fixed recently @meganrogge |
Plz also check if the issue goes away after disabling terminal image support: "terminal.integrated.enableImages": false @Tyriar I remember a similar issue happened when tabby integrated image support for the first time, but I had no chance to verify, as the reporter never answered in the issue thread. Could that be some electron/chrome gpu driver issue not being able to do transparent composition, and thus falling back to just a black canvas? Note that I never experienced that myself, so I am not even sure, if it is related to the image addon at all. |
@jerch That fixed the problem for me. |
That fixed the problem for me too. Can I close this thread? |
Thx for the confirmations. I cannot really help to further debug this with electron/vscode, as I dont know how things like --disable-gpu or chrome://gpu play into this for electron. I also cannot repro it with any device I have access to. It pretty much smells like a driver issue with degraded transparent canvas composition, as the image canvas is meant to be a transparent layer above the terminal text layer drawing image tiles on top. This normally works for all text layer renderer types (DOM, canvas or webgl2).
Imho it is better to keep it open for now, as the circumstances, when the canvas gets wrongly painted black instead of transparent, might need further investigation. |
Related question and answer on Stack Overflow. And a duplicate question. And another duplicate. And another one. And another one 🙃. Help with closing the duplicates would be appreciated if you have the privilege level on Stack Overflow to do so (flag or close-vote) so that the answers can all be found in one place instead of scattered about. |
@starball5 Regarding your SO answer - imho this is not a bug in vscode, but more a gpu / driver / chromium bug for some rare constellations, for which vscode has no workaround yet. I think the majority of users dont face it at all. Ofc the question remains - how to fix this for the last <<10% of users? Maybe @Tyriar has more insights, when this actually happens and how to avoid it.
This seems to be a second issue, or triggered by other means. @Tyriar is there a way to determine a post resume state from electron? Maybe an explicit canvas refresh after resume already fixes this? Is there some other state holding going on between terminal kills? |
Bit late to join here but I'm thinking we should only allow images when the canvas or webgl renderers are being used, in other words, depending on @jerch do we need https://github.com/search?q=repo%3Ajerch%2Fxterm-addon-image%20getcontext&type=code The regular renderers are all opaque in VS Code so this canvas is a little special compared to them. |
Well this one here is def. needed, otherwise the transparent overlaying does not work: https://github.com/jerch/xterm-addon-image/blob/5f5bae8c5fc4fe5269e3025a4f96ace38fc300e1/src/ImageRenderer.ts#L311 All others are set to I am not sure, if the |
I doubt |
@Tyriar Is this issue worth to be further investigated or even reported to chromium devs at some point? Not being able to use transparent canvas layering on some machines these days looks to me like a rather bold issue for the browser engine with the biggest marketshare. Ofc this only makes sense if you can track down the issue further, e.g. which platform + gpu settings are affected. I would suspect that their is a common pattern to be found in chrome://gpu for those machines, sadly chrome's gpu/canvas stack is quite convoluted with all sorts of software shims to fix this or that, so it might be hard to spot this pattern. Well idk if it is worth the extra rounds, maybe only if a bigger percentage of ppl are affected by it. |
@jerch if we could get a minimal repro we could, I wouldn't want to potentially waste their time without one though. We've always had a class of users where GPU acceleration just doesn't work, some need to move on to terminal's dom renderer, and some need to launch Electron with |
I can still occur this issue in latest recovery1:
2023-07-15.04.04.27.mov |
this might be another bug. #187772 |
I figured my dark terminal was caused by my old Nvidia driver. Yesterday, they released a new update and the terminal was perfectly okay after. Thanks y'all |
Type: Bug
I dont know how to reproduce this bug. I just restart VSCode after last update. This happens with powershell, git bash and python debug terminal. I disabled GPU acceleration but nothing changed.
VS Code version: Code 1.80.0 (660393d, 2023-07-04T15:06:02.407Z)
OS version: Windows_NT x64 10.0.19045
Modes:
System Info
canvas_oop_rasterization: disabled_off
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
video_decode: enabled
video_encode: enabled
vulkan: disabled_off
webgl: enabled
webgl2: enabled
webgpu: enabled
Extensions (16)
(1 theme extensions excluded)
A/B Experiments
The text was updated successfully, but these errors were encountered: