Workaround: Press ctrl++ and ctrl+- (mac: cmd++, cmd+-) to zoom VS Code in and out which will do a complete redraw of the terminal.
Repro:
What happens exactly differs across machines, I've seen full black, full transparent and things like this:
It seems like both the main terminal canvas texture as well as the texture atlas textures can become corrupted.
Does this particular flavor of issue happen outside of Linux with NVIDIA Proprietary drivers? It does seem some people report issues with terminal resume on macOS, but NVIDIA's proprietary drivers on Linux seem to have an endemic issue with sleep/resume.
I think I've seen it on my Macbook (Intel UHD Graphics 630 1536 MB) and my home PC on Windows (GTX 600 series I think).
I have this too and I'm using the on board video card. Intel HD Graphics 630
I resumed from a sleep state and I didn't immediately reproduce this issue.
@Tyriar you mentioned a "delay between 2 and 3 has to be a while". Is that 2 to 3 hours? My sleep state duration was just under 2 hours
@chrsmrtn- yeah it's pretty hard to reproduce intentionally
I've also noted deuteriation of the window. As in initially all is well after my computer wakes back up, but over time artifacts started appearing (using npm packages to host, monitor changes, and auto compile on change). After a while the window flashes and goes black.
updated to 1809 and again ran into the issue where the terminal text was no longer visible. I could see a cursor, but interacting (even hitting enter to get the command prompt to print out) didn't work.
I closed and re-opened the terminal, but no text was displayed. I could get the command prompt to display if I hit enter
note the above occurred with a working terminal and sleep was not involved. Just like my original ticket that was logged.
Same weird artefacts after wake-up from sleep on laptop with NVidia graphics card, Ubuntu 16.04 LTS. Reloading window action is required.
@Tyriar Do you have an idea how to fix it? I could PR..
I've pushed https://github.com/Microsoft/vscode/commit/e5316826f86745cf9261dae723313a641926ac72 which might be a fix for this problem. For those seeing this a lot could you add this to your settings file and let me know if you still observe the problem:
"terminal.integrated.experimentalRefreshOnResume": true
I can make this the default behavior if it works and doesn't cause any other issues.
Has anyone had success with the terminal.integrated.experimentalRefreshOnResume
setting?
Note that like @chrsmrtn-, I see this happen randomly during normal operation as well, not just during sleep/wake.
I _do_ have an NVIDIA card, if that is the culprit. For me, I can consistently reproduce. Sleeping for any amount of time (e.g. shut laptop lid, wait 10 seconds, and open again) causes this 100% of the time for me.
I can try terminal.integrated.experimentalRefreshOnResume
and report back.
Interestingly, if I disable my NVIDIA GPU (I have an optimus laptop), the problem goes away entirely.
I'm still after some verification as to whether terminal.integrated.experimentalRefreshOnResume
fixes the issue, thanks.
I'm still after some verification as to whether
terminal.integrated.experimentalRefreshOnResume
fixes the issue, thanks.
I'll do my best to try it tonight, but if the name of the setting tells me anything, it may only fix the issue when it occurs on system resume, and not when it occurs while the system is running.
@sagebind can't you only repro after shutting your laptop?
For me, I can consistently reproduce. Sleeping for any amount of time (e.g. shut laptop lid, wait 10 seconds, and open again) causes this 100% of the time for me.
I haven't heard any reports about it just happening randoml while the system is running.
@Tyriar I simply mentioned the _easiest_ way for me to reproduce was via the suspend/resume method; I wasn't saying that was the _only_ way in which it happens. I added more details in the duplicate issue I opened earlier that was closed: https://github.com/Microsoft/vscode/issues/72657. To summarize, this bug triggers for me in two ways:
It looks like the code for the experimental setting isn't exclusively dealing with suspend/resume, so I'll try to see if I can reproduce it using the long-running method as well to see if it helps at all. Again, the second path is a lot harder for me to reproduce, but I'll try and narrow down some of the "variables" tonight.
@Tyriar FWIW, it looks like @chrsmrtn- reported it happening for him randomly as well without suspend/resume involved:
note the above occurred with a working terminal and sleep was not involved. Just like my original ticket that was logged.
OK, I grabbed the latest Insiders build and did some testing. I've also discovered a few things that hopefully help us narrow down the problem. Firstly, I decided to test terminal.integrated.experimentalRefreshOnResume
as @Tyriar requested to see if it helps mitigate the issue. First, testing suspend/resume behavior. Here's what I have first:
To verify the bad behavior, I suspended the machine, and resumed immediately after suspension. Here's what I get:
OK, I reproduced the bad behavior (did it several times to be sure; the texture corruption varies, sometimes simply blank). Now let's try with the setting set to true
, reload the window, and run through the suspend/resume process again:
It would appear that terminal.integrated.experimentalRefreshOnResume
successfully mitigates the problem on resume by refreshing the textures pre-emptively.
The second thing I decided to do is attempt to reproduce the problem without the involvement of suspend/resume. I reset the value back to false
in order to reproduce. This time, on a whim, I decided to follow system logs via journalctl
to see if anything interesting showed up there. I lucked out on my intuition, because after about 20 minutes, the issue manifested itself again by itself and some graphics errors did indeed get written to the system log!
Apr 29 22:16:51 skie code-insiders.desktop[32735]: [17520:0429/221651.227530:ERROR:gles2_cmd_decoder.cc(18288)] [.DisplayCompositor-0x31caa6f1bc00]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
Apr 29 22:16:51 skie code-insiders.desktop[32735]: [17520:0429/221651.229911:ERROR:gles2_cmd_decoder.cc(10129)] [.DisplayCompositor-0x31caa6f1bc00]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
And here's a screenshot of Code at this event (running two watch
commands that I usually invoke during development when this happens):
Again note that this time, no suspend/resume was involved. All I did was leave Code running with the terminal open, untouched, for around 20 minutes.
It's not a whole lot to go off of, but it is a start. It could be a bug in Electron perhaps, or maybe a "quirk" in the NVIDIA driver that Electron does not handle well. I am indeed using the proprietary driver for NVIDIA:
After further digging, this behavior sounds a lot like this Chromium bug that was never fixed: https://bugs.chromium.org/p/chromium/issues/detail?id=481398#c3. It also seems to be the same root cause as #61624. It seems like Chromium/Electron is mis-managing the lifetimes of its textures and renderers which interacts with suspend/resume in some way, which based on the little bit of GPU programming I've done would certainly result in the kind of texture glitching behavior we see here.
I've still yet to see the issue trigger again using the suspend-less approach in order to see if experimentalRefreshOnResume
fixes the problem then as well; I figure I can do this by simply watching the system log for an error and ensuring that the error does not result in any glitches in the terminal.
Update: The error occurred randomly 6 minutes after writing my comment about how I couldn't get it to happen again... It looks like "terminal.integrated.experimentalRefreshOnResume": true
does not solve the problem when it happens randomly outside of a resume, because the code path to reset the textures does not seem to be reached in this scenario.
@sagebind wow, great work!
So the fix was actually specific to sleep/resume, the commit has forceRedraw in paste but that was actually an accident (4889af53eae3814580425000c28b0a9963bcec1a). I think it's fine to just force the texture to recreate itself whenever you resume the OS (and get rid of the setting).
For your other problem though of this also happening randomly while running that's a bit harder to workaround, something we could do it regenerate the texture when the terminal is focused but that's probably a little too aggressive as it would cause the CPU to do a lot more work. Could you check the following when you're in the broken state in https://github.com/Microsoft/vscode/issues/69665#issuecomment-487822673?
"terminal.integrated.experimentalRefreshOnResume": true
then sleep and resume and see if everything is fixed (to verify that the same workaround is still good)I do experience a similar issue where the VSCode Terminal tab will go blank randomly on Linux. It doesn't have anything to do with suspend/resume. I am using Ubuntu 18.04.2 in a VMWare VM. It is very similar to the description in https://github.com/microsoft/vscode/issues/69665#issuecomment-487814197. When I change the Terminal Render Type
to DOM
the problem appears to go away.
Update: Sometimes the whole VSCode window now goes black/blank and only shows back up after resizing the window. I decided to disable GPU all together. https://stackoverflow.com/questions/29966747/how-can-i-disable-gpu-rendering-in-visual-studio-code
I have found a work around that works for me. Setting Terminal>Integrated>Renderer Type from Auto to DOM to avoid the GPU acceleration and therefor the texture glitch in chrome.
I am also on a Linux system but team red (amd) on the GPU side.
I've been busy but I intend to revisit this problem to help get it solved if I can. @Tyriar:
- Set
"terminal.integrated.experimentalRefreshOnResume": true
then sleep and resume and see if everything is fixed (to verify that the same workaround is still good)
I didn't note this, but pretty sure I tried this and this worked. That is, after entering the broken state, sleeping and resuming to invoke the texture regeneration fixes the broken state.
- Check the developer tools console if there are any related errors (if so we could catch and force a redraw there)
I will reproduce again with the devtools open and see what I can find. If indeed something noticeable shows up in the console then we could just regenerate the texture whenever such an error text would be logged.
I'm having this issue under Ubuntu 18.04 LTS using the NVIDIA proprietary drivers (NVidia 2070 Super) under KDE. This is a freshly built computer with a completely clean OS install.
The experimentalRefreshOnResume
solution _does not_ work for me.
The zoom solution _does_ work for me.
Switching to the DOM renderer also works.
I can reliably reproduce this every single time, even from just 5 seconds of sleep; I've taken screenshots including the developer tools in case it helps. (There are no errors reported.)
After opening a clean VSCode (no other VSCode instances were open):
After 5 seconds of sleep, and typing a message into both the developer tools and the (invisible) terminal:
Switching the renderer to DOM from canvas:
Switching the renderer back to canvas still renders badly:
But zooming up fixes it:
And zooming back down makes everything work fine again:
Not sure what's going on with the increased indentation of the "Before sleep" message in the terminal :man_shrugging:
Is there a workaround fix for this in the works on the VS Code end since the Chromium bug @sagebind found seems to have been closed without a resolution? Or a new bug filed upstream?
I run into this all the time switching between RDP and console access.
The zoom up/down fix seems to work, as does the DOM renderer.
Workarounds:
"terminal.integrated.rendererType": "dom"
(you might still see it in the minimap though)code --disable-gpu
I also experience this behavior running ElementaryOS Juno linux distro on my PC with an Nvidia 1080ti.
When updating Nvidia drivers on Windows while a terminal is open in VSCode the terminal will be corrupted and no longer shows text. Every other view of VSCode refreshes fine after a driver update. Terminals opened after the update finishes will not be affected.
I know this is not 100% related but I believe it does not merit opening a separate issue.
Edit: Terminal used is Powershell Core 6.2.2
I've set "terminal.integrated.experimentalRefreshOnResume": true and this still occurs after suspend.
Distributor ID: Ubuntu
Description: Pop!_OS 19.04
Release: 19.04
Codename: disco
$ modinfo nvidia
filename: /lib/modules/5.0.0-25-generic/updates/dkms/nvidia.ko
alias: char-major-195-*
version: 430.34
md5-10861753852121b222efbae569ff16fd
5.0.0-25-generic
md5-10861753852121b222efbae569ff16fd
Version: 1.37.1
Commit: f06011ac164ae4dc8e753a3fe7f9549844d15e35
Date: 2019-08-15T16:17:25.463Z
Electron: 4.2.7
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Linux x64 5.0.0-25-generic
md5-10861753852121b222efbae569ff16fd
GeForce GTX 1070 with Max-Q Design/PCIe/SSE2
4.5.0 NVIDIA 430.34
Assuming the terminal is drawn OpenGL (which I am not sure), I think the proper solution would be to use the NV_robustness_video_memory_purge extension to be notified when resources need to be refreshed.
PURGED_CONTEXT_RESET_NV indicates that video memory was purged
in a mode switch event. In that case, the application can no
longer count on its resources' content being preserved, and must
delete and recreate all buffer objects including FBOs and all
textures bound to an FBO, transfer all relevant data again,
and re-render to FBOs. Using buffer objects, including FBOs,
that haven't been deleted and re-created is undefined behavior.
Other objects are unaffected.
See also the Qt bug report: https://bugreports.qt.io/browse/QTBUG-56610
A related issue if you're on the WebGL renderer, you'll see a 🙁 face when the context gets lost and you cannot recover the terminal for now. This is tracked in https://github.com/xtermjs/xterm.js/issues/2253
This happens for me as well whenever I detach/attach my second screen (v 1.42.0). Tried with
"terminal.integrated.experimentalRefreshOnResume": true
but still.
Zooming in and out does the trick for now.
Running into this on ArchLinux using mainline Nvidia drivers
"terminal.integrated.experimentalRefreshOnResume": true
works for active terminal only. Other terminal tabs are still affected.
running into this on ubuntu 20.04 nvidia proprietary drivers
was working fine on Ubuntu 18.04 but now has "corrupt texture issue after waking from sleep" after upgrading to Ubuntu 20.04.
Happening on Windows 10 64 bit build Version 10.0.18363.778 [November 2019 update], when waking from hibernation.
Interestingly, if nothing is running in the terminal window when the system is resumed, if you press Enter a few times when focused on the terminal, it redraws and displays all the text again. However, this doesn't happen when running anything in the terminal, even if you Ctrl+C to end it and repeatedly press Enter. HOWEVER, the terminal DOES seem to render characters which have previously not been displayed by it (but I haven't confirmed this).
Just thought I'd add my experiences in case it helps narrow this down at all.
This issue occurs 100% of the time when resuming the system from suspend with Ubuntu 20.04 and NVIDIA proprietary drivers. I've also seen similar texture corruption in Chromium browser but at a much lower frequency. So the issue in VS Code seems to stem from Electron / Chromium.
Based on the given workaround, I created a script to automatically redraw the terminal when resuming from suspend. This has only been tested on Ubuntu 20.04 so it may require slight modifications for other versions or distros.
I've seen this in Kicad (wxWidgets/gtk) and Geany (gtk) as well as a bug report for KDE. It seems like this is not a VSCode-specific bug but rather with NVidia proprietary driver/X11.
I found a workaround here but I didn't test it myself since I dislike messing around with graphics drivers stuff on Linux, it's too much hassle for a minor bug like this.
I'm using Intel HD Graphics - 1st gen. It's not an Nvidia issue.
On Tue, 16 Jun 2020, 00:53 Matthew Brush, notifications@github.com wrote:
I've seen this in Kicad (wxWidgets/gtk) and Geany (gtk) as well as a bug
report for KDE https://bugs.kde.org/show_bug.cgi?id=364766#c67. It
seems like this is not a VSCode-specific bug but rather with NVidia
proprietary driver/X11.I found a workaround here
https://forums.developer.nvidia.com/t/gnome-shell-crashes-and-rendering-problems-on-xserver-with-430-26/77317/16
but I didn't test it myself since I dislike messing around with graphics
drivers stuff on Linux, it's too much hassle for a minor bug like this.—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/69665#issuecomment-644449667,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABTDSK6DIOLKYI2SQNK4X23RW2YAPANCNFSM4G3GOS7A
.
This issue occurs 100% of the time when resuming the system from suspend with Ubuntu 20.04 and NVIDIA proprietary drivers. I've also seen similar texture corruption in Chromium browser but at a much lower frequency. So the issue in VS Code seems to stem from Electron / Chromium.
Based on the given workaround, I created a script to automatically redraw the terminal when resuming from suspend. This has only been tested on Ubuntu 20.04 so it may require slight modifications for other versions or distros.
Working for me in Linux Mint 19.3 (18.04 Ubuntu based). Thanks @stephan-t
Hi all, here's a version of the great script from @stephan-t but without the jq
requirement and this also works with dotfiles (symlinks) as it does not replace the settings.json
file, it uses sed -i
to replace in-place.
https://gist.github.com/Fmstrat/7de01996206537b9dbc8f673b2c5ced2
Same thing for me. After sleep terminal and rich scrollbar become corrupted as well as chromium dev-tools.
Linux 5.4, Manjaro, video-nvidia-440xx
PS: Before I was using a video-linux driver and everything was fine.
Same issue with:
same as @JanJamaszyk-FlyNow
I also ran across same issue.
My environment:
VSCode: 1.46.1
Ubuntu: 20.04 LTS
Linux Kernel: 5.4.0-40-generic
and also uses nvidia-driver 440 (proprietary, tested) mentioned above and zsh as default shell. There are no error on the developer console. I have never seen this in macOS version.
Ubuntu 18.04
Version 1.47.0
nvidia 440.100 (RTX 2070)
EDIT: Happens in Chrome as well.
Happens all the time to me. Text just disappears and background color fills black:
Ctrl ++, Ctrl +- Indeed fixes the issue, thank you.
Hi.
Exactly the same problem here.
Ubuntu 18.04
Kernel 5.4.0-42-generic
VSCode version: 1.47.2
Also with Nvidia card (although in another computer, not so long ago, it worked ok. That notebook also has a Nvidia card).
Thank you in advance.
Happens all the time to me. Text just disappears and background color fills black:
Ctrl ++, Ctrl +- Indeed fixes the issue, thank you.
This also fixes it for me.
Windows 10
VSCode version: 1.47.2.
Nvidia driver 441.87 on a 2080 TI RTX over Thunderbolt eGPU
I've pushed e531682 which might be a fix for this problem. For those seeing this a lot could you add this to your settings file and let me know if you still observe the problem:
"terminal.integrated.experimentalRefreshOnResume": true
I can make this the default behavior if it works and doesn't cause any other issues.
I have the feeling that "terminal.integrated.experimentalRefreshOnResume": true helps a bit but it is not completely like it was sometime before this Issue occurred.
I'm using:
Version: 1.48.0-insider (user setup)
Commit: 4c23fc22ced6d0c1f58215ce91ccd08d0c8a0006
Date: 2020-08-11T10:15:36.363Z
Electron: 7.3.2
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Windows_NT x64 10.0.17763
It happens to me on every resume after a hibernation/standby. So when it occured I retrieved the terminal instance via dev tools. And I called termInstance._xterm.setOption('rendererType', 'dom');
as @Tyriar did in his commit and it fixes the blank terminal. So I guess it would just be a matter of detecting a resume (or maybe such a condition in general) and calling this function?
I also tried terminalInstance._xterm.refresh(...)
(with the same dimensions) which does not help (and therefore terminalInstance.forceRedraw
) does not work.
I directly used "terminal.integrated.rendererType": "dom"
in the settings and the issue does not occur, it only occurs for canvas
and experimentalWebgl
. Though termInstance._xterm.setOption('rendererType', 'dom'); termInstance._xterm.setOption('rendererType', 'canvas');
(switching back and forth to 'canvas' rendering) also fixes the issue.
I tried the same thing with the xtermjs.org demo in Chrome, Chromium and Firefox. Both Chrome and Chromium have the same issue as vscode, while firefox works. So I guess it has something to do with how the chromium web engine is handling the canvas buffers after a resume (in combination with xterm since this does not seem to be a general issues with canvas).
I could fix following these steps: https://medium.com/@iamstorm/vscode-bug-on-linux-7ca4c4544d24
I also see the issue with latest VSCode Insiders; in VSCode it's not limited to the terminal, it shows in the minimap for me too; I also see a similar issue in Vivaldi, so I agree it might be something in Chromium and not specific to VSCode.
Pop!_OS 20.04 LTS
nVidia driver v. 440.100
The fix suggested by @danilo-medeiros doesn't work for me
The fix suggested by @danilo-medeiros doesn't work for me
Unfortunately, for me that fix doesn't work either.
Ubuntu 18.04.
Nvidia card.
I get this everywhere in the system
I have this issue on both macOS (terminal only) and Ubuntu 18.04 with NVidia GTX960, drivers version 440.95 (Update: and 450.66) (entire screen, same happens to Chrome on linux only)
Zoom in/Zoom out workaround works on both platforms for VSCode, but, surprisingly, not with Chrome.
I've believe I've fixed this for the webgl renderer with https://github.com/microsoft/vscode/pull/106203, try out in the next Insiders build. If you're not on the webgl renderer yet you can switch to it using this:
"terminal.integrated.rendererType": "experimentalWebgl"
The plan is to remove the canvas renderer (default) eventually https://github.com/microsoft/vscode/issues/106202.
still having this problem, I'm on linux arch.
having this issue on chrome,terminal and vscode....os -ubuntu 20.04
I am also having this issue on vscode.
Ubuntu 20.04 OS with Nvidia RTX 2060 graphic card.
@fld91 Though I fixed the chrome issue by enabling Vulkan as graphics backends from chrome://flags/
I have had this issue with Slack, Chrome, VSCode, and some buggy stuff with Spotify. All of these happen to be snap apps except Chrome. I'm not sure if that holds any significance, but I figured it wouldn't hurt to point out.
same problem with my ubuntu 20.04 laptop. it also affect slack desktop.
i think the problem is with chrome/chromium render as vscode and slack are electron apps.
I think so too, having same problems in chrome Version 86.0.4240.75 and just noticed the glitch in Vscode after resuming. I think for me i first noticed the bug in chrome 85.
Same here on Ubuntu 20.04. Happens to Slack, Chrome and anything using a webview (Webkit / Chromium?) renderer. I was able to solve the problem by force quitting the app through System Monitor. Not a perfect solution, but better than restarting
I have this problem with Arch Linux + GNOME + NVIDIA GPU, in all chrome-based apps. I managed to fix it only in Chrome browser (VS code still messy after wake up) by adding this to startup parameters:
--use-gl=desktop
maybe this help somehow?
As temporary quick fix after wake up I execute command pallete -> Developer: Reload Window
. As a drawback - it terminates all terminals.
On ubuntu 20.04 with NVIDIA GPU the problem seems to appear on all chrome-based apps. To fix it (let's say it's more a workaround) I disabled the hardware acceleration on VS Code and Chrome.
To disable in VS Code you can do this:
Preferences: Configure Runtime Arguments
"disable-hardware-acceleration": true
Credits to: https://stackoverflow.com/a/58762168
The terminal is not the only corrupted element. See white square on the left.
Is this another issue?
@sguillia Yes I have the same issue
On ubuntu 20.04 with NVIDIA GPU the problem seems to appear on all chrome-based apps. To fix it (let's say it's more a workaround) I disabled the hardware acceleration on VS Code and Chrome.
To disable in VS Code you can do this:
- Open the Command Palette (Ctrl+Shift+P)
- Write:
Preferences: Configure Runtime Arguments
- Add
"disable-hardware-acceleration": true
It worked for me only once or twice, after that the same thing happens. Can you check again, please?
On ubuntu 20.04 with NVIDIA GPU the problem seems to appear on all chrome-based apps. To fix it (let's say it's more a workaround) I disabled the hardware acceleration on VS Code and Chrome.
To disable in VS Code you can do this:
- Open the Command Palette (Ctrl+Shift+P)
- Write:
Preferences: Configure Runtime Arguments
- Add
"disable-hardware-acceleration": true
It worked for me only once or twice, after that the same thing happens. Can you check again, please?
To me never happened again, I tried (I have a laptop) even closing the lid right away, locking the pc and waiting for the sleep and just waiting for the sleep. Neither vscode, the terminal or the minimap was bugged after returning from sleep.
The "disable-hardware-acceleration": true
workaround should work as this issue revolved around GPU memory getting released/corrupted on sleep without giving us a hook to know about it. Note that you will obviously lose (GPU) hardware acceleration which means the CPU will be harder at work rendering things. This may not be a problem depending on your setup but it's worth mentioning.
Can anyone confirm whether switching to the webgl renderer fixed the problem? (see https://github.com/microsoft/vscode/issues/69665#issuecomment-687984308)
@Tyriar to quote myself from 12 Aug:
I directly used
"terminal.integrated.rendererType": "dom"
in the settings and the issue does not occur, it only occurs forcanvas
andexperimentalWebgl
.
https://github.com/microsoft/vscode/issues/69665#issuecomment-672863783
Though I can test it again tomorrow.
@la12 right that's correct, this never happened with "dom" as it doesn't leverage the GPU. I just want to confirm whether this is indeed fixed when it's set to experimentalWebgl
, which was some work I did on the 6th of Sept. If you could test it out that would be great as I always had difficulty reproducing this.
@Tyriar sorry forgot it. Just tested it with the newest insiders version (1.51.0-insiders) and in the default case (which I guess is canvas) this problem occurs, but with "experimentalWebgl" this does not occur anymore!
Edit: The 1.50.1 (normal build) also does not have this issue with "experimentalWebgl".
Great! So this will probably not end up getting fixed then as the canvas renderer is going to be removed at some point (https://github.com/microsoft/vscode/issues/106202). The recommended workaround for this is to use one of the alternative renderers:
// Slower but feature complete
"terminal.integrated.rendererType": "dom",
// Faster but missing underline styling and context restoration
"terminal.integrated.rendererType": "experimentalWebgl"
I can confirm using experimentalWebgl
fixes the artifacts in the minimap and terminal. I am using a GTX 1070 on Linux and GNOME.
@Tyriar are there differences in hardware usage between canvas
and experimentalWebgl
we should know about?
@ktran0918 webgl is basically the next iteration of it, using lower level programming and shaders to avoid the many round trips to the GPU that the canvas renderer requires.
Main differences:
drawImage
.For information, this also happens when the Linux OOM killer kills vscode.
[240416.680580] Out of memory: Kill process 7212 (code-insiders) score 208 or sacrifice child
[240416.680595] Killed process 7212 (code-insiders) total-vm:916892kB, anon-rss:131780kB, file-rss:21216kB, shmem-rss:4892kB
[240416.711358] oom_reaper: reaped process 7212 (code-insiders), now anon-rss:0kB, file-rss:25804kB, shmem-rss:4888kB
Terminal then shows corrupt texture.
Most helpful comment
Workarounds:
"terminal.integrated.rendererType": "dom"
(you might still see it in the minimap though)code --disable-gpu