Recursos | Baixando e executando | Edifício | Isenções de responsabilidade
Versões mais recentes para Windows 10/11 (x64/ARM64), Linux (AppImage/Flatpak) e macOS (11.0+ Universal): https://github.com/stenzek/duckstation/releases/tag/latest
Lista de compatibilidade de jogos: https://docs.google.com/spreadsheets/d/e/2PACX-1vRE0jjiK_aldpICoy5kVQlpk2f81Vo6P4p9vfg4d7YoTOoDlH4PQHoXjTD2F7SdN8SSBLoEAItaIqQo/pubhtml
Servidor Discord: https://www.duckstation.org/discord.html
DuckStation é um simulador/emulador do console Sony PlayStation(TM), com foco na jogabilidade, velocidade e manutenção a longo prazo. O objetivo é ser o mais preciso possível, mantendo o desempenho adequado para dispositivos de baixo custo. As opções de "Hack" são desencorajadas, a configuração padrão deve suportar todos os jogos jogáveis, com apenas algumas das melhorias apresentando problemas de compatibilidade.
Uma imagem ROM "BIOS" do PS1 ou PS2 é necessária para iniciar o emulador e jogar. Você pode usar uma imagem de qualquer versão ou região de hardware, embora regiões de jogo e regiões de BIOS incompatíveis possam ter problemas de compatibilidade. Uma imagem ROM não é fornecida com o emulador por motivos legais; você deve despejá-la de seu próprio console usando Caetla ou outros meios.
DuckStation apresenta um frontend completo construído usando Qt, bem como uma interface de tela cheia/TV baseada em Dear ImGui.
Outros recursos incluem:
Recompilador/JIT de CPU (x86-64, armv7/AArch32, AArch64, RISC-V/RV64).
Hardware (D3D11, D3D12, OpenGL, Vulkan, Metal) e renderização de software.
Upscaling, filtragem de textura e true color (24 bits) em renderizadores de hardware.
Mesclagem precisa via Rasterizer Order Views/Fragment Shader Interlock.
PGXP para precisão geométrica, correção de textura e emulação de buffer de profundidade.
Sistema de substituição de textura em renderizadores de hardware.
Desentrelaçamento adaptativo de movimento.
Filtro de redução de resolução adaptativo.
Rotação da tela para jogos shmup verticais ou "TATE".
Cadeias de shaders de pós-processamento (GLSL e Reshade FX).
"Inicialização rápida" para pular o splash/introdução do BIOS.
Salve o apoio do estado, com avanço e retrocesso.
Suporte para Windows, Linux, macOS.
Suporta leitura diretamente de CD, imagens bin/cue, arquivos raw bin/img, MAME CHD, ECM de trilha única, MDS/MDF e formatos PBP não criptografados.
Pré-carregamento de imagens de disco na RAM para evitar problemas de suspensão do disco.
Carregamento/aplicação automática de patches PPF.
Inicialização direta de executáveis homebrew.
Carregamento direto de arquivos Portable Sound Format (psf).
Áudio esticado no tempo ao executar fora da velocidade de 100%.
Controladores digitais e analógicos para entrada (rumble é encaminhado ao host).
Suporte para armas leves GunCon e Justifier (simulado com mouse).
Suporte NeGcon.
UI Qt e "Big Picture".
Atualizações automáticas com visualização e canais mais recentes.
Verificação automática de conteúdo - títulos/hashes de jogos são fornecidos por redump.org.
Troca automática opcional de cartões de memória para cada jogo.
Suporta carregamento de cheats de listas existentes.
Editor de cartão de memória e importador de salvamento.
Overclocking de CPU emulado.
Depuração integrada e remota.
Controladores Multitap (até 8 dispositivos).
Retroconquistas.
Discord rica presença.
Captura de vídeo com backends Media Foundation (Windows) e FFmpeg (todas as plataformas).
Uma CPU mais rápida que uma batata. Mas precisa ser x86_64, AArch32/armv7, AArch64/ARMv8 ou RISC-V/RV64.
Para os renderizadores de hardware, uma GPU capaz de OpenGL 3.1/OpenGL ES 3.1/Direct3D 11 Feature Level 10.0 (ou Vulkan 1.0) e superior. Então, basicamente qualquer coisa feita nos últimos 10 anos ou mais.
Controlador de jogo compatível com SDL, XInput ou DInput (por exemplo, XB360/XBOne/XBSeries). Os usuários do DualShock 3 no Windows precisarão instalar os drivers oficiais do DualShock 3 incluídos como parte do PlayStation Now.
Binários do DuckStation para Windows x64/ARM64, Linux x86_64 (nos formatos AppImage/Flatpak) e binários universais do macOS estão disponíveis nas versões do GitHub e são criados automaticamente a cada commit/push.
De acordo com os termos de CC-BY-NC-ND, a redistribuição de versões e códigos não modificados é permitida. No entanto, preferiríamos que você criasse um link para https://www.duckstation.org/. Observe que configurações e pacotes pré-configurados são considerados modificações.
Para máquinas x86 (a maioria dos sistemas), você precisará de uma CPU que suporte o conjunto de instruções SSE4.1 para a construção "normal". Isso inclui todas as CPUs Intel fabricadas após 2007 e CPUs AMD fabricadas após 2011. Se você tiver uma CPU mais antiga, precisará baixar a versão "SSE2" na página de lançamentos, que tem desempenho inferior, mas ainda suporta essas CPUs.
DuckStation requer Windows 10/11, especificamente versão 1809 ou mais recente. Se você ainda estiver usando o Windows 7/8/8.1, o DuckStation não funcionará no seu sistema operacional. A execução desses sistemas operacionais em 2023 deve ser considerada um risco de segurança, e eu recomendaria atualizar para algo que receba suporte do fornecedor. Se você precisar usar um sistema operacional mais antigo, v0.1-5624 é a última versão que será executada. Mas não espere receber qualquer assistência, estas compilações não são mais suportadas.
Para baixar:
Acesse https://github.com/stenzek/duckstation/releases/tag/latest e baixe a versão do Windows x64. Este é um arquivo zip contendo o binário pré-construído.
Alternativamente, link de download direto: https://github.com/stenzek/duckstation/releases/download/latest/duckstation-windows-x64-release.zip
Extraia o arquivo para um subdiretório . O arquivo não possui subdiretório raiz, portanto, extrair para o diretório atual irá descartar vários arquivos em seu diretório de download se você não extrair para um subdiretório.
Depois de baixado e extraído, você pode iniciar o emulador com duckstation-qt-x64-ReleaseLTCG.exe
. Siga o Assistente de configuração para começar.
Se você receber um erro sobre a falta de vcruntime140_1.dll
, será necessário atualizar o tempo de execução do Visual C++. Você pode fazer isso nesta página: https://support.microsoft.com/en-au/help/2977003/the-latest-supported-visual-c-downloads. Especificamente, você deseja o tempo de execução x64, que pode ser baixado em https://aka.ms/vs/17/release/vc_redist.x64.exe.
DuckStation é fornecido para Linux x86_64 nos formatos AppImage e Flatpak. O lançamento no Flathub é oficial e sincronizado com o lançamento contínuo/estável mais recente no GitHub.
Os AppImages requerem uma distribuição equivalente ao Ubuntu 22.04 ou mais recente para serem executados.
Acesse https://github.com/stenzek/duckstation/releases/tag/latest e baixe duckstation-x64.AppImage
.
Execute chmod a+x
no AppImage baixado - seguindo esta etapa, o AppImage pode ser executado como um executável típico.
Vá para https://github.com/stenzek/duckstation/releases/tag/latest e baixe duckstation-x64.flatpak
.
Execute flatpak install ./duckstation-x64.flatpak
.
ou, se você tiver o FlatHub configurado:
Execute flatpak install org.duckstation.DuckStation
.
Use flatpak run org.duckstation.DuckStation
para iniciar ou selecione DuckStation
no inicializador do seu ambiente de área de trabalho. Siga o Assistente de configuração para começar.
As compilações universais do MacOS são fornecidas para x64 e ARM64 (Apple Silicon).
É necessário MacOS Big Sir (11.0), pois este também é o requisito mínimo para Qt.
Para baixar:
Vá para https://github.com/stenzek/duckstation/releases/tag/latest e baixe duckstation-mac-release.zip
.
Extraia o zip clicando duas vezes nele.
Abra DuckStation.app, opcionalmente movendo-o primeiro para o local desejado.
Dependendo da configuração do GateKeeper, pode ser necessário clicar com o botão direito -> Abrir na primeira vez que executá-lo, pois os certificados de assinatura de código estão fora de questão para um projeto que gera receita zero.
Você precisará de um dispositivo com armv7 (ARM de 32 bits), AArch64 (ARM de 64 bits) ou x86_64 (x86 de 64 bits). 64 bits é o preferido, os requisitos são maiores para 32 bits, você provavelmente desejará pelo menos uma CPU de 1,5 GHz.
Baixe no Google Play: https://play.google.com/store/apps/details?id=com.github.stenzek.duckstation
Downloads de APK e beta: https://www.duckstation.org/android/
Nenhum suporte é fornecido para o aplicativo Android , ele é gratuito e suas expectativas devem estar de acordo com isso. Por favor, não me envie e-mails sobre questões relacionadas ou peça ajuda, você será ignorado.
Para usar:
Instale e execute o aplicativo pela primeira vez.
Siga o assistente de configuração.
Se você tiver um controlador externo, precisará mapear os botões e manípulos nas configurações.
Vários jogos da região PAL usam proteção LibCrypt, exigindo informações adicionais do subcanal do CD para funcionar corretamente. O não funcionamento do libcrypt geralmente se manifesta como travamento ou travamento, mas às vezes também pode afetar a jogabilidade, dependendo de como o jogo o implementou.
Para esses jogos, certifique-se de que a imagem do CD e seu arquivo SBI (.sbi) correspondente tenham o mesmo nome e estejam colocados no mesmo diretório. DuckStation carregará automaticamente o arquivo SBI quando ele for encontrado próximo à imagem do CD.
Por exemplo, se a imagem do seu disco fosse chamada Spyro3.cue
, você colocaria o arquivo SBI no mesmo diretório e o nomearia Spyro3.sbi
.
Imagens CHD com informações de subcanal integradas também são suportadas.
Se você estiver reproduzindo diretamente de um disco e sua unidade de CD/DVD não suportar leitura de subcanal ou tiver uma distorção com o SubQ retornado, você poderá colocar o arquivo SBI no diretório subchannel
sob o diretório do usuário, com a série ou título do o jogo.
DuckStation vem com um banco de dados de cheats e patches integrado, ambos fornecidos pela comunidade. Contribuições para estes são bem-vindas em https://github.com/duckstation/chtdb.
Cada versão inclui a versão mais recente do banco de dados, mas você também pode atualizar manualmente para a versão mais recente.
Requisitos:
Estúdio Visual 2022
Clone o repositório: git clone https://github.com/stenzek/duckstation.git
.
Baixe o pacote de dependências em https://github.com/stenzek/duckstation-ext-qt-minimal/releases/download/latest/deps-x64.7z e extraia-o para depmsvc
.
Abra a solução do Visual Studio duckstation.sln
na raiz ou "Abrir pasta" para compilação cmake.
Construir solução.
Os binários estão localizados em bin/x64
.
Execute duckstation-qt-x64-Release.exe
ou qualquer configuração que você usou.
Nomes de pacotes 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
Nomes de pacotes do 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
Nomes de pacotes 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
Clone o repositório: git clone https://github.com/stenzek/duckstation.git
, cd duckstation
.
Crie dependências. Você pode salvá-los fora da árvore, se quiser. Isso vai demorar um pouco. scripts/deps/build-dependencies-linux.sh deps
.
Execute o CMake para configurar o sistema de compilação. Assumindo um subdiretório de compilação de build-release
, execute 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
. Se você deseja uma compilação de versão (otimizada), inclua -DCMAKE_BUILD_TYPE=Release -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON
.
Compile o código-fonte. Para o exemplo acima, execute ninja -C build-release
Execute o binário, localizado no diretório de construção em ./build-release/bin/duckstation-qt
.
Requisitos:
CMake
Código X
Clone o repositório: git clone https://github.com/stenzek/duckstation.git
.
Construa as dependências. Isso vai demorar um pouco. scripts/deps/build-dependencies-mac.sh deps
.
Execute o CMake para configurar o sistema de compilação: cmake -Bbuild-release -DCMAKE_BUILD_TYPE=Release -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_PREFIX_PATH="$PWD/deps"
.
Compile o código-fonte: cmake --build build-release --parallel
.
Execute o binário, localizado no diretório de construção em bin/DuckStation.app
.
O "Diretório de usuários" é onde você deve colocar as imagens do BIOS, onde as configurações são salvas e os cartões de memória/estados salvos são salvos por padrão. Um arquivo de banco de dados de controlador de jogo SDL opcional também pode ser colocado aqui.
Ele está localizado nos seguintes locais, dependendo da plataforma que você está usando:
Windows: Meus DocumentosDuckStation
Linux: $XDG_DATA_HOME/duckstation
ou ~/.local/share/duckstation
.
macOS: ~/Library/Application Support/DuckStation
.
Portanto, se você estivesse usando Linux, colocaria suas imagens de BIOS em ~/.local/share/duckstation/bios
. Este diretório será criado ao executar o DuckStation pela primeira vez.
Se você deseja usar uma compilação "portátil", onde o diretório do usuário é o mesmo onde o executável está localizado, crie um arquivo vazio chamado portable.txt
no mesmo diretório do executável DuckStation.
Seu teclado ou controlador de jogo pode ser usado para simular uma variedade de controladores de PlayStation. A entrada do controlador é suportada por back-ends DInput, XInput e SDL e pode ser alterada em Settings -> Controllers
.
Para vincular seu dispositivo de entrada, vá para Settings -> Controllers
e selecione o controlador virtual que deseja mapear. O mapeamento automático lida com a maioria dos controladores. No entanto, se você precisar vincular manualmente um controlador, clique na caixa abaixo do nome do botão/eixo e pressione a tecla ou botão no dispositivo de entrada ao qual deseja vincular.
Os lançamentos do DuckStation vêm com um banco de dados de mapeamentos de controladores de jogo para o backend do controlador SDL, cortesia de https://github.com/mdqinc/SDL_GameControllerDB. O arquivo gamecontrollerdb.txt
incluído pode ser encontrado no subdiretório resources
do diretório do programa DuckStation.
Se você estiver enfrentando problemas para vincular seu controlador ao back-end do controlador SDL, talvez seja necessário adicionar um mapeamento personalizado ao arquivo de banco de dados. Faça uma cópia de gamecontrollerdb.txt
e coloque-a em seu diretório de usuário (ou diretamente no diretório do programa, se estiver executando em modo portátil) e siga as instruções no repositório SDL_GameControllerDB para criar um novo mapeamento. Adicione este mapeamento à nova cópia de gamecontrollerdb.txt
e seu controlador deverá ser reconhecido corretamente.
As ligações para controladores e teclas de atalho podem ser alteradas em Settings -> Controllers
.
Controlador 1:
Manípulo Esquerdo: W/A/S/D
Manípulo direito: T/F/G/H
D-Pad: Cima/Esquerda/Baixo/Direita
Triângulo/Quadrado/Círculo/Cruz: I/J/L/K
L1/R1: Q/E
L2/R2: 1/3
L3/R3: 2/4
Iniciar: Entrar
Selecione: Retrocesso
Teclas de atalho:
Escape: Abra o menu de pausa
F1: Estado de carga
F2: Salvar estado
F3: Selecione o estado de salvamento anterior
F4: Selecione o próximo estado de salvamento
F10: Salvar captura de tela
F11: Alternar tela cheia
Guia: Desativar temporariamente o limitador de velocidade
Espaço: pausar/retomar emulação
Ícone por ícones8: https://icons8.com/icon/74847/platforms.undefined.short-title
"PlayStation" e "PSX" são marcas registradas da Sony Interactive Entertainment Europe Limited. Este projeto não é afiliado de forma alguma à Sony Interactive Entertainment.