2

I am using Arch Linux and the Cinnamon desktop environment. In the last few weeks I have been getting apparently random, brief freezes (a few seconds, 5-10 or so) in Chromium, Brave, Franz and Slack. The freezes are independent, I can have a frozen Chromium, for example, while Brave is working fine and vice versa.

I think all of these tools are related in that they all somehow use Chromium code, either directly as in the case of Chromium itself and Brave, or via Electron as is the case for Slack and Franz, so I am guessing the issue is related to that.

When the freezes occur, the frozen application is unresponsive, and even resizing the window doesn't work (it appears broken):

screenshot showing broken resize of window

Everything else works fine, however, I can open new terminals, interact with other applications normally, the desktop is responsive, there is no spike in CPU or RAM usage. It's just those tools.

There are some GPU-related messages shown in the terminal when launching all four tools:

  • Chromium

    $ chromium 
    [58330:58330:0822/140928.777356:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
    [58383:58383:0822/140928.908932:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
    [58438:58438:0822/140928.917645:ERROR:angle_platform_impl.cc(43)] Display.cpp:992 (initialize): ANGLE Display::initialize error 0: Internal Vulkan error (-3): Initialization of an object could not be completed for implementation-specific reasons, in ../../third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.cpp, initialize:1317.
    [58438:58438:0822/140928.917713:ERROR:gl_surface_egl.cc(831)] EGL Driver message (Critical) eglInitialize: Internal Vulkan error (-3): Initialization of an object could not be completed for implementation-specific reasons, in ../../third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.cpp, initialize:1317.
    [58438:58438:0822/140928.917732:ERROR:gl_surface_egl.cc(1353)] eglInitialize SwANGLE failed with error EGL_NOT_INITIALIZED
    [58438:58438:0822/140928.917751:ERROR:gl_ozone_egl.cc(23)] GLSurfaceEGL::InitializeOneOff failed.
    [58438:58438:0822/140928.919686:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
    [58470:58470:0822/140928.943148:ERROR:gpu_init.cc(486)] Passthrough is not supported, GL is disabled, ANGLE is 
    
  • Brave

    $ brave 
    [42382:42382:0822/135725.937415:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
    [42441:42441:0822/135726.073407:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
    [42530:42530:0822/135726.271483:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
    [42643:42643:0822/135726.363020:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
    [42763:42763:0822/135726.440747:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
    [42789:42789:0822/135726.566024:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
    [42493:7:0822/135726.634474:ERROR:command_buffer_proxy_impl.cc(128)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer.
    
    
  • Franz

    $ franz
    [56942:0822/140812.860154:ERROR:viz_main_impl.cc(188)] Exiting GPU process due to errors during initialization
    [56982:0822/140812.959086:ERROR:viz_main_impl.cc(188)] Exiting GPU process due to errors during initialization
    [57029:0822/140812.990586:ERROR:sandbox_linux.cc(377)] InitializeSandbox() called with multiple threads in process gpu-process.
    
  • Slack. This one is exceedingly verbose, but it does also output the same GPU process error as all of the above:

    $ slack 
    Initializing local storage instance
    (electron) Sending uncompressed crash reports is deprecated and will be removed in a future version of Electron. Set { compress: true } to opt-in to the new behavior. Crash reports will be uploaded gzipped, which most crash reporting servers support.
    [56298:0822/140741.539635:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
    [08/22/22, 14:07:41:619] info: 
    
    [ many, many more lines of normal looking output here 
    

This GPU message seems particularly relevant:

[56298:0822/140741.539635:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization

However, none of these messages trigger the freeze. They are shown when I launch the programs, but the programs are still behaving normally and are responsive.

Both Chromium and Brave have hardware acceleration enabled in their settings, but Brave's chromium://gpu page suggests it fails for it (see below). Interestingly, the two browsers differ in the Graphics Feature Status section of chrome://gpu (using screenshots because the color helps legibility; you can find full chrome://gpu output here (chromium) and here (brave):

  1. Brave

Screenshot of Brave's Graphics Feature Status section

  1. Chromium

Screenshot of Chromium's Graphics Feature Status section

I am using Xorg, not Wayland, on a brand new Lenovo ThinkPad P14s, and this is my system:

$ inxi
CPU: quad core 11th Gen Intel Core i7-1165G7 (-MT MCP-)
speed/min/max: 2385/400/4700 MHz Kernel: 5.19.2-arch1-1 x86_64 Up: 35m
Mem: 6423.7/31799.3 MiB (20.2%) Storage: 953.87 GiB (27.8% used) Procs: 336
Shell: Bash inxi: 3.3.20

Graphics:

$ inxi -G
Graphics:
  Device-1: Intel TigerLake-LP GT2 [Iris Xe Graphics] driver: i915 v: kernel
  Device-2: NVIDIA TU117GLM [Quadro T500 Mobile] driver: nvidia
    v: 515.65.01
  Device-3: Chicony Integrated Camera type: USB driver: uvcvideo
  Display: x11 server: X.Org v: 21.1.4 with: Xwayland v: 22.1.3 driver: X:
    loaded: intel unloaded: modesetting gpu: i915 resolution: 1920x1080~60Hz
  OpenGL: renderer: llvmpipe (LLVM 14.0.6 256 bits) v: 4.5 Mesa 22.1.6

I regularly update all packages with sudo pacman -Suy and trizen -Suy, everything is up to date.

How can I fix this?

6
  • It may be useful to know whether hardware acceleration is enabled (at least in chromium) and, given that your system has hybrid graphics, which graphics driver is in use (chromium://gpu should be able to tell you)
    – fra-san
    Aug 22 at 13:44
  • @fra-san thank you, very good suggestion, see updated question. It hand't occurred to me to look at that since the issue also affects slack and franz, but it may very well be relevant. How can I check which GPU is used by the two browser (I am guessing I cannot tell for the other two apps)? I can see both listed in the chrome://gpu output, but I don't know which is actually used. Can you figure it out from the output I linked to?
    – terdon
    Aug 22 at 14:49
  • Try the software rendering first.
    – K-att-
    Aug 22 at 15:21
  • @terdon in chromium's output the "GP1" line is marked as *ACTIVE*; the vendor there is 0x8086, which should be Intel (based on what I see on my system; lsgpu from the intel-gpu-tools package is an easy way to get various information on GPUs)
    – fra-san
    Aug 22 at 16:41
  • @K-att- the thing is, the issue also happens with other tools, as explained in my question, it isn't specific to the two browsers.
    – terdon
    Aug 24 at 13:02

1 Answer 1

2

I would suggest you to switch from x11 to wayland to avoid the freezing. While this problem seems to be specific to the apps you mentioned, I have had similar issues in the past, albeit affecting the entire desktop, and switching to Wayland fixed them for me.

Unfortunately, Cinnamon isn't compatible with Wayland yet, so you will need to use a different desktop environment. One good choice, which is easily installable on Arch, is KDE. See https://wiki.archlinux.org/title/KDE#Installation.

2
  • 1
    Thanks for this, it looks like this was indeed the right idea. I fleshed the answer out a bit with some useful links and details.
    – terdon
    Sep 19 at 12:30
  • Unfortunately, wayland does have other separate issues. Specifically, application-based screen sharing for video conferencing is not yet usable. The recent versions of zoom, on the other hand, now supposedly support better screen sharing but people I know have found it highly unstable and locks up after 5 minutes. I'm not poking at wayland -- it's come a long way and is the right end goal, but it's not perfect yet either. Nov 25 at 14:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.