Особенности | Загрузка и запуск | Здание | Отказ от ответственности
Последние сборки для Windows 10/11 (x64/ARM64), Linux (AppImage/Flatpak) и macOS (11.0+ Universal): https://github.com/stenzek/duckstation/releases/tag/latest
Список совместимости игр: https://docs.google.com/spreadsheets/d/e/2PACX-1vRE0jjiK_aldpICoy5kVQlpk2f81Vo6P4p9vfg4d7YoTOoDlH4PQHoXjTD2F7SdN8SSBLoEAItaIqQo/pubhtml.
Дискорд-сервер: https://www.duckstation.org/discord.html
DuckStation — это симулятор/эмулятор консоли Sony PlayStation™, ориентированный на удобство игры, скорость и долговечность обслуживания. Цель состоит в том, чтобы быть максимально точными, сохраняя при этом производительность, подходящую для устройств начального уровня. Варианты «взлома» не приветствуются, конфигурация по умолчанию должна поддерживать все доступные игры, и только некоторые улучшения имеют проблемы с совместимостью.
Образ ПЗУ PS1 или PS2 «BIOS» необходим для запуска эмулятора и игр. Вы можете использовать образ любой версии оборудования или региона, однако несовпадение регионов игры и регионов BIOS может привести к проблемам совместимости. Образ ПЗУ не поставляется с эмулятором по юридическим причинам, вам следует сбросить его со своей консоли с помощью Caetla или других средств.
DuckStation имеет полнофункциональный интерфейс, созданный с использованием Qt, а также полноэкранный/телевизионный пользовательский интерфейс на основе Dear ImGui.
Другие функции включают в себя:
Рекомпилятор ЦП/JIT (x86-64, Armv7/AArch32, AArch64, RISC-V/RV64).
Аппаратный (D3D11, D3D12, OpenGL, Vulkan, Metal) и программный рендеринг.
Масштабирование, фильтрация текстур и настоящий цвет (24 бита) в аппаратных средствах рендеринга.
Точное смешивание с помощью Rasterizer Order Views/Fragment Shader Interlock.
PGXP для точности геометрии, коррекции текстур и эмуляции буфера глубины.
Система замены текстур в аппаратных рендерерах.
Адаптивный к движению деинтерлейсинг.
Адаптивный фильтр субдискретизации.
Поворот экрана для вертикальных игр или игр «ТАТЕ».
Цепочки шейдеров постобработки (GLSL и Reshade FX).
«Быстрая загрузка» для пропуска заставки/заставки BIOS.
Сохранить господдержку, с упреком и перемоткой назад.
Поддержка Windows, Linux, MacOS.
Поддерживает чтение непосредственно с компакт-диска, образов bin/cue, необработанных файлов bin/img, MAME CHD, однодорожечных ECM, MDS/MDF и незашифрованных форматов PBP.
Предварительная загрузка образов дисков в оперативную память во избежание сбоев диска.
Автоматическая загрузка/применение патчей PPF.
Прямая загрузка исполняемых файлов homebrew.
Прямая загрузка файлов формата Portable Sound Format (psf).
Звук растягивается по времени при работе со скоростью, превышающей 100%.
Цифровые и аналоговые контроллеры для ввода (гул пересылается на хост).
Поддержка световых пушек GunCon и Justifier (моделируется с помощью мыши).
Поддержка NeGcon.
Qt и пользовательский интерфейс «Большая картина».
Автоматические обновления с предварительным просмотром и последними каналами.
Автоматическое сканирование контента — названия/хэши игр предоставляются redump.org.
Опциональное автоматическое переключение карт памяти для каждой игры.
Поддерживает загрузку читов из существующих списков.
Редактор карт памяти и импортер сохранений.
Эмулируемый разгон процессора.
Интегрированная и удаленная отладка.
Контроллеры Multitap (до 8 устройств).
РетроДостижения.
Богатое присутствие Discord.
Захват видео с помощью серверных модулей Media Foundation (Windows) и FFmpeg (все платформы).
Процессор быстрее картошки. Но это должен быть x86_64, AArch32/armv7, AArch64/ARMv8 или RISC-V/RV64.
Для аппаратных средств визуализации — графический процессор с поддержкой OpenGL 3.1/OpenGL ES 3.1/Direct3D 11 Feature Level 10.0 (или Vulkan 1.0) и выше. Итак, в основном все, что было сделано за последние 10 лет или около того.
Игровой контроллер, совместимый с SDL, XInput или DInput (например, XB360/XBOne/XBSeries). Пользователям DualShock 3 в Windows необходимо будет установить официальные драйверы DualShock 3, входящие в состав PlayStation Now.
Двоичные файлы DuckStation для Windows x64/ARM64, Linux x86_64 (в форматах AppImage/Flatpak) и универсальные двоичные файлы macOS доступны через выпуски GitHub и автоматически собираются при каждой фиксации или отправке.
Согласно условиям CC-BY-NC-ND, допускается перераспространение немодифицированных версий и кода . Однако мы бы предпочли, чтобы вместо этого вы дали ссылку на https://www.duckstation.org/. Обратите внимание, что предварительно настроенные настройки и пакеты считаются модификациями.
Для компьютеров x86 (большинство систем) вам понадобится процессор, поддерживающий набор инструкций SSE4.1 для «нормальной» сборки. Сюда входят все процессоры Intel, выпущенные после 2007 года, и процессоры AMD, выпущенные после 2011 года. Если у вас более старый процессор, вам необходимо будет загрузить сборку «SSE2» со страницы выпусков, которая имеет более низкую производительность, но по-прежнему поддерживает эти процессоры.
Для DuckStation требуется Windows 10/11, в частности версия 1809 или новее. Если вы все еще используете Windows 7/8/8.1, DuckStation не будет работать в вашей операционной системе. Запуск этих операционных систем в 2023 году следует рассматривать как угрозу безопасности, и я бы рекомендовал обновить их до той, которая получит поддержку поставщиков. Если вам необходимо использовать более старую операционную систему, последней версией, которая будет работать, будет v0.1-5624. Но не ждите никакой помощи, эти сборки больше не поддерживаются.
Чтобы скачать:
Перейдите на https://github.com/stenzek/duckstation/releases/tag/latest и загрузите сборку Windows x64. Это zip-архив, содержащий готовый двоичный файл.
Альтернативно, прямая ссылка для скачивания: https://github.com/stenzek/duckstation/releases/download/latest/duckstation-windows-x64-release.zip.
Распакуйте архив в подкаталог . У архива нет корневого подкаталога, поэтому при распаковке в текущий каталог в каталоге загрузки будет удалено множество файлов, если вы не распакуете его в подкаталог.
После загрузки и распаковки вы можете запустить эмулятор с duckstation-qt-x64-ReleaseLTCG.exe
. Чтобы начать работу, следуйте указаниям мастера установки.
Если вы получите сообщение об отсутствии vcruntime140_1.dll
, вам необходимо обновить среду выполнения Visual C++. Вы можете сделать это на этой странице: https://support.microsoft.com/en-au/help/2977003/the-latest-supported-visual-c-downloads. В частности, вам нужна среда выполнения x64, которую можно загрузить по адресу https://aka.ms/vs/17/release/vc_redist.x64.exe.
DuckStation предоставляется для Linux x86_64 в форматах AppImage и Flatpak. Релиз на Flathub является официальным и синхронизирован с последней стабильной версией на GitHub.
Для запуска AppImages требуется дистрибутив, эквивалентный Ubuntu 22.04 или новее.
Перейдите на https://github.com/stenzek/duckstation/releases/tag/latest и загрузитеuckstation duckstation-x64.AppImage
.
Запустите chmod a+x
для загруженного AppImage — после этого шага AppImage можно будет запускать как обычный исполняемый файл.
Перейдите на https://github.com/stenzek/duckstation/releases/tag/latest и загрузитеuckstation duckstation-x64.flatpak
.
Запустите flatpak install ./duckstation-x64.flatpak
.
или, если у вас настроен FlatHub:
Запустите flatpak install org.duckstation.DuckStation
.
Используйте flatpak run org.duckstation.DuckStation
для запуска или выберите DuckStation
в панели запуска среды рабочего стола. Чтобы начать работу, следуйте указаниям мастера установки.
Универсальные сборки MacOS предоставляются как для x64, так и для ARM64 (Apple Silicon).
Требуется MacOS Big Sir (11.0), поскольку это также минимальное требование для Qt.
Чтобы скачать:
Перейдите на https://github.com/stenzek/duckstation/releases/tag/latest и загрузитеuckstation duckstation-mac-release.zip
.
Извлеките почтовый индекс, дважды щелкнув его.
Откройте DuckStation.app, предварительно переместив его в нужное место.
В зависимости от конфигурации GateKeeper вам может потребоваться щелкнуть правой кнопкой мыши -> Открыть при первом запуске, поскольку о сертификатах подписи кода не может быть и речи для проекта, который приносит нулевой доход.
Вам понадобится устройство с версией Armv7 (32-разрядная версия ARM), AArch64 (64-разрядная версия ARM) или x86_64 (64-разрядная версия x86). Предпочтительна 64-разрядная версия, для 32-разрядной версии требования выше, вам, вероятно, понадобится процессор с тактовой частотой не менее 1,5 ГГц.
Скачать из Google Play: https://play.google.com/store/apps/details?id=com.github.stenzek.duckstation.
Загрузка APK и бета-версий: https://www.duckstation.org/android/
Для приложения Android поддержка не предоставляется , оно бесплатное, и ваши ожидания должны соответствовать этому. Пожалуйста, не пишите мне по электронной почте о проблемах, связанных с этим, и не просите о помощи, вы будете проигнорированы.
Чтобы использовать:
Установите и запустите приложение в первый раз.
Следуйте инструкциям мастера установки.
Если у вас есть внешний контроллер, вам нужно будет сопоставить кнопки и джойстики в настройках.
В ряде игр региона PAL используется защита LibCrypt, поэтому для правильной работы требуется дополнительная информация о подканале компакт-диска. Неработающая libcrypt обычно проявляется в виде зависаний или сбоев, но иногда может влиять и на игровой процесс, в зависимости от того, как это реализовано в игре.
Для этих игр убедитесь, что образ компакт-диска и соответствующий ему файл SBI (.sbi) имеют одинаковое имя и расположены в одном и том же каталоге. DuckStation автоматически загрузит файл SBI, когда он будет найден рядом с образом компакт-диска.
Например, если ваш образ диска назывался Spyro3.cue
, вы должны поместить файл SBI в тот же каталог и назвать его Spyro3.sbi
.
Также поддерживаются изображения CHD со встроенной информацией о подканалах.
Если вы воспроизводите непосредственно с диска, а ваш привод CD/DVD не поддерживает чтение подканалов или имеет перекос с возвращаемым SubQ, вы можете поместить файл SBI в каталог subchannel
в каталоге пользователя с серийным номером или названием игра.
DuckStation поставляется со встроенной базой данных читов и исправлений, предоставленных сообществом. Вклад в них приветствуется по адресу https://github.com/duckstation/chtdb.
Каждый выпуск включает последнюю версию базы данных, однако вы также можете выполнить обновление до последней версии вручную.
Требования:
Визуальная Студия 2022
Клонируйте репозиторий: git clone https://github.com/stenzek/duckstation.git
.
Загрузите пакет зависимостей с https://github.com/stenzek/duckstation-ext-qt-minimal/releases/download/latest/deps-x64.7z и извлеките его в depmsvc
.
Откройте решение Visual duckstation.sln
в корне или «Открыть папку» для сборки cmake.
Построить решение.
Бинарные файлы расположены в bin/x64
.
Запустите duckstation-qt-x64-Release.exe
или любую другую конфигурацию, которую вы использовали.
Имена пакетов 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
Имена пакетов 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
Имена пакетов 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
Клонируйте репозиторий: git clone https://github.com/stenzek/duckstation.git
, cd duckstation
.
Постройте зависимости. Если хотите, вы можете сохранить их за пределами дерева. Это займет некоторое время. scripts/deps/build-dependencies-linux.sh deps
.
Запустите CMake, чтобы настроить систему сборки. Предполагая, что это подкаталог сборки 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
. Если вам нужна релизная (оптимизированная) сборка, включите -DCMAKE_BUILD_TYPE=Release -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON
.
Скомпилируйте исходный код. В приведенном выше примере запустите ninja -C build-release
Запустите двоичный файл, расположенный в каталоге сборки ./build-release/bin/duckstation-qt
.
Требования:
CMake
Xcode
Клонируйте репозиторий: git clone https://github.com/stenzek/duckstation.git
.
Постройте зависимости. Это займет некоторое время. scripts/deps/build-dependencies-mac.sh deps
.
Запустите CMake, чтобы настроить систему сборки: cmake -Bbuild-release -DCMAKE_BUILD_TYPE=Release -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_PREFIX_PATH="$PWD/deps"
.
Скомпилируйте исходный код: cmake --build build-release --parallel
.
Запустите двоичный файл, расположенный в каталоге сборки bin/DuckStation.app
.
«Каталог пользователя» — это место, где вы должны разместить образы BIOS, где сохраняются настройки, а карты памяти/состояния сохранения сохраняются по умолчанию. Здесь также можно разместить дополнительный файл базы данных игрового контроллера SDL.
Он расположен в следующих местах в зависимости от используемой вами платформы:
Windows: Мои документыDuckStation
Linux: $XDG_DATA_HOME/duckstation
или ~/.local/share/duckstation
.
macOS: ~/Library/Application Support/DuckStation
.
Итак, если бы вы использовали Linux, вы бы поместили свои образы BIOS в ~/.local/share/duckstation/bios
. Этот каталог будет создан при первом запуске DuckStation.
Если вы хотите использовать «портативную» сборку, в которой каталог пользователя совпадает с каталогом, в котором находится исполняемый файл, создайте пустой файл с именем portable.txt
в том же каталоге, что и исполняемый файл DuckStation.
Клавиатуру или игровой контроллер можно использовать для имитации различных контроллеров PlayStation. Ввод контроллера поддерживается через серверные части DInput, XInput и SDL и может быть изменен через Settings -> Controllers
.
Чтобы привязать ваше устройство ввода, перейдите в Settings -> Controllers
и выберите виртуальный контроллер, который вы хотите сопоставить. Автоматическое сопоставление выполняется большинством контроллеров. Однако, если вам нужно вручную привязать контроллер, щелкните поле под именем кнопки/оси и нажмите клавишу или кнопку на устройстве ввода, к которому вы хотите привязаться.
Релизы DuckStation поставляются с базой данных сопоставлений игровых контроллеров для серверной части контроллера SDL, любезно предоставленной https://github.com/mdqinc/SDL_GameControllerDB. Включенный файл gamecontrollerdb.txt
можно найти в подкаталоге resources
каталога программы DuckStation.
Если у вас возникли проблемы с привязкой вашего контроллера к серверной части контроллера SDL, вам может потребоваться добавить собственное сопоставление в файл базы данных. Создайте копию файла gamecontrollerdb.txt
и поместите его в свой каталог пользователя (или непосредственно в каталог программы, если он работает в портативном режиме), а затем следуйте инструкциям в репозитории SDL_GameControllerDB для создания нового сопоставления. Добавьте это сопоставление в новую копию gamecontrollerdb.txt
, и тогда ваш контроллер должен распознаваться правильно.
Привязки для контроллеров и горячих клавиш можно изменить в Settings -> Controllers
.
Контроллер 1:
Левый джойстик: W/A/S/D
Правый джойстик: T/F/G/H
D-Pad: вверх/влево/вниз/вправо
Треугольник/квадрат/круг/крест: I/J/L/K
L1/R1: Вопросы/ответы
Л2/Р2: 1/3
Л3/П3: 2/4
Начало: Войти
Выберите: Backspace.
Горячие клавиши:
Выход: открыть меню паузы
F1: состояние загрузки
F2: сохранить состояние
F3: выбрать предыдущее состояние сохранения
F4: выбрать следующее состояние сохранения
F10: сохранить снимок экрана
F11: переключить полноэкранный режим
Вкладка: Временно отключить ограничитель скорости
Пробел: пауза/возобновление эмуляции
Иконка от icons8: https://icons8.com/icon/74847/platforms.undefined.short-title.
«PlayStation» и «PSX» являются зарегистрированными торговыми марками Sony Interactive Entertainment Europe Limited. Этот проект никак не связан с Sony Interactive Entertainment.