Skip to content

VNC

VNC resources are opened using the built-in basic VNC client.

Configuration

FieldDescription
NameResource display name
HostVNC server address
PortDefault 5901
UsernameMac username for macOS ARD auth (leave empty for legacy VNC password)
PasswordVNC password

Traditional VNC password auth does not use a username. When connecting to macOS Screen Sharing via ARD auth (the default), the Mac username must be filled in.

If the server requires a password and the resource does not have a saved password, a password input dialog will appear when opening.

Quality and Bandwidth

The resource editor provides two bandwidth-related settings. Both take effect when the connection is established; after changing them, exit and reopen the session.

Image Quality

Controls the JPEG quality of Tight-encoded image rectangles. 100% is lossless (no JPEG; zlib compression only); 90% / 80% / 60% progressively lower the JPEG quality. Best suited to screens with rich color content such as photos and gradients.

Color Depth

Asks the server to transmit at a lower pixel depth, shrinking the pixel data of Raw / zlib / ZRLE encodings:

OptionFormatNotes
32-bit (default)Full colorLossless quality, highest bandwidth
16-bitR5G6B5Roughly halves pixel data; minor banding on gradients
8-bit256 colors (R3G3B2)Pixel data down to about 1/4; clearly visible quality loss — for text-only remoting over very slow links

Note: on some systems, lowering the color depth increases CPU load. The server's framebuffer is usually 32-bit; when the requested format differs, every screen update must first go through a per-pixel format conversion (bit extraction, scaling, repacking) before compression. Some servers have optimized fast paths when the formats match and only a generic conversion otherwise — on low-power devices (NAS units, development boards, older hosts), the bandwidth saved may come at the cost of smoothness. On the client side, 2/1-byte pixels must also be expanded back to 32-bit for rendering, which costs slightly more decode CPU than the 32-bit pass-through path. The setting pays off most when bandwidth is the bottleneck but the server has CPU to spare; if the server itself is struggling, try 16-bit first and watch the frame rate.

Combining the Two

Image quality and color depth can both be in effect at the same time, each applying to different kinds of rectangles:

  • 16-bit + image quality: photo/gradient regions are JPEG-encoded by the server (size determined by the quality level, independent of color depth); solid and text regions are compressed at the lower depth. Text-heavy desktops benefit from the lower depth; wallpapers and video benefit from JPEG compression.
  • At 8-bit the image-quality setting has no effect: JPEG requires a client pixel format of at least 16bpp, so mainstream servers (TigerVNC etc.) stop using JPEG entirely for an 8-bit client and compress everything at 8-bit depth.

Compatibility

  • Color depth is negotiated via SetPixelFormat. Standard servers (TigerVNC, x11vnc, TightVNC, …) honor it; some non-conforming implementations may ignore the request — the setting then simply has no effect, without affecting the connection itself.
  • Not applicable to macOS Screen Sharing: OmniGate never sends SetPixelFormat to screensharingd (it would freeze its capture pipeline), so this setting has no effect on macOS connections.

Display

The VNC screen scales to fit the screen proportion. Pinch-to-zoom is supported; when zoomed in, the view moves centered on the mouse position as much as possible.

In landscape mode, the navigation bar is hidden and a draggable real-time speed floating panel is displayed. A close button is on the right side of the floating panel.

Input

VNC supports touch and software keyboard:

  • Short tap without movement: Single click.
  • Swipe: Move mouse without clicking.
  • Double-tap, hold the second tap, and move: Drag.
  • Two-finger tap: Right click.
  • Two-finger vertical swipe: Simulates mouse scroll wheel. Swiping up corresponds to scrolling down.
  • In portrait mode, the software keyboard and common Windows shortcuts are available.

Two-finger gestures are prioritized as scroll. Zoom requires a distinct pinch gesture to trigger, preventing accidental zoom during swipes.

On macOS, trackpad scroll gestures are recognized as mouse wheel scrolling, providing an experience consistent with desktop VNC clients.

Shortcuts include Ctrl, Alt, arrow keys, PageUp, PageDown, Home, End, and F1-F12. Ctrl and Alt are sticky states used for sending keyboard combinations.

Auto-Reconnect

When a VNC connection is unexpectedly disconnected (for example, due to network fluctuation), OmniGate will automatically attempt to reconnect once.

