Remmina, RDP -> black screen

I’m coming to Cachy from EndeavourOS primarily due to the adoption of the patchset for the sound system in Lenovo’s 16AFR10H machine. I seem to have a problem with remmina and RDP to other machines (EndeavourOS, fully updated) on the LAN - I just get a black screen. From EndeavourOS to these machines, the RDP session comes up properly. On any machine with CachyOS, though, I simply get a black screen.

There is nothing visibly different on the terminal in terms of remmina output between the machines running EndeavourOS and those running CachyOS. I can’t see an obvious cause. The codec related messages are printed by remmina on both EndeavourOS and CachyOS:

remmina-Message: 15:17:52.066: Remmina does not log all output statements. Turn on more verbose output by using "G_MESSAGES_DEBUG=remmina" as an environment variable.
More info available on the Remmina wiki at:
https://gitlab.com/Remmina/Remmina/-/wikis/Usage/Remmina-debugging``
Failed to load plugin: /usr/lib/remmina/plugins/remmina-plugin-gvnc.so.
Error: libgvnc-1.0.so.0: cannot open shared object file: No such file or directory
Failed to load plugin: /usr/lib/remmina/plugins/remmina-plugin-kwallet.so.
Error: libKF5Wallet.so.5: cannot open shared object file: No such file or directory
Failed to load plugin: /usr/lib/remmina/plugins/remmina-plugin-spice.so.
Error: libspice-client-gtk-3.0.so.5: cannot open shared object file: No such file or directory
Failed to load plugin: /usr/lib/remmina/plugins/remmina-plugin-vnc.so.
Error: libvncclient.so.1: cannot open shared object file: No such file or directory
remmina-Message: 15:17:52.138: [X2GO] X2Go plugin loaded.

(org.remmina.Remmina:205643): libayatana-appindicator-WARNING**: 15:17:52.165: libayatana-appindicator is deprecated. Please use libayatana-appindicator-glib in newly written code.

(org.remmina.Remmina:205643): Gtk-WARNING**: 15:17:52.202: gtk_menu_attach_to_widget(): menu already attached to GtkMenuItem

(org.remmina.Remmina:205643): Gtk-CRITICAL**: 15:17:57.237: gtk_widget_get_display: assertion 'GTK_IS_WIDGET (widget)' failed
[15:17:57:832] [205643:00033185] [INFO][com.freerdp.codec] - [libavcodec_init]: Using VAAPI for accelerated H264 decoding
[15:17:58:101] [205643:00033185] [INFO][com.freerdp.codec] - [libavcodec_init]: Using VAAPI for accelerated H264 decoding
[15:17:58:102] [205643:00033185] [WARN][com.freerdp.core.rdp] - [log_build_warn][0x5562430dd390]: *************************************************
[15:17:58:102] [205643:00033185] [WARN][com.freerdp.core.rdp] - [log_build_warn][0x5562430dd390]: This build is using [experimental] build options:
[15:17:58:102] [205643:00033185] [WARN][com.freerdp.core.rdp] - [log_build_warn][0x5562430dd390]: * 'WITH_VAAPI=ON'
[15:17:58:102] [205643:00033185] [WARN][com.freerdp.core.rdp] - [log_build_warn][0x5562430dd390]: *
[15:17:58:102] [205643:00033185] [WARN][com.freerdp.core.rdp] - [log_build_warn][0x5562430dd390]: [experimental] build options might crash the application
[15:17:58:102] [205643:00033185] [WARN][com.freerdp.core.rdp] - [log_build_warn][0x5562430dd390]: *************************************************
[15:18:05:488] [205643:00033185] [WARN][com.freerdp.crypto] - [verify_cb]: Certificate verification failure 'self-signed certificate (18)' at stack position 0
[15:18:05:488] [205643:00033185] [WARN][com.freerdp.crypto] - [verify_cb]: C = US, ST = CA, L = Sunnyvale, O = xrdp, CN = ``www.xrdp.org``
[15:18:05:499] [205643:00033185] [INFO][com.freerdp.gdi] - [gdi_init_ex]: Local framebuffer format PIXEL_FORMAT_BGRA32
[15:18:05:499] [205643:00033185] [INFO][com.freerdp.gdi] - [gdi_init_ex]: Remote framebuffer format PIXEL_FORMAT_BGRA32
[15:18:05:499] [205643:00033185] [INFO][com.freerdp.channels.rdpsnd.client] - [rdpsnd_load_device_plugin]: [static] Loaded fake backend for rdpsnd
[15:18:05:499] [205643:00033185] [INFO][com.freerdp.channels.drdynvc.client] - [dvcman_load_addin]: Loading Dynamic Virtual Channel disp
[15:18:05:499] [205643:00033185] [INFO][com.freerdp.channels.drdynvc.client] - [dvcman_load_addin]: Loading Dynamic Virtual Channel rdpgfx
[15:18:05:499] [205643:00033185] [INFO][com.freerdp.channels.drdynvc.client] - [dvcman_load_addin]: Loading Dynamic Virtual Channel ainput
[15:18:05:499] [205643:00033185] [INFO][com.freerdp.channels.drdynvc.client] - [dvcman_load_addin]: Loading Dynamic Virtual Channel rdpsnd

