Create a virtual GPU-accelerated Windows workstation

This tutorial shows how to create a virtual Windows workstation runningWindows Server 2022 with an attached display-capableGPU.Google Cloud offers four display-capable GPUs: NVIDIA L4, NVIDIA T4,NVIDIA P4, and NVIDIA P100.

To create a Linux workstation, see the tutorial forCreating a virtual GPU-accelerated Linux workstation.

Note: This tutorial helps you create a virtual workstation that can takeadvantage of hardware graphics acceleration. For information about other typesof virtual workstations that you can create on Google Cloud, seeCreating a virtual workstation.

After you create the virtual workstation, you learn how to remotely access itusingHP Anyware(formerly Teradici CAS), usingPC-over-IP (PCoIP®)technology, a remote desktop protocol widely used in the media andentertainment, game development, architecture, and engineering industries. PCoIPoffers features essential to these types of workloads, such as color accuracy,support for multiple monitors, lossless display, and tablet pressure sensitivity.

This tutorial assumes you are familiar with Microsoft Windows and the PowerShellcommand line.

Objectives

  • Create a Compute Engine instance with a GPU. This instance servesas the foundation for a virtual workstation.
  • Install NVIDIA drivers on the virtual workstation.
  • Install HP Anyware software on the virtual workstation.
  • Connect to the virtual workstation using a PCoIP software client.
Note: This tutorial does not include advanced security features such asfine-grained SSH key management, certificate issuance, or multi-factorauthentication (MFA). A full deployment requires aconnection brokeranddomain controller,which help enable a stronger security profile for connecting to virtualworkstations.

Costs

This tutorial uses the following billable component of Google Cloud:

You can use thepricing calculator to generate a cost estimate based on your projected usage.

The resources that make up the virtual workstation and the factors that affectcost in this tutorial are:

Internet data transfer represents data that streams from your virtual workstation toyour local display client and is billed atinternet outbound data transfer costs.Variables that affect data transfer during a PCoIP session are bandwidth, screenresolution, number of display monitors, applications used, and the type ofactivity on each monitor. The HP AnywareSession Planning Guidecan help you understand different workload requirements.

Note: Costs differ depending on region and connection method. Theseestimated costs are based on connection over the public internet, with resourceslocated in theus-central1 region (Iowa).

Before you begin

This tutorial uses the Google Cloud CLI, which you can run from aCloud Shell instance launched from theGoogle Cloud console.If you want to use gcloud CLI on your local workstation, install theGoogle Cloud CLI.The tutorial shows you how to run commands in Cloud Shell; if youuse the gcloud CLI on your workstation, adjust the instructionsaccordingly.

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.create permission.Learn how to grant roles.
    Note: If you don't plan to keep the resources that you create in this procedure, create a project instead of selecting an existing project. After you finish these steps, you can delete the project, removing all resources associated with the project.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Compute Engine API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enable permission.Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.create permission.Learn how to grant roles.
    Note: If you don't plan to keep the resources that you create in this procedure, create a project instead of selecting an existing project. After you finish these steps, you can delete the project, removing all resources associated with the project.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Compute Engine API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enable permission.Learn how to grant roles.

    Enable the API

In addition, make sure you have the following:

  • A Google Cloud project with quota forNVIDIA L4 Virtual Workstation GPUs in your selectedzone.You can get a listing of GPU availability using thegcloud compute accelerator-types list command.
  • AGoogle Chromebrowser to access the Google Cloud console.
  • The latestPCoIP Client softwarefor Windows, Mac, or Linux to access the virtual workstation.
  • An account onhelp.teradici.comto download the HP Anyware software. Account registration is free.
  • An HP Anyware software license. You canrequest a trial license,or contact your HP representative and ask for a trial registrationcode to use for this virtual workstation.

Architecture

The following diagram shows the components used in this tutorial todeploy a single virtual workstation. Optional components shown in the diagraminclude different ways to connect to your virtual workstation, sharedstorage, an additional instance for serving third-party licenses, and additionalinfrastructure representing a render or compute farm.

Virtual workstation architecture.

Choose a region

An important factor when you deploy a virtual workstation is the latency betweenyour location and the instance you create. The lower the latency, the better theexperience. Therefore, you want to work in a region that's geographically closestto you. To learn more about where the different GPUs are available, seeGPU regions and zones availability.

  1. Open Cloud Shell. (If you're using the gcloud CLI,open a terminal window on your computer.)

    Go to Cloud Shell

  2. Get a list of the zones in which GPUs are available:

    gcloud compute accelerator-types list

    Take note of the region and zone that's physically closest to you.

  3. Set the zone that you want to work with:

    gcloud config set compute/zoneZONE

    ReplaceZONE with the name of thezoneyou're using, such asus-west1-b.

Choose a machine type

NVIDIA L4 GPUs are attached to theG2 machine type.Virtual machines with one or more GPUs have a maximum number of vCPUs for eachGPU you add to the instance. For example, each NVIDIA L4 GPU lets you haveup to 32 vCPUs and up to 128 GB of memory in your instance machine type. To seethe available vCPU and memory ranges for different GPU configurations, see theGPUs list.

The example in this tutorial consists of an 8 vCPU G2 virtual workstation, which iswell under the limit of 32 vCPUs for a single NVIDIA L4 GPU.

Create the virtual workstation

Note: There are somerestrictions to keep in mind when creating a virtual workstation with attached GPUs.Restrictions that apply to this tutorial have been addressed, but it's a goodidea to familiarize yourself with these restrictions before you create yourvirtual workstation.
  1. In Cloud Shell, create the Compute Enginevirtual workstation instance:

    gcloudcomputeinstancescreateVM_NAME\--zone=ZONE\--machine-type=MACHINE_TYPE\--accelerator=type=ACCELERATOR,count=NUM-GPUS\--maintenance-policy="TERMINATE"\--image-project=windows-cloud\--image-family=windows-2022\--boot-disk-size=SIZE\--boot-disk-type=TYPE\--network=NETWORK

    Replace the following:

    • VM_NAME is the name of your workstation.
    • ZONE is the zone in which to create the VM.
    • MACHINE_TYPE is the predefined or custommachine configuration.
    • ACCELERATOR is the type of GPU you want toattach, such asnvidia-l4-vws.
    • NUM-GPUS is the number of GPUs to attach to theVM.
    • SIZE is the size of the boot disk, in gigabytes.
    • TYPE is the type of boot disk. To get a list of available disk types, rungcloud compute disk-types list.
    • NETWORK is the network in which to create the VM.

    For example:

    gcloud compute instances create test-workstation \    --zone=us-west1-b \    --machine-type=g2-standard-8 \    --accelerator=type=nvidia-l4-vws,count=1 \    --maintenance-policy="TERMINATE" \    --image-project=windows-cloud \    --image-family=windows-2022 \    --boot-disk-size=100 \    --boot-disk-type=pd-ssd \    --network=default

    After the virtual workstation is created, the machine status is displayed.The output looks similar to the following:

    NAME: test-workstationZONE: us-west1-bMACHINE_TYPE: g2-standard-8PREEMPTIBLE:INTERNAL_IP: 10.138.XX.XXXEXTERNAL_IP: XX.XXX.XXX.XXXSTATUS: RUNNING

    Note the virtual workstation's external IP address. You will use it later inthe tutorial.

    You can retrieve the external IP address of your virtual workstation at anytime using theGoogle Cloud console.

Create a Windows password

You use RDP to access the Windows virtual workstation to install NVIDIA graphicsdrivers. To sign in with RDP, you need to create a Windows password for theuser.

  1. In Cloud Shell, run the following command:

    gcloud compute reset-windows-passwordVM_NAME

    ReplaceVM_NAME with the name of the VM to change thepassword for.

  2. Review the information in the confirmation prompt:

    This command creates an account and sets an initial password for theuser [username] if the account does not already exist.If the account already exists, resetting the password can cause theLOSS OF ENCRYPTED DATA secured with the current password, includingfiles and stored passwords.For more information, see:https://cloud.google.com/compute/docs/operating-systems/windows#resetWould you like to set or reset the password for [username] (Y/n)?
  3. After confirming the previous prompt, review the confirmation of newcredentials, which appears as follows:

    Resetting and retrieving password for [username] on [instance-name]Updated [https://www.googleapis.com/compute/v1/projects/project-name/zones/zone/instances/instance-name].ip_address: ip-addresspassword:   passwordusername:   username
  4. You can nowconnect to the VM instance by using the new credentials.

Note: You can't retrieve this auto-generated password after you close theCloud Shell window. If necessary, you can repeat this step to generatea new Windows password. It's a good practice toset a custom password after you've signed in to the virtual workstation.If you have difficulty connecting using RDP, see theTroubleshooting RDP page.

Sign in to your virtual workstation

After you create the virtual workstation, sign into the machine so you canconfigure it.

  1. On your local workstation, use your RDP client to connect toyour virtual workstation using its external IP address.
  2. When you're prompted to enter your credentials, enter the username andpassword you generated earlier.
  3. If you see a certificate warning, ignore it and clickContinue.

The virtual workstation desktop appears. Close the Windows Server Manager afterit finishes launching.

Install Google Chrome

The next step is to install Chrome on the VM instance.

  1. In your RDP session, click theStart button on the Windows taskbar,typeWindows PowerShell.
  2. Right-click on Windows PowerShell and selectRun as administrator.
  3. At the PowerShell prompt, enable HTTPS requests:

    [Net.ServicePointManager]::SecurityProtocol="tls12, tls11, tls"
  4. Download and run the Chrome installer:

    $installer="$env:TEMP\chrome_installer.exe";Write-Host'Downloading Chrome.'Invoke-WebRequest`'https://dl.google.com/chrome/install/latest/chrome_installer.exe'`-OutFile$installerWrite-Host'Installing Chrome.'&$installer/silent/install|Out-DefaultRemove-Item$installer
  5. When the command has completed, close PowerShell.

Install the NVIDIA driver

NVIDIA L4, NVIDIA T4, NVIDIA P4, and NVIDIA P100 GPUs work onGoogle Cloud only with qualified NVIDIA RTX Virtual Workstation (vWS)drivers for both compute and display workloads.

You can download these drivers from a public Google Cloud storage bucket.

  1. On the Windows desktop of your virtual workstation, open Windows PowerShell.
  2. Get a listing of the latest drivers:

    gcloud storage ls gs://nvidia-drivers-us-public/GRID
  3. Access the latest graphics drivers that are available as of August, 2025:

    vGPU 19.0 Windows driver (580.88_grid_win10_win11_server2022_dch_64bit_international.exe)

    You can always find the latest qualified driver under theGRID directorythat has the highest version number; if you find a newer driver, use thatone.

  4. In PowerShell, download and install the driver. If you're using aversion of the driver that's more recent than 580.88, change the commandaccordingly.

    gcloudstoragecp`gs://nvidia-drivers-us-public/GRID/vGPU19.0/580.88_grid_win10_win11_server2022_dch_64bit_international.exe`$HOME/Downloads
  5. Open Windows File Explorer and go to theDownloads directory for youruser.

  6. In the directory, double-click the NVIDIA driver to run the installer.

    Follow the prompts to install the driver in the default location:

    1. If you accept the terms of the NVIDIA license, clickAGREEAND CONTINUE.
    2. SelectExpress (Recommended) as the installation type.
    3. When the installation is finished, close the NVIDIA installer.
  7. Verify that the driver is working. In PowerShell, run the command:

    nvidia-smi

    The output is similar to the following:

    +-----------------------------------------------------------------------------+| NVIDIA-SMI 580.88      Driver Version: 580.88        CUDA Version: 13.0     ||-------------------------------+----------------------+----------------------+| GPU  Name           TCC/WDDM  | Bus-Id        Disp.A | Volatile Uncorr. ECC || Fan  Temp Perf  Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. ||                               |                      |               MIG M. ||===============================+======================+======================||   0  NVIDIA L4          WDDM  | 00000000:00:03.0 Off |                    0 || N/A   44C    P8    13W /  72W |     94MiB / 23034MiB |      5%      Default ||                               |                      |                  N/A |+-------------------------------+----------------------+----------------------++-----------------------------------------------------------------------------+| Processes:                                                                  ||  GPU   GI   CI       PID   Type   Process name                   GPU Memory ||        ID   ID                                                   Usage      ||=============================================================================||    0   N/A  N/A     6696   C+G   ...CBS_cyewy\TextInputHost.exe    N/A      |+-----------------------------------------------------------------------------+

Install HP Anyware software

HP Anyware software provides a graphics agent that runs on your virtualworkstation, delivering the desktop to your hardware or software client.

  1. On the Windows instance, open Google Chrome and go to thePCoIP Hosts sectionon the HP Anyware support page.
  2. DownloadGraphics Agent for Windows.
  3. If not already logged in, clickLog in to download.
  4. ClickDownloads and scripts.
  5. Complete the agent installation process and choose the option to run thedownloaded graphics agent executable. Follow the prompts to install thegraphics agent in the default location.

Register the Anyware Graphics Agent

When the installation process is complete, you're prompted for a registrationcode.

  1. In theLicense Registration window, enter the registration code youreceived during the trial sign-up process.

    Note: The registration code provided to you by HP Teradici is in the formABCDEFGHIJKL@0123-4567-89AB-CDEF.
  2. After you've entered the registration code, reboot the Windows instance.

Create a firewall rule

The PCoIP client communicates with your virtual workstation using several ports.You must set firewall rules that allow traffic to your virtual workstation.

Sign in to your virtual workstation using the PCoIP client

  1. On your local computer, go to thePCoIP Clients sectionon theHP Anyware support page,and then download, install, and launchthe PCoIP Software Client application for your operating system.

  2. In theHost Address or Registration Code field, enter the externalIP address of your virtual workstation. If you want, you can enter a name forthe connection.

    Note: By default, PCoIP traffic is encrypted using AES-256.However, HP Anyware Software uses a self-signed certificatethat's issued by Teradici. This might trigger a verification warning when youconnect. You can remove this warning by creating and installing your owncustom security certificates.Or, you can suppress the warning by changing theclient security modefor your client OS. For the purposes of this tutorial, you can ignore this warning by clickingConnect Insecurely in the dialog.
  3. When you are connected, authenticate by entering the username andpassword that you created earlier for the virtual workstation.

    In a few seconds, your Windows desktop appears.

Activate audio on your virtual workstation

To activate audio on your virtual workstation, enable theTeradiciVirtual Audio Driver as the default playback device.

  1. On the Windows VM, click the Start button on the Windows taskbar andtypemmsys.cpl to open the Sound control panel andinitialize the Teradici Virtual Audio Driver.

  2. ClickYes. Windows verifies that the audio driver is working.

Test your virtual workstation

After you've deployed your virtual workstation, you can testperformance and interactivity using a number of tools:

You can also learn more aboutPCoIP performance optimizationbased on your workload.

Clean up

To avoid incurring charges to your Google Cloud account for the resources used in this tutorial, either delete the project that contains the resources, or keep the project and delete the individual resources.

After you've finished the tutorial, clean up the resources you created onGoogle Cloud so you won't be billed for them in the future.

Stop your virtual workstation

Stopped virtual workstations incurcosts for persistent disk,but can be restarted at any time. To stop your virtual workstation, run thefollowing command in Cloud Shell:

gcloud compute instances stopVM_NAME

Delete all the components

  1. Delete the virtual workstation.
  2. Delete the firewall rule.

Delete the project

    Caution: Deleting a project has the following effects:
    • Everything in the project is deleted. If you used an existing project for the tasks in this document, when you delete it, you also delete any other work you've done in the project.
    • Custom project IDs are lost. When you created this project, you might have created a custom project ID that you want to use in the future. To preserve the URLs that use the project ID, such as anappspot.com URL, delete selected resources inside the project instead of deleting the whole project.
  1. In the Google Cloud console, go to theManage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then clickDelete.
  3. In the dialog, type the project ID, and then clickShut down to delete the project.

What's next

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2026-02-18 UTC.