Fixing FreeRDP 3’s BadAtom Error on QubesOS (or Just Downgrade, Honestly)
When you try to run FreeRDP 3, you will likely get the BadAtom error. This error is vague, and as usual, there's zero documentation about it that actually helps. Here’s the post I wish existed when I needed it. When you try to run FreeRDP 3, you will likely get the following error: This error likely happens because of the lack of GPU passthrough in Qubes VMs (more about it here), the option I see working for me right now is using the Features like mounting a drive from your host also work, and it’s a very convenient way to transfer files to your target machine using RDP. Example: In ┌─[✗]─[user@parrot]─[~]
└──╼ $xfreerdp3 /v:10.129.115.179 /u:htb-student /p:HTB_@cademy_stdnt!
<SNIP>
[23:03:46:654] [4770:000012a3] [ERROR][com.freerdp.client.x11] - [winpr_log_backtrace_ex]: 11: dli_fname=xfreerdp3 [0x55591c0c8000], dli_sname=(null) [(nil)]
[23:03:46:654] [4770:000012a3] [ERROR][com.freerdp.client.x11] - [winpr_log_backtrace_ex]: 12: dli_fname=/lib/x86_64-linux-gnu/libwinpr3.so.3 [0x71a313c9b000], dli_sname=(null) [(nil)]
[23:03:46:654] [4770:000012a3] [ERROR][com.freerdp.client.x11] - [winpr_log_backtrace_ex]: 13: dli_fname=/lib/x86_64-linux-gnu/libc.so.6 [0x71a3135f0000], dli_sname=(null) [(nil)]
[23:03:46:654] [4770:000012a3] [ERROR][com.freerdp.client.x11] - [winpr_log_backtrace_ex]: 14: dli_fname=/lib/x86_64-linux-gnu/libc.so.6 [0x71a3135f0000], dli_sname=(null) [(nil)]
[23:03:46:654] [4770:000012a3] [ERROR][com.freerdp.client.x11] - [winpr_log_backtrace_ex]: 15: unresolvable, address=(nil)
X Error of failed request: BadAtom (invalid Atom parameter)
Major opcode of failed request: 17 (X_GetAtomName)
Atom id in failed request: 0xd2c610ab
Serial number of failed request: 87
Current serial number in output stream: 89
freerdp2-x11
package from the apt
package manager, as apt packages play nicer with GPU-less Qubes VMs Bonus
xfreerdp /v:10.129.209.72 /u:johanna /p:1231234! /dynamic-resolution /drive:kali-drive,/tmp/johanna
/drive:
, you specify the name of your mounted drive on the target machine, then the folder you want to mount on your host.