The Gemini PDA was a PDA with phone functionality. It can drive an external display, but requires a proprietary HDMI adapter to do so. If you have this, this will likely be the best solution, depending on your use-case.
This article contains a work-around for when the adapter isn’t the right solution.
The work-around
scrcpy is a tool for displaying, and interacting with, your android phone via your computer via a USB cable. This won’t cover everyone’s use-cases, but will certainly deal with a good portion of them. Ie you can simply plug in your phone to any computer capable of running scrcpy, and you’re away laughing.
We can run it like this:
scrcpy
Here it is running on my Sony phone:
Above: A screenshot of scrcpy successfully displaying my Sony phone horizontally.
And it naturally rotates as I rotate the phone:
Above: A screenshot of scrcpy successfully displaying my Sony phone horizontally.
Cool. Let’s try it on the Gemini:
Above: A screenshot of a horizontal window, with the Gemini display incorrectly rotated.
Oh oh!..
Let’s try the Gemini’s “Force rotate” option:
Above: A screenshot of a vertical window, with the Gemini display incorrectly rotated.
That’s not better.
The Gemini specific solution
After some frustrated poking; I came to two parameters, that when used together, give a working solution:
--lock-video-orientation
--lock-video-orientation=0
- “Natural device orientation” (Horizontal for the Gemini).--lock-video-orientation=3
- 3 increments of adding “90 degrees rotation counterclockwise”.
--crop=2060:1080:0:0
- Crops off the nav bar. The lock doesn’t seem to work without this.
So that leads us to the working commands.
The working command for horizontal
scrcpy --lock-video-orientation=0 --crop=2060:1080:0:0
Above: A screenshot of a horizontal window with the display correctly rotated.
The working command for vertical
scrcpy --lock-video-orientation=3 --crop=2060:1080:0:0
Above: A screenshot of a vertical window with the display correctly rotated.
Apps that mess with the rotation but look like they don’t
There are some apps that mess around with the rotation, and then rotate the content back so that it looks correct. This doesn’t matter normally, but does matter for what we are trying to do.
Above: A screenshot of YouTube playback being broken.
When this happens, you can run this command instead:
scrcpy --lock-video-orientation=1 --crop=540:1080:0:0
Above: A screenshot of YouTube playback working.
This has noticeably reduced quality. But it at least works.
If you are using the potrait orientation for something (eg bVNC), and it’s stuffed up, you can use this command:
scrcpy --lock-video-orientation=0 --crop=540:1080:0:0
Again, this has reduced quality. But it works.
Wrapper script
I’ve added a wrapper script to make all of this easy. The intention is to add parameters for more special cases over time.
$ ./scripts/scrcpyWrapper --help
Parameter: --help
(No parameters.) Default. Run scrcpy without options.
gemini Gemini, horizontally oriented.
gemini-v Gemini, vertically oriented.
gemini-fh Gemini, fix horizontal when an app is doing something stupid.
gemini-fv Gemini, fix vertical when an app is doing something stupid.
So to get the normal gemini output, you can do:
./scripts/scrcpyWrapper gemini
Final thoughts and performance
Notice that my Gemini screenshots are with Airplane mode on? This works completely without dependencies on wifi, bluetooth etc. You get the stability and reliability that comes with a physical connection.
Due to the nature of how it works, you’re probably not going to enjoy 3D gaming on it (the frames per second is just way too low, and there’s some noticeable latency). But for a lot of use-cases, this is quite a viable solution. Eg:
- Editing documents.
- Browsing the web.
- Communication.
I’ve added this knowledge to the unofficial documentation.
Hopefully this gives you enough to keep you going until you can get a working adapter for your device.