Parsec App for Windows

This article covers navigation of the Parsec app for Windows, our portable app for Windows, advanced configuration file, advanced installation with command line options, service and proxy settings, and Parsec on headless systems with virtual displays.

Table of contents:
Navigation

Portable app
Configuration file
Command line installation and configuration
Registry configuration
System service
Use system proxy
Virtual displays

Computers

mceclip0.png

The 'Computers' tab displays your current computer, computers your Parsec account is logged in to, and computers that are shared with you via Friends, Guest Access, and/or Teams computers. Please note, for computers to show up in this tab, the computers must have 'Hosting' enabled. The 'Computers' refreshes automatically, although this page can be refreshed manually by clicking 'Reload'.

The bottom panel shows who is currently connected to your host computer.

If someone has given you a share link from their host, you can paste the share link or peer ID in the bottom right text field to join their computer.

You can see a computer's peer ID by right clicking on the computer. You can find your username at the top right.

mceclip1.png

Arcade

mceclip2.png

The 'Arcade' tab displays ongoing gaming sessions, which you can join. Alternatively, you're able to host a gaming session from this tab, allowing people to connect to your computer for co-op gaming sessions. To host a gaming session, you'll need to have 'Hosting' enabled on your local computer. 

As a host in 'Arcade' mode, you'll be able to create a private or public lobby, invite users to your gaming session, control client input permissions, and kick users. 

Similar to the 'Computers' tab, the list of available sessions is refreshed automatically, although you can refresh the page manually by pressing 'Reload'.

Access to the Arcade can be disabled, via the Teams admin portal, if you are a Teams or Enterprise customer.

Settings

The 'Settings tab contains a tab for each of the following categories of settings: Client, Host, Approved Apps, Network, Hotkeys, Gamepad, and Account. Additionally, the build number and build release date can be found by hovering your mouse above the build number at the top right.

  • Client

    mceclip3.png

When the 'Settings' cog is clicked, you'll land on the 'Client' tab. This is where you can adjust settings related to how Parsec works when you're connecting to a host as a client. The following settings can be configured here:

    • Enhanced Pen
      • Enable enhanced pen functionality while connected, such as tilt, rotation, and pressure.
      • This will enable Windows Ink mode on the host computer
    • Overlay
      • Display the Parsec button and overlay while connected.
    • Overlay Warnings
      • Display network and hardware performance warnings in the client overlay.
    • Window Mode
      • Switch to fullscreen mode or remain in windowed mode when connecting to the host.
    • Renderer
      • Graphics API used for application rendering. Direct3D 11 is preferred. If you're on older hardware or noticing a slight stutter in the stream, try DirectX9. Adjusting this setting requires restarting the Parsec app to take effect. 
    • VSync
      • Eliminates screen tearing but increases latency. Adjusting this setting requires restarting the Parsec app to take effect. 
    • Decoder
      • Select which decoder Parsec should use. Hardware decoding decreases latency and resource consumption. Only set to 'Software' for compatibility reasons.
      • If the client is macOS High Sierra or better, it will revert to software decoding for H.265 (if applicable).
    • H.265 (HEVC)
      • Attempt to stream using the next-generation H.265 video codec. If the host and client computers don't support H.265 codec, Parsec will fall back to H.264. Turning this setting on may ignore the 'Decoder' setting above. Enable H.265 in combination with 4:4:4 color and constant FPS for best quality.
      • Parsec will revert to H.264 under the following conditions:

        • The host does not have the capability to encode in H.265.

        • The client is a Windows computer or Android device, and it doesn't have the H.265 hardware accelerated decoder.

        • If multiple guests join a Parsec session, and one of those guests does not have the capability to decode H.265, everyone will be reverted to H.264.

    • Immersive Mode
      • Pass certain hotkeys (such as Alt+tab) to the host computer and/or lock the mouse to the Parsec window. The Parsec window must be active for input to be passed to host.
  • Host

    mceclip4.png

