Compiz refresh rate resets to 50 Hz automatically w/ Nvidia proprietary driver

Bug #1192028 reported by Wolter Hellmund on 2013-06-18
94
This bug affects 21 people
Affects Status Importance Assigned to Milestone
Compiz
High
Christopher Townsend
One Hundred Papercuts
High
Unassigned
compiz (Ubuntu)
High
Christopher Townsend

Bug Description

There have been similar bug reports to this one, such as bug #1009338 and bug #1027868, but I believe this case is different.

The problem I am having is that even after I set the refresh rate options in compiz to 60 Hz (after disabling the "Detect Refresh Rate" option), a reboot will have the settings revert. If I change settings in the compiz config settings manager, they should remain even after a reboot.
---
.proc.driver.nvidia.gpus.0: Error: [Errno 21] Is a directory: u'/proc/driver/nvidia/gpus/0'
.proc.driver.nvidia.registry: Binary: ""
.proc.driver.nvidia.version:
 NVRM version: NVIDIA UNIX x86_64 Kernel Module 313.30 Wed Mar 27 16:56:45 PDT 2013
 GCC version: gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-1ubuntu1)
.tmp.unity.support.test.0:

ApportVersion: 2.9.2-0ubuntu8.1
Architecture: amd64
CompizPlugins: [core,composite,opengl,compiztoolbox,decor,vpswitch,snap,mousepoll,resize,place,move,wall,grid,regex,imgpng,session,gnomecompat,animation,fade,staticswitcher,workarounds,scale,expo,ezoom,dbus]
CompositorRunning: compiz
CompositorUnredirectDriverBlacklist: '(nouveau|Intel).*Mesa 8.0'
CompositorUnredirectFSW: true
DistUpgraded: 2013-04-28 10:18:35,447 DEBUG enabling apt cron job
DistroCodename: raring
DistroRelease: Ubuntu 13.04
DistroVariant: ubuntu
GraphicsCard:
 NVIDIA Corporation G84M [GeForce 8600M GT] [10de:0407] (rev a1) (prog-if 00 [VGA controller])
   Subsystem: Dell Device [1028:022e]
InstallationDate: Installed on 2011-10-16 (611 days ago)
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release amd64 (20111012)
MachineType: Dell Inc. XPS M1530
MarkForUpload: True
NonfreeKernelModules: nvidia
Package: compiz 1:0.9.9~daily13.04.18.1~13.04-0ubuntu1
PackageArchitecture: all
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.8.0-23-generic root=UUID=67324911-aae9-47ca-a177-6c818959ed59 ro quiet splash
ProcVersionSignature: Ubuntu 3.8.0-23.34-generic 3.8.11
Tags: raring raring ubuntu compiz-0.9
Uname: Linux 3.8.0-23-generic x86_64
UpgradeStatus: Upgraded to raring on 2013-04-28 (50 days ago)
UserGroups: adm admin audio cdrom dialout dip fuse lpadmin netdev plugdev sambashare vboxusers video
dmi.bios.date: 11/19/2008
dmi.bios.vendor: Dell Inc.
dmi.bios.version: A12
dmi.board.vendor: Dell Inc.
dmi.chassis.type: 8
dmi.chassis.vendor: Dell Inc.
dmi.modalias: dmi:bvnDellInc.:bvrA12:bd11/19/2008:svnDellInc.:pnXPSM1530:pvr:rvnDellInc.:rn:rvr:cvnDellInc.:ct8:cvr:
dmi.product.name: XPS M1530
dmi.sys.vendor: Dell Inc.
version.compiz: compiz 1:0.9.9~daily13.04.18.1~13.04-0ubuntu1
version.ia32-libs: ia32-libs 20090808ubuntu36
version.libdrm2: libdrm2 2.4.43-0ubuntu1
version.libgl1-mesa-dri: libgl1-mesa-dri 9.1.1-0ubuntu3
version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
version.libgl1-mesa-glx: libgl1-mesa-glx 9.1.1-0ubuntu3
version.nvidia-graphics-drivers: nvidia-graphics-drivers N/A
version.xserver-xorg-core: xserver-xorg-core 2:1.13.3-0ubuntu6
version.xserver-xorg-input-evdev: xserver-xorg-input-evdev 1:2.7.3-0ubuntu2b2
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:7.1.0-0ubuntu2
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.21.6-0ubuntu4
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:1.0.7-0ubuntu1
xserver.bootTime: Mon Jun 17 17:22:09 2013
xserver.configfile: /etc/X11/xorg.conf
xserver.errors:

xserver.logfile: /var/log/Xorg.0.log
xserver.outputs:

xserver.version: 2:1.13.3-0ubuntu6

Related branches

Daniel van Vugt (vanvugt) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. Please execute the following command, as it will automatically gather debugging information, in a terminal:
    apport-collect 1192028
When reporting bugs in the future please use apport by using 'ubuntu-bug' and the name of the package affected. You can learn more about this functionality at https://wiki.ubuntu.com/ReportingBugs.

Changed in compiz:
status: New → Incomplete
Changed in compiz (Ubuntu):
status: New → Incomplete

apport information

tags: added: apport-collected compiz-0.9 raring ubuntu
description: updated

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

dino99 (9d9) on 2013-06-18
Changed in compiz (Ubuntu):
status: Incomplete → New
Changed in compiz:
status: Incomplete → New

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in compiz (Ubuntu):
status: New → Confirmed
MC Return (mc-return) on 2013-06-19
Changed in compiz:
milestone: none → 0.9.10.0
MC Return (mc-return) on 2013-06-24
Changed in compiz:
importance: Undecided → High
Changed in compiz:
milestone: 0.9.10.0 → 0.9.10.2
MC Return (mc-return) on 2013-07-24
Changed in compiz:
milestone: 0.9.10.2 → 0.9.11.0
Wolter Hellmund (wolterh) wrote :

Why is this issue being pushed further away in time, time and time again?

Lem (lem-jjr) wrote :

Should this not be a fairly trivial issue to fix? I'm going to give 13.10 a try soon to check for small bugs like this. They really do taint the user experience. CCSM is one of my most often started programs because of Compiz "detecting" 50Hz refresh rate :P (nvidia GTX560Ti, assorted binary drivers from the 3xx series).

Really hope this is fixed by 13.10's release.

This bug needs to be forwarded upstream (https://wiki.ubuntu.com/Bugs/HowToTriage#Forwarding_upstream).

Changed in compiz (Ubuntu):
importance: Undecided → High
Changed in compiz:
status: New → Confirmed
pcworld (pcworld) on 2013-10-25
information type: Public → Public Security
information type: Public Security → Public
tomdryer (tomdryer-com) wrote :

I'm seeing this in trusty. On login the refresh rate is reduced, and the refresh rate setting in CCSM is null. Setting it to 60 makes everything smoother until the next time I have to log in.

Paulo Narciso (p-narciso) wrote :

Is this bug even being looked at? This is critical. Running at 50hz makes everything run laggy and stuttery. This worked in the past, so It's a regression. Please don't release 14.04 with this bug.

Lem (lem-jjr) wrote :

If this bug isn't going to be fixed the "correct" way, at least hard code compiz to default to 60Hz. How often is 50Hz really the correct default these days? Mind you, the default stuttery performance with the nvidia binary driver on 14.04 could hardly be called 50Hz. My Amiga 1200 did 50Hz scrolling in the early 1990s and that was extremely smooth, even on a CRT running at 15.6kHz/50Hz.

tags: added: regression-release
Download full text (4.6 KiB)

Indeed! Or at least respect the user-set frequency instead of resetting it
On 29 Mar 2014 06:30, "Lem" <email address hidden> wrote:

> If this bug isn't going to be fixed the "correct" way, at least hard
> code compiz to default to 60Hz. How often is 50Hz really the correct
> default these days? Mind you, the default stuttery performance with the
> nvidia binary driver on 14.04 could hardly be called 50Hz. My Amiga 1200
> did 50Hz scrolling in the early 1990s and that was extremely smooth,
> even on a CRT running at 15.6kHz/50Hz.
>
> ** Tags added: regression-release
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1192028
>
> Title:
> Compiz refresh rate resets to 50 Hz automatically
>
> Status in Compiz:
> Confirmed
> Status in “compiz” package in Ubuntu:
> Confirmed
>
> Bug description:
> There have been similar bug reports to this one, such as bug #1009338
> and bug #1027868, but I believe this case is different.
>
> The problem I am having is that even after I set the refresh rate
> options in compiz to 60 Hz (after disabling the "Detect Refresh Rate"
> option), a reboot will have the settings revert. If I change settings in
> the compiz config settings manager, they should remain even after a reboot.
> ---
> .proc.driver.nvidia.gpus.0: Error: [Errno 21] Is a directory:
> u'/proc/driver/nvidia/gpus/0'
> .proc.driver.nvidia.registry: Binary: ""
> .proc.driver.nvidia.version:
> NVRM version: NVIDIA UNIX x86_64 Kernel Module 313.30 Wed Mar 27
> 16:56:45 PDT 2013
> GCC version: gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-1ubuntu1)
> .tmp.unity.support.test.0:
>
> ApportVersion: 2.9.2-0ubuntu8.1
> Architecture: amd64
> CompizPlugins:
> [core,composite,opengl,compiztoolbox,decor,vpswitch,snap,mousepoll,resize,place,move,wall,grid,regex,imgpng,session,gnomecompat,animation,fade,staticswitcher,workarounds,scale,expo,ezoom,dbus]
> CompositorRunning: compiz
> CompositorUnredirectDriverBlacklist: '(nouveau|Intel).*Mesa 8.0'
> CompositorUnredirectFSW: true
> DistUpgraded: 2013-04-28 10:18:35,447 DEBUG enabling apt cron job
> DistroCodename: raring
> DistroRelease: Ubuntu 13.04
> DistroVariant: ubuntu
> GraphicsCard:
> NVIDIA Corporation G84M [GeForce 8600M GT] [10de:0407] (rev a1)
> (prog-if 00 [VGA controller])
> Subsystem: Dell Device [1028:022e]
> InstallationDate: Installed on 2011-10-16 (611 days ago)
> InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release amd64
> (20111012)
> MachineType: Dell Inc. XPS M1530
> MarkForUpload: True
> NonfreeKernelModules: nvidia
> Package: compiz 1:0.9.9~daily13.04.18.1~13.04-0ubuntu1
> PackageArchitecture: all
> ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.8.0-23-generic
> root=UUID=67324911-aae9-47ca-a177-6c818959ed59 ro quiet splash
> ProcVersionSignature: Ubuntu 3.8.0-23.34-generic 3.8.11
> Tags: raring raring ubuntu compiz-0.9
> Uname: Linux 3.8.0-23-generic x86_64
> UpgradeStatus: Upgraded to raring on 2013-04-28 (50 days ago)
> UserGroups: adm admin audio cdrom dialout dip fuse lpadmin netdev
> plugdev sambashare vboxusers video
> dm...

