rustdesk / rustdesk/rustdesk-server
Secondary monitors gray on mobile client when using 2K resolution
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 10.4k
- Forks
- 2.6k
- PR merge metrics
- No merged PRs in 30d
Description
Bug Description
RustDesk mobile client shows gray screen for secondary monitors when the remote resolution is set to 2K. The same monitors render normally when the mobile client resolution is set to 1920x1080.
This only happens on the mobile client. A desktop RustDesk client can view all monitors normally.
Environment
Controlled host:
- OS: Ubuntu Linux
- Session type: X11
- RustDesk host version: 1.2.0
- Monitors: 3
Monitor layout from xrandr --listmonitors:
Monitors: 3
0: +*DP-2 2560/597x1440/336+1920+0 DP-2
1: +DP-4 1920/518x1200/324+4480+0 DP-4
2: +DP-6 1920/518x1200/324+0+0 DP-6
Remote clients:
- Desktop client: works normally
- Mobile client: iOS/Android affected
## Steps to Reproduce
1. Connect from RustDesk mobile client to the Ubuntu host.
2. Set the mobile client remote resolution to 2K.
3. View the primary monitor.
4. Switch to the second or third monitor.
5. Observe that the second/third monitor is gray.
6. Change the mobile client resolution to 1920x1080.
7. Switch to the second or third monitor again.
## Actual Behavior
When mobile resolution is set to 2K:
- Primary monitor displays normally.
- Second and third monitors are gray screens.
When mobile resolution is set to 1920x1080:
- All monitors display normally.
## Expected Behavior
All monitors should display normally on the mobile client when resolution is set to 2K, the same as they do at 1920x1080 and on desktop clients.
## Additional Observations
A desktop RustDesk client connected to the same host displays all monitors normally.
When switching monitors from the mobile client, the desktop client also switches to the selected monitor and shows the correct image. This suggests the host is detecting and capturing the secondary monitors correctly, and the issue is likely in the mobile client
rendering/decoding path for secondary displays at 2K resolution.
Updating the self-hosted RustDesk server did not change the behavior.
Host RustDesk config has hardware codec disabled:
enable-hwcodec = 'N'
Recent logs did not show a clear monitor capture failure. The relevant recurring messages were mostly connection-manager/Flutter/GTK cleanup messages, for example:
gtk_window_get_position: assertion 'GTK_IS_WINDOW (window)' failed
gtk_window_resize: assertion 'GTK_IS_WINDOW (window)' failed
void fl_view_set_textures(FlView *, GdkGLContext *, GPtrArray *): assertion 'FL_IS_VIEW(self)' failed
## Workaround
Set the mobile client resolution to 1920x1080 instead of 2K.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source file or test is named. Reproduce the issue on the mobile client with the documented Ubuntu/X11 multi-monitor layout, then trace the mobile monitor-switching and rendering/decoding path at 2K versus 1920x1080. Done means all secondary monitors render normally at 2K on iOS and Android without regressing desktop behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, flutter, ios
- Domain
- mobile-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100