I'm sure I'm not the only one who has run into this situation before. I have a mouse-input-oriented application designed only for PC that would work fantastically on my tablet, but running it through a remote desktop application like Splashtop gives me the taskbar, the window border, and often an unwanted menu bar here and there, too. I'd love to just run this application in fullscreen on my tablet, with a clean interface, and using touch control to emulate mouse input. What are some methods that I can look into accomplish this?
This is a situation I have often run into (in my case, often when trying to play visual novels), and it requires a lot of fiddling to get working nicely for each particular setup. However, it is definitely possible, so I thought I'd post a few methods for doing this here. I'm going to cover using Windows or Ubuntu as the host computer, and using Android or iOS as the client tablet. The information gathered here should help you get started in the right direction to apply this to your specific situation, though- for example, if you want to use OS X as a host for a Blackberry Tablet.
Most of the configuration for accomplishing this task is on the host PC's end. We're going to set up the host PC to be able to do the following:
I'm going to start with Windows. For this example, I'm going to use Windows 7 and run a visual novel game that launches in its own window that has a menu bar and renders at 800x600.
Windows Host Configuration
First thing we're going to have to do is configure the host Windows PC to allow remote connections. The two options I'm going to look at for remote access are RDP and VNC. RDP stands for Remote Desktop Protocol, and comes preinstalled on every Windows machine. It usually communicates information about the windows that should be rendered to the client, and the client renders them in its own preferred resolution. It can also send sound to the client by hooking a virtual audio device. VNC stands for Virtual Network Computing, and is a standard for remote access in which the entire screen, at the resolution it is on the host desktop, is captured and sent to the client. It doesn't usually have audio support, and tends to be slower than RDP because it sends the full image of the screen, with optional JPEG compression, whereas only nonstandard elements in RDP have to be sent this way. Additionally, RDP can be configured to allow multiple sessions, whereas VNC cannot. However, RDP is not without its faults- because it encloses things in the ways that it does, not all applications will be able to launch in an RDP session- most notably, DirectX applications, or any application that tries to go into a "true" fullscreen (ie not just a borderless window).
To summarize, RDP is a more elegant implementation for Remote Access on Windows machines, but it fails to correctly handle some applications. VNC is a more brute-force method in that it sends the entire screen rendered as it is on the host to the client. This does, however, ensure higher application compatibility than RDP can offer.
In this case, I am going to use RDP rather than VNC for a few specific reasons:
The rest of this section, will, as such, reflect configuration that is specific to RDP. If you would like to use VNC instead, however, I suggest that you install TightVNC to act as your VNC server on a Windows machine.
The first and most important step to configuring RDP is, of course, enabling it. From either the Desktop or Start Menu, right-click on Computer and choose Properties, then, in the window that appears, under "Computer name, domain, and workgroup settings" click Change settings. In the window that appears, go to the Remote tab. In the "Remote Desktop" Section, make sure the radio button selected is either the second or third choice, "Allow connections from computers running any version of Remote Desktop" or "Allow connections only from computers running Remote Desktop with Network Level Authentication". Because our client system is going to be a tablet and I can't guarantee that that device will have the higher security compliance necessary for the third option, I suggest using the second option. However, you can use the third option- you will just have to test if it works with your tablet yourself.
Once you've chosen the second or third radio button, hit OK. Remote Desktop is now enabled! If you went to any other Windows PC on your network right now and ran the command mstsc (That's Microsoft Terminal Services Client) and gave it the name of the computer you just enabled Remote Desktop on, you would be able to log in and control that computer remotely. Neat! However, you'll notice if you try this that the host will be logged out and will sit at a lock screen while you are using it remotely. This is because the host is currently configured to only allow one session at a time. If we change it to allow multiple sessions, then you could use your computer normally while it also acts as a host for the PC application running on your tablet. So let's try that!
Run gpedit.msc from a run prompt (easiest way to get to one is by hitting Window + R), and then in the left pane navigate to
Taskbar Eliminator is a program that will completely hide the taskbar when it is first run, and then let you show or hide it at any time by pressing Alt+T, as long as it remains running. While we could set the taskbar to autohide, there would still be a very thin line of it visible at the edge of the screen. With Taskbar Eliminator, this thin line is not present.
AutoHotkey is a fantastic application for automation and overall kickassery on Windows. We're going to use it here to remove the Titlebar, Menu bar, and Border for a given application, and also resize it to the full resolution of the screen. This will effectively allow us to make any application run in fullscreen (even something as mundane as notepad!), but because it's really just a borderless window and not /tehcnically/ fullscreen, it will work just fine in an RDP session.
The AutoHotkey script that will let you do this is:
Save it as an
And with that, the host configuration for Windows is finally done! You can skip down to the iOS or Android section now to do your client configuration. Thankfully, client configuration is the easy part.
Ubuntu Host Configuration
For the Ubuntu instructions, I'm going to hold your hand a lot less- I'm going to assume, that if you're the kind of person who uses Ubuntu, you've got a bit more base knowledge and ability to tinker than the average Windows user. I'm also not going to repeat my explanation of the difference between RDP and VNC. You can refer to that explanation above, in the Windows Section.
Now that that's out of the way, let's get started. I'm going to use the package
Phew, good job making it this far. The host configuration is the hard part- client config is easy, as it basically just consists of finding an RDP or VNC client for your tablet that you like! You're going to want one that covers the following features:
The RDP client I use on Android is Remotix RDP, which is beautiful and has a great UI, but costs $15. A free alternative RDP client is RemoteToGo RDP for Android, which works reasonably well. On iOS, Jump Desktop is a great RDP and VNC client, but it also costs $15. PocketCloud Remote Desktop is a good free alternative.
Once you've chosen your RDP or VNC client application, you'll need to configure it to connect to your host. This should be pretty straightforward. You should be able to connect by name, but if that fails, try using the IP address of the host computer instead (which can be found by running
Once you're in the session and logged in, all you have to do is the following:
That's it! You're done! It's over! Now have fun doing whatever it is you wanted to do on your tablet so badly that you went through all this trouble.