VirtScreen on openSUSE | Turn a Tablet into a Second Monitor

When I take my laptop and I go into a mobile mode, I’m often missing a second or third screen. Frequently, my need isn’t having full motion video or anything of that sort, it’s just the ability to have text displayed in some form, be it PDF or web page, beside my main screen. Most of the time, that is how I use my multi-screen layout. One screen is my main workspace while the others display reference information.

I came upon this long lost solution on the BDLL discourse from Eric Adams.

https://discourse.bigdaddylinux.com/t/use-your-tablet-as-a-monitor-with-virtscreen/104

Key difference in my implementation versus his, both of us using KDE plasma. His solution is probably more elegant and could probably better take advantage of my AMD GPU but my solution is quick and dirty but gets the job done.

Host Device

Since this package is not available in the openSUSE repositories, I downloaded the AppImage here:

https://github.com/kbumsik/VirtScreen

There are further instructions on that page but I am going to only highlight how I used it on openSUSE Tumbleweed with the Plasma Desktop Environment. Looking at the system requirements, I had to install X11VNC

sudo zypper install x11vnc

Since I used the AppImage, I had to make it executable. To do that in terminal, navigate to the location of the AppImage and run this:

chmod a+x VirtScreen.AppImage

Alternatively, if you are using Plasma with the Dolphin file manager, navigate to the location of the AppImage, right-click, select Properties (or Alt+Enter when highlighted). Select the Permissions tab and select the Is executable button.

Upon Launching it, I set the resolution of my Tablet, which is my HP Touchpad that I set up with F-Droid. I made an adjustment to the Height to adjust for the navigation buttons that seem to get stuck in the ON position.

I selected the Enable Virtual Screen.

Next, I needed to Open Display Settings to arrange the screens.

Unfortunately, there was an error that caused the display settings to not open. I went into the preferences to see what the other options were. Since I know I didn’t want Gnome, I went with ARandR.

Since it wasn’t installed, I went to openSUSE Software and searched for it.

https://software.opensuse.org/package/arandr

After installing ARandR, VirtScreen still could not launch ARandR. Thankfully, I was able to launch ARandR using Krunner (menu works too) and made the adjustment to the screen location.

The next step was to activate the VNC Server within VirtScreen by setting the password and opening up the appropriate port in the Firewall. Since the openSUSE default is Firewalld at the time of writing. You can either do so with the GUI, which is pretty straight forward or use the terminal.

To get the active firewall zone

sudo firewall-cmd --get-default-zone

Assuming you are only using the default zone, Public (adjust based on

sudo firewall-cmd --zone=public --permanent --add-port=5900-5903/tcp
sudo systemctl restart firewalld

If you are not running Firewalld you will have to adjust for your particular firewall.

The final step is to activate the VNC Server.

Client Device

The client device in my case is my HP Touchpad. The client software I set up that worked best from the F-Droid store was AndroidVNC. If you have one that you prefer, by all means, use that instead.

This is the easy part. Here, set the Connection Nickname, Address and Port. I did set it to the 24-bit color but would get better speed with a lower color depth but not so much as to make the the display much faster, it does, however, make the display much more annoying to look at.

Once you command the client to make the connection, and everything else is done correctly, the client will connect to the host and you will have a second, albeit a bit sluggish 2nd monitor to use for any low frame-rate functions.

I use this for displaying PDFs, web pages like wikis, chat clients or anything else that doesn’t require high frame rate. This is often useful when I am doing different admin types of tasks that require me to look at published documents and I am away from my SuperCubicle (home office). It is very, very handy.

Final thoughts

This is a great little project for making old tablets, such as my HP Touchpad, even more useful. It just doesn’t take much processing power by the client device to peer into a VNC host.

Issues I have noticed. On some Wi-Fi networks, I am not able to make the connection between the devices. I’m sure either ports or some sort of walking is happening that is preventing me from making the connection.

When you set up your VNC client on the tablet or whatever, you have to be sure that you take into account loss of screen real-estate due to whatever the client does on the boarders. Optionally, find a way to turn off the pointer on the client. If you don’t, you get weird flickering. Sometimes, the client or host will just disconnect. I have not yet tracked down the root cause of the problem but it doesn’t happen frequently enough for me to do anything about it.

Full motion video is not actually possible with this. I wouldn’t recommend watching any YouTube videos but more static web pages or using it for chat clients like IRC, Telegram, Discord, or the like is perfectly usable.

How often will I use this? Only when I have to and that is at least monthly. There are a few issues with the setup but it is perfectly usable with just a bit of fiddling. Hopefully this will continue to get attention and work done by the developer.

Reference

VirtScreen on GitHub.com
Use Your Tablet as a Monitor with VirtScreen on discourse.bigdaddylinux.com
HP TouchPad in 2018 on CubicleNate.com

2 thoughts on “VirtScreen on openSUSE | Turn a Tablet into a Second Monitor

Leave a Reply