Read more...

Changed in compiz (Ubuntu):
status: Confirmed → Triaged
milestone: none → ubuntu-14.04
Changed in hundredpapercuts:
status: New → Triaged
importance: Undecided → High

Just jumping in with a "me too". I've just installed the nightly 14.04, and it's extremely choppy. I go in to ccsm, untick "Detect Refresh Rate" and then set "Refresh Rate" to 60. Most of the time, if I close ccsm then open it again, "Detect Refresh Rate" is still unticked, but "Refresh Rate" is null (empty string - no value there) and everything is still choppy. I have to keep opening ccsm and typing in "60" for "Refresh Rate" numerous times before it actually works.

Please don't let 14.04 go out with this bug as it will ruin everything! IMHO, if you only fix one more bug before releasing 14.04, it should be this one.

Does this bug render the system unusable?

Changed in hundredpapercuts:
status: Triaged → Incomplete
Changed in compiz (Ubuntu):
status: Triaged → Incomplete

The system is still usable. I think that users that do not watch (HD) videos or play animated games will not notice this bug at all. On the other hand, users that do all this things and are used to e.g. smooth video playback (from e.g. 12.04) will be very disappointed about this (quality regression) bug.

I've been looking at this issue and it seems to work even across reboots, but with the following caveats.

- You need to use the up/down arrows next to the the box that displays the number for refresh rate *instead* of typing it in. I agree that being able to type it in should be supported, but it does work with the arrows.

- It seems CCSM is not reading from the correct key to fill in the box, so even though it's set, it will show blank. This is another bug, but doesn't affect the core functionality.

Please respond to let me know if my assertions are correct or let me know if still doesn't work.

Thanks!

Duh, in my last comment, I said up/down arrows only worked, but entering a number and hitting Enter works as well.

Looking all of the bugs surrounding this "Refresh Rate" stuff, it seems many, if not most, people affected by this are using Nvidia proprietary drivers. I wonder if that is what is common to these bugs and why I can't reproduce...

Ok, I'm getting confused here. The default refresh rate is supposed to be 60Hz as given in the composite plugin schema file and other constants in the code. I'm wondering how 50Hz is getting set by default as I see nothing in the code that can do this. I even see in the code that 60Hz should be forced for Nvidia graphics as well.

Lem (lem-jjr) wrote :

