Skip to main content
Tuple for Linux is currently in alpha and under active development. The client is primarily command-line driven. To install, visit the Linux install page for the latest download command and architecture options. Join the Slack channel to provide feedback, report bugs, and ask questions.

Display server support

Tuple runs natively on both X11 and Wayland. The client automatically detects your session type using the XDG_SESSION_TYPE environment variable. All core features, including screen sharing, the drawing overlay, and UI windows, work on both display servers.

Current feature set

The Tuple client on Linux is extremely barebones at the moment. We’ll be working hard to flesh it out in the coming weeks — your patience is appreciated!

What works

  • Logging in and running Tuple as a daemon — you’ll appear available for your contacts / teammates
  • Receiving an incoming direct call
  • Starting a call
  • Joining a call via a URL
  • Hearing (and being heard by) others using the system default audio device
  • Viewing a shared screen
  • Sharing your own screen
  • Viewing drawing annotations on a shared screen
  • Drawing on the shared screen
  • Remotely controlling someone else’s screen
  • Drawing on the shared screen
  • Initiating a direct call from the command line
  • Listing and managing contacts and favorites
  • Muting and unmuting your microphone

Not yet implemented

  • UI for making calls, managing contacts, and settings (everything is done via the command line for now)
  • Being remotely controlled while sharing
  • Viewing text or highlight click annotations on the shared screen
  • Changing audio devices
  • Sharing or viewing webcams

Commands

CommandDescription
tuple loginInitiates the login process. Outputs a URL to log in via the web; the last step emits an authorization code to be used in tuple auth.
tuple auth $AUTH_CODEAuthorizes the local Tuple client. Takes the code emitted via the web login flow as its only parameter.
tuple logoutLogs you out of Tuple.
tuple callStarts a direct call with one of your contacts. Lists your favorited contacts who are currently online and prompts you to pick one.
tuple newStarts a new call and automatically adds you as a participant. Prints the URL of the call to the console so you can share it with others.
tuple endEnds the current call if it’s just you and one other person; leaves the call if others are still on it (or you’re in a room).
tuple join $CALL_URLJoins a call that’s in progress (or a room). Takes the URL of the call or room as its only parameter.
tuple lsLists your contacts.
tuple favorite $USER_IDFavorites a contact.
tuple unfavorite $USER_IDRemoves a contact from your favorites.
tuple shareStarts sharing your entire viewable display — not just one monitor.
tuple unshareStops sharing your screen.
tuple muteMutes your microphone during a call.
tuple unmuteUnmutes your microphone during a call.
tuple onStarts running the Tuple daemon. The daemon also starts automatically when most other commands are run (including auth, new, and join).
tuple offStops the Tuple daemon.
tuple uiDisplays a simple debugging UI.
tuple settingsLists all settings.
tuple set $name $valueSets the setting named $name to the given $value.

Settings

SettingTypeValuesDescription
host-overlaybool0, 1Enables the “host overlay”, which is where annotations are drawn. Transparency doesn’t work correctly with certain window managers / compositors, which can cause this window to render incorrectly. Use this setting to disable it if needed.
captureenumauto, x11, portalControls which screen capture mechanism Tuple uses. auto selects the best method for your session type. x11 forces X11 capture. portal forces the XDG Desktop Portal (PipeWire) capture used on Wayland.

Screen capture methods

You can also cycle through capture mechanisms during a call by clicking the capture button in the call UI. The button appears next to the screen share button and displays the current capture mechanism (auto, x11, or portal). Clicking it cycles to the next option.

Fonts

Tuple runs fc-match sans-serif:fontformat=TrueType to find your system’s “sans-serif” font.

Troubleshooting screen capture

If screen capture fails, Tuple displays an error popup with details about what went wrong. You can dismiss the popup by clicking Dismiss or pressing Enter. Common causes of screen capture failures on Linux include:
  • Wayland: The XDG Desktop Portal or PipeWire service is not running. Make sure xdg-desktop-portal and pipewire are installed and active on your system.
  • X11: Tuple could not query screen information. Verify that your X11 display server is running and accessible.
If the error persists, check the log file for additional details and share them with the team in the Slack channel.

Logs

Tuple logs to:
$XDG_DATA_HOME/tuple/0/log.txt
If the $XDG_DATA_HOME environment variable is not set, logs are written to:
$HOME/.local/share/tuple/0/log.txt
These are useful to include in any bug reports.