linuxmint / cinnamon

A Linux desktop featuring a traditional layout, built from modern technology and introducing brand new innovative features.
GNU General Public License v2.0
4.49k stars 730 forks source link

Cinnamon breaks nvidia's flipping #8724

Open rado84-github opened 5 years ago

rado84-github commented 5 years ago
 * Cinnamon version (4.2.2)
   - Please specify if you are using the daily builds PPA - I don't know. Whatever is in Arch repos, that's it.
 * Distribution - (Arch Linux, kernel 5.2.1)
 * Graphics hardware *and* driver used GTX 1050 Ti 4GB, nvidia 430.26
 * 64 bit
 * Attach /home/<username>/.xsession-errors, or /var/log/syslog - no such files available in either location

Issue Cinnamon DE breaks/disables nvidia's flipping permanently

Steps to reproduce Variant I (easy way):

  1. Install Arch with Cinnamon with nvidia driver and whatever DM you like. Or if you already have Cinnamon, update it to 4.2.2.
  2. Install Steam and any native linux game, preferably Euro Truck Simulator 2.
  3. In nvidia control panel create application profile and a rule to display "GLShowGraphicsOSD" and set it to "true". For procname enter "eurotrucks2".
  4. Run the game. While the intro video is running in the top left corner you'll see info showing FPS and text reading "BLIT, VSYNC ON" where "BLIT" is in red color. If flipping were working, it should be "FLIP, VSYNC ON" and "FLIP would be in green color.

Variant II to confirm the problem (harder way):

  1. Install Arch with KDE Plasma (with SDDM) and then install the nvidia driver. 1a. Do steps 2, 3 and 4 from Variant I and you'll see that flipping is working flawlessly: green text "FLIP, VSYNC ON".
  2. Install the following cinnamon packages in order to have it a secondary DE: cinnamon cinnamon-control-center cinnamon-desktop cinnamon-menus cinnamon-screensaver cinnamon-session cinnamon-settings-daemon cinnamon-translations cjs muffin nemo.
  3. Reboot or logout to enter Cinnamon.
  4. Run the game again - the text will be "BLIT, VSYNC ON", meaning that flipping is disabled.
  5. Uninstall all the packages from step 2 in Variant II and reboot the system.
  6. Run the game from KDE only and checkout the text in the top left corner - flipping is back online. Which means at least one of the above packages kills flipping permanently.

Expected behaviour Cinnamon shouldn't disable flipping.

Other information ETS2 and ATS (American Truck Simulator) are heavily dependent on flipping. When it's disabled, they both are unplayable. That problem with disabled flipping appeared in Cinnamon 4.2.0. The last version that DIDN'T kill flipping was 4.0.10.

rado84-github commented 5 years ago

I just discovered something on that issue: KDE has an option "Allow applications to block compositing". When I disabled that option, Flipping was disabled in KDE as well. Which means that in Cinnamon the default option would be the opposite - "do not allow applications to block compositing". I hope this helps you in fixing the problem.

rado84-github commented 5 years ago

I made some progress on the matter but there's still to be determined which the culprit is: when forced full compositing (FFC) is disabled, flipping works perfectly. Until today I was using FFC to prevent screen tearing when scrolling in the web browser. But as of today it seems I no longer need FFC (right now there's no tearing when scrolling with FFC disabled), so flipping is back. The thing is that in KDE flipping does work when FFC is ON. So atm I'm not sure what's causing the above case - disabled FFC = flipping works. Could be Cinnamon, could be nvidia driver or a combination of both.