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

[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

[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

[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

[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

[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"]

[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

[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