jonls / redshift

Redshift adjusts the color temperature of your screen according to your surroundings. This may help your eyes hurt less if you are working in front of the screen at night.
http://jonls.dk/redshift
GNU General Public License v3.0
5.92k stars 429 forks source link

Dual head setup via HDMI effects only one/main screen. #476

Open Avispa opened 7 years ago

Avispa commented 7 years ago

The title says already pretty much everything. Running Devuan/Debian Linux and redshift 1.9.1 from the package manager. Second screen is connect via HDMI at laptop and doesn't get effect by redshift. Do I miss something?

Avispa commented 7 years ago

Okay seems I missed #23 since the issue was closed. However it doesn't work so well anyway because for screen=0, even though it spans both screens, it only effects the one at HDMI for whatever reason.

~> xrandr |grep -vE "^ " |grep -v disconnect
Screen 0: minimum 8 x 8, current 3840 x 1584, maximum 32767 x 32767
eDP1 connected 1920x1080+0+504 (normal left inverted right x axis y axis) 340mm x 190mm
HDMI1 connected 1920x1200+1920+0 (normal left inverted right x axis y axis) 650mm x 410mm
jonls commented 7 years ago

Could be that the video driver does not apply gamma adjustments to all displays. Which video driver is this?

vilkoz commented 6 years ago

I got nearly same issue (redshift affected only main display "eDP1"). My setup slightly differs, the external monitor is connected through intel-virtual-output, so it is running on different X display :8.

$> xrandr | grep " connected"
eDP1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 340mm x 190mm
VIRTUAL1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 0mm x 0mm

Got redshift working on the external display by setting environment variable $DISPLAY to :8 before running redshift:

$> DISPLAY=:8 redshift -m randr -l 50.00:30.00
vaygr commented 6 years ago

I also have a special 3-monitor setup with a non-standard WM, where 3 screens (2 external) are set up independently, so xrandr would give only 1 screen (regardless fo whether it's connected or not), while the cursor is active on that screen:

$ xrandr 
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
eDP1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 310mm x 170mm
   1920x1080     60.01*+  48.01  
   1400x1050     59.98  
   1600x900      60.00  
   1280x1024     60.02  
   1280x960      60.00  
   1368x768      60.00  
   1280x720      60.00  
   1024x768      60.00  
   1024x576      60.00  
   960x540       60.00  
   800x600       60.32    56.25  
   864x486       60.00  
   640x480       59.94  
   720x405       60.00  
   640x360       60.00  
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
$ xrandr 
Screen 1: minimum 8 x 8, current 1920 x 1200, maximum 32767 x 32767
DP2 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 550mm x 350mm
   1920x1200     59.95*+
   1920x1080     60.00    50.00    59.94    59.99  
   1920x1080i    60.00    50.00    59.94  
   1600x1200     60.00  
   1680x1050     59.88  
   1280x1024     75.02    60.02  
   1440x900      59.90  
   1280x960      60.00  
   1366x768      59.79  
   1152x864      75.00  
   1280x720      60.00    50.00    59.94  
   1024x768      75.03    70.07    60.00  
   832x624       74.55  
   800x600       72.19    75.00    60.32    56.25  
   720x576       50.00  
   720x480       60.00    59.94  
   640x480       75.00    72.81    66.67    60.00    59.94  
   720x400       70.08  
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
$ xrandr 
Screen 2: minimum 8 x 8, current 1200 x 1920, maximum 32767 x 32767
HDMI1 connected 1200x1920+0+0 left (normal left inverted right x axis y axis) 550mm x 350mm
   1920x1200     59.95*+
   1920x1080     60.00    50.00    59.94    59.99  
   1920x1080i    60.00    50.00    59.94  
   1600x1200     60.00  
   1680x1050     59.88  
   1280x1024     75.02    60.02  
   1440x900      59.90  
   1280x960      60.00  
   1366x768      59.79  
   1152x864      75.00  
   1280x720      60.00    50.00    59.94  
   1024x768      75.03    70.07    60.00  
   832x624       74.55  
   800x600       72.19    75.00    60.32    56.25  
   720x576       50.00  
   720x480       60.00    59.94  
   640x480       75.00    72.81    66.67    60.00    59.94  
   720x400       70.08  
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

To make it work, I had to launch 3 copies of redshift with 3 different $DISPLAY variables:

$ DISPLAY=":0.0" redshift &
$ DISPLAY=":0.1" redshift &
$ DISPLAY=":0.2" redshift &