Since I’ve moved full time to Linux, there has always been one thing that has bugged me about making the switch — its easy with a Windows and Mac PC to use your Android tablet as a second monitor. With Linux the only thing I ever even made sort of work was the Synergy software, and the Open-Sourced Android client requires root, and sort of sucks. So I put this want on the backburner, and learned to make due with just my laptop when I was on the go.
So now, it’s a good news bad news situation. The bad news is, it’s still not “install an app” easy. The good news, its not too bad to get this functionality working and I’ll describe how below:
First a little information about my setup:
- Manjaro Linux (Most any distro should work… just adjust the installation steps)
- Kindle Fire 2015 – Anything that can use a VNC client works… but not all VNC clients show the hosts cursor, so you may have to find one that does “bVNC Pro” works well on Android.
Okay, so first, install a VNC server on your host. I’m using TightVNC from the AUR repository.
That was easy right? Okay, so next we need to create a new mode for your android monitor. First let’s type a command to get some information we’re going to need:
gtf 600 975 60
Okay, so this returns a line of information we’re going to want, but quickly, the first two numbers are resolutions, and the last number is the refresh rate. We’re using this number for the Amazon Fire because the built in soft controls are going to steal about 49px from our tablets display space.
Okay so our last command returned this:
Modeline "600x975_60.00" 48.92 600 640 704 808 975 976 979 1009 -HSync +Vsync
Throw that into your clipboard, or a notepad somewhere. We’re going to use that next when creating a new xrandr mode.
xrandr --newmode "600x975_60.00" 48.92 600 640 704 808 975 976 979 1009 -HSync +Vsync
Cool, now add the mode to the display you want to use (just make sure its not already in use) I’m going to use the “virtual” display
xrandr --addmode VIRTUAL1 600x975_60.00
Alright, let’s turn on our new virtual monitor, and move it to the left of our real screen… and yes, the location is important.
xrandr --output VIRTUAL1 --mode 600x975_60.00 --left-of LVDS1
LVDS1 is my laptop screen, yours might be different. You can find information out about all your displays by simply typing “xrandr” into a command prompt.
Okay, finally, use the command below to stretch your screen to the virtual monitor. I don’t know a ton about this command, but this is the piece that stretches the screen to the left (along with the –left-of option in the xrandr command)
x11vnc -clip 600x975+0+0
Now, all you have to do is connect your VNC Client (Android Tablet) to your PC’s VNC server address on port 5900 and you should be off and running using your Android tablet as a second monitor!