Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No change in screen color #27

Open
nvhilliard opened this issue Aug 24, 2016 · 57 comments
Open

No change in screen color #27

nvhilliard opened this issue Aug 24, 2016 · 57 comments

Comments

@nvhilliard
Copy link

nvhilliard commented Aug 24, 2016

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')
@x-ji
Copy link

x-ji commented Aug 27, 2016

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
Copy link

x-ji commented Aug 28, 2016

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

@ghost
Copy link

ghost commented Sep 10, 2016

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.

@holocronweaver
Copy link

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.

@ntc2
Copy link
Member

ntc2 commented Sep 14, 2016

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.

@holocronweaver
Copy link

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

@ntc2
Copy link
Member

ntc2 commented Sep 14, 2016

@holocronweaver : haha, small world:

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

@ghost
Copy link

ghost commented Sep 15, 2016

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?

@x-ji
Copy link

x-ji commented Sep 15, 2016

@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.

@ghost
Copy link

ghost commented Sep 15, 2016

@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?

@x-ji
Copy link

x-ji commented Sep 15, 2016

@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.

@ghost
Copy link

ghost commented Sep 15, 2016

@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.

@ostaszewskik
Copy link

ostaszewskik commented Nov 6, 2016

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

@synthor
Copy link

synthor commented Nov 8, 2016

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
Copy link

synthor commented Nov 8, 2016

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

@synthor
Copy link

synthor commented Nov 8, 2016

I also added a comment to the bugreport on launchpad.

@x-ji
Copy link

x-ji commented Nov 8, 2016

@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.

@synthor
Copy link

synthor commented Nov 8, 2016

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
Copy link

synthor commented Nov 9, 2016

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.

@mpsq
Copy link

mpsq commented Nov 10, 2016

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.

@synthor
Copy link

synthor commented Nov 10, 2016

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.

@bhlevca
Copy link

bhlevca commented Nov 11, 2016

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.

@mpsq
Copy link

mpsq commented Nov 11, 2016

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.

@synthor
Copy link

synthor commented Nov 11, 2016

@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.

@zelmor
Copy link

zelmor commented Nov 14, 2016

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.

@ntc2 ntc2 added the wontfix label Nov 26, 2016
@ntc2
Copy link
Member

ntc2 commented Nov 26, 2016

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".

@JoshuaPettus
Copy link

JoshuaPettus commented Apr 13, 2018

In case you are one of the lucky few where xflux12 works, and want to get it working with the fluxgui. For the time being till a better solution comes out, here is a quick little hack. Simply save the xflux12 to /usr/local/bin then create a bash script at /usr/local/bin/xflux.

Put in the following

#! /bin/bash
xflux12 -r 0 $@

Be sure to make both executable with "chmod a+x"

That way when the fluxgui calls upon xflux, it will launch xflux12 with the -r 0 flag and append whatever else arguments at the end.

[EDIT]
So many mistakes...shouldn't post when so tired...

@0cjs
Copy link

0cjs commented Apr 13, 2018

To ensure the parameters are preserved exactly, you should have double quotes around the $@:

xflux12 -r 0 "$@"

@JoshuaPettus
Copy link

I suppose as good practice, especially when there could be a space as so is often the case when a directory could be an argument.
But in this case it doesn't actually make a difference.
I double checked with ps

@0cjs
Copy link

0cjs commented Apr 16, 2018

I'm willing to believe that it doesn't make a difference here in most, perhaps all cases. But it's faster just to add the quotes than it is even to start thinking about if there's a case that might become a problem. (Actually showing with confidence that there are no cases where the lack of quotes could do harm is a much harder task yet.)

@AFulgens
Copy link

Just to keep the reports flowing in:
Xubuntu 16.04.5 LTS over 4.15.0-39-generic with Nvidia GTX1050 TI 4GB GDDR5 passiv (or as reported by lspci: VGA compatible controller: NVIDIA Corporation Device 1c82 (rev a1) (prog -if 00 [VGA controller])) also suffers from this issue.

redshift works out-of-the-box.

ntc2 added a commit that referenced this issue Dec 24, 2018
To make it easier to test if you're experiencing the dreaded
Issue #27.

And make the magic numbers less magic.
ntc2 added a commit to LaBatata101/fluxgui that referenced this issue Dec 24, 2018
To make it easier to test if you're experiencing the dreaded
Issue xflux-gui#27.

And make the magic numbers less magic.
@anuliuotas
Copy link

Kubuntu 19. Issue is still not fixed.

@bouwew
Copy link

bouwew commented Mar 27, 2020

LMDE 4, Nvidia 1050, not working.

@dbzlotrfan
Copy link

Using Linux Mint 19.3 (with an Nvidia GPU) with kernel 5.3.0-46, I just want th GUI to work again. . . . . . .

@dandv
Copy link
Contributor

dandv commented Dec 26, 2020

That f.lux forum thread has a post from June 2020 reporting that xflux12 worked on Ubuntu 18.

@JoshuaPettus
Copy link

JoshuaPettus commented Dec 26, 2020

It's been working fine for me in Ubuntu Mate 2004
EDIT- With the script I mentioned above

@Sickday
Copy link

Sickday commented Feb 5, 2021

In case you are one of the lucky few where xflux12 works, and want to get it working with the fluxgui. For the time being till a better solution comes out, here is a quick little hack. Simply save the xflux12 to /usr/local/bin then create a bash script at /usr/local/bin/xflux.

Put in the following

#! /bin/bash
xflux12 -r 0 $@

Be sure to make both executable with "chmod a+x"

That way when the fluxgui calls upon xflux, it will launch xflux12 with the -r 0 flag and append whatever else arguments at the end.

[EDIT]
So many mistakes...shouldn't post when so tired...

These steps worked perfectly for me with Debian Buster on XFCE. Redshfit did not work as I'm unable to install due to a missing and uninstallable geoclue-provider dependency. Thanks for these steps. I've been using the xflux12 binary to utilize the fluxgui app for a week with no problems so far.

@ntc2
Copy link
Member

ntc2 commented Sep 28, 2022

Thanks to @LaBatata101, we now support redshift as the backend, which should solve this issue for anyone have problems with xflux.

@AlexMiller101
Copy link

Alternative Solution for Ubuntu 22.04 users

Neither redshift nor flux is currently working even when I am installing it manually. It is not changing colors of the screen.

But the alternative is that: Ubuntu 22.04 has a night light option similar to fluxgui in built.

You can access it in Settings > Display > Night Light

@ntc2
Copy link
Member

ntc2 commented Mar 29, 2023

Alternative Solution for Ubuntu 22.04 users

Neither redshift nor flux is currently working even when I am installing it manually. It is not changing colors of the screen.

But the alternative is that: Ubuntu 22.04 has a night light option similar to fluxgui in built.

You can access it in Settings > Display > Night Light

@AlexMiller101 Glad to hear you found a work around, but in case anyone else is having this problem, it could be because Ubuntu 22.04 using Wayland by default, and Redshift doesn't work with Wayland. You need to switch to Xorg to use Redshift in Ubuntu 22.04.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests