[Switch] - Mettre en place un environnement de développement

 

Introduction

Ce tuto va vous permettre de mettre en place un environnement de développement sur la switch dans le but de programmer dessus. Vous pourrez suite à ce tutoriel développer des homebrews ou bien des sysmodules, mais avant de commencer il faut jeter un œil aux prérequis.

Les prérequis

Comme dis ci-dessus, il y a certaines conditions à remplir pour pouvoir mettre en place cet environnement de développement et pouvoir l'utiliser convenablement. Veillez à commencer le tutoriel une fois ces compétences acquises:
  • Avoir un ordinateur sur Windows, Linux ou MacOS (du balais les chromebooks!)
  • Des compétences en programmation C ou C++ (le rust est aussi un langage utilisable depuis peu mais je n'entrerai pas dans les détails car encore expérimental)
  • De la patience et de la rigueur
Ensuite il vous faudra télécharger les logiciels nécessaires au développement:
  • DevkitPro - C'est ce qui va nous permettre de compiler notre code pour la switch
  • Visual Studio Code - C'est un éditeur de texte, vous pouvez en utiliser un autre si vous le souhaitez
  • git - C'est ce qui va vous permettre de publier votre code proprement
Si toutes ces conditions sont remplies on peut continuer !

La mise en place

Une fois que vous avez installez tout ce que vous devez en suivant les liens que je vous ai donné on peut continuer. Pour ce faire créez un dossier sur votre ordinateur que vous appelez comme vous le souhaitez (nom de l'homebrew de préférence). Ensuite ouvrez Visual Studio Code puis faites Fichier->Ouvrir le dossier, ensuite ouvrez le dossier que vous venez de créer. Désormais vous allez dans votre répertoire de l'installation de devkitpro qui pour ma part est C:/devkitPro (/opt/devkitpro sur linux) puis naviguez jusqu'à ce répertoire : devkitPro\examples\switch\templates\application Une fois ici prenez le fichier Makefile et le dossier source que vous allez copier dans votre dossier du départ. Retournez dans Visual Studio code et vous aurez normalement vos deux éléments sur le panneau de gauche. cliquez sur source->main.c Lisez attentivement tous les commentaire pour comprendre ce que ce code fait. Normalement vous avez remarqué un petit problème avec ce code, nous avons une erreur au niveau du #include. Pour la réglez il va falloir spécifier à visual studio code où trouver cet include et pour ça rien de plus simple : - Passez votre curseur sur la ligne 7 #include - Cliquez sur la petite ampoule - Modifier le paramètre "includePath" - Fermez l'onglet qui vient de s'ouvrir - Cliquez à gauche (dans votre explorateur vscode) sur .vscode/c_cpp_properties.json puis vous allez copier l'intégralité de ce code ci dessous à la place du code existant :
{ "configurations": [ { "name": "Switch", "includePath": [ "${workspaceFolder}/include/**", "C:/DevkitPro/devkitA64/aarch64-none-elf/include/**", "C:/DevkitPro/devkitA64/lib/gcc/aarch64-none-elf/**", "C:/DevkitPro/libnx/include/**", "C:/DevkitPro/portlibs/switch/include/**" ], "defines": [ "__SWITCH__", "__BSD_VISIBLE" ], "compilerPath": "C:/DevkitPro/devkitA64/bin/aarch64-none-elf-g++", "cStandard": "c11", "cppStandard": "c++20", "intelliSenseMode": "linux-gcc-arm64", "compilerArgs": [] } ], "version": 4 }
(si vous êtes sur une autre plateforme que Windows remplacez les 'C:/' par votre chemin d'accès vers devkitpro (normalement /opt/). Essayez de comprendre ce qui vient d'être mis dans ce fichier ce n'est rien de bien compliqué. Désormais retournez dans votre fichier main.c et vous verrez que les erreurs ont disparus !

La compilation

Pour compilez votre projet rien de plus simple: - Cliquez en bas à gauche de vscode sur les petites icons de croix et de panneau. - Allez dans "Terminal" - Tapez tout simplement la commande "make" Vous avez votre .nro de prêt ! (N'hésitez par à regarder le Makefile si vous voulez modifier quelques paramètres)

Quelques astuces

Envoyer son code sur sa switch

Vous trouverez vite rébarbatif de, pour tester, mettre le nro sur la carte sd à la main. C'est là que nxlink rentre en jeu ! Pour ce faire tapez tout simplement la commande "nxlink" dans votre terminal et une page d'aide devrai s'ouvrir. Il faut connecter votre switch au même réseau que votre ordinateur, aller dans l'homebrew launcher sur votre switch et appuyez sur "y". Une adresse ip locale sera affichée. Maintenant sur votre ordinateur tapez la commande suivante "nxlink -a adresse_ip_de_la_switch -s chemin_relatif_de_l'hombrew" Et voilà vous pouvez envoyer votre nro sur votre switch facilement ! (Je vous laisse regarder l'exemple de devkitpro dans network/nxlink_stdio pour connaitre tout le potentiel de ce logiciel)

Quelques bibliothèques

Pour développer des homebrews des bibliothèques sont mises à votre disposition et en voici quelques une :

Borealis

Borealis est une bibliothèque qui vous va vous permettre de faire une interface graphique qui ressemble fortement à celle proposée par HorizonOS.

Plutonium

Plutonium est une bibliothèque qui va vous permettre de faire une interface graphique très facilement et qui à son charme !

SDL2

SDL2 est une bibliothèque bien plus bas niveau que les deux autres mais qui vous permet de faire un rendu graphique, cette bibliothèque vous permet de faire ce que vous voulez. Tout est possible avec. Pour ce faire vous devez apprendre à installer un paquet pour l'utiliser.

Installer un paquet

Pour se faire rien de plus simple. Allez dans le terminal et faites ceci sur Windows:
"pacman -S le_paquet"
sur Linux:
"sudo pacman -S le_paquet"
Retrouvez la liste des paquet ici.

Conclusion

Vous êtes prêt à développer sur votre Nintendo Switch désormais ! Si vous voulez de l'aide par rapport à ce développement n'hésitez pas à venir sur notre serveur discord.