You are not logged in.

#1 2014-07-25 21:05:07

PlasmaSheep
Member
Registered: 2012-01-22
Posts: 25

Redshift not working

I'm trying to start redshift as a systemd service, but things are not working out for me.

> systemctl status --user redshift
● redshift.service - Redshift display colour temperature adjustment
   Loaded: loaded (/usr/lib/systemd/user/redshift.service; enabled)
   Active: failed (Result: start-limit) since Fri 2014-07-25 13:13:57 UTC; 5min ago
     Docs: http://jonls.dk/redshift/
  Process: 457 ExecStart=/usr/bin/redshift (code=exited, status=1/FAILURE)
 Main PID: 457 (code=exited, status=1/FAILURE)

Jul 25 13:13:57 alexei-desktop systemd[412]: redshift.service: main process exited, code=exited, status=1/FAILURE
Jul 25 13:13:57 alexei-desktop systemd[412]: Unit redshift.service entered failed state.
Jul 25 13:13:57 alexei-desktop systemd[412]: redshift.service holdoff time over, scheduling restart.
Jul 25 13:13:57 alexei-desktop systemd[412]: Stopping Redshift display colour temperature adjustment...
Jul 25 13:13:57 alexei-desktop systemd[412]: Starting Redshift display colour temperature adjustment...
Jul 25 13:13:57 alexei-desktop systemd[412]: redshift.service start request repeated too quickly, refusing to start.
Jul 25 13:13:57 alexei-desktop systemd[412]: Failed to start Redshift display colour temperature adjustment.
Jul 25 13:13:57 alexei-desktop systemd[412]: Unit redshift.service entered failed state.

Here's my ~/.config/redshift.conf file:

; Global settings for redshift.
[redshift]
; Set the color temperatures to 5500K during the day and 3500K during the night.
; These are the default values since version 1.9.
temp-day=5500
temp-night=1500

; Set the monitor brightness (artifical backlight) to 90%. Default is 1.0 (100%).
;brightness=0.9
; It is also possible to use different settings for day and night since version 1.8.
;brightness-day=0.7
;brightness-night=0.4

; Enable/Disable a smooth transition between day and night:
; 0 will cause a direct change from daytime settings to night settings.
; 1 will gradually transition between from daytime settings to night settings.
transition=1

; In the development version (the 'redshift-git' package) it is possible to
; change the transition period. This will cause redshift to transition between
; daytime settings and night settings during time of the day when the sun's
; elevation is 3 degrees above the horizon and 6 degrees below the horizon.
; These are the default settings. 'elevation-low' cannot be higher than
; 'elevation-high', but if they are equal, there will be no transition during twilight.
;elevation-high=3.0
;elevation-low=-6.0

; Set the gamma correction (for all colors, or each color channel individually.)
gamma=0.8
;gamma=0.8:0.7:0.8

; Set the location-provider: 'geoclue', 'gnome-clock' (removed since version 1.9), 'manual'.
; Type 'redshift -l list' to see possible values.
; The location provider settings are in a different section.
location-provider=manual

; Set the adjustment-method: 'randr', 'vidmode', 'drm' (since version 1.9).
; Type 'redshift -m list' to see all possible values.
; 'randr' is the preferred method, 'vidmode' is an older API
; but works in some cases when 'randr' does not.
; 'drm' is used to adjust the color in the Linux console without a display server.
; 'drm' requires that you are a member of the 'video' group.
; The adjustment method settings are in a different section.
adjustment-method=vidmode

; Configuration of the location-provider:
; type 'redshift -l PROVIDER:help' to see the settings
; ex: 'redshift -l manual:help'
[manual]
lat=34.04793
lon=-118.216324

; Configuration of the adjustment-method.
; Type 'redshift -m METHOD:help' to see the settings.
; ex: 'redshift -m randr:help'
; In this example, randr is configured to adjust monitor 1. 
; Note that the numbering starts from 0, so this is actually the second monitor.
;[randr]
;crtc=1
[randr]
screen=0

Offline

#2 2014-07-25 21:30:21

emeres
Member
Registered: 2013-10-08
Posts: 1,570

Re: Redshift not working

Does it work as expected, when you run redshift from a terminal? Has the service file been modified? Did you try the randr adjustment method?

Last edited by emeres (2014-07-25 21:30:42)

Offline

#3 2014-07-25 21:44:36

PlasmaSheep
Member
Registered: 2012-01-22
Posts: 25

Re: Redshift not working

When I run it from the terminal, it changes the screen color but it flickers from red-tinted to normal. randr appears to fail just like the log in my OP. From the terminal with randr I get the same flickering.

Offline

#4 2014-07-25 21:56:11

emeres
Member
Registered: 2013-10-08
Posts: 1,570

Re: Redshift not working

Does the service file read/set the environment variable [for] DISPLAY? I would concentrate on getting redshift run properly the conventional way first however. Provide more information: hardware, drivers, state of dri, de/wm, maybe even xorg.conf and anything else relevant. Do you use a composition manager? Does the same happen without one running?

Offline

#5 2014-07-25 22:15:53

PlasmaSheep
Member
Registered: 2012-01-22
Posts: 25

Re: Redshift not working

Does the service file read/set the environment variable [for] DISPLAY?

