Collabora weekly progress w/e 16th February 2020

Nick Milner

Please find below a brief summary of the progress Collabora have made last week on Pipewire and Weston/Wayland.



    - Continued refactoring, polishing and documenting WirePlumber APIs:
    - refactored WpSession and WpEndpoint to be WpProxy subclasses for efficiency and simplicity
    - refactored the object manager and the whole code around registry handling
        so that locally created proxies are associated with global IDs, improving memory efficiency
        and reducing protocol round-trips

    - Implemented wireplumber logic to create and link the new pipewire audio-fade-source control
    node with the new control port of pipewire audioconvert. This allows wireplumber to send control
    properties to a stream and so be able to do fade in/out audio effects.
    - Implemented wireplumber policy logic to send fade in/out properties when creating/destroying
    endpoint links.
    - Fixed wireplumber config policy unit tests to work with new fade in/out policy logic.

Weston / Wayland


    - whilst testing output transform (as the default AGL images comes with a now 90 rotation)
    noticed another qtwayland problem, somehow similary to the previous qtwayland in which some of the
    panels weren't displayed. This time, the client acks a configure event but attempts to commit a buffer 
    with invalid width/height. While digging a bit the qtwayland code I've discovered that it uses the v6 unstable
    XDG shell and I can't force to use the stable one though the release notes of qtwayland says otherwise (the
    main interface used to bind to is wrongly used in the code).
    - posted a series of patches for agl-compositor to update to libweston7 (for the next branch on AGL).
    This took more than expected due to the fact that the agl-poky configuration removes the x11 distro
    feature keyword, combined with the fact that the weston recipe from yocto will now build weston and libweston
    differently based on what distro features have been passed. agl-compositor has, besides a wayland and DRM
    backend, a x11 backend, which I believe could be really useful for local development. Meson is
    a bit clunky on this side as well such that it makes a bit things tricky to determine if the libweston7
    has or not the x11 backend headers installed.
    - As there are now two issues related to qtwayland I've re-tested the output transform and panel display
    issues using the next version of qtwayland from the next branch, specifically 5.13, and I can confirm
    that those problems are fixed under the newer qtwayland version.
    (This obviously tests the update to libweston7 as well).

Kind regards,


Join to automatically receive all group messages.