The 'Host' tab is where you can adjust feature and functionality availability. These settings affect the options and performance characteristics when a client connects to your host computer. The following settings can be configured here:

    • Hosting Enabled
      • Allow connections to this computer.
    • Host Name
      • The name of your computer. Leave blank to use the hostname.
    • Resolution
      • Automatically adjust the host resolution only when the computer owner connects. Parsec supports streaming resolutions up to 3840 pixels wide.
    • Bandwidth Limit
      • The maximum bandwidth used by Parsec, split between all connected guests. 
    • Virtual Displays
      • Add additional virtual displays to the host during owner connections. This feature requires the Parsec Virtual Display Driver.
    • Privacy Mode
      • While virtual monitors are enabled, shut off all physical displays connected to the host. The host computer will be automatically locked after the last guest disconnects. This feature requires the Parsec Virtual Display Driver and at least one virtual display enabled.
    • FPS
      • Video stream frames per second. Maximum value of 240 FPS.
      • Setting this above 60 may cause instability on some devices. If set too high, Parsec may attempt to revert to a safe resolution.
    • Exclusive Input Mode
      • Only one guest can control the mouse at a time. The host will always be able to take control from guests by moving their mouse. The priority for input control is: person physically at the host machine, host user connected to a computer they own, then guests or friends. If you turn this off during a session, your guest must reconnect for the change to take effect.
    • Display
      • Select which monitor Parsec should capture.
    • Audio
      • Select which audio device Parsec should capture.
    • Echo Cancelling
      • Prevents echo from using Discord on the host computer.
    • Virtual Gamepad Type
      • The virtual gamepad type assigned to guests when connected. Adjusting this setting requires restarting the Parsec app to take effect.
    • Quality
      • 'Lowest Latency' prioritizes low input delay
      • 'Highest Quality' prioritizes image quality. Prioritizing image quality may add significant latency and is best used on modern, high end GPUs.
  • Approved Apps

    mceclip5.png

Approved apps allows the person who is hosting to choose the games or applications that guests can see and interact with. If a person is connected to your computer and the active window is not one of the whitelisted apps, they will not be able to interact with the host computer. 'Approved Apps' is disabled by default. 

  • Network

    mceclip6.png

The 'Network' tab is where you can adjust network related settings. These settings affect how the Parsec app handles hosting, connecting to a host, and performance characteristics related to network conditions. The networking tab lets you do a few important things:

  • Define the ports that you are forwarding if you're on a double NAT as the server. We recommend starting with 8000 for UDP traffic when forwarding ports to your host using Parsec.
  • Define the ports that you are forwarding if your client is on a double NAT. We recommend starting with 9000 for UDP traffic when forwarding ports to your client, but you can really choose anything. We recommend 9000 for the client and 8000 for the server just so they're aren't any conflicts in the port ranges in case both the host and clients are on the same local network.
  • Turn UPnP off if you want to manage connections specifically through port forwarding.

The following settings can be configured here:

    • Client Port
      • The port the client will use when connecting to a host. Set to 0 to use a pseudorandom port - the client will randomly select a port. Must be greater than 1024 and less than 65535. Adjusting this setting requires restarting the Parsec app to take affect. The default value is '0'.
    • Host Start Port
      • The first port the host will try to use when accepting guests. Set to 0 to use a pseudorandom port. Must be greater than 1024 and less than 65535. Adjusting this setting requires restarting the Parsec app to take affect. The default value is '0'.
    • UPnP
      • UPnP increases the chance of successful peer-to-peer connections. The Parsec app leverages UPnP "hole punching" to open a listener port for the inbound session packets. Adjusting this setting requires restarting the Parsec app to take affect. The default value on 'On'.
    • Congestion Algorithm
      • Behavior when network conditions deteriorate or increasing the bitrate begins getting throttled. Don't change this unless you are having network problems. This setting is most important on the host computer.
    • Audio Codec
      • Allows compressed or uncompressed audio stream. Stream high quality compressed audio using Opus, or select uncompressed audio on the client and host when quality is important and host bandwidth is not limited. Both codecs use 48,000kHz/2-channel audio. Adjusting this setting requires restarting the Parsec app to take effect.
  • Hotkeys

    mceclip7.png

