This action requires saving a cookie to remember the page's state. You can read more about that on the cookies page.

 

Gemini without HDMI

Released on: 2022-11-14

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:

A screenshot of scrcpy successfully displaying my Sony phone horizontally.
Above: A screenshot of scrcpy successfully displaying my Sony phone horizontally.

And it naturally rotates as I rotate the phone:

A screenshot of scrcpy successfully displaying my Sony phone horizontally.
Above: A screenshot of scrcpy successfully displaying my Sony phone horizontally.

Cool. Let’s try it on the Gemini:

A screenshot of a horizontal window, with the Gemini display incorrectly rotated.
Above: A screenshot of a horizontal window, with the Gemini display incorrectly rotated.

Oh oh!..

Let’s try the Gemini’s “Force rotate” option:

A screenshot of a vertical window, with the Gemini display incorrectly rotated.
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

A screenshot of a horizontal window with the display correctly rotated.
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

A screenshot of a vertical window with the display correctly rotated.
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.

A screenshot of YouTube playback being broken.
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

A screenshot of YouTube playback working.
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.

This post references

2022-08-21
How to get an external display working on your phone without using an HDMI adapter.

Posts using the same tags

Over the last few years, there has been a lot of talk about whether you can make use of the full resolution on a phone with a 4K display. Let's dig in and actually understand this.
Getting an external display running on the Gemini PDA (or any modern Android phone) without the HDMI dongle.
Getting an external display running on the Astro Slide (or any modern Android phone) without the HDMI dongle.
2022-08-21
How to get an external display working on your phone without using an HDMI adapter.
Home | About | Contact | Cookies | Site map