fluxgui icon indicating copy to clipboard operation
fluxgui copied to clipboard

No change in screen color

Open nvhilliard opened this issue 7 years ago • 57 comments

Read This First!

This seems to be an upstream problem, e.g. https://forum.justgetflux.com/topic/2373/sorry-we-only-support-8-and-10-bit-displays-right-now/17, and I don't think there's anything we can do in fluxgui. So, marking as "won't fix". But if this issue is affecting you then please "thumbs up" this issue here, and comment over there at the justgetflux forum.

Check If You're Experiencing This Issue

To check if you are experiencing this issue, try running xflux manually with

xflux -l 0 -g 0 -k 3400 -nofork

If you get an error about

Sorry, we only support 8 and 10-bit displays right now.

then you're experiencing this issue!

Consider Trying -r 0 With Newer xflux Binary And Reporting Back

Looks like we may be able to fix this now by using the new xflux11 binary or xflux12 binary and passing -l 0 -g 0 -r 0, e.g.

./xflux12 -l 0 -g 0 -r 0 -k3400 -nofork

For some people this will work, but for others (such as @ntc2) it just causes a different error, e.g.

Found 1 screen.
Display 1 has 0 size
Sorry, we only support 8, 10, 11, and 12-bit displays right now.

See forum thread here: https://forum.justgetflux.com/topic/2373/sorry-we-only-support-8-and-10-bit-displays-right-now. Not sure if the -r 0 will cause other problems, so perhaps the conservative thing to do is start without -r 0, detect the problem, and then restart with -r 0?

Consider Using Redshift Instead Of xflux

The fluxgui app now supports Redshift as the backend, in preference to xflux. If you're having issues with xflux, then try using Redshift instead, either via fluxgui, via the redshift-gtk indicator app, or via the command line. For example, you can use

redshift -v -t 4500:2500

to set day time color temp to 4500 and night time color temp to 2500. This is what I use on my work laptop, which has a fancy graphics card that is unsupported by Flux.

Original Issue Report

I'm running Xenial with Gnome desktop. As the title says, when I run either the gui or xflux from command line, there is no change in color. If I run the gui I get some useful messages, however. Here is my terminal:

nate@nate-UX305:~$ fluxgui
/usr/lib/python2.7/dist-packages/fluxgui/fluxapp.py:75: GtkWarning: Cannot transform xsetting Net/IconThemeName of type gchararray to type GdkColor

  gtk.gdk.screen_get_default().get_setting('gtk-icon-theme-name')
/usr/lib/python2.7/dist-packages/fluxgui/fluxapp.py:75: GtkWarning: Cannot transform xsetting Net/IconThemeName of type gchararray to type gint

  gtk.gdk.screen_get_default().get_setting('gtk-icon-theme-name')

nvhilliard avatar Aug 24 '16 05:08 nvhilliard

I also seem to have the same issue. Redshift has also stopped working for me although it was working fine a few weeks ago. Is it due to a change in some upgraded system package?

x-ji avatar Aug 27 '16 16:08 x-ji

Turns out it has something to do with the newest kernel 4.4.0-34. Using 4.4.0-31 solved the issue. See https://ubuntuforums.org/showthread.php?t=2333398. I filed a bug report at https://bugs.launchpad.net/launchpad/+bug/1617686

x-ji avatar Aug 28 '16 03:08 x-ji

If you still want to use kernel version 4.4.0-31 just to use xfluxgui regardless of the side effects, run this - sudo apt-get install linux-image-4.4.0-31-generic linux-headers-4.4.0-31.

or use the latest kernel version instead for Ubuntu (at the moment 4.4.0-36)

one liner: sudo apt-get install linux-image-4.4.0-36-generic linux-headers-4.4.0-36.

ghost avatar Sep 10 '16 09:09 ghost

This issue is still present on the pre-release Ubuntu kernel 4.4.0-38-generic, which I tried after 4.4.0-36-generic failed to fix the issue. So currently there appears to be no fix available if you use newer kernels.

holocronweaver avatar Sep 14 '16 18:09 holocronweaver

People who are having this issue might try RedShift instead. E.g. redshift -v -t 4500:2500 to set day time color temp to 4500 and night time color temp to 2500. This is what I use on my work laptop, which has a fancy graphics card that is unsupported by Flux.

ntc2 avatar Sep 14 '16 18:09 ntc2

Nice find @ntc2! redshift works on Ubuntu kernel 4.4.0-38-generic with an Nvidia GTX 970m.

holocronweaver avatar Sep 14 '16 18:09 holocronweaver

