Caractéristiques | Téléchargement et exécution | Bâtiment | Avis de non-responsabilité
Dernières versions pour Windows 10/11 (x64/ARM64), Linux (AppImage/Flatpak) et macOS (11.0+ Universal) : https://github.com/stenzek/duckstation/releases/tag/latest
Liste de compatibilité des jeux : https://docs.google.com/spreadsheets/d/e/2PACX-1vRE0jjiK_aldpICoy5kVQlpk2f81Vo6P4p9vfg4d7YoTOoDlH4PQHoXjTD2F7SdN8SSBLoEAItaIqQo/pubhtml
Serveur Discord : https://www.duckstation.org/discord.html
DuckStation est un simulateur/émulateur de la console Sony PlayStation(TM), axé sur la jouabilité, la vitesse et la maintenabilité à long terme. L’objectif est d’être le plus précis possible tout en conservant des performances adaptées aux appareils bas de gamme. Les options "Hack" sont déconseillées, la configuration par défaut devrait prendre en charge tous les jeux jouables, seules certaines des améliorations ayant des problèmes de compatibilité.
Une image ROM "BIOS" PS1 ou PS2 est requise pour démarrer l'émulateur et jouer à des jeux. Vous pouvez utiliser une image de n'importe quelle version ou région du matériel, bien que des régions de jeu et des régions du BIOS incompatibles puissent présenter des problèmes de compatibilité. Une image ROM n'est pas fournie avec l'émulateur pour des raisons juridiques, vous devez la vider depuis votre propre console en utilisant Caetla ou d'autres moyens.
DuckStation propose une interface complète construite à l'aide de Qt, ainsi qu'une interface utilisateur plein écran/TV basée sur Dear ImGui.
Les autres fonctionnalités incluent :
Recompilateur de processeur/JIT (x86-64, armv7/AArch32, AArch64, RISC-V/RV64).
Rendu matériel (D3D11, D3D12, OpenGL, Vulkan, Metal) et logiciel.
Mise à l'échelle, filtrage de texture et vraies couleurs (24 bits) dans les rendus matériels.
Mélange précis via les vues d'ordre Rasterizer/Fragment Shader Interlock.
PGXP pour la précision géométrique, la correction de texture et l’émulation de tampon de profondeur.
Système de remplacement de texture dans les rendus matériels.
Désentrelacement adaptatif au mouvement.
Filtre de sous-échantillonnage adaptatif.
Rotation de l'écran pour les jeux shmup verticaux ou "TATE".
Chaînes de shader de post-traitement (GLSL et Reshade FX).
"Démarrage rapide" pour ignorer le splash/intro du BIOS.
Économisez le soutien de l’État, avec exécution et rembobinage.
Prise en charge de Windows, Linux et macOS.
Prend en charge la lecture directe à partir de CD, d'images bin/cue, de fichiers bin/img bruts, de MAME CHD, d'ECM monopiste, de MDS/MDF et de formats PBP non cryptés.
Préchargement des images disque dans la RAM pour éviter les problèmes de mise en veille du disque.
Chargement/application automatique des correctifs PPF.
Démarrage direct des exécutables homebrew.
Chargement direct de fichiers Portable Sound Format (psf).
Audio étiré dans le temps lors d'une exécution en dehors de la vitesse de 100 %.
Contrôleurs numériques et analogiques pour l'entrée (le grondement est transmis à l'hôte).
Prise en charge des armes légères GunCon et Justifier (simulées avec la souris).
Prise en charge de NeGcon.
Interface utilisateur Qt et « Big Picture ».
Mises à jour automatiques avec aperçu et dernières chaînes.
Analyse automatique du contenu - les titres/hachages de jeux sont fournis par redump.org.
Commutation automatique en option des cartes mémoire pour chaque jeu.
Prend en charge le chargement des astuces à partir des listes existantes.
Éditeur de carte mémoire et importateur de sauvegarde.
Overclocking du processeur émulé.
Débogage intégré et distant.
Contrôleurs multitap (jusqu'à 8 appareils).
Réalisations rétro.
Présence riche en discorde.
Capture vidéo avec les backends Media Foundation (Windows) et FFmpeg (toutes plateformes).
Un CPU plus rapide qu'une pomme de terre. Mais il doit s'agir de x86_64, AArch32/armv7, AArch64/ARMv8 ou RISC-V/RV64.
Pour les moteurs de rendu matériel, un GPU compatible OpenGL 3.1/OpenGL ES 3.1/Direct3D 11 Feature Level 10.0 (ou Vulkan 1.0) et supérieur. Donc, essentiellement tout ce qui a été fabriqué au cours des 10 dernières années.
Contrôleur de jeu compatible SDL, XInput ou DInput (par exemple XB360/XBOne/XBSeries). Les utilisateurs de DualShock 3 sous Windows devront installer les pilotes officiels DualShock 3 inclus dans PlayStation Now.
Les binaires de DuckStation pour Windows x64/ARM64, Linux x86_64 (aux formats AppImage/Flatpak) et les binaires universels macOS sont disponibles via les versions GitHub et sont automatiquement créés à chaque validation/push.
Conformément aux termes de CC-BY-NC-ND, la redistribution des versions et du code non modifiés est autorisée. Cependant, nous préférerions que vous fassiez plutôt un lien vers https://www.duckstation.org/. Veuillez noter que les paramètres et packages préconfigurés sont considérés comme des modifications.
Pour les machines x86 (la plupart des systèmes), vous aurez besoin d'un processeur prenant en charge le jeu d'instructions SSE4.1 pour la version "normale". Cela inclut tous les processeurs Intel fabriqués après 2007 et les processeurs AMD fabriqués après 2011. Si vous possédez un processeur plus ancien, vous devrez télécharger la version « SSE2 » à partir de la page des versions, qui offre des performances inférieures mais prend toujours en charge ces processeurs.
DuckStation nécessite Windows 10/11, en particulier la version 1809 ou ultérieure. Si vous utilisez toujours Windows 7/8/8.1, DuckStation ne fonctionnera pas sur votre système d'exploitation. L’exécution de ces systèmes d’exploitation en 2023 devrait être considérée comme un risque de sécurité, et je recommanderais de mettre à jour vers quelque chose qui bénéficie du support du fournisseur. Si vous devez utiliser un système d'exploitation plus ancien, la v0.1-5624 est la dernière version qui s'exécutera. Mais n'espérez pas recevoir d'aide, ces builds ne sont plus supportés.
Pour télécharger :
Accédez à https://github.com/stenzek/duckstation/releases/tag/latest et téléchargez la version Windows x64. Il s'agit d'une archive zip contenant le binaire prédéfini.
Alternativement, lien de téléchargement direct : https://github.com/stenzek/duckstation/releases/download/latest/duckstation-windows-x64-release.zip
Extrayez l'archive dans un sous-répertoire . L'archive n'a pas de sous-répertoire racine, donc l'extraction dans le répertoire actuel supprimera un tas de fichiers dans votre répertoire de téléchargement si vous n'extrayez pas dans un sous-répertoire.
Une fois téléchargé et extrait, vous pouvez lancer l'émulateur avec duckstation-qt-x64-ReleaseLTCG.exe
. Suivez l'assistant de configuration pour commencer.
Si vous obtenez une erreur indiquant que vcruntime140_1.dll
est manquant, vous devrez mettre à jour votre runtime Visual C++. Vous pouvez le faire à partir de cette page : https://support.microsoft.com/en-au/help/2977003/the-latest-supported-visual-c-downloads. Plus précisément, vous souhaitez le runtime x64, qui peut être téléchargé à partir de https://aka.ms/vs/17/release/vc_redist.x64.exe.
DuckStation est fourni pour Linux x86_64 aux formats AppImage et Flatpak. La version sur Flathub est officielle et synchronisée avec la dernière version mobile/stable sur GitHub.
Les AppImages nécessitent une distribution équivalente à Ubuntu 22.04 ou plus récente pour fonctionner.
Accédez à https://github.com/stenzek/duckstation/releases/tag/latest et téléchargez duckstation-x64.AppImage
.
Exécutez chmod a+x
sur l'AppImage téléchargée. Après cette étape, l'AppImage peut être exécutée comme un exécutable classique.
Accédez à https://github.com/stenzek/duckstation/releases/tag/latest et téléchargez duckstation-x64.flatpak
.
Exécutez flatpak install ./duckstation-x64.flatpak
.
ou, si FlatHub est configuré :
Exécutez flatpak install org.duckstation.DuckStation
.
Utilisez flatpak run org.duckstation.DuckStation
pour démarrer, ou sélectionnez DuckStation
dans le lanceur de votre environnement de bureau. Suivez l'assistant de configuration pour commencer.
Les versions universelles de MacOS sont fournies pour x64 et ARM64 (Apple Silicon).
MacOS Big Sir (11.0) est requis, car c'est également la configuration minimale requise pour Qt.
Pour télécharger :
Accédez à https://github.com/stenzek/duckstation/releases/tag/latest et téléchargez duckstation-mac-release.zip
.
Extrayez le zip en double-cliquant dessus.
Ouvrez DuckStation.app, en le déplaçant éventuellement d'abord vers l'emplacement souhaité.
Selon la configuration de GateKeeper, vous devrez peut-être faire un clic droit -> Ouvrir la première fois que vous l'exécuterez, car les certificats de signature de code sont hors de question pour un projet qui ne rapporte aucun revenu.
Vous aurez besoin d'un appareil avec armv7 (ARM 32 bits), AArch64 (ARM 64 bits) ou x86_64 (x86 64 bits). Le 64 bits est préféré, les exigences sont plus élevées pour le 32 bits, vous aurez probablement besoin d'au moins un processeur de 1,5 GHz.
Télécharger depuis Google Play : https://play.google.com/store/apps/details?id=com.github.stenzek.duckstation
Téléchargements APK et bêta : https://www.duckstation.org/android/
Aucun support n'est fourni pour l'application Android , elle est gratuite et vos attentes doivent être en adéquation avec cela. S'il vous plaît, ne m'envoyez pas d'e-mail à propos de problèmes à ce sujet ou ne demandez pas d'aide, vous serez ignoré.
Pour utiliser :
Installez et exécutez l'application pour la première fois.
Suivez l'assistant de configuration.
Si vous disposez d'un contrôleur externe, vous devrez mapper les boutons et les sticks dans les paramètres.
Un certain nombre de jeux de la région PAL utilisent la protection LibCrypt, nécessitant des informations supplémentaires sur les sous-canaux du CD pour fonctionner correctement. libcrypt ne fonctionne pas se manifeste généralement par un blocage ou un crash, mais peut parfois également affecter le gameplay, selon la manière dont le jeu l'a implémenté.
Pour ces jeux, assurez-vous que l'image CD et son fichier SBI (.sbi) correspondant portent le même nom et sont placés dans le même répertoire. DuckStation chargera automatiquement le fichier SBI lorsqu'il se trouvera à côté de l'image du CD.
Par exemple, si votre image disque s'appelait Spyro3.cue
, vous placeriez le fichier SBI dans le même répertoire et le nommeriez Spyro3.sbi
.
Les images CHD avec informations de sous-canal intégrées sont également prises en charge.
Si vous lisez directement à partir d'un disque et que votre lecteur de CD/DVD ne prend pas en charge la lecture des sous-canaux ou présente un décalage avec le SubQ renvoyé, vous pouvez placer le fichier SBI dans le répertoire subchannel
sous le répertoire utilisateur, avec le numéro de série ou le titre de le jeu.
DuckStation est livré avec une base de données intégrée de triche et de correctifs, toutes deux fournies par la communauté. Les contributions à ceux-ci sont les bienvenues sur https://github.com/duckstation/chtdb.
Chaque version inclut la dernière version de la base de données, mais vous êtes également libre de mettre à jour manuellement vers la dernière version.
Exigences:
Visual Studio 2022
Clonez le référentiel : git clone https://github.com/stenzek/duckstation.git
.
Téléchargez le pack de dépendances depuis https://github.com/stenzek/duckstation-ext-qt-minimal/releases/download/latest/deps-x64.7z et extrayez-le dans depmsvc
.
Ouvrez la solution Visual Studio duckstation.sln
à la racine, ou « Open Folder » pour cmake build.
Construire une solution.
Les binaires se trouvent dans bin/x64
.
Exécutez duckstation-qt-x64-Release.exe
ou quelle que soit la configuration que vous avez utilisée.
Noms des packages Ubuntu/Debian :
autoconf automake build-essential clang cmake curl extra-cmake-modules git libasound2-dev libcurl4-openssl-dev libdbus-1-dev libdecor-0-dev libegl-dev libevdev-dev libfontconfig-dev libfreetype-dev libgtk-3-dev libgudev-1.0-dev libharfbuzz-dev libinput-dev libopengl-dev libpipewire-0.3-dev libpulse-dev libssl-dev libudev-dev libwayland-dev libx11-dev libx11-xcb-dev libxcb1-dev libxcb-composite0-dev libxcb-cursor-dev libxcb-damage0-dev libxcb-glx0-dev libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-present-dev libxcb-randr0-dev libxcb-render0-dev libxcb-render-util0-dev libxcb-shape0-dev libxcb-shm0-dev libxcb-sync-dev libxcb-util-dev libxcb-xfixes0-dev libxcb-xinput-dev libxcb-xkb-dev libxext-dev libxkbcommon-x11-dev libxrandr-dev libtool lld llvm nasm ninja-build pkg-config zlib1g-dev
Noms des packages Fedora :
alsa-lib-devel autoconf automake brotli-devel clang cmake dbus-devel egl-wayland-devel extra-cmake-modules fontconfig-devel gcc-c++ gtk3-devel libavcodec-free-devel libavformat-free-devel libavutil-free-devel libcurl-devel libdecor-devel libevdev-devel libICE-devel libinput-devel libSM-devel libswresample-free-devel libswscale-free-devel libX11-devel libXau-devel libxcb-devel libXcomposite-devel libXcursor-devel libXext-devel libXfixes-devel libXft-devel libXi-devel libxkbcommon-devel libxkbcommon-x11-devel libXpresent-devel libXrandr-devel libXrender-devel libtool lld llvm make mesa-libEGL-devel mesa-libGL-devel nasm ninja-build openssl-devel patch pcre2-devel perl-Digest-SHA pipewire-devel pulseaudio-libs-devel systemd-devel wayland-devel xcb-util-cursor-devel xcb-util-devel xcb-util-errors-devel xcb-util-image-devel xcb-util-keysyms-devel xcb-util-renderutil-devel xcb-util-wm-devel xcb-util-xrm-devel zlib-devel
Noms des packages Arch :
base-devel clang cmake curl dbus extra-cmake-modules freetype git libjpeg-turbo libpng libwebp libx11 libxrandr lld llvm ninja qt6-base qt6-imageformats qt6-svg qt6-tools wayland zstd
Clonez le référentiel : git clone https://github.com/stenzek/duckstation.git
, cd duckstation
.
Créez des dépendances. Vous pouvez les enregistrer en dehors de l'arborescence si vous le souhaitez. Cela prendra un certain temps. scripts/deps/build-dependencies-linux.sh deps
.
Exécutez CMake pour configurer le système de build. En supposant un sous-répertoire de construction de build-release
cmake -B build-release -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_EXE_LINKER_FLAGS_INIT="-fuse-ld=lld" -DCMAKE_MODULE_LINKER_FLAGS_INIT="-fuse-ld=lld" -DCMAKE_SHARED_LINKER_FLAGS_INIT="-fuse-ld=lld" -DCMAKE_PREFIX_PATH="$PWD/deps" -G Ninja
. Si vous souhaitez une version publiée (optimisée), incluez -DCMAKE_BUILD_TYPE=Release -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON
.
Compilez le code source. Pour l'exemple ci-dessus, exécutez ninja -C build-release
Exécutez le binaire, situé dans le répertoire de construction sous ./build-release/bin/duckstation-qt
.
Exigences:
CMake
Xcode
Clonez le référentiel : git clone https://github.com/stenzek/duckstation.git
.
Construisez les dépendances. Cela prendra un certain temps. scripts/deps/build-dependencies-mac.sh deps
.
Exécutez CMake pour configurer le système de build : cmake -Bbuild-release -DCMAKE_BUILD_TYPE=Release -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_PREFIX_PATH="$PWD/deps"
.
Compilez le code source : cmake --build build-release --parallel
.
Exécutez le binaire, situé dans le répertoire de construction sous bin/DuckStation.app
.
Le "Répertoire utilisateur" est l'endroit où vous devez placer vos images du BIOS, où les paramètres sont enregistrés et où les cartes mémoire/états de sauvegarde sont enregistrés par défaut. Un fichier de base de données de contrôleur de jeu SDL facultatif peut également être placé ici.
Celui-ci se trouve aux endroits suivants en fonction de la plateforme que vous utilisez :
Windows : Mes documentsDuckStation
Linux : $XDG_DATA_HOME/duckstation
, ou ~/.local/share/duckstation
.
macOS : ~/Library/Application Support/DuckStation
.
Ainsi, si vous utilisiez Linux, vous placeriez vos images BIOS dans ~/.local/share/duckstation/bios
. Ce répertoire sera créé lors de la première exécution de DuckStation.
Si vous souhaitez utiliser une version "portable", où le répertoire utilisateur est le même que celui où se trouve l'exécutable, créez un fichier vide nommé portable.txt
dans le même répertoire que l'exécutable DuckStation.
Votre clavier ou contrôleur de jeu peut être utilisé pour simuler une variété de contrôleurs PlayStation. L'entrée du contrôleur est prise en charge via les backends DInput, XInput et SDL et peut être modifiée via Settings -> Controllers
.
Pour lier votre périphérique d'entrée, accédez à Settings -> Controllers
et sélectionnez le contrôleur virtuel que vous souhaitez mapper. Le mappage automatique gère la majorité des contrôleurs. Cependant, si vous devez associer manuellement un contrôleur, cliquez sur la case située sous le nom du bouton/de l'axe et appuyez sur la touche ou le bouton de votre périphérique d'entrée auquel vous souhaitez vous associer.
Les versions de DuckStation sont livrées avec une base de données de mappages de contrôleurs de jeu pour le backend du contrôleur SDL, gracieuseté de https://github.com/mdqinc/SDL_GameControllerDB. Le fichier gamecontrollerdb.txt
inclus se trouve dans le sous-répertoire resources
du répertoire du programme DuckStation.
Si vous rencontrez des problèmes pour lier votre contrôleur au backend du contrôleur SDL, vous devrez peut-être ajouter un mappage personnalisé au fichier de base de données. Faites une copie de gamecontrollerdb.txt
et placez-la dans votre répertoire utilisateur (ou directement dans le répertoire du programme, s'il est exécuté en mode portable), puis suivez les instructions du référentiel SDL_GameControllerDB pour créer un nouveau mappage. Ajoutez ce mappage à la nouvelle copie de gamecontrollerdb.txt
et votre contrôleur devrait alors être correctement reconnu.
Les liaisons pour les contrôleurs et les raccourcis clavier peuvent être modifiées dans Settings -> Controllers
.
Contrôleur 1 :
Stick gauche : W/A/S/D
Stick droit : T/F/G/H
D-Pad : Haut/Gauche/Bas/Droite
Triangle/carré/cercle/croix : I/J/L/K
L1/R1 : Q/E
L2/R2 : 1/3
L3/R3 : 2/4
Début : Entrer
Sélectionnez : Retour arrière
Raccourcis clavier :
Échapper : ouvrir le menu Pause
F1 : État de charge
F2 : Enregistrer l'état
F3 : sélectionner l'état de sauvegarde précédent
F4 : Sélectionnez l'état de sauvegarde suivant
F10 : Enregistrer la capture d'écran
F11 : basculer en plein écran
Onglet : Désactiver temporairement le limiteur de vitesse
Espace : Pause/Reprise de l'émulation
Icône par Icons8 : https://icons8.com/icon/74847/platforms.undefined.short-title
« PlayStation » et « PSX » sont des marques déposées de Sony Interactive Entertainment Europe Limited. Ce projet n'est en aucun cas affilié à Sony Interactive Entertainment.