autorandr icon indicating copy to clipboard operation
autorandr copied to clipboard

Switching between profiles failing: "cannot find crtc for output LVDS-1"

Open matedealer opened this issue 5 years ago • 10 comments

If I switch from docked config to mobile config autorandr failed with following error

$ autorandr -c
mobile (detected)
docked
xrandr: specified screen 1600x900 not large enough for output VGA-1 (1920x1080+1920+0)
xrandr: specified screen 1600x900 not large enough for output HDMI-3 (1920x1080+0+0)
xrandr: cannot find crtc for output LVDS-1
Failed to apply profile 'mobile' (line 762):
  Command failed: xrandr --fb 1600x900 --output LVDS-1 --gamma 1.0:1.0:1.0 --mode 1600x900 --pos 0x0 --primary --rate 60.01 --reflect normal --rotate normal (line 762)

My mobile config looks as followed:

output VGA-1
off
output HDMI-1
off
output DP-1
off
output HDMI-2
off
output HDMI-3
off
output DP-2
off
output DP-3
off
output LVDS-1
mode 1600x900
pos 0x0
primary
rate 60.01

My docked config:

output HDMI-1
off
output DP-1
off
output HDMI-2
off
output DP-2
off
output DP-3
off
output LVDS-1
off
output HDMI-3
mode 1920x1080
pos 0x0
rate 60.00
output VGA-1
mode 1920x1080
pos 1920x0
rate 60.00

Autorandr is installed from the Arch Repo.

matedealer avatar Apr 17 '19 11:04 matedealer

Could you run autorandr in --dry-run mode after detaching and before running it without? I want to know whether it correctly tries to disable the other outputs (--output VGA-1 --off etc.). In the case you quoted it might either be that it did run these, and there was no failure, or that it didn't try to run them. The output of xrandr --verbose after disconnecting / before running autorandr would help, too. Thanks!

phillipberndt avatar Apr 17 '19 19:04 phillipberndt

xrandr --verbose in docking station xrandr --verbose (undocked but autorandr did not activate laptop screen LVDS-1)

Running in docking station

$ autorandr --dry-run   
mobile
docked (detected) (current)

after undocking

$ autorandr --dry-run
mobile
docked

if I enable LVDS-1 and disable VGA-1 & HDMI-3 beforehand and undock then

$ autorandr --dry-run
mobile (detected) (current)
docked

matedealer avatar Apr 18 '19 10:04 matedealer

You'll need both --dry-run and -c, sorry

phillipberndt avatar Apr 18 '19 10:04 phillipberndt

no problem.

Running in docking station

$autorandr --dry-run -c
mobile
docked (detected) (current)
Config already loaded

after undocking

$ autorandr --dry-run -c
mobile
docked

matedealer avatar Apr 18 '19 13:04 matedealer

@phillipberndt I also get this error.

Error:

$ autorandr --load docked 
xrandr: Configure crtc 1 failed
Failed to apply profile 'docked' (line 762):
  Command failed: xrandr --fb 3840x1080 --output eDP-1 --gamma 1.0:1.0:1.0 --mode 1920x1080 --pos 0x0 --primary --rate 59.93 --reflect normal --rotate normal --output DP-1-1 --gamma 1.0:1.0:1.0 --mode 1920x1080 --pos 1920x0 --rate 60.00 --reflect normal --rotate normal (line 762)

Config:

$ cat ~/.config/autorandr/docked/config
output DP-1
off
output HDMI-1
off
output DP-2
off
output HDMI-2
off
output DP-1-2
off
output DP-1-3
off
output eDP-1
mode 1920x1080
pos 0x0
primary
rate 59.93
output DP-1-1
mode 1920x1080
pos 1920x0
rate 60.00

xrandr --verbose outputs: undocked, and docked.

Commands:

# while docked
$ autorandr --load docked --dry-run    

xrandr --fb 3840x1080 --output eDP-1 --gamma 1.0:1.0:1.0 --mode 1920x1080 --pos 0x0 --primary --rate 59.93 --reflect normal --rotate normal --output DP-1-1 --gamma 1.0:1.0:1.0 --mode 1920x1080 --pos 1920x0 --rate 60.00 --reflect normal --rotate normal

# while undocked

xrandr --fb 3840x1080 --output eDP-1 --gamma 1.0:1.0:1.0 --mode 1920x1080 --pos 0x0 --primary --rate 59.93 --reflect normal --rotate normal --output DP-1-1 --gamma 1.0:1.0:1.0 --mode 1920x1080 --pos 1920x0 --rate 60.00 --reflect normal --rotate normal

So

It looks like the other outputs are not being disabled. I tried adding to the command to disable them manually, and this happened:

$ xrandr --fb 3840x1080 --output eDP-1 --gamma 1.0:1.0:1.0 --mode 1920x1080 --pos 0x0 --primary --rate 59.93 --reflect normal --rotate normal --output DP-1-1 --gamma 1.0:1.0:1.0 --mode 1920x1080 --pos 1920x0 --rate 60.00 --reflect normal --rotate normal --output DP-1-2 --off --output DP-1-3 --off --output DP-2 --off --output HDMI-2 --off --output HDMI-1 --off --output DP-1 --off
xrandr: Configure crtc 1 failed

travs avatar Nov 09 '19 11:11 travs

For the record: I always get this crtc error at my workplace, and I found that running xrandr --auto and then retrying makes it work in 100% of times I tried this now.

madduck avatar Jan 06 '20 03:01 madduck

As suggested by @phillipberndt over in #178, I now created a .config/autorandr/myprofile/preswitch file that calls xrandr --auto in this context, and that fixes the problem for me, without requiring code changes.

madduck avatar Jan 08 '20 22:01 madduck

I'm having the same problem, xrandr --auto in a preswitch hook doesn't solve it, and just running the xrandr commands myself does work.

NorfairKing avatar Apr 13 '20 11:04 NorfairKing

I am now calling

exec xrandr --output DP2-1 --crtc 2 --auto --output DP2-2 --crtc 1 --auto --output eDP1 --crtc 0 --auto

in the profile's preswitch hook. Try something similar?

madduck avatar Apr 13 '20 11:04 madduck

@madduck At that point I can just use xrandr myself, but thanks for the suggestion!

NorfairKing avatar Apr 13 '20 14:04 NorfairKing