@holocronweaver : haha, small world:

$ lspci | grep VGA
01:00.0 VGA compatible controller: NVIDIA Corporation GM204M [GeForce GTX 970M] (rev a1)

ntc2 avatar Sep 14 '16 18:09 ntc2

People who are having this issue might try RedShift instead. E.g. redshift -v -t 4500:2500 to set day time color temp to 4500 and night time color temp to 2500. @ntc2

Can I ask, is that also a way to set daytime with bluelight filter, or should I change 4500 value to 2500 too to make daylight filter color same as night?

ghost avatar Sep 15 '16 04:09 ghost

@itsabear The easiest way to set the color you want is redshift -O 2500 for example. -O means "oneshot" and it doesn't differentiate on time of the day. It just sets the screen color immediately.

x-ji avatar Sep 15 '16 05:09 x-ji

@x-ji I tried that, and the program returns using method randr. The screen goes to that temperature in a split second, and gone back to normal. How to fix this?

ghost avatar Sep 15 '16 05:09 ghost

@itsabear That's because you have a previous redshift process running. Close that process first, otherwise it will control the temperature continuously. -O does what it says, it adjusts the temperature at once and doesn't keep a redshift process running, so in your case the previous process overrode this setting.

x-ji avatar Sep 15 '16 06:09 x-ji

@x-ji That's worked. Thanks. By killing running fluxgui in the background did it. So if anybody else also wanna try redshift, don't forget to kill other process of redshift or fluxgui in the background. You can search for the process with ps aux | grep "fluxgui" or ps aux | grep "redshift"and using killall <process ID> to kill the background process.

or again

If you still want to use kernel version 4.4.0-31 just to use xfluxgui regardless of the side effects, run this - _sudo apt-get install linux-image-4.4.0-31-generic linux-headers-4.4.0-31_

and just hope for next version of kernel release will stop this major issue from haunting this project.

-o-

we had to dive into the code and adapt it to suit itself with every latest kernel release.

ghost avatar Sep 15 '16 07:09 ghost

I also had problem with non-working flux after some Ubuntu 16.04 upgrade. The solution for me was a downgrade of nvidia drivers from version 367.57 to 361.42.

Running on GeForce GTX 670 with AMD processor. Kernel 4.4.0-45

ostaszewskik avatar Nov 06 '16 17:11 ostaszewskik

Even with the lastest 367.57 it doesn't work. Am on Ubuntu 14.04.5 x64 with 4.4.0-45 kernel. Card is a GT 430.

Will try 361.42 now...

synthor avatar Nov 08 '16 16:11 synthor

Yup, that's also the solution for Ubuntu 14.04.5 (with the HWE stack from 16.04).

synthor avatar Nov 08 '16 16:11 synthor

I also added a comment to the bugreport on launchpad.

synthor avatar Nov 08 '16 16:11 synthor

@synthor Well no. I reported that it doesn't work on both Nvidia card and the integrated Intel card. While on another kernel it works on both Nvidia and Intel cards. I currently have Nvidia 364 driver and I have redshift working totally fine. So I don't believe it's induced by NVIDIA driver. Maybe you're having another bug? Maybe you should actually file another bug report instead.

x-ji avatar Nov 08 '16 17:11 x-ji

The same bug affects us.

It doesn't seem to be related to the kernel itself, because you with Intel/Nvidia setup, @mDfRg and me have the problem with a Nvidia only setup. There's a little module running inside the kernel which is the graphics driver which contains the bug.

I'm personally affected since I updated the Nvidia driver to a version a few days ago.

On my notebook I use 14.04.5 with 4.4.0-45 aswell with an Intel onboard and an AMD card and the AMD propritary driver. It always worked without problems on this machine and I never upgraded the AMD driver since a while.

Maybe I should... ;)

So, it seems to be related to the graphics drivers. We should contact their vendors with this.

synthor avatar Nov 08 '16 17:11 synthor

Still looking what is causing the bug..

  • ps aux'ed the exact xflux command and saved it
  • reinstalled the latest Nvidia driver
  • no xflux process running after logon
  • opened a terminal and ran the saved command
--------
Welcome to xflux (f.lux for X)
This will only work if you're running X on console.

Found 1 screen.
Sorry, we only support 8 and 10-bit displays right now.
synthor@ubunthor:~$

"This will only work if you're running X on console." is normal says Google.

"Sorry, we only support 8 and 10-bit displays right now." is the culprit. The xflux process exits after that.