(org.remmina.Remmina:205643): Gtk-CRITICAL**: 15:18:05.507: gtk_widget_get_display: assertion 'GTK_IS_WIDGET (widget)' failed
[15:18:05:862] [205643:00033268] [INFO][com.freerdp.codec] - [libavcodec_init]: Using VAAPI for accelerated H264 decoding
[15:18:06:101] [205643:00033268] [INFO][com.freerdp.codec] - [libavcodec_init]: Using VAAPI for accelerated H264 decoding

(org.remmina.Remmina:205643): Gtk-CRITICAL**: 15:18:06.101: gtk_widget_get_display: assertion 'GTK_IS_WIDGET (widget)' failed
[15:18:06:174] [205643:000331e9] [ERROR][com.freerdp.channels.rdpsnd.client] - [rdpsnd_recv_pdu]: [static] unknown msgType 39
[15:18:06:351] [205643:00033268] [INFO][com.freerdp.codec] - [libavcodec_init]: Using VAAPI for accelerated H264 decoding
[15:18:06:569] [205643:00033268] [INFO][com.freerdp.codec] - [libavcodec_init]: Using VAAPI for accelerated H264 decoding
[15:18:06:740] [205643:00033268] [INFO][com.freerdp.codec] - [libavcodec_init]: Using VAAPI for accelerated H264 decoding
[15:18:06:942] [205643:00033268] [INFO][com.freerdp.codec] - [libavcodec_init]: Using VAAPI for accelerated H264 decoding
[15:18:06:969] [205643:00033268] [ERROR][com.freerdp.codec] - [libavcodec_decompress]: Failed to transfer video frame (status=-38) (Function not implemented)
[15:18:06:969] [205643:00033268] [WARN][com.freerdp.gdi] - [gdi_SurfaceCommand_AVC420]: avc420_decompress failure: -1, ignoring update.
[15:18:06:969] [205643:00033268] [ERROR][com.freerdp.codec] - [libavcodec_decompress]: Failed to transfer video frame (status=-38) (Function not implemented)
[15:18:06:969] [205643:00033268] [WARN][com.freerdp.gdi] - [gdi_SurfaceCommand_AVC420]: avc420_decompress failure: -1, ignoring update.
[15:18:06:969] [205643:00033268] [ERROR][com.freerdp.codec] - [libavcodec_decompress]: Failed to transfer video frame (status=-38) (Function not implemented)
[15:18:06:969] [205643:00033268] [WARN][com.freerdp.gdi] - [gdi_SurfaceCommand_AVC420]: avc420_decompress failure: -1, ignoring update.
[15:18:07:007] [205643:00033268] [ERROR][com.freerdp.codec] - [libavcodec_decompress]: Failed to transfer video frame (status=-38) (Function not implemented)
[15:18:07:007] [205643:00033268] [WARN][com.freerdp.gdi] - [gdi_SurfaceCommand_AVC420]: avc420_decompress failure: -1, ignoring update.
[15:18:07:020] [205643:00033268] [ERROR][com.freerdp.codec] - [libavcodec_decompress]: Failed to transfer video frame (status=-38) (Function not implemented)
[15:18:07:021] [205643:00033268] [WARN][com.freerdp.gdi] - [gdi_SurfaceCommand_AVC420]: avc420_decompress failure: -1, ignoring update.

