Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gfx mainline merge work #2891

Merged
merged 21 commits into from
Feb 8, 2024
Merged

Gfx mainline merge work #2891

merged 21 commits into from
Feb 8, 2024

Commits on Feb 1, 2024

  1. Initial rfx progressive integration

    - Mostly base functions and utilities necessary to enable RFX
      Progressive
    - Add more EGFX work & mode flags.
    - Update encoder.
    - Does not yet include caps determination to enable RFX progressive
      (yet).
    - Update protocol constants
    Nexarian authored and Christopher Pitstick committed Feb 1, 2024
    Configuration menu
    Copy the full SHA
    afa70e4 View commit details
    Browse the repository at this point in the history
  2. More integration work from mainline_merge_shm

    - Introduce functional EGFX caps.
    - Prototype of RFX Progressive working.
    - Update resizing to work with it.
    - Refactoring
    Nexarian authored and Christopher Pitstick committed Feb 1, 2024
    Configuration menu
    Copy the full SHA
    65137e6 View commit details
    Browse the repository at this point in the history
  3. Updating quantization values to remove corruption.

    Nexarian authored and Christopher Pitstick committed Feb 1, 2024
    Configuration menu
    Copy the full SHA
    de2c01a View commit details
    Browse the repository at this point in the history
  4. Switching encoder logging statements to LOG not LOG_DEVEL

    Nexarian authored and Christopher Pitstick committed Feb 1, 2024
    Configuration menu
    Copy the full SHA
    63e963d View commit details
    Browse the repository at this point in the history
  5. Add 0 as valid g_obj_wait timeout instead of having it be equivalent …

    …to -1.
    Nexarian authored and Christopher Pitstick committed Feb 1, 2024
    Configuration menu
    Copy the full SHA
    584a894 View commit details
    Browse the repository at this point in the history
  6. Fix memory leak and RFX encoder notify

    Nexarian authored and Christopher Pitstick committed Feb 1, 2024
    Configuration menu
    Copy the full SHA
    1b6ca22 View commit details
    Browse the repository at this point in the history
  7. Fix resize-on-the-fly by processing memory allocation complete.

    Nexarian authored and Christopher Pitstick committed Feb 1, 2024
    Configuration menu
    Copy the full SHA
    5293f13 View commit details
    Browse the repository at this point in the history
  8. GFX: sort versions, flags to return the highest version we support in… (

    #2911)
    
    * GFX: sort versions, flags to return the highest version we support in caps advertise
    
    * GFX: simpify swtich in caps_advertise
    
    * GFX: log skipped capability versions in caps_advertise
    jsorg71 authored and Christopher Pitstick committed Feb 1, 2024
    Configuration menu
    Copy the full SHA
    c961563 View commit details
    Browse the repository at this point in the history
  9. Making SHM read only from xup

    Nexarian authored and Christopher Pitstick committed Feb 1, 2024
    Configuration menu
    Copy the full SHA
    c08cebb View commit details
    Browse the repository at this point in the history
  10. Adding KEY_FRAME_REQUESTED parameter.

    Nexarian authored and Christopher Pitstick committed Feb 1, 2024
    Configuration menu
    Copy the full SHA
    2e1f7f1 View commit details
    Browse the repository at this point in the history
  11. Enabling RFX_PRO key frame handling.

     - Also update librfxcodec
    Nexarian authored and Christopher Pitstick committed Feb 1, 2024
    Configuration menu
    Copy the full SHA
    97b2527 View commit details
    Browse the repository at this point in the history
  12. GFX: fix multimon login screen drawing

    jsorg71 authored and Christopher Pitstick committed Feb 1, 2024
    Configuration menu
    Copy the full SHA
    3fab31c View commit details
    Browse the repository at this point in the history
  13. Fix service call filter.

    Christopher Pitstick committed Feb 1, 2024
    4 Configuration menu
    Copy the full SHA
    ccead29 View commit details
    Browse the repository at this point in the history
  14. error-check xrdp_mm_egfx_send_planar_bitmap() paths

    Without some checking for this call, it's possible for the xrdp
    process to never end when the client goes away.
    matt335672 authored and Christopher Pitstick committed Feb 1, 2024
    Configuration menu
    Copy the full SHA
    e5d455d View commit details
    Browse the repository at this point in the history
  15. Don't enable GFX if client doesn't support 32 BPP

    mstsc.exe indicates it supports GFX in the early capability flags, even
    if it not able to support 32 BPP. This results in a session failure
    if a RDPGFX_CAPS_CONFIRM_PDU is sent on the EGFX virtual channel.
    matt335672 authored and Christopher Pitstick committed Feb 1, 2024
    Configuration menu
    Copy the full SHA
    d23d147 View commit details
    Browse the repository at this point in the history
  16. Don't pass drdynvc to neutrinoRDP

    Since v0.9.9, xrdp has assumed that the "drdynvc" static virtual
    channel is available for its exclusive use. With GFX support, it
    is necessary to codify this to prevent this sequence of operations:-
    
    - NeutrinoRDP target sends DVC Capabilities Request PDU
    - target responds wih DVC Capabilities Response PDU
    - xrdp processes this, starting the GFX virtual channel again
    
    In the future, if NeutrinoRDP requires access to virtual channels,
    data may somehow need to be passed through to the target while being
    parsed and handled appropriately within xrdp.
    matt335672 authored and Christopher Pitstick committed Feb 1, 2024
    Configuration menu
    Copy the full SHA
    d9783a9 View commit details
    Browse the repository at this point in the history
  17. Resize state machine: A fix and a question (#2929)

    * Store EGFX state before entering resize state machine
    
    At present the EGFX state is destroyed by states WMRZ_EGFX_DELETE_SURFACE
    through WRMZ_EGFX_DELETE. This means that at WMRZ_EGFX_INITIALIZE we
    cannot distinguish between EGFX not being ever used, and EGFX
    having been torn down. Consequently, when running non-GFX, we don't
    correctly recover the session.
    
    * Allow multiple reasons for suppress_output
    
    Replaces the single boolean for suppress_output with
    a bitmask, to allow output to be suppressed for
    more than one reason
    
    * Disable output during resize
    
    * Add states to dynamic resize
    
    Adds states to the dynamic resize state machine so we wait for a
    Deactivation-Reactivation sequence to finish before sending pointer
    updates, etc.
    
    * suppress module output during the dynamic resize
    
    * Add support for dynamic resize to VNC backend
    
    xrdp_mm needs to be informed when a resize has been performed so that
    the resize stte machine can be updsate.
    matt335672 authored and Christopher Pitstick committed Feb 1, 2024
    Configuration menu
    Copy the full SHA
    54acca4 View commit details
    Browse the repository at this point in the history
  18. Gfx mainline merge multimon1 (#2933)

    * GFX: work on multimon
    
    * fix for non GFX multimon
    jsorg71 committed Feb 1, 2024
    Configuration menu
    Copy the full SHA
    33539c1 View commit details
    Browse the repository at this point in the history

Commits on Feb 2, 2024

  1. Fix crash with resizing

    Nexarian committed Feb 2, 2024
    Configuration menu
    Copy the full SHA
    75b41af View commit details
    Browse the repository at this point in the history

Commits on Feb 3, 2024

  1. More NPE fix

    Nexarian committed Feb 3, 2024
    Configuration menu
    Copy the full SHA
    8027a42 View commit details
    Browse the repository at this point in the history

Commits on Feb 8, 2024

  1. Configuration menu
    Copy the full SHA
    76242bb View commit details
    Browse the repository at this point in the history