xrdp icon indicating copy to clipboard operation
xrdp copied to clipboard

Some apps appear transparent when RDP session is set to 32 bpp

Open ggiesen opened this issue 3 years ago • 3 comments

Some applications, when used through xrdp will have some portions of the app be transparent, when the RDP session is run at 32bpp. They show the desktop background through them, rendering them virtually unusable.

The seemingly-accepted workaround is to either set xserverbpp=24 in the [Xvnc] section of xrdp.ini, or to configure the client to only connect at 24bpp. Is there a better solution for this, or at least an explanation as to why this occurs? This issue does not appear when connecting directly to the console.

Some apps I've noted both through personal experience and in my web searching travels that have this issue:

VirtualBox (observed this personally) IDEA-based IDEs (https://youtrack.jetbrains.com/issue/IDEA-181537)

See examples:

32 bpp (you can see both the VM and the preview window are transparent)

32bpp

24 bpp (everything appears normal)

24bpp

Even though this issue appears to be fairly common, I could not find a specific GitHub issue that referenced it so I'm creating this one.

FWIW I'm running CentOS 8.3.2011 with the GNOME classic shell and xrdp 0.9.16.

ggiesen avatar Jun 01 '21 20:06 ggiesen

I've been dealing with that issue on CentOS-7 for a while now. Primarily with old Tk and new Swing widgets. All the way up to CentOS 7.9 2009, GNOME 3.28 classic and xrdp 0.9.17 (from EPEL). For CentOS I've created a kind of permanent workaround that automatically edits xrdp.ini before the service starts.

systemctl edit xrdp.service

# Restrict Xvnc to 24 bit color depth to prevent unwanted transparency
[Service]
ExecStartPre=-/usr/bin/sed -i 's/^#xserverbpp=24$/xserverbpp=24/' /etc/xrdp/xrdp.ini
 
systemctl restart xrdp.service

Should work on Ubuntu/Debian as well.

smradman avatar Sep 28 '21 10:09 smradman

I have the same issue on RHEL7 systems running Citrix client. And changing to 24bits works. I also have noticed that it happens when I use Gnome Desktop. When i use XFCE, it seems to work with 32bit. So I suspect some kind of problems in the implementation together with some "advanced" features of the Linux Desktop. Gnome is using 3D, which XFCE doesn't use for example. I hope this can help since I would prefer sticking to 32bit as it benefits from all RDP features.

vongillus avatar Nov 09 '22 10:11 vongillus