Answered this originally assuming you actually want xrdp, and leaving that below for reference. Not using xrdp is probably the way to go though.
The built in gnome rdp feature works, but has issues with authentication. Some possible solutions are available here.
22.04 - Remote Desktop Sharing authentication password changes every reboot
If you actually want xrdp working, the answer below was related to troubleshooting that. Not an easy path though.
For further troubleshooting:
As described at the 1777 issue on the xrdp github page, run the following commands on the xrdp server machine to check whether xrdp is able to talk to sesman:
sudo ps -e -o pid,netns,command | grep xrdp
sudo ss -alp 'sport = 3350'
sudo nmap -p 3350 127.0.0.1
You are looking for the following things in particular:
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
tcp LISTEN 0 2 [::1]:3350 [::]:* users:(("xrdp-sesman",pid=2760,fd=7))
Together those indicate that the sessman is listening on IPv6 as indicated by [::1]:3350 rather than on the IPv4 address of your host, and the 3350 port on IPv4 is not responding. If that shows your correct IPV4 address and 3350 is open, you are having a different issue.
The suggested solution is to rebuild xrdp without --enable-ipv6, to have a version that isn't confused by IPv6.
More details are available here if you want to go that route.
I am having the same issue, despite being on x86_64 with the 5.15 kernel. None of the other recommendations here have helped. The service is running, but not communicating correctly. Xrdp can't talk to the xrdp-sesman, and so the login doesn't work and just hangs at a blank screen for a long time.
There is work underway to fix this natively; Xrdp has implemented a new communication structure that should resolve this and other issues. Not clear it is in the current release yet, and definitely not in the version in the Ubuntu repositories. Not a fix, but for me understanding why it was broken helped. You will probably get a fix by waiting.
An alternative - use x2go for the time being. Doesn't work with gnome, so you would have to install another desktop manager. I installed mate, and with x2go I now have remote GUI connectivity. Not an ideal solution, but a placeholder if you don't want to recompile your own binaries.