aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-core/udev/udev-extraconf
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-core/udev/udev-extraconf')
-rw-r--r--meta-amd-bsp/recipes-core/udev/udev-extraconf/60-drm-hotplug-mode.rules1
-rw-r--r--meta-amd-bsp/recipes-core/udev/udev-extraconf/hotplug-display-auto.sh12
-rw-r--r--meta-amd-bsp/recipes-core/udev/udev-extraconf/hotplug-display-extended-h.sh16
-rw-r--r--meta-amd-bsp/recipes-core/udev/udev-extraconf/hotplug-display-extended-v.sh16
-rw-r--r--meta-amd-bsp/recipes-core/udev/udev-extraconf/hotplug-display-mirrored.sh16
5 files changed, 61 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-core/udev/udev-extraconf/60-drm-hotplug-mode.rules b/meta-amd-bsp/recipes-core/udev/udev-extraconf/60-drm-hotplug-mode.rules
new file mode 100644
index 00000000..9eaa12ba
--- /dev/null
+++ b/meta-amd-bsp/recipes-core/udev/udev-extraconf/60-drm-hotplug-mode.rules
@@ -0,0 +1 @@
+ACTION=="change", SUBSYSTEM=="drm", ENV{HOTPLUG}=="1", ENV{DISPLAY}=":0", RUN+="/etc/udev/scripts/hotplug-display-@MULTIDISPLAYMODE.sh"
diff --git a/meta-amd-bsp/recipes-core/udev/udev-extraconf/hotplug-display-auto.sh b/meta-amd-bsp/recipes-core/udev/udev-extraconf/hotplug-display-auto.sh
new file mode 100644
index 00000000..9e1864da
--- /dev/null
+++ b/meta-amd-bsp/recipes-core/udev/udev-extraconf/hotplug-display-auto.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+connectedPorts=$(xrandr | grep " connected" | sed 's/ connected.*//')
+for port in $connectedPorts ; do
+ xrandr --output $port --auto
+done
+
+disconnectedPorts=$(xrandr | grep " disconnected" | sed 's/ disconnected.*//')
+for port in $disconnectedPorts ; do
+ xrandr --output $port --off
+done
+
diff --git a/meta-amd-bsp/recipes-core/udev/udev-extraconf/hotplug-display-extended-h.sh b/meta-amd-bsp/recipes-core/udev/udev-extraconf/hotplug-display-extended-h.sh
new file mode 100644
index 00000000..6adab773
--- /dev/null
+++ b/meta-amd-bsp/recipes-core/udev/udev-extraconf/hotplug-display-extended-h.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+declare -a connectedPorts=($(xrandr | grep " connected" | sed 's/ connected.*//'))
+for i in "${!connectedPorts[@]}"; do
+ if [ $i -eq 0 ]; then
+ xrandr --output ${connectedPorts[i]} --auto
+ fi
+ if [ -n "${connectedPorts[i+1]}" ]; then
+ xrandr --output ${connectedPorts[i+1]} --auto --right-of ${connectedPorts[i]}
+ fi
+done
+
+disconnectedPorts=$(xrandr | grep " disconnected" | sed 's/ disconnected.*//')
+for port in $disconnectedPorts ; do
+ xrandr --output $port --off
+done
diff --git a/meta-amd-bsp/recipes-core/udev/udev-extraconf/hotplug-display-extended-v.sh b/meta-amd-bsp/recipes-core/udev/udev-extraconf/hotplug-display-extended-v.sh
new file mode 100644
index 00000000..5b16969c
--- /dev/null
+++ b/meta-amd-bsp/recipes-core/udev/udev-extraconf/hotplug-display-extended-v.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+declare -a connectedPorts=($(xrandr | grep " connected" | sed 's/ connected.*//'))
+for i in "${!connectedPorts[@]}"; do
+ if [ $i -eq 0 ]; then
+ xrandr --output ${connectedPorts[i]} --auto
+ fi
+ if [ -n "${connectedPorts[i+1]}" ]; then
+ xrandr --output ${connectedPorts[i+1]} --auto --below ${connectedPorts[i]}
+ fi
+done
+
+disconnectedPorts=$(xrandr | grep " disconnected" | sed 's/ disconnected.*//')
+for port in $disconnectedPorts ; do
+ xrandr --output $port --off
+done
diff --git a/meta-amd-bsp/recipes-core/udev/udev-extraconf/hotplug-display-mirrored.sh b/meta-amd-bsp/recipes-core/udev/udev-extraconf/hotplug-display-mirrored.sh
new file mode 100644
index 00000000..1c0ae61a
--- /dev/null
+++ b/meta-amd-bsp/recipes-core/udev/udev-extraconf/hotplug-display-mirrored.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+declare -a connectedPorts=($(xrandr | grep " connected" | sed 's/ connected.*//'))
+for i in "${!connectedPorts[@]}"; do
+ if [ $i -eq 0 ]; then
+ xrandr --output ${connectedPorts[i]} --auto
+ fi
+ if [ -n "${connectedPorts[i+1]}" ]; then
+ xrandr --output ${connectedPorts[i+1]} --auto --same-as ${connectedPorts[0]}
+ fi
+done
+
+disconnectedPorts=$(xrandr | grep " disconnected" | sed 's/ disconnected.*//')
+for port in $disconnectedPorts ; do
+ xrandr --output $port --off
+done