Auto-reconnect will not occur in the following cases:

  • The user manually exits the VNC page.
  • The server returns a permanent error such as explicit authentication failure or connection refusal.

During auto-reconnect, the navigation bar displays a "Reconnecting" message. If reconnection also fails, you need to manually go back to the resource list and reopen the resource.

macOS (Screen Sharing)

macOS's built-in Screen Sharing service (screensharingd) is based on standard VNC but adds a number of Apple-proprietary changes. OmniGate implements only the standard RFB protocol, so connecting to macOS has the following compatibility considerations and limitations:

macOS's built-in Screen Sharing service (screensharingd) is based on standard VNC but adds a number of Apple-proprietary changes. OmniGate implements the standard RFB protocol plus macOS ARD DH-AES authentication (ported from libvncserver), but other Apple-proprietary extensions (per-display switching, private compression encodings, etc.) are not supported. Connecting to macOS therefore has the following limitations:

Authentication

macOS Screen Sharing supports two authentication methods, both supported by OmniGate:

ARD Authentication (default)

macOS uses Apple's proprietary DH-AES authentication (ARD type 30) by default. OmniGate implements this protocol, so you can authenticate using the Mac username and login password. Fill in the Mac username and password in the VNC resource; the connection will automatically use ARD authentication without any extra configuration on the Mac.

Legacy VNC Password (optional)

If you enable the legacy VNC password on the Mac:

System Settings → General → Sharing → Screen Sharing → ⓘ → Computer Settings → enable "VNC viewers may control the screen with password", and set a dedicated password.

OmniGate will prefer the legacy VNC password authentication (type 2). This password is independent of the Mac login password and is used only for VNC connections. The username field in the resource is not needed in this case.

Resolution settings have no effect

macOS does not support client-initiated resolution changes — the VNC SetDesktopSize message is treated as an unknown command (unknown command 251) and the connection is dropped. Therefore OmniGate's resolution setting has no effect on macOS; the Mac's current native resolution is always used. To change the picture size, adjust the display settings on the Mac side.

The color depth setting is likewise not applicable to macOS (see the "Quality and Bandwidth" section).

Multi-display stitching

When the Mac has multiple displays attached, macOS stitches all screens into a single large framebuffer (for example, two displays stitched into 3024×3404) and transmits it to the client as one. Standard VNC provides no per-display coordinates, so:

  • You cannot precisely switch "Display 1 / Display 2" the way macOS's own Screen Sharing can.
  • You navigate between screens by zooming and panning across the large image.
  • Precise single-display switching relies on Apple Remote Desktop's (ARD) proprietary display management protocol, which OmniGate does not support. (OmniGate supports ARD authentication, but not ARD's display management features.)

Bandwidth and Performance

macOS does not support common compressed encodings such as Tight and Hextile (it falls back to uncompressed Raw). OmniGate implements the macOS-friendly ZRLE encoding to obtain compression, and renders using the server's native pixel format directly (no per-pixel byte-order conversion), significantly improving smoothness compared to earlier versions. However, screensharingd's incremental updates are coarse-grained — even a tiny screen change can cause a relatively large region to be re-sent — so at the same image quality, bandwidth is typically higher than with Linux servers such as TigerVNC. Apple's high-ratio proprietary encodings (Apple ZRLE / Apple Tight) are not public, and OmniGate does not implement them. If bandwidth matters, consider running a Tight-capable third-party VNC server on the Mac (such as RealVNC Server).

No audio

The standard VNC protocol carries only video, not audio. Connecting to macOS (or any VNC server) therefore produces no sound. The audio from macOS's own Screen Sharing uses an Apple-proprietary channel that standard VNC clients cannot receive.

Clipboard

OmniGate supports basic bidirectional text clipboard sync (must be enabled in the resource). macOS's support for the standard VNC clipboard is limited; complex content such as images, files, and rich text is outside the sync scope.

Known Limitations

Different VNC servers, resolutions, HiDPI settings, and mouse modes can affect pointer coordinate consistency. OmniGate displays a small black dot at the local mouse position to help you judge the relationship between local touch position and remote pointer position.

The current built-in VNC client is basic. Complex encoding, clipboard synchronization, and advanced graphics optimization may not be fully supported.

OmniGate App User Manual