Please add wayland-protocols to Libretro PPA to enable Wayland support in RetroArch. Please note, that on Ubuntu 18.04 you need wayland-protocols == 1.15, otherwise you will get an error, because requeired wayland-scanner version is too old.
This is also the cause of the udev input driver no-input error (even if you added the user to the input group) and some slowness.
The cause is probably the same: fallback to X11 compatibility on Wayland with XWayland. Also affects the flatpak build (but i already opened a issue for that).
@hizzlekizzle Since you have access to the PPA builds can you do this?
@Sunderland93 Normally these issue should be reported to the distro maintainers, not the upstream repo, but maybe someone might be able to help here...
is this required at runtime or compile time?
@hizzlekizzle Compile time, its needed to generate the wayland protocols during configure.
https://github.com/libretro/RetroArch/blob/master/gfx/common/wayland/generate_wayland_protos.sh
Its probably needed at runtime too though?
alright, I just added it to the compile-time dependencies in the recipe (hopefully), so it should get picked up as a runtime dependency, too, if needed
Its probably needed at runtime too though?
No
@hizzlekizzle please update wayland-protocols package for Bionic to version 1.15
Why doesn't bionic update naturally to the last version available?
You said
Ubuntu 18.04 you need wayland-protocols == 1.15, otherwise you will get an error, because requeired
wayland-scannerversion is too old
wayland-scanner is checked by the ./configure for some reason but it's not a direct dependency in the control file. Is it held back on bionic?
Or in other words, does this need wayland-protocols (== 1.15) forever or until bionic is LTS-ed out or updates wayland-scanner; or does wayland-protocols (>= 1.15) suffice? And isn't the build bot going to fail when it tries to install wayland-scanner and it tries to install wayland-protocols-1.13-1 (or whatever it was), since it decided not to install 1.15 before (supposedly the last version it works with)?
edit: thinking about it, the answer is probably that wayland was installed by a metapackage in the buildbot, that pulled in 'known good' versions for the distro default wayland. Then when it checks for wayland-protocols it sees it's installed, there is no required version, so it goes on and falls in it's face.
This is congruent with installing wayland-protocols manually showing the deb has no dependencies, not force upgrading anything; except since you mention wayland-scanner on bionic doesn't work with anything > 1.15; wayland-protocols (>= 1.15) should work for all if aptitude is conservative on bionic.... i'm not sure.
Currently in Bionic's repo wayland-protocols 1.13. RetroArch needs >=1.15. In a build log:
Checking presence of package wayland-egl >= 10.1.0 ... 18.1.0
Checking presence of package wayland-cursor >= 1.12 ... 1.16.0
Checking presence of package wayland-protocols >= 1.15 ... no
Checking presence of package wayland-scanner >= 1.12 ... 1.16.0
Checking presence of package xkbcommon >= 0.3.2 ... 0.8.0
Checking presence of package xext ... 1.3.3
Checking presence of package xxf86vm ... 1.1.4
Notice: wayland libraries not found, disabling wayland support.
I see. This will make it not build in bionic and earlier until canonical makes a backport though (not only 'not build with wayland' because build minimal requirements in the control file can't 'downgrade').
This means that that minimal package requirement doesn't actually help, because ubuntu disco will have the last version (probably) and bionic still won't and will fail, so instead of having disabled wayland it will just fail in the buildbot. It's probably better (sadly) to do nothing if this scenario happens and just accept you won't get Wayland support in bionic without upstream backporting wayland updates there (or the user selfbuilding and force installing the later package like i did).
https://launchpad.net/ubuntu/bionic/+package/wayland-protocols
I must have been looking at the wrong page (the one for 18.10 i guess) when i found 1.17.
However, flatpak was supposed to be independent of the distro mess; i don't know why they'd be affected; but they undoubtedly are since i noticed this there first. Ugh, i hope that the buildbots aren't building a single version for bionic or earlier and trying to pass that to later releases, if so this won't ever get fixed there.
Semi good news is that a new Long Term Support release for Ubuntu is in April (2 months away) and this problem will solve itself for PPA when people upgrade then. I'm using the flatpak thou... I probably should uninstall it and just keep building from source and placing a .bashrc alias like i already have to do to call flatpak retroarch and gradio from the cmd line.
I also noticed in configure it doesn't check if wayland-cursor is actually found for wayland support, should this be fixed?
I updated the PPA recipes to hopefully include this, if anyone wants to test it.
I know appimage typically uses existing distro/ppa packages and then just bundles the libs, rather than building from source, so it will indeed just keep pulling old packages (I think trusty is the default, which is old af).
I know appimage typically uses existing distro/ppa packages and then just bundles the libs, rather than building from source, so it will indeed just keep pulling old packages (I think trusty is the default, which is old af).
Yeah, fuck that. Uninstalling flatpak, building from source for now, will update back to PPA when 19.04 is released later (though i'd have liked it had a option to enable the core updater instead of it being patched out).
You're probably going to get a flood of problems and bug reports from the stable releases for flatpak and snap(?) using XWayland more or less permanently, especially once 19.04 switches Wayland back to default again.
I tried removing the patches for the online updater. Is it still doing it with the latest builds?
@hizzlekizzle Please remove this patch and replace it with ./configure --disable-update_assets. Its just embarrassing how it comments out the feature while ignoring the #ifdef...
I tried removing the patches for the online updater. Is it still doing it with the latest builds?
I haven't been using the PPA builds for some months, i no longer know, but when i last checked, no.
@i30817
Semi good news is that a new Long Term Support release for Ubuntu is in April (2 months away)
In April 2020
@orbea
I also noticed in configure it doesn't check if wayland-cursor is actually found for wayland support, should this be fixed?
I think yes, it should be
Ugh, right 19.04 is not LTS (it was supposed to be but canonical decided 'nah').
Alright, the online updater settings should be unpatched now (and I'm not disabling them anymore). What about the wayland stuff? Is that doing any better or do I still need to add something(s)?
do I still need to add something(s)?
Yes. You need to add fresh wayland-protocols package to Libretro PPA for Bionic and Xenial (only version 1.15)
I'm not sure that's going to be possible, as it won't allow me to upload anything to the PPA because we're far past the storage limit (>7 GB of files vs 2 GB limit). It doesn't seem to mind using the recipes beyond the limit but I can't just push up source packages manually.
You may ask Launchpad maintainers to add more disk space for Libretro PPA https://answers.launchpad.net/launchpad/+addquestion
Can https://github.com/libretro/RetroArch/pull/8250 be backported to RetroArch 1.7.6 (as a patch on Launchpad)? Also this will solve problem with Flatpak
Fwiw I think the idea is that v1.7.7 will be out sooner rather than later.
I went ahead and tried adding it as a patch to build for Bionic and earlier. We'll see how it goes.
EDIT: patch wouldn't apply, so we'll just wait for 1.7.7
Yea, I think there would need to be some earlier commits backported too..