Hotkeys can be used when connected to a host computer. The following hotkeys and actions can be configured here:

    • Disconnect
      • End an active client connection. System quit keys will also work, such as Alt+F4 or Command+Q.
    • Menu
      • Open the overlay menu during an active client connection.
    • Chat
      • Open the chat box during an active client connection.
    • Switch Display
      • Cycle through remote displays.
    • Add Screen
      • Create an additional window to view multiple monitors on the host at once.
    • Enhance Pen
      • Toggle Enhanced Pen mode, useful for apps that don't function properly with Windows Ink.
    • Send CTRL+ALT+DEL
      • Send CTRL+ALT+DEL to the host.
    • Window Mode
      • Toggle between windowed and fullscreen mode.
    • Immersive Mode
      • Toggle immersive mode during a client connection.
    • Ignore Hotkey
      • Prevent this hotkey from being passed to the host during a client connection. Useful for your Discord push-to-talk hotkey, for example.
    • Detach Mouse
      • Free the mouse cursor from the Parsec client window. The cursor will re-attach on the next click.
    • Accept All
      • As a host, accept all pending guest connections.
    • Kick All
      • As a host, kick all connected guests.
  • Gamepad

    mceclip8.png

If you're using a gamepad such as a Xbox 360, DualShock4, or newer controller, gamepad mappings can be adjusted on the 'Gamepad' tab. Custom mappings can be reset to default by clicking the 'Reset' button next to the relevant gamepad.

  • Account

    mceclip9.png

Clicking the account tab will use your default web browser to open your Account page. 

Friends

mceclip10.png

Friend requests can be sent and accepted or declined by using the 'Friends' icon in the sidebar. Friends will see your computer on their 'Computers' tab, where they can click 'Connect' to connect to your computer. Access to the Friends list can be disabled, via the Teams admin portal, if you are a Teams or Enterprise customer.

Click 'Add Friend' to search for the name and ID they use in Parsec, then send a friend request. The recipient can then click 'View Friend Requests' to accept or decline. By default, new friends will only have Gamepad control. Permissions granted to friends can be modified by clicking their name in your friends list, then selecting the appropriate permissions. Additionally, existing friends can be unfriended from this page. The following permissions can be configured:

  • Gamepad Control
  • Keyboard Control
  • Mouse Control
  • Can connect without your approval
    • Be careful if you decide to enable this setting, as the selected friend will be able to connect to your computer without requiring your approval before establishing a session. For example, if you are away from your host computer and a friend with this permission clicks 'Connect' on your computer, they will immediately see and/or be able to control your desktop, whether you want them to or not.

mceclip11.png

Help

mceclip12.png

The 'Help' menu is helpful when trying to find information about Parsec, submit a support case, or troubleshoot issues. The following options are available through the 'Help' menu:

  • Help
  • Support Ticket (Warp, Teams, and Enterprise only), Discord
    • If you are a Warp or Parsec for Teams customer, clicking 'Support Ticket' will take you to our web case creator. If you are using the free version of Parsec, you will see 'Discord', which will take you to our community Discord server.
  • Console
    • The console is useful for troubleshooting issues with Parsec. Similar to tailing a log file on Linux, our console will display session information as it sees in the log file. The console output does not persist if you restart the Parsec app.
      mceclip13.png
  • Log File
    • This will open your log file in Windows Explorer. This is an easy way to find and copy the log file, which would behoove you (and us, frankly) to include in your support case. :)
    • The path to the log file depends on if you chose 'Per User' or 'Shared' during the installation process.
      • Per User installation: C:\users\%username%\appdata\roaming\parsec\log.txt
      • Shared installation: C:\users\programdata\parsec\log.txt

Log out

mceclip14.png

The 'Log out' icon can be used to close the Parsec application, or log out. 

Portable app

If you need to install Parsec on a Windows machine and you don't have administrator privileges, you can get a portable version from the downloads page. The portable version will give you a zip containing the 32-bit version of Parsec that you can extract anywhere and run. It works great if you just need to join a computer!

parsec_portable_app_downloads_page.png

