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
I think you’re jumping the gun.
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 thesource
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.
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?
If you’re using an nvidia card Eric Kurzinger also says that the nvidia drivers don’t actually support the explicit sync protocol yet so there’s still going to be corruption of some kind.
And it says the “merge pipeline failed” whatever that means
That means there are merge conflicts in the code that need to get resolved manually.
what is a merge conflict and how do they resolve it manually.
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.
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.
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.
thanks!
Do you have integrated gpu ?