Background

For the last year I’ve been running the Gnome desktop environment with Debian Bullseye. I switched back to using Cinnamon because:

  • Gnome does not want to let you hide the top bar
  • There was a frequent problem using the clipboard with Remmina/FreeRDP, where by copying to the clipboard would lock the remote session up for several seconds

I was curious whether the clipboard/FreeRDP issue would manifest with other desktop environments.

I used Cinnamon for some time during my first successful attempt adopting Linux on the desktop. I rather liked it back then because it seemed intuitive and not too intrusive. It also worked well with most of the commonly used Windows shortcut keys.

Cinnamon did address both the above complaints. Sadly it was not all good news because Cinnamon brought another problem of its own.

I had difficulty running web applications in Chromium, for example Google Meet. And also running Chromium based applications, such as Slack. These applications quickly became very unresponsive. When I observed Chromium using between 320 and 360% CPU on my modern 4 core laptop, during my company’s weekly all-staff call, it was the last straw!

Details

Hardware Information:

  • Dell Latitude 5510 Laptop
  • Intel Core i5-10310U [Comet Lake] CPU
  • Intel CometLake-U GT2 [UHD Graphics] GPU

Software Information:

  • Debian 11 (Bullseye)
  • Linux kernel version 5.10.0-9-amd64 x86_64
  • Cinnamon version 4.8.6

Symptoms

  • Lack of GPU hardware acceleration?
  • Chromium/Google Meet typically accounting for 320-360% of CPU utilisation
  • Chromium_’s task manager displaying very high GPU Process CPU utilisation during _Google Meet_ calls
  • 10-15°C increase in CPU temperature
  • Significant non-persistent screen tearing when the desktop was loaded
  • Significant non-persistent screen tearing when the desktop was unloaded
  • Occasional Cinnamon crashes (Cinnamon falls back to ‘software rendering’ mode)

X11 Display Driver

Running inxi -G displays the following output for the x11 server:

Display: x11 server: X.Org 1.20.8 driver: modesetting unloaded: fbdev,vesa

The Solution

I recalled seeing Cinnamon crash and revert to software rendering mode back in the day.

I also recalled that disabling the modesetting driver resolved Cinnamon crashes I used to experience. On that hunch, I thought I would find out what effect disabling the modesetting driver and explicitly enabling the Intel (xserver-xorg-video-intel) driver would have in this situation.

Having checked that the xserver-xorg-video-intel package was installed on the laptop (it was), I created the /etc/X11/xorg.conf.d/20-intel.conf file with:

section "Device"
 Identifier "Intel Graphics"
 Driver "Intel"
 Option "AccelMethod" "sna"
 Option "TearFree" "true"
EndSection

I rebooted the machine and having logged in, I re-ran inxi -G:

Display: server: X.Org 1.20.11 driver: loaded: intel resolution: 1: 1920x1080~60Hz 2: 1920x1080~60Hz

I’m not sure that this is the solution1, but it has certainly improved the situation.

The Results

I actually made this change during a Google “Meet” as the laptop had become unusable, not to mention noisy. I rejoining the call, Chromium was peaking at ~152% CPU usage. It is a lot more than I would like, but it represents a vast improvement and also dropped the CPU temperature by ~10°C.

Conclusion

I would expect that the continued development of the modesetting driver, combined with the ubiquity of Intel hardware would mean that these types of performance problems are generally solved.

I suspect that this might genuinely be the case, or at least the situation is much better under Wayland. It is possible that this is a problem of my own making, having configured Apt not to install recommended packages.

It is not something I can pick up and investigate further at this time, as this particular laptop is currently required to be in a working state.

That situation changes in the near future and I am optimistic I will find time to revisit and investigate further.

In the meantime, I hope this proves to provide a usable short-term work around for anyone else experiencing the same problems.


  1. The xserver-xorg-video-intel package includes this note in it’s description: “The use of this driver is discouraged if your hw is new enough (ca. 2007 and newer). You can try uninstalling this driver and let the server use its builtin modesetting driver instead." ↩︎