If you need to connect to multiple desktops from a single Windows computer, you can leverage the portable app in tandem with the local app to connect to multiple hosts simultaneously.

Configuration file

You can access the configuration file going into Parsec's settings, scrolling to the bottom and clicking "edit the configuration file directly". The order in which the key/value pairs are written in the config file does not matter. These are available on all platforms, except Android.

mceclip15.png

Alternatively, you can find config.txt at the following path:

  • Windows:
    • Per User installation: C:\users\%username%\appdata\roaming\parsec\config.txt
    • Shared installation: C:\programdata\parsec\config.txt

You can see a list of the available configuration options here.

Command line installation and configuration

Using the Parsec installer with specific command line flags will allow you to automatically configure the Parsec app during install.  You must run the installer as an administrator.  

Command Line Flags for pushing out the Parsec Application to your Host Computers

/silent - The installer does not display any UI and completes without user interaction. Parsec will also run silently after installation if /norun is not present.

/norun - Do not run Parsec after installation.

/nocleanuser - Do not clean the user's asset directory (App Data or Program Data) on installation.

/shared - Specify a shared installation that uses Program Data as the asset directory and allows access from the Windows login screen.

/vdd - Option to install the Parsec Virtual Display Driver. This will silently install the Virtual Display Driver with the Parsec application.

Provision Team Computers - Required Flags

/team_id=[string] - Team ID. Implies /silent if both this and team_computer_key are set.

/team_computer_key=[string] - Team Computer Key. Implies /silent if both this and team_id are set.

Team Computers - Optional Flags

/api_host=[string] - Specify Parsec backend host for a Teams Computer request.

/guest_access=[0|1] - Allow users with guest access tokens to connect to this computer 1 or 0 (defaults to 0).

/user_id=[number] - Team member's Parsec User ID (defaults to none).

/team_group_id=[number] - Team member's Team Group ID (defaults to none).

/team_app_rule_id=[string] - ID of the App Rule that should be applied to this computer.

/user_email=[string] - Team member's email address (defaults to none).

Examples

Provision unassigned Team Computer

  • Install Parsec app in shared mode, silently, automatically provision as Team computer. Where 'my_team_id' and 'teams_computer_key' are your Parsec Team's id and computer key. Upon completion the authentication file will be written to C:\programdata\parsec\user.bin, and a log file to C:\program files\parsec\log.txt. Parsec will automatically run after installation and you can assign the computer from the admin dashboard. If the Team Computer successfully authenticated, it will show the hostname of the computer at the top right, followed by #0
    • Example:
      ./parsec-windows.exe /silent /shared /team_id=my_team_id /team_computer_key=teams_computer_key
      mceclip0.png