Yep Chris, it's specific to nvidia binary driver users. I've not had the problem when using nouveau, nor on other computers using the open source radeon drivers (or fglrx for that matter). https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/92599 (which is an issue with nvidia's DynamicTwinView feature not reporting the correct refresh rate) apparently got fixed, which is what you might be seeing in the code with forced 60Hz

Opening CCSM and typing 60 and pressing enter in the refresh rate box makes the desktop super smooth on my machine (from choppy). This is using the packaged nvidia binary driver in 14.04 (but it's been happening for many releases now). It doesn't remember the setting across reboots though.

Is there some way I can check what refresh rate compiz is actually using? The field in CCSM is blank each time I start it. Does compiz have a debug mode that shows info about how it's detecting refresh rate, and how it's making its decision maybe?

pcworld (pcworld) wrote :

> Is there some way I can check what refresh rate compiz is actually using?

dconf read /org/compiz/profiles/unity/plugins/composite/refresh-rate

Hi Lem,

Thanks for the info. It's good info to know this is Nvidia specific.

The code to force Nvidia to 60Hz uses a glVendor string of "NVIDIA" only. I'm wondering if that string is different depending on the card/driver/something else.

Could you attach the output of "/usr/lib/nux/unity-support-test -p"? If that fails, then a dump of glxinfo should do it.

Thanks!

Lem (lem-jjr) wrote :

Hi Chris, yep certainly. Also, fresh boot into Unity desktop:
$ dconf read /org/compiz/profiles/unity/plugins/composite/refresh-rate
50

After opening CCSM and setting Composite -> Refresh Rate (which is usually blank) to 60, the desktop becomes super smooth, but also this happens:
$ dconf read /org/compiz/profiles/unity/plugins/composite/refresh-rate

Yep, no output.. strange.

Here's the stuff you requested too:

$ /usr/lib/nux/unity_support_test -p
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GTX 560 Ti/PCIe/SSE2
OpenGL version string: 4.4.0 NVIDIA 331.38

Not software rendered: yes
Not blacklisted: yes
GLX fbconfig: yes
GLX texture from pixmap: yes
GL npot or rect textures: yes
GL vertex program: yes
GL fragment program: yes
GL vertex buffer object: yes
GL framebuffer object: yes
GL version is 1.4+: yes

Unity 3D supported: yes

Attached glxinfo as well in case it has more specific information.

Changed in compiz (Ubuntu):
status: Incomplete → Triaged
Changed in hundredpapercuts:
status: Incomplete → Triaged

I looks like there may be 2 bugs here.

1. The composite plugin requires the OpenGL plugin to have set a boolean to true if there is an Nvidia card in the system to force 60Hz. However, on Compiz startup, composite loads *before* OpenGL, so this flag will not be set and composite goes on to query the Nvidia hardware what it's refresh rate is. I need to figure out if this plugin loading order is intentional or not.

2. The other bug is not saving the manually set refresh rate between reboots. I do not see this issue, but I've seen other bugs saying that CCSM settings are not preserved over reboots.

I will investigate bug 1. above. If I can find a reproduction case for 2., I will look at that as well.

Hi Lem or anyone else affected by this,

I have made a test Compiz package available in https://launchpad.net/~townsend/+archive/compiz-test which hopefully addresses this issue. Since I cannot test this because I have no Nvidia hardware, could someone please test this and report if it fixes the issue for you. If it doesn't fix it, I'll keep plugging away, but I think this is close if not the solution.

Thanks!

Changed in compiz:
assignee: nobody → Christopher Townsend (townsend)
Changed in compiz (Ubuntu):
assignee: nobody → Christopher Townsend (townsend)
Changed in compiz:
status: Confirmed → In Progress
Changed in compiz (Ubuntu):
status: Triaged → In Progress
summary: - Compiz refresh rate resets to 50 Hz automatically
+ Compiz refresh rate resets to 50 Hz automatically w/ Nvidia proprietary
+ driver
Lem (lem-jjr) wrote :

Hi Chris, I added your PPA to my 14.04 test installation, upgraded just the packages you built (there's a bunch of other updates since I last updated this installation), and I now have silky smooth window movement without having to change anything :)

Thanks!

Hi Lem,

\o/ Awesome, thanks for confirming. I'll get this fix proposed and get it into Compiz proper.

Thanks again for testing this.

Download full text (4.3 KiB)

Incredible Christopher :) A bug that compiz kept pushing back you fixed in
no time!

On Tue, Apr 8, 2014 at 8:10 AM, Launchpad Bug Tracker <
<email address hidden>> wrote:

> ** Branch linked: lp:~townsend/compiz/fix-composite-refresh-rate
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1192028
>
> Title:
> Compiz refresh rate resets to 50 Hz automatically w/ Nvidia
> proprietary driver
>
> Status in Compiz:
> In Progress
> Status in One Hundred Papercuts:
> Triaged
> Status in “compiz” package in Ubuntu:
> In Progress
>
> Bug description:
> There have been similar bug reports to this one, such as bug #1009338
> and bug #1027868, but I believe this case is different.
>
> The problem I am having is that even after I set the refresh rate
> options in compiz to 60 Hz (after disabling the "Detect Refresh Rate"
> option), a reboot will have the settings revert. If I change settings in
> the compiz config settings manager, they should remain even after a reboot.
> ---
> .proc.driver.nvidia.gpus.0: Error: [Errno 21] Is a directory:
> u'/proc/driver/nvidia/gpus/0'
> .proc.driver.nvidia.registry: Binary: ""
> .proc.driver.nvidia.version:
> NVRM version: NVIDIA UNIX x86_64 Kernel Module 313.30 Wed Mar 27
> 16:56:45 PDT 2013
> GCC version: gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-1ubuntu1)
> .tmp.unity.support.test.0:
>
> ApportVersion: 2.9.2-0ubuntu8.1
> Architecture: amd64
> CompizPlugins:
> [core,composite,opengl,compiztoolbox,decor,vpswitch,snap,mousepoll,resize,place,move,wall,grid,regex,imgpng,session,gnomecompat,animation,fade,staticswitcher,workarounds,scale,expo,ezoom,dbus]
> CompositorRunning: compiz
> CompositorUnredirectDriverBlacklist: '(nouveau|Intel).*Mesa 8.0'
> CompositorUnredirectFSW: true
> DistUpgraded: 2013-04-28 10:18:35,447 DEBUG enabling apt cron job
> DistroCodename: raring
> DistroRelease: Ubuntu 13.04
> DistroVariant: ubuntu
> GraphicsCard:
> NVIDIA Corporation G84M [GeForce 8600M GT] [10de:0407] (rev a1)
> (prog-if 00 [VGA controller])
> Subsystem: Dell Device [1028:022e]
> InstallationDate: Installed on 2011-10-16 (611 days ago)
> InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release amd64
> (20111012)
> MachineType: Dell Inc. XPS M1530
> MarkForUpload: True
> NonfreeKernelModules: nvidia
> Package: compiz 1:0.9.9~daily13.04.18.1~13.04-0ubuntu1
> PackageArchitecture: all
> ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.8.0-23-generic
> root=UUID=67324911-aae9-47ca-a177-6c818959ed59 ro quiet splash
> ProcVersionSignature: Ubuntu 3.8.0-23.34-generic 3.8.11
> Tags: raring raring ubuntu compiz-0.9
> Uname: Linux 3.8.0-23-generic x86_64
> UpgradeStatus: Upgraded to raring on 2013-04-28 (50 days ago)
> UserGroups: adm admin audio cdrom dialout dip fuse lpadmin netdev
> plugdev sambashare vboxusers video
> dmi.bios.date: 11/19/2008
> dmi.bios.vendor: Dell Inc.
> dmi.bios.version: A12
> dmi.board.vendor: Dell Inc.
> dmi.chassis.type: 8
> dmi.chassis.vendor: Dell Inc.
> dmi.modalias:
> dmi:bvnDellInc.:bvrA12:bd11/19/2008:svnDellInc.:pnXPSM1530:pv...

Read more...

Changed in compiz (Ubuntu):
status: In Progress → Fix Released
Changed in compiz:
status: In Progress → Fix Committed
Wolter Hellmund (wolterh) wrote :

Will this fix work for Ubuntu 13.10?

Wolter Hellmund (wolterh) wrote :

I updated to 14.04 and it seems to have been implemented, good job Christopher!!

Laurence Potter (lp85bath) wrote :

My refresh rate is still being detected as 50Hz according to CCSM.

 I have Ubuntu 14.04 (upgraded from 13.04 to 13.10 to 14.04) with all updates installed using nvidia 331.38 from nvidia-331-updates. However, changing the refresh rate to 60Hz in CCSM "sticks" between reboots, so I am able to use this workaround.

I do not know if this is a regression since I only checked it a few days ago. Also, no matter whether the refresh rate is set ot 50 or 60Hz windows will stutter if moved in a circular motion.

Waz (paviluf) wrote :

Me too, my refresh rate is still being detected as 50Hz according to CCSM.

Kaspar Tint (kaspar-tint) wrote :

I set it to 144 as my monitors refresh rate is 144, and after reboot it's still 50 again. 14.04 Ubuntu

Kaspar Tint (kaspar-tint) wrote :

After 14.10 upgrade, problem still persists.

Stephen M. Webb (bregma) on 2014-11-06
Changed in compiz:
status: Fix Committed → Fix Released
Vive (vivekram19) wrote :

This problem still persists in 14.04 and 14.10. I have filed a bug report here https://bugs.launchpad.net/ubuntu/+source/xorg/+bug/1406869

To post a comment you must log in.