Bug#921696: Split to individual xrandr calls

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Bug#921696: Split to individual xrandr calls

martin f krafft
Package: autorandr
Version: 1.7-1
Severity: wishlist
Tags: patch

Is there a reason that autorandr passes the xrandr arguments for
individual displays pairwise?

For instance, here it's running

  xrandr --fb 3840x2160 --output DP2-1 --gamma 1.0:1.0:1.0 --mode 1920x1080 --pos 0x0 --primary --rate 60.00 --reflect normal --rotate normal \
    --output DP2-2 --gamma 1.0:1.0:1.0 --mode 1920x1080 --pos 1920x0 --rate 60.00 --reflect normal --rotate normal
  xrandr --fb 3840x2160 --output eDP1 --gamma 1.0:1.0:1.0 --mode 1920x1080 --pos 0x1080 --rate 59.96 --reflect normal --rotate normal

which actually fails for some reason ("xrandr: Configure crtc
1 failed"), wheres running two xrandr calls, one for each display,
works.

So unless there is a really strong reason why to run the xrandr
operations pairwise, here's a patch that makes each display get its
own call:

--- /tmp/autorandr 2019-02-08 13:27:20.399210756 +1300
+++ /usr/bin/autorandr 2019-02-08 13:27:44.534746493 +1300
@@ -749,10 +749,9 @@
         # In the context of a xrandr call that changes the display state, `--query' should do nothing
         disable_outputs.insert(0, ['--query'])
 
-    # Enable the remaining outputs in pairs of two operations
     operations = disable_outputs + enable_outputs
-    for index in range(0, len(operations), 2):
-        argv = base_argv + list(chain.from_iterable(operations[index:index + 2]))
+    for op in operations:
+        argv = base_argv + list(op)
         if call_and_retry(argv, dry_run=dry_run) != 0:
             raise AutorandrException("Command failed: %s" % " ".join(argv))
 

--
System Information:
Debian Release: buster/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.19.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_NZ, LC_CTYPE=en_NZ.UTF-8 (charmap=UTF-8), LANGUAGE=en_NZ:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages autorandr depends on:
ii  python             2.7.15-4
ii  x11-xserver-utils  7.7+8

autorandr recommends no packages.

autorandr suggests no packages.

--
no debconf information


--
 .''`.   martin f. krafft <[hidden email]> @martinkrafft
: :'  :  proud Debian developer
`. `'`   http://people.debian.org/~madduck
  `-  Debian - when you have better things to do than fixing systems

digital_signature_gpg.asc (1K) Download Attachment