RobLoach / net.lutris.Lutris

Pull requests for new applications to be added
https://flathub.org
2 stars 0 forks source link

Add Libudev.so.1 In Order for Libretro Cores To Work #34

Closed Saroufim closed 5 years ago

Saroufim commented 5 years ago

Libretro cores require libudev.so.1. Apparently, this is not part of the Lutris runtime and it needs to be added to the flatpak bundle.

gasinvein commented 5 years ago

Fixed in #36

Saroufim commented 5 years ago

The issue still persists after the inclusion of udev. Libretro still complains about missing libudev.so.1

gasinvein commented 5 years ago

Oh, right, libudev.so.1. We've bundled udev v175, which provides libudev.so.0.

RobLoach commented 5 years ago
~/.var/app/net.lutris.Lutris/data/lutris/runners/retroarch/retroarch: error while loading shared libraries: libudev.so.1: cannot open shared object file: No such file or directory

Hmm, curious. I think we have at least three options...

  1. Symlink libudev.so.1 to libudev.so.0
  2. Statically link udev within RetroArch
  3. Disable udev when compiling the RetroArch build in https://github.com/lutris/buildbot
gasinvein commented 5 years ago

We can just bundle systemd, e.g. from flathub/shared-modules#57. Steam flatpak is doing so, and neither udev can really work inside flatpak sandbox anyway.

gasinvein commented 5 years ago

The best approach would be building all the Lutris runners as flatpak extensions, so that they are built and linked against flatpak runtime. But this is barely possible without full support from Lutris devs - if they are not interested in flatpak as the primary platform for Lutris, there'll be too much effort for us.

RobLoach commented 5 years ago

@gasinvein I'm open to working on making org.libretro.RetroArch work as a flatpak extension for net.lutris.Lutris.

gasinvein commented 5 years ago

Turning it into Lutris extension should be easy enough, except for dependency on Qt. I'll try that later. Also we would need an extension point for runners in this (Lutris) manifest.

RobLoach commented 5 years ago

We could disable the Qt interface in the mean time.

./configure --disable-qt