-
Couldn't load subscription status.
- Fork 775
openSUSE support #1204
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
Open
stephanedenis
wants to merge
4
commits into
OpenKinect:master
Choose a base branch
from
stephanedenis:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
openSUSE support #1204
Changes from 1 commit
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,156 @@ | ||
| # Installation de libfreenect2 sur openSUSE | ||
|
|
||
| Ce guide explique comment installer libfreenect2 (driver pour Kinect v2) sur openSUSE. | ||
|
|
||
| ## Prérequis | ||
|
|
||
| - openSUSE Leap 15.4+ ou Tumbleweed | ||
| - Port USB 3.0 (le Kinect v2 ne fonctionne pas avec USB 2.0) | ||
| - Contrôleur USB 3.0 compatible (Intel et NEC sont connus pour fonctionner, ASMedia ne fonctionne pas) | ||
|
|
||
| ## Installation automatique | ||
|
|
||
| Le moyen le plus simple est d'utiliser le script d'installation fourni : | ||
|
|
||
| ```bash | ||
| cd /chemin/vers/libfreenect2 | ||
| ./install_opensuse.sh | ||
| ``` | ||
|
|
||
| ## Installation manuelle | ||
|
|
||
| ### 1. Installer les outils de base | ||
|
|
||
| ```bash | ||
| sudo zypper install git cmake pkg-config gcc-c++ make | ||
| ``` | ||
|
|
||
| ### 2. Installer les dépendances principales | ||
|
|
||
| ```bash | ||
| # libusb (requis, version >= 1.0.20) | ||
| sudo zypper install libusb-1_0-devel | ||
|
|
||
| # TurboJPEG pour le décodage JPEG rapide | ||
| sudo zypper install libjpeg-turbo libturbojpeg0 | ||
|
|
||
| # GLFW pour OpenGL | ||
| sudo zypper install libglfw3 libglfw-devel | ||
|
|
||
| # OpenGL/Mesa | ||
| sudo zypper install Mesa-devel Mesa-libGL-devel Mesa-libEGL-devel | ||
| ``` | ||
|
|
||
| ### 3. Dépendances optionnelles | ||
|
|
||
| #### OpenCL (pour accélération GPU) | ||
|
|
||
| ```bash | ||
| # Headers OpenCL | ||
| sudo zypper install opencl-headers | ||
|
|
||
| # Pour GPU Intel | ||
| sudo zypper install intel-compute-runtime | ||
|
|
||
| # Pour GPU AMD, installer les drivers propriétaires AMD | ||
| ``` | ||
|
|
||
| #### CUDA (pour GPU NVIDIA) | ||
|
|
||
| ```bash | ||
| # Suivre les instructions NVIDIA pour installer CUDA Toolkit | ||
| # Généralement via les dépôts NVIDIA ou les packages téléchargés | ||
| ``` | ||
|
|
||
| #### VAAPI (décodage JPEG Intel) | ||
|
|
||
| ```bash | ||
| sudo zypper install libva-devel | ||
| ``` | ||
|
|
||
| #### OpenNI2 (optionnel) | ||
|
|
||
| ```bash | ||
| sudo zypper install libopenni2-devel | ||
| ``` | ||
|
|
||
| ### 4. Compiler libfreenect2 | ||
|
|
||
| ```bash | ||
| mkdir build && cd build | ||
| cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/freenect2 | ||
| make -j$(nproc) | ||
| make install | ||
| ``` | ||
|
|
||
| ### 5. Configuration des permissions | ||
|
|
||
| ```bash | ||
| sudo cp ../platform/linux/udev/90-kinect2.rules /etc/udev/rules.d/ | ||
| sudo udevadm control --reload-rules | ||
| # Débrancher et rebrancher le Kinect | ||
| ``` | ||
|
|
||
| ## Test de l'installation | ||
|
|
||
| ```bash | ||
| cd $HOME/freenect2/bin | ||
| ./Protonect | ||
| ``` | ||
|
|
||
| ## Différences avec Ubuntu/Debian | ||
|
|
||
| | Ubuntu/Debian | openSUSE | Notes | | ||
| |---------------|----------|-------| | ||
| | `apt-get install` | `zypper install` | Gestionnaire de paquets | | ||
| | `libturbojpeg0-dev` | `libjpeg-turbo` + `libturbojpeg0` | Paquets séparés | | ||
| | `libglfw3-dev` | `libglfw3` + `libglfw-devel` | Séparation lib/devel | | ||
| | `beignet-dev` | `intel-compute-runtime` | OpenCL Intel | | ||
|
|
||
| ## Résolution de problèmes | ||
|
|
||
| ### Le Kinect n'est pas détecté | ||
|
|
||
| 1. Vérifiez que c'est bien un port USB 3.0 : `lsusb -t` | ||
| 2. Vérifiez les règles udev : `ls -la /etc/udev/rules.d/*kinect*` | ||
| 3. Redémarrez le service udev : `sudo systemctl restart systemd-udevd` | ||
| 4. Vérifiez les logs : `dmesg | grep -i kinect` | ||
|
|
||
| ### Erreurs de compilation | ||
|
|
||
| 1. Vérifiez que toutes les dépendances sont installées | ||
| 2. Pour les erreurs OpenCL : `cmake .. -DENABLE_OPENCL=OFF` | ||
| 3. Pour les erreurs CUDA : `cmake .. -DENABLE_CUDA=OFF` | ||
| 4. Pour les erreurs OpenGL : `cmake .. -DENABLE_OPENGL=OFF` | ||
|
|
||
| ### Performance | ||
|
|
||
| - Utilisez différents pipelines via la variable d'environnement : | ||
| ```bash | ||
| export LIBFREENECT2_PIPELINE=opengl # (défaut) | ||
| export LIBFREENECT2_PIPELINE=cl # OpenCL | ||
| export LIBFREENECT2_PIPELINE=cuda # CUDA | ||
| export LIBFREENECT2_PIPELINE=cpu # CPU seulement (lent) | ||
| export LIBFREENECT2_PIPELINE=vaapi # VAAPI (Intel) | ||
| ``` | ||
|
|
||
| ## Intégration avec des projets tiers | ||
|
|
||
| Pour utiliser libfreenect2 dans vos propres projets CMake : | ||
|
|
||
| ```cmake | ||
| find_package(freenect2 REQUIRED | ||
| HINTS $ENV{HOME}/freenect2/lib/cmake/freenect2) | ||
| target_link_libraries(your_target ${freenect2_LIBRARIES}) | ||
| ``` | ||
|
|
||
| ## Désinstallation | ||
|
|
||
| ```bash | ||
| # Supprimer l'installation locale | ||
| rm -rf $HOME/freenect2 | ||
|
|
||
| # Supprimer les règles udev | ||
| sudo rm /etc/udev/rules.d/90-kinect2.rules | ||
| sudo udevadm control --reload-rules | ||
| ``` |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,120 @@ | ||
| #!/bin/bash | ||
|
|
||
| # Script d'installation de libfreenect2 pour openSUSE | ||
| # Adapté du script d'installation Ubuntu/Debian | ||
|
|
||
| set -e | ||
|
|
||
| echo "=== Installation de libfreenect2 sur openSUSE ===" | ||
| echo "" | ||
|
|
||
| # Fonction pour vérifier si une commande existe | ||
| command_exists() { | ||
| command -v "$1" >/dev/null 2>&1 | ||
| } | ||
|
|
||
| # Vérifier si on a les privilèges admin | ||
| if ! command_exists sudo && [ "$EUID" -ne 0 ]; then | ||
| echo "Erreur: Ce script nécessite les privilèges administrateur." | ||
| echo "Utilisez 'sudo' ou exécutez en tant que root." | ||
| exit 1 | ||
| fi | ||
|
|
||
| # Fonction pour installer avec zypper | ||
| install_pkg() { | ||
| if command_exists sudo; then | ||
| sudo zypper install -y "$@" | ||
| else | ||
| zypper install -y "$@" | ||
| fi | ||
| } | ||
|
|
||
| echo "1. Installation des outils de compilation de base..." | ||
| install_pkg git cmake pkg-config gcc-c++ make | ||
|
|
||
| echo "" | ||
| echo "2. Installation des dépendances libfreenect2..." | ||
|
|
||
| # libusb >= 1.0.20 (requis) | ||
| echo " - libusb-1.0 (développement)" | ||
| install_pkg libusb-1_0-devel | ||
|
|
||
| # TurboJPEG pour le décodage JPEG | ||
| echo " - TurboJPEG" | ||
| install_pkg libjpeg-turbo libturbojpeg0 | ||
|
|
||
| # GLFW pour OpenGL | ||
| echo " - GLFW3" | ||
| install_pkg libglfw3 libglfw-devel | ||
stephanedenis marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| # OpenGL (Mesa) | ||
| echo " - OpenGL/Mesa" | ||
| install_pkg Mesa-devel Mesa-libGL-devel Mesa-libEGL-devel Mesa-libGLU-devel | ||
stephanedenis marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| echo "" | ||
| echo "3. Installation des dépendances optionnelles..." | ||
|
|
||
| # OpenCL (optionnel, pour Intel/AMD) | ||
| echo " - OpenCL (optionnel)" | ||
| install_pkg opencl-headers || echo " OpenCL headers non trouvés, continuons..." | ||
|
|
||
| # Pour Intel GPU OpenCL | ||
| echo " - Intel OpenCL (si GPU Intel présent)" | ||
| install_pkg intel-compute-runtime || echo " Intel OpenCL runtime non trouvé, continuons..." | ||
|
|
||
| # VAAPI pour décodage JPEG Intel (optionnel) | ||
| echo " - VAAPI (optionnel, Intel seulement)" | ||
| install_pkg libva-devel || echo " VAAPI non trouvé, continuons..." | ||
|
|
||
| # OpenNI2 (optionnel) | ||
| echo " - OpenNI2 (optionnel)" | ||
| install_pkg libopenni2-devel || echo " OpenNI2 non trouvé, continuons..." | ||
|
|
||
| echo "" | ||
| echo "4. Configuration des permissions USB..." | ||
| # Copier les règles udev | ||
| if command_exists sudo; then | ||
| sudo cp platform/linux/udev/90-kinect2.rules /etc/udev/rules.d/ | ||
| sudo udevadm control --reload-rules | ||
| else | ||
| cp platform/linux/udev/90-kinect2.rules /etc/udev/rules.d/ | ||
| udevadm control --reload-rules | ||
| fi | ||
|
|
||
| echo "" | ||
| echo "5. Compilation de libfreenect2..." | ||
|
|
||
| # Créer le répertoire de build s'il n'existe pas | ||
| mkdir -p build | ||
| cd build | ||
|
|
||
| # Configuration avec CMake | ||
| echo " Configuration avec CMake..." | ||
| cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/freenect2 \ | ||
| -DCMAKE_BUILD_TYPE=RelWithDebInfo | ||
|
|
||
| # Compilation | ||
| echo " Compilation..." | ||
| make -j$(nproc) | ||
|
|
||
| # Installation | ||
| echo " Installation..." | ||
| make install | ||
|
|
||
| echo "" | ||
| echo "=== Installation terminée avec succès ! ===" | ||
| echo "" | ||
| echo "Pour tester l'installation :" | ||
| echo "1. Branchez votre Kinect v2" | ||
| echo "2. Exécutez : cd $HOME/freenect2/bin && ./Protonect" | ||
| echo "" | ||
| echo "Notes importantes :" | ||
| echo "- Vous devez débrancher/rebrancher votre Kinect après l'installation des règles udev" | ||
| echo "- Le Kinect v2 nécessite un port USB 3.0" | ||
| echo "- Pour les applications tiers utilisant libfreenect2, utilisez :" | ||
| echo " cmake -Dfreenect2_DIR=$HOME/freenect2/lib/cmake/freenect2" | ||
| echo "" | ||
| echo "Pour les fonctionnalités optionnelles :" | ||
| echo "- OpenCL : définissez LIBFREENECT2_PIPELINE=cl" | ||
| echo "- CUDA : définissez LIBFREENECT2_PIPELINE=cuda (nécessite installation séparée)" | ||
| echo "- VAAPI : définissez LIBFREENECT2_PIPELINE=vaapi (Intel seulement)" | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.