** (org.remmina.Remmina:205643): WARNING**: 15:18:07.131: [RDP] gp=0x556242d93350 Clipboard data wait aborted.
** Message: 15:18:07.131: [RDP] Cannot paste now, I’m already transferring clipboard data from server. Try again later

[15:18:07:136] [205643:00033268] [ERROR][com.freerdp.codec] - [libavcodec_decompress]: Failed to transfer video frame (status=-38) (Function not implemented)
[15:18:07:136] [205643:00033268] [WARN][com.freerdp.gdi] - [gdi_SurfaceCommand_AVC420]: avc420_decompress failure: -1, ignoring update.

Can you show us this:

pacman -Q remmina freerdp                                                                         

remmina 1:1.4.43-2.1
freerdp 2:3.24.2-1.1

remmina 1:1.4.43-2.1
freerdp 2:3.24.2-1.1

and on EndeavourOS:

remmina 1:1.4.43-2.1
freerdp 2:3.24.2-1.1

I can confirm no connection on RDP.

But SSH works, and that is my normal useage for remotes.

I have tried a few things but none panned out.

Your versions are the same on my end.

I have a similar issue. Only happens with certain Windows server. You just have to wait longer, up to a minute. Happens to server I connect locally or over Internet.

For me, no matter how long I wait I get a black (or sometimes white) screen. The connection is instantaneously successfully with EndeavourOS to EndeavourOS.

I only connect to Windows machines and I don’t have such issues. However, I did have to do some troubleshooting (it wasn’t a plug and play experience like on Ubuntu).

This is probably not going to help you, but in case someone is connecting to remote Windows machines or networks where Kerberos is used:

!kerberos,ntlm

Add that to Remmina FreeRDP auth options. It will only work if the admins haven’t decided to enforce Kerberos and still allow NTLM.

The better option would be to properly configure Kerberos, but I did not have the time nor the will to risk losing another hour or two

What graphics hardware are you using? Have you tried freerdp-git from AUR? What display resolution(s)?I had a similar issue due to freeRDP trying to use a codec that was improperly marked as supported on a legacy nvidia card - I believe moving to the newer freerdp was the solution for me but it’s been a minute.

Also, again based on a hardware decoding limitation - if I try to connect to a system with >4k total display pixels width (i.e. a 4k display and a 1440p screen in multimon) I get a black screen.

In my case, the machines I’m trying to connect to have either:

AMD integrated graphics (AMD Ryzen 9 5900HX)
nVidia 3070 Ti

The machines I’m running remmina on have hybrid graphics:

Zen 4 + RTX 4060
Zen 5 + RTX 5080

The machines running remmina were merely moved from EndeavourOS to CachyOS. Prior to the move, remmina was working. Nothing has changed on the ‘remote’ machines, and other ‘Endeavour’ machines can still connect happily to the ‘remote’ machines, with no black or white screen (using fixed or adaptive resolution).

Resolution-wise, it makes little difference. I’ve tried with adaptive resolution and not.

What worked for me was to change (in Remmina) the Color depth setting on the Basic tab. The default is Automatic (32 bpp) (Server chooses its best format). Like everyone else, this led to blank screens. After changing it to GFX RFX (32 bpp) or RemoteFX (32 bpp) [depending on the DE of the remote machine] it worked.

Background: I just installed CachyOS (running KDE Plasma) coming from Ubuntu Budgie. Remmina worked fine on Budgie, but on CachyOS, I also saw a blank screen when connecting to either a remote Ubuntu 26.04 machine or a remote Linux Mint 22.3 machine. I then tried connecting to a remote Kubuntu machine running KDE Plasma, and it connected fine (I could see and operate the remote screen normally). This got me thinking that the graphics encoding method chosen by Remmina (influenced by the Color depth setting in the Basic tab) might be the culprit.

So, for me, to connect to the Ubuntu 26.04 machine (running Gnome), switching Color depth from Automatic (32 bpp) to GFX RFX (32 bpp) was needed.

To connect to the Linux Mint 22.3 machine (running Cinnamon with xrdp-egfx to get GPU encoding), switching from Automatic (32 bpp) to RemoteFX (32 bpp) was needed.

I’m not sure if it will work for others, but it’s worth a shot trying to adjust the Color depth setting.