Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Nexarian
    @Nexarian
    Anything else?
    Nexarian
    @Nexarian
    image.png
    The above is a massive breakthrough for XRDP. That is an Nvidia accelerated Gnome 3 session using NVENC and H264. Jay just finished the randr extension work to make it possible. It is 2x as fast as Mate.
    cheesekun
    @cheesekun:cheesekun.me
    [m]
    Does GFX also need to crop crects to 64x64 (or 256x256 ...) like RFX?
    cheesekun
    @cheesekun:cheesekun.me
    [m]
    When I call paint method with crects cropped to 64x64 in GFX(AVC420) mode, the screen is not painted anymore, so I'm passing the whole screen even if there are dirty rects.
    cheesekun
    @cheesekun:cheesekun.me
    [m]

    :point_up: Edit: Does GFX also need to crop crects to 64x64 (or 256x256 ...) like RFX?

    (+ Is there anything I can do to help?)

    :point_up: Edit: Does GFX also need to crop crects to 64x64 (or 256x256 ...) like RFX?
    Nexarian
    @Nexarian

    @cheesekun:cheesekun.me I had investigated this in the past too! The answer is: I'm not certain. Previous to the post above where I show Gnome 3 working, Jay and I had largely only developed using the Mate Compton compositor, and that one doesn't send smaller crects than the entire screen. @jsorg71 had told me that most compositing window managers don't really send anything smaller than the entire screen anymore, and the bandwidth savings instead come from how efficient the differencing engine of the H264 protocol is.

    All this is to say: The not-the-full-screen version of GFX has never been tested. Note that for RFX, we compute the regions ourselves, I don't think the window managers are sending us nicely-split-up sections, either: https://github.com/Nexarian/xorgxrdp/blob/mainline_merge/module/rdpCapture.c#L1141

    Anyway yes, help is appreciated, and if we get this working my guess is this will be EVEN faster than the screaming performance I showcased above.

    At the same time, I think it's worth investigating. Because we don't have the source to the Microsoft clients, your next best bet is to investigate if FreeRDP handles this type of thing (because maybe Windows servers do split up the crects), and then use that to see what can be done to import that logic into XRDP.

    Nexarian
    @Nexarian
    Also feel free to message me directly on here to talk more in depth about your findings. Or if you want to do a 1:1 debugging session sometime, that works too!
    At present I'm working on finishing up neutrinolabs/xrdp#2175. @aquesnel's questions required a lot of deep thought and testing for me to answer, so I'm working on a wiki that explains the architecture of the GFX-compatible resizing infrastructure so we can have the design documented and reviewed.
    rcfa
    @rcfa
    There's something that's maybe unique to my setup, but still...
    ...here's what I do: I use a RaspberryPi as iPad Pro accessory, or alternatively, I use an iPad Pro with MagicKeyboard as "graphic terminal" for my RapsberryPi.
    In short, the combination acts like a laptop, in combination of Microsoft's RDP app on the iPad Pro, and xrdp on the Raspberry Pi, with networking and power being delivered to Raspberry Pi through USB-C-OTG.
    The experience is very seamless.
    There's however one thing: USUALLY playing back audio and and recording audio on/from the iPad Pro via pulsaudio-module-xrdp is what I want (RasPi has no speakers) even though there are occasional drop outs.
    However, since the "remote" system is actually 5 inches away, if I want to listen to headphones, I want to use bluetooth or headphone plug of the RasperryPi and not of the iPadPro, i.e. the local audio, rather than going through pulseaudio-module-xrdp.
    Similarly, there's also an AirPlay audio module in pulseaudio, which would, at various locations, allow me to play back audio through AirPlay speakers, rather than through the comparatively tinny iPad Pro speakers.
    The thing is, when xrdp connects, it REPLACES all the local pulseaudio sources and sinks, rather than just ADDING the pulseaudio-module-xrdp.
    Now, I understand, in the case of a REAL remote setup, that makes sense: if I access a computer on the other side of the globe, USUALLY I don't want to playback audio there but locally i.e. at the site of the xrdp session (although there are use cases for the latter, too.)
    Now, here the question: can I simply add the contents of /etc/pulse/default.pa to /etc/xrdp/pulse/default.pa and be done, or what needs to be done?
    I prefer not to fuck up things :)
    1 reply
    matt335672
    @matt335672
    @rfca - I assume you're using the PA setup documented in https://github.com/neutrinolabs/pulseaudio-module-xrdp/wiki/README. If so, have a look at the load_pa_modules.sh which is run when xrdp connects. You can modify that to suit your use-case.
    metalefty
    @metalefty
    @cheesekun:cheesekun.me Some thoughts on ulalaca: Is it possible to switch license of xrdp module to Apache License 2.0? It would be nice to have license same with xrdp itself when adding it as xrdp's submodule. Regarding ulalaca session projector, you can stay on Artistic License 2.0 because it is not in xrdp source tree.
    Gyuhwan Park★
    @unstabler
    @metalefty okay, switched to apache license 2.0!
    metalefty
    @metalefty
    thanks!
    Ding Jiong
    @ding404
    @unstabler I am trying to use xrdp with ulalaca on macOS M1, when I login from my windows remote desktop connection, it prompts error
    [20220520-23:25:44] [INFO ] establishing connection to SessionProjector
    [20220520-23:25:44] [INFO ] establishing connection to SessionProjector
    [20220520-23:25:44] [INFO ] connect(): No such file or directory (2)
    [20220520-23:25:44] [INFO ] connect(): No such file or directory (2)
    [20220520-23:25:44] [ERROR] xrdp_wm_log_msg: Error connecting to user session
    [20220520-23:25:44] [INFO ] Error connecting to user session
    How can I fix this issue ?
    cheesekun
    @cheesekun:cheesekun.me
    [m]
    @ding404: Have you build and run sessionprojector?
    You can get sessionprojector from https://github.com/unstabler/ulalaca.
    Ding Jiong
    @ding404
    @cheesekun: it seems a xcode project for MacOS app, I am not familiar with MacOS app dev. I just clone ulalaca and open project in xcode. And select sessionproject=>mac device. It error when I run it at the code "fatalError("")" in EventInjector.swift line 39
    Ding Jiong
    @ding404
    image.png
    cheesekun
    @cheesekun:cheesekun.me
    [m]
    @ding404: you should grant accessibility/screen recording permission to sessionprojector.app.
    i have not started work on that (handling permission) part yet, sorry > <);
    Ding Jiong
    @ding404
    image.png
    cheesekun
    @cheesekun:cheesekun.me
    [m]
    ..and accessibility!
    Ding Jiong
    @ding404
    enable screen recording permission, but still the same error
    where is accesibility ?
    find it
    image.png
    the same error still exist
    cheesekun
    @cheesekun:cheesekun.me
    [m]
    in macos, the granted permission will invalidated when executable binary has changed (by re-build the app ...)
    if you rebuild the application, you should try remove and add sessionprojector.app to the app list again.
    Ding Jiong
    @ding404
    where I can find sessionprojector.app ?
    image.png
    I just run sessionprojector from xcode by [Product]->[Run]
    cheesekun
    @cheesekun:cheesekun.me
    [m]
    if you editing the source code of sessionprojector, you should use AppCode rather than Xcode.
    in Xcode, you should repeat that painful process on every build.
    Ding Jiong
    @ding404
    i can find app from xcode, but I can not find sessionprojector.app from settings permission
    1 reply
    what's AppCode ? MacOS App which can be download from app store ?
    cheesekun
    @cheesekun:cheesekun.me
    [m]
    :point_up: Edit: if you editing the source code of sessionprojector, you should use AppCode rather than Xcode.
    in Xcode, you will repeat that painful process on every build.
    Ding Jiong
    @ding404
    the ulalaca is running, but it still has same error
    image.png
    I put sessionprojector at application and grant it permission, then I run it. I can find this app on system bar
    cheesekun
    @cheesekun:cheesekun.me
    [m]
    if you cloned ulalaca-xrdp today,
    add
    username=ask
    password=ask
    to [ulalaca] entry on /etc/xrdp/xrdp.ini and restart xrdp.
    1 reply
    Ding Jiong
    @ding404
    image.png
    image.png
    cheesekun
    @cheesekun:cheesekun.me
    [m]
    many parts of ulalaca are still in heavy development, so i would like you to wait until development has finished.. > <);
    Ding Jiong
    @ding404
    ok, do you know when it can be released to use ?
    cheesekun
    @cheesekun:cheesekun.me
    [m]
    i can't give you a definite answer..
    Ding Jiong
    @ding404
    ok, thanks cheesekun. I will try once it is finshed
    cheesekun
    @cheesekun:cheesekun.me
    [m]
    thanks for your understanding 👍
    matt335672
    @matt335672
    Hi chaps - I've just had a close relative taken into hospital with a broken hip, and that's going to significantly affect the effort I've got available for a couple of weeks at least - family has to come first. During that time I'll be doing what I can on the project, but I may be a bit quiet for longish periods!
    1 reply