-
-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[META] Use the Conda package management system or AppImage for rootless portable installations #63
Comments
This is possible. Conda enables installing packages without regard to ABI or OS compatibility, and GStreamer/GST-Python are usually updated to most new stable and development versions. The plugins are also in the repository. Even if the plugins are old, we can request Anaconda to update them to the recent versions. The CUDA Toolkit is also always available from NVIDIA. Most dependencies including the X11-related ones will also be ready in an OS-agnostic way. If we create a conda package for Selkies-GStreamer, this will lead to effortless installations of both gst-web and the Python components absolutely without root whatsoever, because it creates its own dependency environment. This is also the most academia way to install a package (lots of support from ML and other related projects), and it will help using Selkies in HPC clusters that use batch schedulers such as SLURM. We have a choice; adding this package to the conda-forge channel and letting them compile the project, or building the package with GitHub Actions and pushing it to our own channel. In the latter case, we may provide custom GStreamer builds as well. This can also enable distro-agnostic ready-to-go distribution of Selkies-GStreamer with GStreamer, gst-web, Python files, and CUDA ready to run anywhere, if we just build and package everything with Conda's own Python interpreter and build environment. Contribution from interested parties is welcome; this is also a good first issue if you are accustomed to conda. |
Edit: This is solved for now because GStreamer 1.24 pulls and compiles these missing dependencies automatically. However, for Selkies to become a feedstock for On Conda: From @elgalu: Cool! so I installed a few Me:
This was the long list of dependencies, where I believe you might want to find or build I think: https://webrtc.googlesource.com/src https://developer.ridgerun.com/wiki/index.php/GStreamer_WebRTC_Wrapper/Getting_the_Code/Building_and_Installation_Guide This is pretty much uncharted territory, and I would really appreciate if you could test things. You could ask on |
Would be really nice if we knew all the set of dependencies which could be installed with just conda and pip. https://anaconda.org/anaconda/gcc_linux-64 |
This seems easier because the CUDA dependency was reduced to NVRTC only. |
If anyone does this, make sure to start from Miniconda and enable only |
The initial implementation of the Conda build toolchain to generate a portable distro-agnostic distribution is ready. It will support any distro with glibc >= 2.17 (anything as old as CentOS/RHEL 7, Debian 8, Ubuntu 14.04).
|
libglvnd is implemented, making the Conda build workflow much cleaner. |
https://docs.conda.io/en/latest/
conda-forge feedstocks maintained for the purpose of deploying Selkies:
Please help maintain by adding yourself as a maintainer or create non-existent feedstocks.
Future feedstocks required for
conda install -c conda-forge selkies-gstreamer
:conda-forge/gstreamer-feedstock#131 (GStreamer WebRTC plugins)
conda-forge/staged-recipes#26241 (X.Org Libraries and Utilities including
xrandr
andXvfb
)conda-forge/xorg-makedepend-feedstock#9 (comment) (Revamp existing X.Org Libraries)
conda-forge/conda-forge.github.io#1891 (MSYS2 stack for X.Org Libraries)
conda-forge/staged-recipes#25800 (PipeWire)
conda-forge/mesalib-feedstock#78 (comment) (mesalib OpenGL provider) - Alternative is libglvnd-feedstock, now available below.
Dependencies managed by Selkies team:
X.Org X11 library/utility feedstocks including:
https://github.com/conda-forge/xorg-libxmu-feedstock
https://github.com/conda-forge/xorg-libxtst-feedstock
https://github.com/conda-forge/xorg-xauth-feedstock
https://github.com/conda-forge/xorg-libxcvt-feedstock
https://github.com/conda-forge/xorg-libxv-feedstock
https://github.com/conda-forge/xorg-libxshmfence-feedstock
https://github.com/conda-forge/xorg-libxxf86dga-feedstock
https://github.com/conda-forge/xorg-libxxf86vm-feedstock
Non-X.Org feedstocks:
https://github.com/conda-forge/pynput-feedstock
https://github.com/conda-forge/evdev-feedstock
https://github.com/conda-forge/xsel-feedstock
https://github.com/conda-forge/xclip-feedstock
https://github.com/conda-forge/wmctrl-cli-feedstock
https://github.com/conda-forge/xdotool-feedstock
https://github.com/conda-forge/libva-feedstock
https://github.com/conda-forge/libva-utils-feedstock
OpenGL feedstocks:
https://github.com/conda-forge/libglvnd-feedstock
Adjacent, but not depending feedstocks also managed by Selkies team:
https://github.com/conda-forge/wmctrl-feedstock
https://github.com/conda-forge/pyperclip-feedstock
The text was updated successfully, but these errors were encountered: