# Windows Worker

Updated: 6 Jan 2026

### Quickstart instructions for launching a DCP Windows Worker in the Global Network or in Private Compute Groups. Earned Compute Credits are deposited directly into your DCP bank account, which can be created in the DCP Portal at [https://dcp.cloud](https://dcp.cloud/)

## Windows Screensaver Worker Overview

### Supported Platforms

Windows 10 & 11 (64-bit; x86-64)

DOWNLOAD MSI

### Deployment Model

The Windows Screensaver Worker is distributed as an MSI package with required registry configuration and can be deployed interactively on individual computers, or centrally at scale using standard enterprise tooling such as Microsoft Endpoint Configuration Manager (SCCM), Intune, NinjaOne, or PowerShell scripts.

### Execution Model

The Windows Screensaver Worker uses a Windows-specific execution and privilege model. While it shares the same DCP Worker and evaluator sandbox guarantees as other Standalone Workers, its execution lifecycle, process hierarchy, and privilege enforcement are implemented using native Windows service, screensaver, and restricted-token mechanisms.

### Windows Screensaver Worker Quickstart

Download the MSI package from:

[https://download.distributive.network/windows/latest/dcp-worker/](https://download.distributive.network/windows/latest/dcp-worker/)

### Option A: Interactive (GUI)

Double click on MSI file, install it as administrator

After installation, the settings dialog (configurator.exe) opens automatically allowing users to configure identity, earnings account, compute groups, etc. Configure the Worker with:

**Keystores** tab:

DCP Identity

Select Keystore

<your-id.keystore>

DCP Earnings Account:

<your-dcp-bank-account>

**Compute Group** tab:

Add

Join Key:

<joinkey>

Join Secret:

<joinsecret>

Include global DCP compute group:

<Yes / Never>

**Screen Saver** tab:

Select Image

<your-bitmap-image.bmp>

**Save**

**Control Panel > Edit Power Plan**

Turn off the display

<Never>

Put the computer to sleep

<Never>

These configurations will be stored in the Windows Registry.

Let screensaver activate, or select Preview in screensaver settings to activate immediately.

### Option B: Programatically (PowerShell)

For programmatic install and configuration, use a powershell script, a .reg file, a .keystore file, and optionally provide a bitmap image that will float around during compute.

1. Place the PowerShell script and all required resources in the same folder (e.g., C:\DCP\Resources).
2. Open PowerShell as Administrator
3. Run:

```powershell
powershell

powershell -ExecutionPolicy Bypass -File

"C:\DCP\Resources\DCP-Worker-LocalInstall.ps1"
```

## Monitoring a Running Worker

### Option A: Foreground Mode (Text UI)

In a terminal:

```bash
"C:\Program Files\Distributive\DCP\dcp-evaluator.bat" && "C:\Program Files\Distributive\DCP\dcp-supervisor.bat"
```

Press **Esc** twice to exit.

### Option B: Screensaver Mode

Let the screensaver activate, then use Event Viewer, Syslog, or a third-party logger like BetterStack to view worker logs.

To send logs to BetterStack, add the following registry entry:

```bash
[HKEY_LOCAL_MACHINE\SOFTWARE\Distributive\dcp-worker\dcp-config\worker\logging\syslog]
"url"="tls://<YOUR_SOURCE_TOKEN>.syslog.betterstack.com:6514"
```

Press **Ctrl+C** to exit log monitoring.

## Configuring the Worker Service

Open **Change Screensaver Settings** and modify as desired to include desired parameters. Upon saving and exiting the configurator, the worker service automatically restarts.

Apply changes and restart the Worker.

## Updating the Worker

Automatically updates using Google Omaha.

For advanced users using “frozen” machines:

During installation, the worker automatically creates windows task scheduler tasks.

```bash
apt list --upgradable | grep dcp-worker
```

There are several additional options, such as specifying allowed origins for routing data, functions, and results directly behind the firewall (e.g., for hospital genomics data processing), or setting target CPU and GPU loads to throttle device consumption, etc. Use --help to see the full list of options.

## Process Model

All evaluator processes inherit a restricted security token and communicate only with the local Worker service over loopback TCP. No evaluator process accepts inbound network connections or executes with administrative privileges. The process tree for **dcp-screensaver** looks like this:

```
dcp-screensaver:
| node.exe (dcp-worker)
| dcp-evaluator (dispatcher) [listens on port 9000, locally]
    | dcp-evaluator (v8-evaluator)
    | dcp-evaluator (v8-evaluator)
    | dcp-evaluator (v8-evaluator)
    | ...
```

When the screensaver exits, the evaluator sandboxes terminate immediately, abandoning in-progress tasks. The Worker may submit completed results before returning to an idle state.

## Service Accounts and Privilege Model

**Component**  
**Runs As**  
**Purpose**  
**Security Notes**  
dcp-worker (Node.js, launched by NSSM)  
NT SERVICE\DCP Worker  
Main Worker service that connects to the DCP Scheduler and manages Job lifecycle  
Runs as a dedicated Windows service account with restricted privileges  
dcp-screensaver.scr  
OS-controlled desktop context (Winlogon pre-login or interactive user session)  
Screensaver UI and idle trigger for task execution on evaluators  
Managed by the Windows screensaver subsystem and executed without elevated privileges. When no user is logged in, configuration is sourced from HKEY_USERS\.DEFAULT (Winlogon desktop), allowing Job execution in the pre-login state.  
dcp-evaluator  
Restricted token  
Executes sandboxed JavaScript, WebAssembly, and WGSL workloads  
Restricted token prevents filesystem, registry, and privileged API access

## Operational Characteristics

Windows Screensaver Workers are typically used for:

- Individual or home users contributing idle CPU and GPU resources  
- Institutional or enterprise deployments reclaiming idle CPU and GPU resources  
- Interruptible batch workloads

They preserve the same core sandboxing and security properties as other DCP Worker variants, while leveraging the Windows screensaver subsystem as a native idle-state trigger for workload execution.