Provision Team Computer and assign to a user

  • Same as above, but also assigns Team Computer to a Team member, using their Parsec email or their Parsec user ID (the number after the # symbol in their Parsec username, eg. user#1234 would be 1234). If the email does not match an existing team member the computer becomes reserved and once a user with a matching email joins the team the computer is automatically assigned to them. You can verify if the computer was assigned to an existing team member by viewing the username at the top right of the Parsec app (userName#123456). If the computer is reserved for a future user it will show the hostname of the computer on the top right followed by #0. You can revoke reservations through the admin dashboard.
    • Example (email):
      ./parsec-windows.exe /silent /shared /team_id=my_team_id /team_computer_key=teams_computer_key /user_email=user@emailaddress.com
    • Example (user ID):
      ./parsec-windows.exe /silent /shared /team_id=my_team_id /team_computer_key=teams_computer_key /user_id=user_id
    • Assigned to active user
      mceclip1.png
    • Reserved for invited user
      • Appears same as an unassigned computer (hostname#0), until the invite by the assigned user is accepted.

Provision Team Computer and assign to a group

  • To assign to a group you need the groups id. The group id can be found under Groups & Members in the admin dashboard. Select the group, then click Edit Group. The group id is shown under the group name.
    mceclip8.png
    • Example:
      ./parsec-windows.exe /silent /shared /team_id=my_team_id /team_computer_key=teams_computer_key /team_group_id=team_group_id
    • Appears same as an unassigned computer (hostname#0).

Provision Team Computer and enable guest access

  • When you enable a computer for guest access you can later schedule guest access invites to it through the admin dashboard. The following example provisions a Team Computer, unassigned, with guest access enabled. You can also assign computers with Guest Access to a Team member or group, similar to the previous example.
    • Example:
      ./parsec-windows.exe /silent /shared /team_id=my_team_id/team_computer_key=teams_computer_key /guest_access=1

Registry configuration

You can apply configuration policies to the Parsec app via the Windows Registry. Configuration policies applied via the Registry will override any user configuration done in the Parsec 'Settings' tab, and the configuration file (config.txt).

Create a String Value named "Configuration" in the HKEY_LOCAL_MACHINE\SOFTWARE\Parsec Registry Key. You may need to create that file if you haven't done so in the past.

The value data will be based on the configuration options you select, the configuration values should be colon(:) delimited.

The example below sets the connection to use a maximum of 15Mbps, defaults to H.265 encoder, and disables 'Arcade' and 'Friends' features. Note that setting this does not disable the Arcade or Friends list functionality at a tenant level, but rather disables those features on the computer the policy was configured on.

mceclip0.png

In order for the configuration policy to apply, the Parsec app must be restarted.  You can validate the policy by viewing the settings section of the Parsec app.

You can also add these Windows Registry settings by creating a .reg file, with the contents like this.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Parsec]

"Configuration"="encoder_bitrate=15:encoder_h265=1:app_arcade=0:app_friends=0"

To make your life easier, here are some settings you may be interested in.

encoder_bitrate=15 - Set the connection bandwidth limit to 15Mbps:

app_host=0 - Disable hosting on a computer

server_max_clients=1 - Set the maximum concurrent connections per computer

host_name="This_is_the_computer_name" - Set the Parsec computer name

network_server_start_port=8000 - Set the first UDP port the Parsec app will try to use when a connection to this computer is attempted.

You can view advanced configuration settings here.

System service

The Parsec service lets Parsec restart itself with administrator privileges in order to pass inputs and capture anything with elevated permissions, such as the task manager, Windows' lock screen, User Access Control (UAC) and any programs running as admin.

Without it, in some cases, the people connected might not be able to control anything, some applications might not show up in 'Arcade' and 'Approved apps', and Parsec might fail to capture the display and disconnect people with error 14003.

Checking if Parsec service is configured correctly

On the host, press Ctrl+Shift+Esc to open task manager, and find both parsecd.exe and pservice.exe in the 'Details' tab.

task_manager.png

Both should be there, running with the username SYSTEM. If that's not the case for you, do the steps below to fix it.

Set Parsec service to run automatically

  1. Press Windows key + R, type services.msc and press 'Enter' key.
  2. Find Parsec, and double-click it (can't find it? If you're using portable Parsec, run it as admin instead. If not, reinstall Parsec).
  3. Set Startup type to 'Automatic'.
  4. Click the Start button. If the button is grayed out, you should instead click 'Stop' then 'Start'.
  5. Click 'OK' to close.
    parsec_service_properties.png

Set Parsec service to run as System account

  1. Follow steps 1 and 2 above.
  2. Click 'Log On' tab.
  3. Select 'Local System account' radio button.
    mceclip1.png
  4. Click 'OK'
  5. Right click the 'Parsec' service
  6. Click 'Restart'

Note: Don't forget to restart the Parsec application after making these changes.

restart_parsec.png

Use system proxy

Some companies put a proxy server between computers and the network. That's not a problem for Parsec. You can tell Parsec to respect your Windows Proxy settings via Parsec's advanced configuration file. Just add this line to the advanced config file:

app_proxy=1

Virtual displays

If your organization is running headless computers, virtual machines, or require physical displays to be inactive during a Parsec session for increased privacy we recommend leveraging the Parsec Virtual Display Driver. This driver lets you add up to 3 additional virtual displays to the host while connecting to a machine you own through Parsec. Additionally, the physical display(s) will be disabled during the session, if Host Privacy Mode is enabled, increasing session security. See our Virtual Displays technical reference for additional information.