I have seen comments in the thread on explicit sync saying that people have applied the patches to get explicit sync for wayland working on their system. I have looked around but haven’t been able to figure it out.

Can someone offer a tutorial on how to do it?

Apparently these three patches are needed (from this link: https://forums.developer.nvidia.com/t/feature-g-sync-freesync-under-wayland-session/220822/75)

Xserver/Xwayland https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/967

Xorg protocols https://github.com/rwiggins/xorgproto/tree/explicit-sync

Wayland explicit sync protocol https://gitlab.freedesktop.org/emersion/wayland-protocols/-/tree/linux-explicit-sync-v2

  • ReidZB@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    You can write a PKGBUILD to build those three packages and install them. You can use existing -git AUR packages as a template – check out the PKGBUILDs locally and change the source to point at the merge request branch from the source repos.

    For example:

    Note that you’ll need to install xorgproto and wayland-protocols before building xorg-xwayland.

    • conan--aquilonian@alien.topOPB
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Thanks a bunch! and the pkbuilds will then patch and automatically add everything i need? And if i want to delete it, can I just do the regular yay -Rsn xorgproto-git wayland-protocols-git xorg-wayalnd-git?

      • Rhed0x@alien.topB
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        1
        ·
        1 year ago

        That means there are merge conflicts in the code that need to get resolved manually.

          • nkamerad@alien.topB
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 year ago

            When you start working on a code branch you’re basically taking a snapshot of the code repository as it exists at that moment.

            If someone else changes the same files between the time they started working on their branch and the time they submitted the merge request it creates a merge conflict.

            The code can still be reviewed by other maintainers for correctness, but in order to actually merge they will “rebase” their changes so they can apply to current code.

          • Business_Reindeer910@alien.topB
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 year ago

            It means that the code in the patch doesn’t apply cleanly to the current version of the code the patch is for. So they will have to adjust the code in the patch to make it apply with no errors.

  • ilep@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    1
    ·
    1 year ago

    You are basically asking to do what software developers are doing. There is no “tutorial” to learn it all but if you insist:

    • if the sources are already in a git repository, git pull/git merge will do
    • otherwise git apply to apply individual patch files to your source tree

    That is the easy part.

    Now you need to look at how to compile the sources into usable binaries. That means you need to sort out the dependencies (sources for other libraries etc.), have compiler setup and configure the sources for how you want to build them (features and flags).

    Compiling X is pretty convoluted so if you manage to do that you’ve learnt a lot. This should help a bit:

    https://www.x.org/wiki/Building_the_X_Window_System/

    Good luck.

    If you manage that you’ll get binaries that you can install and setup. But there is no shortcuts or tutorials.