I'm not sure how I can check this? $DISPLAY is set to :0, if that's what you mean.

Hardware:

> lspci | grep VGA
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Redwood XT [Radeon HD 5670/5690/5730]

Drivers:

xf86-video-ati 1:7.4.0-2

What is "state of dri"?

Using i3, no DE, no compositor.

> cat /etc/X11/xorg.conf.d/10-evdev.conf 
#
# Catch-all evdev loader for udev-based systems
# We don't simply match on any device since that also adds accelerometers
# and other devices that we don't really want to use. The list below
# matches everything but joysticks.

Section "InputClass"
        Identifier "evdev pointer catchall"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
	Option "Emulate3Buttons" "on"
EndSection

Section "InputClass"
        Identifier "evdev keyboard catchall"
        MatchIsKeyboard "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection

Section "InputClass"
        Identifier "evdev touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection

Section "InputClass"
        Identifier "evdev tablet catchall"
        MatchIsTablet "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection

Section "InputClass"
        Identifier "evdev touchscreen catchall"
        MatchIsTouchscreen "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection
> cat /etc/X11/xorg.conf.d/10-quirks.conf 
# Collection of quirks and blacklist/whitelists for specific devices.


# Accelerometer device, posts data through ABS_X/ABS_Y, making X unusable
# http://bugs.freedesktop.org/show_bug.cgi?id=22442 
Section "InputClass"
        Identifier "ThinkPad HDAPS accelerometer blacklist"
        MatchProduct "ThinkPad HDAPS accelerometer data"
        Option "Ignore" "on"
EndSection

Offline

#6 2014-07-25 22:28:09

emeres
Member
Registered: 2013-10-08
Posts: 1,570

Re: Redshift not working

Read the service file? The variable could be set via Environment directive. Since you did not mention it, I assume however you have only one monitor.

glxinfo | grep deri

Does the behavior stay the same with i3 suspended or killed?
You could try adding RestartSec to a copy of the service file in /etc/systemd/user or ~/.config/systemd/user.

Offline

#7 2014-07-25 22:49:26

PlasmaSheep
Member
Registered: 2012-01-22
Posts: 25

Re: Redshift not working

Service file:

> cat /usr/lib/systemd/user/redshift.service 
[Unit]
Description=Redshift display colour temperature adjustment
Documentation=http://jonls.dk/redshift/
After=display-manager.service

[Service]
ExecStart=/usr/bin/redshift
Restart=always

[Install]
WantedBy=default.target

Yes, I have one monitor.

> glxinfo | grep dri

> glxinfo | grep deri
direct rendering: Yes
    GL_OES_rgb8_rgba8, GL_OES_standard_derivatives, GL_OES_stencil8, 

I exited out of i3, entered into another terminal from my display manager (alt+shift+f2), and ran:

> systemctl --user start redshift
> systemctl --user status redshift
● redshift.service - Redshift display colour temperature adjustment
   Loaded: loaded (/usr/lib/systemd/user/redshift.service; enabled)
   Active: failed (Result: start-limit) since Fri 2014-07-25 15:46:19 UTC; 53s ago
     Docs: http://jonls.dk/redshift/
  Process: 2711 ExecStart=/usr/bin/redshift (code=exited, status=1/FAILURE)
 Main PID: 2711 (code=exited, status=1/FAILURE)

Jul 25 15:46:18 alexei-desktop systemd[412]: Unit redshift.service entered failed state.
Jul 25 15:46:19 alexei-desktop systemd[412]: redshift.service holdoff time over, scheduling restart.
Jul 25 15:46:19 alexei-desktop systemd[412]: Stopping Redshift display colour temperature adjustment...
Jul 25 15:46:19 alexei-desktop systemd[412]: Starting Redshift display colour temperature adjustment...
Jul 25 15:46:19 alexei-desktop systemd[412]: redshift.service start request repeated too quickly, refusing to start.
Jul 25 15:46:19 alexei-desktop systemd[412]: Failed to start Redshift display colour temperature adjustment.
Jul 25 15:46:19 alexei-desktop systemd[412]: Unit redshift.service entered failed state.

Offline

#8 2014-07-25 23:16:47

emeres
Member
Registered: 2013-10-08
Posts: 1,570

Re: Redshift not working

Again, I would concentrate on getting redshift run properly the conventional way first, ergo from a terminal. Can you run redshift from within X (not other tty) without i3? The point is to see if wm influences this flickering behavior, unless it does not bother you.

Edit: Flickering is probably bound to transition and adjustment-method options.

Last edited by emeres (2014-07-26 00:06:55)

Offline

#9 2014-07-26 22:15:21

PlasmaSheep
Member
Registered: 2012-01-22
Posts: 25

Re: Redshift not working

Interestingly, today it works fine if I have i3 autostart it.

Offline

#10 2014-07-26 22:34:31

emeres
Member
Registered: 2013-10-08
Posts: 1,570

Re: Redshift not working

So there are probably some environment variables missing. Maybe you could source them with the directive I mentioned directly or as a file. Since this comes with the official package however, it should have been taken card of, so maybe there is something else. I also see a redshift-gtk.service, you might want to try that instead.

Offline

Board footer

Powered by FluxBB