Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Bash script to use an Android device as a second monitor for Linux. See https://blog.8bitbuddhism.com/2019/12/01/how-to-use-your-android-tablet-as-second-monitor/ for detailed instructions.
#!/bin/bash
# Make sure your Android device is plugged in and accessible over adb.
#### Remember to enable virtual displays in xorg by adding the following to your configuration (e.g. /usr/share/X11/xorg.conf.d/20-virtual.conf)
# Section "Device"
# Identifier "intelgpu0"
# Driver "intel"
# Option "VirtualHeads" "1"
#EndSection
#### If you use AMD or Nvidia, change the Identifier and Driver options to match your GPU.
W=1920 # Virtual display width
H=1080 # Virtual display height
O=VIRTUAL1 # The name of the virtual display (check using xrandr)
P=eDP1 # The name of your physical display (check using xrandr)
PW='$(xrandr --current | grep \* | awk '{print $1;}' | cut -d x -f 1)'
# Create the virtual display
gtf $W $H 60 | sed '3q;d' | sed 's/Modeline//g' | xargs xrandr --newmode
gtf $W $H 60 | sed '3q;d' | sed 's/Modeline//g' | awk '{print $1;}' | sed 's/^.\(.*\).$/\1/' | xargs xrandr --addmode $O
gtf $W $H 60 | sed '3q;d' | sed 's/Modeline//g' | awk '{print $1;}' | sed 's/^.\(.*\).$/\1/' | xargs xrandr --output $O --right-of $P --mode
# Forward the VNC port to your device and start a VNC session
adb reverse tcp:5900 tcp:5900
x11vnc -localhost -clip ${W}x${H}+${PW}+0
# When the session ends, turn off the virtual display
xrandr --output $O --off
@dusansimic

This comment has been minimized.

Copy link

@dusansimic dusansimic commented Apr 7, 2020

Hi. "VirtualHeads" option is Intel driver specific and it can't be used with other drivers like amdgpu or nvidia. Meaning this will work only on computers that are running Intel graphics.

@marnunez

This comment has been minimized.

Copy link

@marnunez marnunez commented Jul 11, 2020

Has anyone found a nvidia graphics alternative for this?

@iamferreirajp

This comment has been minimized.

Copy link

@iamferreirajp iamferreirajp commented Sep 14, 2020

Would be great to find and nvidia alternative

@balkce

This comment has been minimized.

Copy link

@balkce balkce commented Oct 14, 2020

+1 to find a way to do this for nvidia drivers

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.