neutrinolabs / xrdp

xrdp: an open source RDP server
http://www.xrdp.org/
Apache License 2.0
5.59k stars 1.73k forks source link

Glamor gpu #3202

Closed Omniplast closed 4 weeks ago

Omniplast commented 1 month ago

xrdp version

v0.10-h264

Detailed xrdp version, build options

xrdp 0.10.1
  A Remote Desktop Protocol Server.
  Copyright (C) 2004-2024 Jay Sorg, Neutrino Labs, and all contributors.
  See https://github.com/neutrinolabs/xrdp for more information.

  Configure options:
      --enable-x264

  Compiled with OpenSSL 3.0.13 30 Jan 2024

Operating system & version

Ubuntu 24.04

Installation method

git clone & make install

Which backend do you use?

xorgxrdp v0.10-h264

What desktop environment do you use?

GNOME

Environment xrdp running on

Proxmox RTX 3060

What's your client?

Winows 11 rdp client

Area(s) with issue?

Other

Steps to reproduce

I'm trying to connect a video card to offload video in the browser. i originally followed this script and everything works. https://gist.githubusercontent.com/Nexarian/0eb26a3284b21b55b6e1e8653ed88ec9/raw/aa3d28a40754c7bedb4571189062c631ce57be61/xrdp-nvidia-setup.sh But it's not happy with the graphics in it. What am I doing wrong? I have tried all the current branches, devel v0.9 v0.10 and the same behavior everywhere else xorgxrdp build with --with-simd --enable-glamor

✔️ Expected Behavior

No response

❌ Actual Behavior

No response

Anything else?

image xrdp-sesman.log xrdp.log xorg.conf.txt xorgxrdp.10 .log

jsorg71 commented 1 month ago

I don't think Glamor will work with the NVidia drivers. It supports Intel and AMD GPUs well. If you want use Glamor with NVidia you have to use the Nouveau kernel drivers which you probably don't want to use. To use NVidia driver with xrdp you need to use the mainline_merge branch or the nvenc branch. This will be beta code if you still want to give it a try I can give you more info.

Omniplast commented 1 month ago

I don't think Glamor will work with the NVidia drivers. It supports Intel and AMD GPUs well. If you want use Glamor with NVidia you have to use the Nouveau kernel drivers which you probably don't want to use. To use NVidia driver with xrdp you need to use the mainline_merge branch or the nvenc branch. This will be beta code if you still want to give it a try I can give you more info.

Well that's the thing, I can use nvenc following the Nexarian repository but I'm not really satisfied with the graphical component in its implementation. That's why I'm trying to use the main repository as I plan to use this in production. So I would like to try it on nouveau first. Maybe you could suggest how to run on nouveau?

Nexarian commented 1 month ago

but I'm not really satisfied with the graphical component in its implementation

This caught my attention. What would you like to see here?

Omniplast commented 1 month ago

but I'm not really satisfied with the graphical component in its implementation

This caught my attention. What would you like to see here?

I could not figure out why, but the image is just where there is a red color (for example, YouTube icon) as if it blurs and shifts on pixleys. It seems that the image itself is not so clear. And also there is a problem, when there is more than 1 active client, xrdp starts to always 100% load 1 core.

jsorg71 commented 4 weeks ago

Yes I know what you mean. H264 does a great job compressing but the image is altered. Progressive RFX does do a better job at fidelity. Some notes here We are using the wrong color conversion in both nvenv and mainline_merge but we'll fix that soon. YUV444 should improve things down the road too, we are using YUV420 now. You should be able to use NVidia with Progressive RFX in the future too. Maybe even using CUDA for the compression. So I think you should take another look at NVidia and xrdp in the future.

Omniplast commented 4 weeks ago

Yes I know what you mean. H264 does a great job compressing but the image is altered. Progressive RFX does do a better job at fidelity. Some notes here We are using the wrong color conversion in both nvenv and mainline_merge but we'll fix that soon. YUV444 should improve things down the road too, we are using YUV420 now. You should be able to use NVidia with Progressive RFX in the future too. Maybe even using CUDA for the compression. So I think you should take another look at NVidia and xrdp in the future.

Do I understand correctly that in my case the most correct solution for now is to use the Nexarian repository? Or can I still somehow make chromium work with a video card with glamor + nouveau?

jsorg71 commented 4 weeks ago

@Omniplast Go ahead and try nouveau, you just need to uninstall the NVidia drivers. You should see nouveau with lsmod when you are all set. Note, with nouveau, you can't use nvenc or cuda.

Omniplast commented 4 weeks ago

@Omniplast Go ahead and try nouveau, you just need to installed the NVidia drivers. You should see nouveau with lsmod when you are all set. Note, with nouveau, you can't use nvenc or cuda.

Okay. Thank you all