Replies: 4 comments 2 replies
-
Hi @alexleach In response to a few of your points:-
|
Beta Was this translation helpful? Give feedback.
-
Thanks @matt335672. Nvidia-accelerated RDP support is something I'm quite interested in, and I would be happy to test any early implementations. Do you know of any repos where they're being actively worked on? I actually got @Nexarian's branches working over the weekend after making sure I was using his forks. The AUR package xorgxrdp-nvidia and various xrdp modules all refer to the neutrinolabs repositories, which I couldn't get working on my hardware. There are some quirks, but it's early days with it working for me and this isn't the place to report issues on those forks. Yeah, I saw that request on systemd/systemd to add a session service type and a reference to it. I can't say I know enough about systemd internals to comment, but in my various testing, I did notice new instances of Perhaps related to the whole systemd session thing (but not related to The benefits of using the same accounts for local and remote seem pretty obvious and numerous without needing to spell them out, but I wouldn't say they fall into the "absolute requirements" category, at least outside of a highly regulated environment with licenses assigned to user accounts for instance, which isn't my use case. I just don't want to have a second user profile, with settings duplicated in two places, duplicate local mailbox files, permissions issues when trying to access documents between the user accounts, etc. Anyway, I thought the nested systemd user sessions that your repo addresses overcomes those issues? I understand it's pretty experimental at this stage, though. Supporting all specific distros is obviously not in the remit of the core package, especially with rolling release ones like Arch(!), but as Systemd is so commonly used these days, even in RHEL since v7, I think it makes sense to (try to) support it fully in Cheers, |
Beta Was this translation helpful? Give feedback.
-
Thanks @matt335672. Tbh, I thought (and hoped) that @Nexarian's With the systemd sessions - where I'm far from an expert! - I would have thought the ideal scenario would be not to need a new session at all, but to use a single session that can be switched to and from a local sign-in at the physical console. I use RDP to connect to Windows client and server OS's a lot for work, where a remote session will lock the screen for the physical user, who can then take the session back if signing in again at the desktop. The current design choices around using systemd sessions all appear to want to start a separate session, which to be honest, I don't think is ideal. Is sharing the session not possible? Having spent lots of time looking at the xrdp and xorgxrdp code, as well as Nvidia and RandR-related stuff, one idea / hope I had was that implementing the RandR v1.4 specification would allow switching output providers for the same desktop source. Nvidia has some documentation on it. With audio, pipewire should allow changing sinks on the fly, too? @Nexarian wrote a local RandR client in his mainline_merge branch, that is (mostly?) RandR v1.3 compliant. I did have a stab at adding some RandR v1.4 functionality here, but as I said, I'm not very experienced with C and was progressing too slowly to keep going with it. I've put a lot, if not all of the boiler plate there, though. Do you think RandR 1.4 could work like this? |
Beta Was this translation helpful? Give feedback.
-
Using a single session would be great, but at the moment I can't see an easy way to support it. I had a look at the RandR 1.4 stuff (which I was unaware of). There' a caveat on it :-
My understanding of this is we'd somehow need to provide a KMS interface for the Xorg driver. I don't think this is something we're in a position to provide in this project. This would also be a Linux-only development which wouldn't be ideal. I could well be wrong on this. @Nexarian - do you have a better handle on this area? |
Beta Was this translation helpful? Give feedback.
-
Hi,
I'm writing this after spending over a week trying to get
xrdp
andxorgxrdp
working on my Arch Linux system. Try as I may, I've all but failed, only ever connecting to black screens.Rather than create another issue, as my issues may already be answered or solved elsewhere, I thought I'd start a discussion instead... A lot of these points relate to other repos made by contributors, but as this is the main one, I thought I'd write it here, hope that's okay 🙂 .
I've since set up Ubuntu 24.04 on a separate partition and
xrdp
works out of the box. However, it connected to a black screen if I had already logged into Gnome at the monitor, and it's not in the configuration I want to run it. My Arch Linux system is setup with secure boot and encrypted partitions, and runs several crucial docker workloads. Further, I've seen nvidia flavoured packages and am keen to take advantage of my GPU for hardware acceleration...My Configuration
CPU: AMD Ryzen 9 5900X
GPU: Nvidia RTX 3070
OS: Arch Linux
Systemd
SDDM
Plasma
KDE
Google has brought me to many Issues, gists forks and separate repos, which have lots of useful information buried within. You guys appear to be doing a great job of responding to comments and moving xrdp forward. I'm quite excited about getting it working to be honest! However, I've been really struggling...
So, I've got some questions about the various projects, versions and configurations. I'm not sure if this is the best place to document answers to those questions (as then there's somewhere else to look!), but it would be nice to at least have links to documentation where I can find the answers to my questions...
Nvidia Hardware Acceleration
This gist shows how to set up xrdp with Nvidia acceleration: https://gist.github.com/Nexarian/0eb26a3284b21b55b6e1e8653ed88ec9. It uses two of his private repositories:
No commits have made to these branches for a year old now, almost to the day. I'd love to see these integrated into the main repositories, but I haven't seen a PR, and there are now merge conflicts between his branches and the neutrinolabs devel repositories, which I've attempted to fix. Are there any plans to introduce those forks, or are there alternative plans for graphics acceleration?
Having tried using his forks, I think they might need some further work related to loading the nvidia code at runtime, but I'm not sure, as never got them working tbh...
Systemd Session workarounds
Systemd seems pretty common these days, and I've seen that there are issues related to graphical sessions on systemd.
@matt335672 has put together this great little repository for systemd users: https://github.com/matt335672/nest-systemd-user. It seems like another candidate for merging into https://github.com/neutrinolabs/xrdp?
Wayland
I've enjoyed seeing some discussion about Wayland. Has anyone tried running
Xwayland -rootless
instead ofXorg
? I've tried myself, but as usual, black screen...Other system quirks
Information on the above quirks in relation to Nvidia and Systemd are quite hard to find, as is information on compatible versions. I think I saw someone say
xorgxrdp-nvidia
doesn't work withxrdp
version 0.10, but didn't see an explanation as to why?I've also seem enabling glamor only works on non-nvidia hardware, is that still true and will it always be the case?
I think the
xrdp
andxorgxrdp
projects are great and appear more active than some of the other user-space Linuxrdp
solutions (e.g.krdp
,gnome-remote-desktop
). I'm not a great C developer by any means, but I have a system I'd like to get working and I'd be happy to contribute testing changes to help improve compatibility with Nvidia hardware and systemd systems 🙂Beta Was this translation helpful? Give feedback.
All reactions