Configuration Reference
Configuration file location: ~/.config/lamco-rdp-server/config.toml
Flatpak: ~/.var/app/io.lamco.rdp-server/config/lamco-rdp-server/config.toml
[server]
Server connection settings.
| Key | Type | Default | Description |
|---|---|---|---|
| bind_address | string | "0.0.0.0" | IP address to bind |
| port | integer | 3389 | TCP port |
| max_connections | integer | 10 | Maximum concurrent connections |
[server]
bind_address = "0.0.0.0"
port = 3389
max_connections = 10
bind_address = "0.0.0.0"
port = 3389
max_connections = 10
[security]
Security and authentication settings.
| Key | Type | Default | Description |
|---|---|---|---|
| tls_enabled | boolean | true | Enable TLS encryption |
| tls_cert | string | auto | Path to TLS certificate |
| auth_method | string | "pam" | Authentication method |
| allowed_ips | array | [] | IP whitelist |
[video]
Video encoding settings.
| Key | Type | Default | Description |
|---|---|---|---|
| codec | string | "avc420" | Video codec (avc420, avc444) |
| encoder | string | "auto" | Encoder (auto, software, vaapi, nvenc) |
| quality | integer | 80 | Quality 1-100 |
| max_fps | integer | 60 | Maximum frame rate |
[audio]
Audio streaming settings (v1.2.0+).
| Key | Type | Default | Description |
|---|---|---|---|
| enabled | boolean | true | Enable audio streaming |
| codec | string | "opus" | Audio codec |
| sample_rate | integer | 48000 | Sample rate in Hz |
| buffer_ms | integer | 50 | Buffer size (milliseconds) |
[audio]
enabled = true
codec = "opus" # opus, pcm, adpcm, g711-ulaw, g711-alaw
sample_rate = 48000
channels = 2
buffer_ms = 50
enabled = true
codec = "opus" # opus, pcm, adpcm, g711-ulaw, g711-alaw
sample_rate = 48000
channels = 2
buffer_ms = 50
[egfx]
Extended Graphics Framework (EGFX) pipeline settings for RDP 8+ clients.
| Key | Type | Default | Description |
|---|---|---|---|
| enabled | boolean | true | Enable EGFX pipeline |
| codec | string | "auto" | EGFX codec (auto, avc420, avc444) |
| aux_omission | boolean | true | Omit auxiliary data for bandwidth savings |
[egfx]
enabled = true
codec = "auto"
aux_omission = true
enabled = true
codec = "auto"
aux_omission = true
[performance]
Performance tuning and frame delivery settings.
| Key | Type | Default | Description |
|---|---|---|---|
| latency_mode | string | "balanced" | Latency governor mode (low, balanced, quality) |
| min_fps | integer | 5 | Minimum frame rate floor |
| max_fps | integer | 60 | Maximum frame rate ceiling |
| damage_tracking | boolean | true | Only encode changed screen regions |
[performance]
latency_mode = "balanced"
min_fps = 5
max_fps = 60
damage_tracking = true
latency_mode = "balanced"
min_fps = 5
max_fps = 60
damage_tracking = true
[input]
Keyboard, mouse, and touch input settings.
| Key | Type | Default | Description |
|---|---|---|---|
| keyboard_layout | string | "auto" | Keyboard layout (auto, us, de, fr, etc.) |
| mouse_acceleration | boolean | false | Enable mouse acceleration |
| touch_enabled | boolean | true | Enable touch input support |
[input]
keyboard_layout = "auto"
mouse_acceleration = false
touch_enabled = true
keyboard_layout = "auto"
mouse_acceleration = false
touch_enabled = true
[clipboard]
Clipboard sharing settings between RDP client and server.
| Key | Type | Default | Description |
|---|---|---|---|
| enabled | boolean | true | Enable clipboard sharing |
| max_size_mb | integer | 10 | Maximum clipboard content size in MB |
| file_transfer | boolean | false | Enable file transfer via clipboard |
| strategies | array | ["auto"] | Backend strategies: auto, portal, wlr-data-control, klipper, wl-clipboard |
[clipboard]
enabled = true
max_size_mb = 10
file_transfer = false
strategies = ["auto"]
enabled = true
max_size_mb = 10
file_transfer = false
strategies = ["auto"]
[advanced]
Advanced settings for PipeWire integration and GPU buffer management. Change only if you understand the implications.
| Key | Type | Default | Description |
|---|---|---|---|
| pipewire_buffer_count | integer | 4 | Number of PipeWire buffers for frame capture |
| dmabuf_enabled | boolean | true | Enable DMA-BUF for zero-copy GPU buffer sharing |
| explicit_sync | boolean | true | Enable explicit GPU synchronization (requires kernel 6.8+) |
[advanced]
pipewire_buffer_count = 4
dmabuf_enabled = true
explicit_sync = true
pipewire_buffer_count = 4
dmabuf_enabled = true
explicit_sync = true
[logging]
Log output settings for diagnostics and debugging.
| Key | Type | Default | Description |
|---|---|---|---|
| level | string | "info" | Log level (error, warn, info, debug, trace) |
| file | string | "" | Log file path (empty = stderr only) |
[logging]
level = "info"
file = "" # Log to stderr; set a path to also write to file
level = "info"
file = "" # Log to stderr; set a path to also write to file