Googled the error message gave me this: https://forum.justgetflux.com/topic/2373/sorry-we-only-support-8-and-10-bit-displays-right-now/17

Haven't tested his solution and not read any further yet. That's my latest info.

synthor avatar Nov 09 '16 15:11 synthor

I have a Radeon RX 480 (so no nVidia drivers on my Linux) and I have the exact same issue. Could it be related to the screen resolution? I'm on 2560x1440. FYI, I use ArchLinux with kernel v4.8.6.

mpsq avatar Nov 10 '16 21:11 mpsq

Could you open a terminal and post the output of

/usr/local/bin/xflux -l 50 -k 3400 -nofork

please?

Which driver do you use? radeon-si?

Edit: Screen resolution should definately not be the problem.

synthor avatar Nov 10 '16 21:11 synthor

Well, I had been watching this bug for a while. It appears that xflux incorrectly detects the display. I have 10 bit display and I am getting the following

Welcome to xflux (f.lux for X) This will only work if you're running X on console.

Guessing your longitude is -75.0 based on your timezone Specify it with -g to make things better. Found 1 screen. Sorry, we only support 8 and 10-bit displays right now.

bhlevca avatar Nov 11 '16 00:11 bhlevca

I use the AMDGPU driver (https://wiki.archlinux.org/index.php/AMDGPU).

When I run the command:

xflux -l 50 -k 3400 -nofork

I have the same:

Sorry, we only support 8 and 10-bit displays right now.

Edit: I don't know if it matters but I use wayland, ps -e | grep way gives me:

gdm-wayland-ses
Xwayland

I use Gnome 3.22.2 and GDM 3.22.1.

mpsq avatar Nov 11 '16 08:11 mpsq

@bhlevca That explains why bending that two assembler jumps into that piece of code with radare didn't helped. Since we only have the binary, that would have been a quick'n'dirty hack.

@merildev Well, yes it does matter. If we would have the sources of xflux we could change it to work again with all cards, displays, compositors, ...

That bug is over eight months old. Don't think they will do something in short time.

synthor avatar Nov 11 '16 10:11 synthor

starting fluxgui under i3 doesn't change the monitor temperature. The applet appears in the bottom right corner on my i3-status bar, and can be clicked. However, when clicking preview, the window locks up and the button doesn't let go of the mouse focus. All output on terminal is:

/usr/local/lib/python2.7/dist-packages/fluxgui/fluxapp.py:86: Warning: /build/glib2.0-94amRy/glib2.0-2.50.1/./gobject/gsignal.c:2523: signal 'child-added' is invalid for instance '0x1a29190' of type 'GtkMenu'
  self.indicator.set_menu(self.create_menu())

It was built from the git repository following the instructions.

Videocard driver: NVRM version: NVIDIA UNIX x86_64 Kernel Module 367.57 Mon Oct 3 20:37:01 PDT 2016 GCC version: gcc version 5.4.1 20161019 (Debian 5.4.1-3)

Kernel: 4.7.0-1-amd64 #1 SMP Debian 4.7.8-1 (2016-10-19) x86_64 GNU/Linux

Debian stretch, up to date. My card is a GTX 560.

Steps to replicate the issue

Start fluxgui from terminal.

zelmor avatar Nov 14 '16 21:11 zelmor

This seems to be an upstream problem, e.g. https://forum.justgetflux.com/topic/2373/sorry-we-only-support-8-and-10-bit-displays-right-now/17, and I don't think there's anything we can do in fluxgui. So, marking as "won't fix".

ntc2 avatar Nov 26 '16 00:11 ntc2

Welcome to xflux (f.lux for X) This will only work if you're running X on console.

Found 1 screen. Sorry, we only support 8 and 10-bit displays right now.

debian 9 kernel 4.8.15.2 xorg 1.19.1 XFCE

carlosnewmusic avatar Feb 14 '17 14:02 carlosnewmusic

Hi, antergos + RX 480, same issue for me.

spokendotcpp avatar Mar 03 '17 18:03 spokendotcpp

Looks like we may be able to fix this now by using newer xflux binary and passing -r 0. See forum thread here: https://forum.justgetflux.com/topic/2373/sorry-we-only-support-8-and-10-bit-displays-right-now. Not sure if the -r 0 will cause other problems, so perhaps the conservative thing to do is start without -r 0, detect the problem, and then restart with -r 0?

ntc2 avatar Mar 06 '17 03:03 ntc2

This is now affecting Ubuntu 17.04, used to work up to a couple days ago.

ghost avatar Apr 06 '17 03:04 ghost