Hi! Sorry if this is an inappropriate place to ask this, but I can't seem to target a particular monitor when running Redshift.
Here's my setup:
They're set up on the same X screen, :0. I use awesome window manager to treat the monitors as separate screens.
I can interact with the monitors using xrandr just fine. I use xrandr to set up their display resolutions and relative positions with no problem.
However, running gtk-redshift (v1.7), I can't seem to get the shift on just HDMI-1.
All of these commands turn on redshift on both monitors:
$ gtk-redshift -l 40.6:-74 -m randr:screen=HDMI-1$ gtk-redshift -l 40.6:-74 -m randr:screen=DVI-I-1$ gtk-redshift -l 40.6:-74 -m randr:screen=0And, as one might expect, this is the output of -m randr:screen=1:
$ gtk-redshift -l 40.6:-74 -m randr:screen=1
Screen 1 could not be found.
Failed to start adjustment method randr.
Must I set up a separate X screen to run Redshift only on HDMI-1? What am I missing?
Thanks for a wonderful piece of software!
I have marked this as a bug since the example where you set randr:screen=0 or randr:screen=1 should work as far as I can tell given your setup. What output do you get when you run xrandr? Does it mention both Screen 0 and Screen 1?
It doesn't. It just mentions Screen 0, which I think is the single X screen that I have configured.
$ xrandr
Screen 0: minimum 320 x 200, current 3840 x 1080, maximum 8192 x 8192
DVI-I-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 597mm x 336mm
1920x1080 60.0*+
1600x1200 60.0
1680x1050 59.9
1400x1050 59.9
1280x1024 75.0 60.0
1440x900 59.9
1280x960 60.0
1152x864 75.0
1024x768 75.1 70.1 60.0
832x624 74.6
800x600 72.2 75.0 60.3 56.2
640x480 75.0 72.8 66.7 60.0
720x400 70.1
HDMI-1 connected primary 1920x1080+1920+0 (normal left inverted right x axis y axis) 597mm x 336mm
1920x1080 60.0*+ 50.0 59.9
1920x1080i 60.1 50.0 60.0
1600x1200 60.0
1680x1050 59.9
1400x1050 59.9
1280x1024 75.0 60.0
1440x900 59.9
1280x960 60.0
1152x864 75.0
1280x720 60.0 50.0 59.9
1440x576i 50.1
1024x768 75.1 70.1 60.0
1440x480i 60.1 60.1
832x624 74.6
800x600 72.2 75.0 60.3 56.2
720x576 50.0
720x480 60.0 59.9
640x480 75.0 72.8 66.7 60.0 59.9
720x400 70.1
Ok, so it seems that you have one screen that spans multiple outputs. I don't really have a multidisplay setup myself so I don't know if this is the normal way of configuring the screens. Currently Redshift works by screen so it will apply the effect on all outputs associated with a screen. It's quite likely that Redshift could be changed to work by output instead because it seems that gamma ramp correction is applied by output anyway, when using randr. So, to answer your question: No, with your current setup it seems that you have to enable Redshift on both outputs. Redshift would have to be updated to only apply corrections to one randr output.
jonls, thanks for your reply! Perhaps some future traffic from Google will find this conversation as helpful as I have.
Thanks again for a great piece of software.
Greetings!
I have a HDTV connected to my computer and I didn't want redshift to dim the TV.
After trying many settings I found the right way:
gtk-redshift -l 38.7:9.1 -t 5700:4700 -g 0.8 -o -m vidmode:screen=0
The ' -m vidmore:screen=0 ' did the trick.
Now only my monitor is dimmed and not the TV.
I'm using Linux Maya 13.
Cheers
I want to update this for future reference, in case anyone else stumbles upon it as I have. When you have two outputs on one randr screen, you can now use -m randr:crtc=HDMI-1. You can replace HDMI-1 with whatever output you want to use.
Everything is the best! Thank you so much! I've confirmed that it works perfectly for me!
It worked for me using 0 for the first screen and 1 for the second "redshift -m randr:crtc=1 -O 5000"
This is working fairly well for me. I'm using a configuration file and appreciate the intricate options.
I do have a question. I have an Nvidia video card with three monitors. I'd like to be able to set each monitor differently via the configuration file. Could I get a tip or two?
Here's my xrandr output...
xrandr
Screen 0: minimum 320 x 200, current 5520 x 1080, maximum 16384 x 16384
DVI-I-1 connected 1680x1050+0+0 (normal left inverted right x axis y axis) 474mm x 296mm
1680x1050 59.88_+
1280x1024 75.02 60.02
1280x960 60.00
1152x864 75.00
1024x768 75.08 70.07 60.00
832x624 74.55
800x600 72.19 75.00 60.32 56.25
640x480 75.00 72.81 66.67 60.00
720x400 70.08
DVI-D-1 connected primary 1920x1080+1680+0 (normal left inverted right x axis y axis) 476mm x 268mm
1920x1080 60.00_+
1600x1200 60.00
1680x1050 59.88
1400x1050 59.95
1600x900 60.00
1280x1024 75.02 60.02
1440x900 59.90
1280x960 60.00
1280x800 59.91
1152x864 75.00
1024x768 75.08 70.07 60.00
832x624 74.55
800x600 72.19 75.00 60.32 56.25
640x480 75.00 72.81 66.67 60.00
720x400 70.08
DP-1 disconnected (normal left inverted right x axis y axis)
DVI-I-1-2 connected 1920x1080+3600+0 476mm x 268mm
1920x1080 60.00*+
1600x1200 60.00
1680x1050 59.88
1400x1050 59.95
1600x900 60.00
1280x1024 75.02 60.02
1440x900 59.90
1280x960 60.00
1280x800 59.91
1152x864 75.00
1024x768 75.08 70.07 60.00
832x624 74.55
800x600 72.19 75.00 60.32 56.25
640x480 75.00 72.81 66.67 60.00
720x400 70.08
I am using i3. Screen 0 with 3 monitors i.e. LVDS, DisplayPort-1, DVI-I-1-1. Redshift only affects LVDS and DisplayPort, leaving DVI-I-1-1 as is. Also randr:crtc=output affects only LVDS does not matter whichever output I specify.
$ xrandr
Screen 0: minimum 320 x 200, current 4984 x 1680, maximum 16384 x 16384
LVDS connected primary 1920x1200+3064+0 (normal left inverted right x axis y axis) 367mm x 230mm
1920x1200 59.95+
1920x1080 60.00
1600x1200 59.95
1680x1050 60.00
1400x1050 60.00
1280x1024 59.95
1440x900 59.99
1280x960 59.99
1280x854 59.95
1280x800 59.96
1280x720 59.97
1152x768 59.95
1024x768 59.95
800x600 59.96
848x480 59.94
720x480 59.94
640x480 59.94
DisplayPort-0 disconnected (normal left inverted right x axis y axis)
DisplayPort-1 connected 1920x1080+1096+0 (normal left inverted right x axis y axis) 510mm x 287mm
1920x1080 60.00+
1280x1024 75.02 60.02
1152x864 75.00
1024x768 75.03 60.00
800x600 75.00 60.32
640x480 75.00 59.94
720x400 70.08
DisplayPort-2 disconnected (normal left inverted right x axis y axis)
DVI-I-1-1 connected 1050x1680+0+0 left (normal left inverted right x axis y axis) 433mm x 270mm
1680x1050 59.95*+
1280x1024 75.02 60.02
1440x900 59.90
1280x800 59.91
1152x864 75.00
1280x720 60.00
1024x768 75.03 70.07 60.00
832x624 74.55
800x600 72.19 75.00 60.32 56.25
848x480 60.00
640x480 75.00 72.81 66.67 59.94
720x400 70.08
The ability to specify individual monitors at any time via menu option would be nice. Sometimes I want my second or third monitor's to shift, sometimes I don't (code on middle monitor and want shift, movie on either side and may not want shift, reference resources on either side and may not want shift)... Configuring via menu options would allow changing shift on the fly.
The ability to specify individual monitors at any time via menu option would be nice. Sometimes I want my second or third monitor's to shift, sometimes I don't (code on middle monitor and want shift, movie on either side and may not want shift, reference resources on either side and may not want shift)... Configuring via menu options would allow changing shift on the fly.
Agree with this, also would be happy if I could even just set this in the config file! One of my monitors is a TV that looks very bad with the temperature adjustments, on Windows with f.lux I'm able to just disable it on that monitor only very easily, but using a command like redshift -m randr:crtc=2 -0 25000 in the terminal for redshift something happens for a second but the change doesn't seem to want to stick.
Most helpful comment
I want to update this for future reference, in case anyone else stumbles upon it as I have. When you have two outputs on one randr screen, you can now use
-m randr:crtc=HDMI-1. You can replaceHDMI-1with whatever output you want to use.