Atualização Português do Brasil (#3737)

Atualizado arquivo Leia-me para a última versão.
This commit is contained in:
Anderson Cardoso
2026-05-12 23:46:54 -03:00
committed by GitHub
parent 12450a1e0c
commit 6b50869006

View File

@@ -1,222 +1,286 @@
Tradução:
# DuckStation - Emulador de PlayStation 1, também conhecido como PSX
[Últimas Notícias](#latest-news) | [Recursos](#features) | [Download e Execução](#downloading-and-running) | [Compilação](#building) | [Avisos Legais](#disclaimers)
[Recursos](#features) | [Baixando e executando](#downloading-and-running) | [Compilando](#building) | [Avisos](#disclaimers)
**Últimas Versões para Windows 10/11, Linux (AppImage/Flatpak) e macOS:** https://github.com/stenzek/duckstation/releases/tag/latest
**Versões mais recentes para Windows 10/11 (x64/ARM64), Linux (AppImage x64/ARM32/ARM64) e macOS (13.3+ Universal):** https://github.com/stenzek/duckstation/releases/tag/latest
**Lista de Compatibilidade de Jogos:** https://docs.google.com/spreadsheets/d/1H66MxViRjjE5f8hOl5RQmF5woS1murio2dsLn14kEqo/edit
**Servidor do Discord:** https://www.duckstation.org/discord.html
**Wiki:** https://www.duckstation.org/wiki/
DuckStation é um simulador/emulador do console Sony PlayStation(TM), com foco em jogabilidade, velocidade e manutenção a longo prazo. O objetivo é ser o mais preciso possível, mantendo um desempenho adequado para dispositivos mais modestos. As opções de “hack” não são recomendadas; a configuração padrão deve oferecer suporte a todos os jogos categorizados como jogáveis, com apenas alguns aprimoramentos apresentando problemas de compatibilidade.
DuckStation é um simulador/emulador do console Sony PlayStation(TM), focando na jogabilidade, velocidade e manutenção a longo prazo. O objetivo é ser o mais preciso possível, mantendo um desempenho adequado para dispositivos de baixo desempenho. Opções de "hack" não são recomendadas, a configuração padrão deve suportar todos os jogos jogáveis, com apenas algumas das melhorias tendo problemas de compatibilidade.
Uma imagem ROM do "BIOS" é necessária para iniciar o emulador e jogar os jogos. Você pode usar uma imagem de qualquer versão de hardware ou região, embora regiões de jogos e regiões de BIOS que não idênticas podem resultar em problemas de compatibilidade. A imagem ROM ou Jogo não é fornecida com o emulador por motivos legais; você deve obter do seu próprio console usando Caetla ou outros meios.
É preciso de uma imagem do “BIOS” do PS1 ou PS2 para iniciar o emulador e jogar. Você pode usar uma imagem de qualquer versão de hardware ou região, embora regiões diferentes entre o jogo e o BIOS possam causar problemas de compatibilidade. Por motivos legais, nenhuma imagem de ROM é fornecida com o emulador; você deve extraí-la do seu próprio console usando o Caetla ou outros meios.
## Recursos
O DuckStation possui uma interface totalmente funcional construída usando Qt, bem como uma interface de tela cheia/TV baseada no Dear ImGui.
DuckStation conta com uma interface completa (frontend) criada com Qt, além de uma interface em tela cheia/TV baseada em Dear ImGui.
<p align="center">
<img src="https://raw.githubusercontent.com/stenzek/duckstation/md-images/main-qt.png" alt="Captura de Tela da Janela Principal" />
<img src="https://raw.githubusercontent.com/stenzek/duckstation/md-images/bigduck.png" alt="Captura de Tela da Interface de Tela Cheia" />
<img src="https://raw.githubusercontent.com/stenzek/duckstation/md-images/main-qt.png" alt="Main Window Screenshot" />
<img src="https://raw.githubusercontent.com/stenzek/duckstation/md-images/bigduck.png" alt="Fullscreen UI Screenshot" />
</p>
Outros recursos incluem:
- Recompilador de CPU/JIT (x86-64, armv7/AArch32 e AArch64).
- Renderização de hardware (D3D11, D3D12, OpenGL, Vulkan, Metal) e renderização de software.
- Ampliação, filtragem de textura e cor verdadeira (24 bits) nos renderizadores de hardware.
- Recompilador/JIT de CPU (x86-64, armv7/AArch32, AArch64, RISC-V/RV64).
- Renderizador por hardware com suporte às APIs D3D11, D3D12, OpenGL, Vulkan e Metal.
- Upscaling, filtragem de textura e cores reais (24-bit) nos renderizadores por hardware.
- PGXP para precisão de geometria, correção de textura e emulação de buffer de profundidade.
- Filtro de downsampling adaptativo.
- Cadeias de shaders de pós-processamento (GLSL e Reshade FX experimental).
- "Inicialização rápida" para pular a tela de abertura/intro do BIOS.
- Suporte a salvar estados.
- Mesclagem precisa por meio de Rasterizer Order Views (ROVs)/Fragment Shader Interlock.
- Sistema de substituição de texturas nos renderizadores por hardware.
- Renderizador por software vetorizado e multithread.
- Desentrelaçamento adaptativo.
- Filtro de redução de amostragem adaptativo.
- Rotação de tela para jogos verticais ou shmups “TATE”.
- Cadeias de shaders de pós-processamento (GLSL, Reshade FX e predefinições Slang).
- Sobreposições/molduras (bezels) exibidas ao redor do conteúdo do jogo.
- “Fast boot” para pular a tela/intro da BIOS.
- Suporte a save states, com runahead e retrocesso.
- Suporte para Windows, Linux e macOS.
- Suporta imagens bin/cue, arquivos bin/img crus, MAME CHD, ECM de única faixa, MDS/MDF e formatos PBP não criptografados.
- Suporte à leitura direta de CD, imagens bin/cue, MAME CHD, ECM de faixa única, MDS/MDF, CCD e formatos PBP não criptografados.
- Pré-carregamento de imagens de disco na RAM para evitar engasgos quando o disco “hiberna”.
- Mesclagem de jogos multidisco na lista/grade de jogos, com cartões de memória compartilhados entre os discos.
- Carregamento/aplicação automática de modificações PPF.
- Inicialização direta de executáveis homebrew.
- Carregamento direto de arquivos Portable Sound Format (psf).
- Controles digitais e analógicos.
- Suporte ao lightgun Namco GunCon (simulado com o mouse).
- Áudio com time stretching ao executar fora de 100% da velocidade.
- Controles digitais e analógicos para entrada (a vibração é repassada ao host).
- Suporte a pistolas de luz GunCon e Justifier (simuladas com mouse).
- Suporte ao NeGcon.
- Interface Qt e "Big Picture".
- Atualizações automáticas a partir dos canais oficiais.
- Verificação automática de conteúdo - os títulos/jogos são fornecidos por redump.org.
- Troca automática opcional de cartões de memória para cada jogo.
- Suporta carregar trapaças de listas existentes.
- Editor de cartões de memória e importador de salvamento.
- Overclock emulado de CPU.
- Predefinições de controle e configuração por jogo.
- Interface Qt e “Big Picture”.
- Atualizações automáticas com canais preview e latest.
- Varredura automática de conteúdo — títulos/hashes dos jogos fornecidos por redump.org.
- Troca automática opcional de cartões de memória para cada jogo separadamente.
- Suporte ao carregamento de trapaças a partir de listas.
- Editor de cartões de memória e importação de arquivos de dados de jogos salvos.
- Overclock emulado da CPU.
- Depuração integrada e remota.
- Controles multitap (até 8 dispositivos).
- Controles Multitap (até 8 dispositivos).
- RetroAchievements.
- Carregamento/aplicação automática de patches PPF.
- Presença rica no Discord.
- Captura de vídeo com backends Media Foundation (Windows) e [FFmpeg](https://www.ffmpeg.org/) (todas as plataformas).
- Função de câmera livre.
- Emulação de cartucho da porta paralela.
## Requisitos do Sistema
- Um CPU rápido. Mas precisa ser x86_64, AArch32/armv7 ou AArch64/ARMv8, caso contrário, o recompilação será lenta.
- Para os renderizadores de hardware, é necessário uma GPU compatível com OpenGL 3.1/OpenGL ES 3.1/Direct3D 11 Feature Level 10.0 (ou Vulkan 1.0) e superior. basicamente, qualquer computador produzido nos últimos 10 anos mais ou menos deve dar conta.
- Controlador de jogo compatível com SDL, XInput ou DInput (por exemplo, XB360/XBOne/XBSeries). Usuários de DualShock 3 no Windows precisarão instalar os drivers oficiais do DualShock 3 incluídos como parte do PlayStation Now.
## Requisitos do sistema
- Um CPU mais rápido do que uma 'batata'. Mas precisa ser x86_64, AArch32/armv7, AArch64/ARMv8 ou RISC-V/RV64.
- Uma GPU capaz de OpenGL 3.1/OpenGL ES 3.1/Direct3D 11 Feature Level 10.0/Vulkan 1.0. Ou seja, basicamente qualquer coisa feita nos últimos 10 anos, mais ou menos.
- Controle de jogo compatível com SDL, XInput ou DInput (ex.: XB360/XBOne/XBSeries). Usuários de DualShock 3 no Windows precisarão instalar os drivers oficiais do DualShock 3 incluídos como parte do PlayStation Now.
## Download e Execução
Executáveis do DuckStation para Windows x64/ARM64, Linux x86_64 (nos formatos AppImage/Flatpak) e para macOS estão disponíveis via GitHub na aba Releases e são automaticamente compilados a cada commit/envio. Executáveis ou pacotes distribuídos por outras fontes podem estar desatualizados e não são suportados pelo desenvolvedor, por favor, entre em contato com eles para obter suporte, não conosco.
## Baixando e executando
Os binários do DuckStation para Windows x64/ARM64, Linux x86_64/ARM32/ARM64 (no formato AppImage) e macOS (binários universais) estão disponíveis via GitHub na guia Releases e são compilados automaticamente a cada commit/push.
Conforme os termos da CC-BY-NC-ND, a redistribuição de **releases e código não modificados** é permitida. No entanto, preferimos que você aponte para https://www.duckstation.org/ em vez disso. 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 build “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, será necessário baixar a build “SSE2” na página de releases, que tem desempenho inferior, mas ainda oferece suporte a essas CPUs.
A página principal de releases é limitada às últimas 30 versões devido a limitações do atualizador automático. Versões mais antigas podem ser baixadas em https://github.com/duckstation/old-releases/releases.
### Canais de atualização
O atualizador automático do DuckStation tem dois canais: “Stable” e “Preview”.
- **“Stable Releases”**: Atualizações menos frequentes e acompanha a release “latest” no GitHub. As releases neste canal foram mais testadas.
- **“Preview Releases”**: Compiladas sempre que um commit é enviado ao repositório e acompanha o pre-release no GitHub. Este canal contém builds com testes mínimos e pode conter bugs ou problemas.
Por padrão, o atualizador acompanhará o canal do qual você fez o download. Você pode mudar o canal em `Configurações -> Interface -> Atualizações`.
### Windows
DuckStation **requer** Windows 10/11, especificamente a versão 1809 ou mais recente. Se você ainda estiver usando Windows 7/8/8.1, o DuckStation **não funcionará** no seu sistema operacional. Usar esses sistemas operacionais em 2023 deve ser considerado um risco de segurança, recomendaria atualizar para algo que receba suporte do fornecedor.
Se você precisa usar um sistema operacional mais antigo, [v0.1-5624](https://github.com/stenzek/duckstation/releases/tag/v0.1-5624) é a última versão que funcionará. Mas não espere receber nenhuma assistência, essas compilações não são mais suportadas.
O DuckStation **exige** Windows 10/11, especificamente a versão 1809 ou mais recente. Se você ainda usa Windows 7/8/8.1, o DuckStation **não vai rodar** no seu sistema operacional. Usar esses sistemas operacionais em 2026 deve ser considerado um risco de segurança, e recomendo atualizar para algo que ainda receba suporte do fornecedor.
Se você precisar usar um sistema operacional mais antigo, a [v0.1-5624](https://github.com/duckstation/old-releases/releases/tag/v0.1-5624) é a última versão que roda. Mas não espere receber suporte; essas builds não são mais suportadas.
Para baixar:
- Acesse https://github.com/stenzek/duckstation/releases/tag/latest e baixe a compilação do Windows x64. Este é um arquivo ZIP contendo o executável pré-compilado.
- Alternativamente, link de download direto: https://github.com/stenzek/duckstation/releases/download/latest/duckstation-windows-x64-release.zip
- Extraia o arquivo ZIP **para uma pasta**. O arquivo ZIP não tem um subdiretório raiz, então, se você não extrair para um subdiretório, ele irá despejar vários arquivos no seu diretório de download.
As builds para Windows são disponibilizadas em dois formatos:
- **Instalador (.exe, recomendado):** Um instalador que extrai o DuckStation para o diretório de programas do usuário e, opcionalmente, cria atalhos no Menu Iniciar/Área de Trabalho.
- **Arquivo (.zip):** Um arquivo zip contendo o binário pré-compilado. Escolha esta opção se você quiser uma instalação “portátil” ou não quiser executar um instalador.
Depois de baixado e extraído, pode iniciar o emulador com `duckstation-qt-x64-ReleaseLTCG.exe`. Siga o Assistente de configuração para começar.
Para usar o instalador, basta baixá-lo na página de releases, executá-lo e seguir as instruções.
- Link direto de download: https://github.com/stenzek/duckstation/releases/download/latest/duckstation-windows-x64-installer.exe
- Link de download ARM64 (notebooks Snapdragon): https://github.com/stenzek/duckstation/releases/download/latest/duckstation-windows-arm64-installer.exe
- Instalador SSE2 legado (para CPUs pré-2008): https://github.com/stenzek/duckstation/releases/download/latest/duckstation-windows-x64-sse2-installer.exe
**Se você receber um erro sobre a falta de `vcruntime140_1.dll`, precisará atualizar sua runtime do Visual C++.**faça da seguinte forma, nesta página: https://support.microsoft.com/en-au/help/2977003/the-latest-supported-visual-c-downloads. Especificamente, você deseja a runtime x64, que pode ser baixada em https://aka.ms/vs/17/release/vc_redist.x64.exe.
O instalador ainda é uma adição recente; portanto, se você encontrar problemas, por favor nos avise pelo Discord.
Para usar o arquivo (.zip) ou a instalação portátil, siga estes passos:
1. Baixe https://github.com/stenzek/duckstation/releases/download/latest/duckstation-windows-x64-release.zip. Se você tiver uma máquina Windows ARM64, como Snapdragon, baixe `duckstation-windows-arm64-release.zip` em vez disso.
2. Extraia o arquivo **para um subdiretório**. O arquivo não tem um subdiretório raiz; portanto, extrair para o diretório atual vai espalhar um monte de arquivos na sua pasta de downloads se você não extrair para um subdiretório.
3. Se você quiser uma instalação portátil (veja [Diretórios de usuário](#user-directories)), crie um arquivo vazio chamado `portable.txt` no mesmo diretório do executável.
4. Depois de baixar e extrair, 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 informando que `vcruntime140_1.dll` está faltando, será necessário atualizar o runtime do Visual C++.** Você pode fazer isso nesta página: https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist. Especificamente, você precisa do runtime x64, que pode ser baixado em https://aka.ms/vs/17/release/vc_redist.x64.exe.
### Linux
As únicas versões suportadas do DuckStation para Linux são o AppImage e o Flatpak na página de lançamentos. Se você instalou o DuckStation de outra fonte ou distribuição (por exemplo, EmuDeck), você deve entrar em contato com o responsável para suporte, nós não temos controle sobre isso.
O DuckStation é disponibilizado para Linux x86_64/ARM32/ARM64 no formato AppImage.
#### AppImage
Os AppImages requerem uma distribuição equivalente ao Ubuntu 22.04 ou mais recente para serem executados.
Os AppImages exigem uma distribuição equivalente ao Ubuntu 22.04 ou mais recente para funcionar.
- Acesse https://github.com/stenzek/duckstation/releases/tag/latest e baixe `duckstation-x64.AppImage`.
- Execute `chmod a+x` no AppImage baixado -- após este passo, o AppImage pode ser executado como um executável típico.
1. Baixe https://github.com/stenzek/duckstation/releases/download/latest/DuckStation-x64.AppImage. Se você tiver uma máquina Linux ARM64, baixe `DuckStation-arm64.AppImage`.
2. Execute `chmod a+x` no AppImage baixado após este passo, o AppImage pode ser executado como um executável comum. Como alternativa, no gerenciador de arquivos de sua preferência, habilite a permissão de execução nas propriedades do arquivo.
3. Ao executar o AppImage pela primeira vez, será exibida uma solicitação para criar um atalho do lançador de programas.
#### Flatpak
Se você estava usando anteriormente o pacote Flatpak, para migrar seus dados do Flatpak para o AppImage, execute o seguinte comando:
```bash
mv ~/.var/app/org.duckstation.DuckStation/config/duckstation ~/.local/share
```
- Acesse 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 lançador do seu ambiente de desktop. Siga o Assistente de Configuração para começar.
Você precisará adicionar novamente seus diretórios de jogos após mudar para o AppImage.
### macOS
São fornecidas compilações universais do macOS para x86_64 (Intel) e ARM64 (Apple Silicon).
Builds universais do macOS são fornecidas tanto para x86_64 (Intel) quanto para ARM64 (Apple Silicon).
macOS Ventura (13.3) é necessário, pois também é o requisito mínimo para o Qt.
O macOS Ventura (13.3) é obrigatório, pois este também é o requisito mínimo do Qt.
Para baixar:
- Acesse https://github.com/stenzek/duckstation/releases/tag/latest e baixe `duckstation-mac-release.zip`.
- Extraia o arquivo ZIP dando um duplo clique nele.
- Abra o `DuckStation.app`, opcionalmente movendo-o para a localização desejada antes.
- Dependendo da configuração do GateKeeper, você pode precisar clicar com o botão direito -> Abrir na primeira vez que executá-lo, já que certificados de assinatura de código estão fora de questão para um projeto que não gera receita alguma.
1. Baixe https://github.com/stenzek/duckstation/releases/download/latest/duckstation-mac-release.zip.
2. Extraia o zip com um clique duplo.
3. Abra `DuckStation.app`, opcionalmente movendo-o primeiro para o local desejado.
Se você receber uma mensagem informando que o app é de um desenvolvedor não identificado:
1. Abra Ajustes do Sistema -> Privacidade e Segurança, ou digite “Gatekeeper” na barra de busca.
2. Na seção “Segurança”, deve haver uma mensagem informando que o DuckStation foi bloqueado. Clique em “Abrir mesmo assim”.
Infelizmente isso é necessário porque a Apple exige assinatura de código para que apps possam ser executados sem avisos, e eu não tenho um certificado de assinatura de código, já que um custo anual está fora de cogitação para um projeto que gera zero receita.
### Android
Você precisará de um dispositivo com armv7 (32 bits ARM), AArch64 (64 bits ARM) ou x86_64 (64 bits x86). 64 bits são preferíveis, os requisitos são mais altos para 32 bits, você provavelmente vai querer pelo menos um CPU de 1,5 GHz.
Você precisará de um dispositivo com armv7 (ARM 32-bit), AArch64 (ARM 64-bit) ou x86_64 (x86 64-bit). 64-bit é preferível; os requisitos são maiores para 32-bit provavelmente você vai querer pelo menos uma CPU de 1,5 GHz.
A distribuição pelo Google Play é o mecanismo de distribuição recomendado e resultará em tamanhos de download menores: https://play.google.com/store/apps/details?id=com.github.stenzek.duckstation
Baixe pela Google Play: https://play.google.com/store/apps/details?id=com.github.stenzek.duckstation
**Não é fornecido suporte para o aplicativo Android**, ele é gratuito e suas expectativas devem estar alinhadas com isso. Por favor, **não** me envie e-mails sobre problemas relacionados a ele, eles serão ignorados.
Se você precisar usar um APK, os links para download estão listados em https://www.duckstation.org/android/
**Não é fornecido suporte para o app de Android**; ele é gratuito e suas expectativas devem ser compatíveis com isso. Por favor, **não** me envie e-mail sobre problemas nele nem peça ajuda; você será ignorado.
Para usar:
1. Instale e execute o aplicativo pela primeira vez.
2. Adicione diretórios de jogos tocando no botão de adição e selecionando um diretório. Você pode adicionar diretórios adicionais depois selecionando "Editar Diretórios de Jogos" no menu.
3. Toque em um jogo para começar. Quando você inicia um jogo pela primeira vez, ele pedirá para importar uma imagem de BIOS.
1. Instale e execute o app pela primeira vez.
2. Siga o assistente de configuração.
Se você tiver um controle externo, precisará mapear os botões e analogicos nas configurações.
Se você tiver um controle externo, será necessário mapear os botões e os analógicos nas configurações.
### Proteção LibCrypt e arquivos SBI
Alguns jogos da região PAL usam a proteção LibCrypt, que requer informações adicionais de subcanal de CD para funcionar corretamente. O não funcionamento do libcrypt geralmente se manifesta como travamentos, mas às vezes pode afetar a jogabilidade, dependendo de como o jogo o implementou.
Vários jogos da região PAL usam a proteção LibCrypt, exigindo informações adicionais de subcanais do CD para funcionar corretamente. Quando o libcrypt não funciona, normalmente isso se manifesta como travamentos ou quedas, mas às vezes também pode afetar a jogabilidade, dependendo de como o jogo a implementou.
Para esses jogos, certifique-se de que a imagem do CD e seu arquivo correspondente SBI (.sbi) tenham o mesmo nome e estejam na mesma pasta. O DuckStation carregará automaticamente o arquivo SBI quando ele for encontrado ao lado da imagem do CD.
Para esses jogos, certifique-se de que a imagem do CD e o arquivo SBI (.sbi) correspondente tenham o mesmo nome e estejam no mesmo diretório. O DuckStation carregará automaticamente o arquivo SBI quando ele for encontrado junto da imagem do CD.
Por exemplo, se sua imagem de disco se chamasse `Spyro3.cue`, você colocaria o arquivo SBI na mesma pasta e o nomearia como `Spyro3.sbi`.
Por exemplo, se a imagem do seu disco se chama `Spyro3.cue`, você colocaria o arquivo SBI no mesmo diretório e o nomearia como `Spyro3.sbi`.
## Compilação
Imagens CHD com informações de subcanal embutidas também são suportadas.
Se você estiver jogando diretamente do disco e seu drive de CD/DVD não suportar leitura de subcanais, ou tiver discrepância (skew) no SubQ retornado, você pode colocar o arquivo SBI no diretório `subchannels` dentro do diretório do usuário, com o serial ou o título do jogo.
### Banco de dados de trapaças e modificações
O DuckStation vem com um banco de dados interno de trapaças e modificações, ambos fornecidos pela comunidade. Contribuições são bem-vindas em https://github.com/duckstation/chtdb.
Cada release inclui a versão mais recente do banco de dados; no entanto, você também pode atualizá-lo manualmente para a versão mais recente.
## Compilando
### Windows
Requisitos:
- Visual Studio 2022
- Visual Studio 2026 ou mais recente, com a carga de trabalho “Desenvolvimento para desktop com C++” instalada.
1. Clone o repositório: `git clone https://github.com/stenzek/duckstation.git`.
2. 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 `dep\msvc`.
3. Abra a solução do Visual Studio `duckstation.sln` na raiz ou "Abrir Pasta" para a compilação com CMake.
4. Compile a solução.
5. Os binários estão localizados em `bin/x64`.
6. Execute `duckstation-qt-x64-Release.exe` ou a configuração que você usou.
2. Baixe o pacote de dependências em https://github.com/duckstation/dependencies. Você precisará do arquivo `deps-windows-x64.7z` e, se quiser compilar para ARM64, baixe também `deps-windows-arm64.7z`. Extraia esses arquivos para `dep\prebuilt`.
3. Abra o projeto do Visual Studio `duckstation.sln` na raiz (recomendado) ou use “Abrir pasta para build via CMake (não recomendado/nem suportado).
4. Compile o projeto.
5. Os binários ficam em `bin/x64`.
6. Execute `duckstation-qt-x64-Release.exe` (ou a configuração que você tiver usado).
### Linux
Requisitos (nomes de pacotes Debian/Ubuntu):
- CMake (`cmake`)
- SDL2 (pelo menos a versão 2.28.2) (`libsdl2-dev` `libxrandr-dev`)
- pkgconfig (`pkg-config`)
- Qt 6 (pelo menos a versão 6.5.1) (`qt6-base-dev` `qt6-base-private-dev` `qt6-base-dev-tools` `qt6-tools-dev` `libqt6svg6`)
- git (`git`) (Nota: necessário para clonar o repositório e na hora da compilação)
- Quando o Wayland estiver habilitado (padrão): (`libwayland-dev` `libwayland-egl-backend-dev` `extra-cmake-modules` `qt6-wayland`)
- libcurl (`libcurl4-openssl-dev`)
- Opcional para compilação mais rápida: Ninja (`ninja-build`)
1. Clone o repositório: `git clone https://github.com/stenzek/duckstation.git -b dev`.
2. Crie um diretório de compilação, seja dentro ou fora do diretório de origem.
3. Execute o CMake para configurar o sistema de compilação. Supondo que o diretório de compilação seja `build-release`, execute `cmake -Bbuild-release -DCMAKE_BUILD_TYPE=Release`. Se você tiver o Ninja instalado, adicione `-GNinja` ao final da linha de comando do CMake para compilações mais rápidas.
4. Compile o código-fonte. Para o exemplo acima, execute `cmake --build build-release --parallel`.
5. Execute o binário, que está localizado no diretório de compilação em `bin/duckstation-qt`.
#### Dependências necessárias
Nomes de pacotes no 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 libxss-dev libtool lld llvm nasm ninja-build pkg-config zlib1g-dev
```
Nomes de pacotes no 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 libXScrnSaver-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
```
#### Compilando
1. Clone o repositório: `git clone https://github.com/stenzek/duckstation.git`, `cd duckstation`.
2. Baixe o pacote de dependências em https://github.com/duckstation/dependencies. Você precisará do arquivo `deps-linux-x64.tar.xz` e das variantes de cross-compile se quiser compilar para ARM. Extraia esses arquivos para `dep\prebuilt`.
3. Execute o CMake para configurar o sistema de build. Considerando um subdiretório de build `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" -G Ninja`. Se você quiser uma build de release (otimizada), inclua `-DCMAKE_BUILD_TYPE=Release -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON`.
4. Compile o código-fonte. No exemplo acima, execute `ninja -C build-release`
5. Execute o binário, localizado no diretório de build em `./build-release/bin/duckstation-qt`.
### macOS
Requisitos:
- CMake
- SDL2 (pelo menos a versão 2.28.2)
- Qt 6 (pelo menos a versão 6.5.1)
Opcional (recomendado para compilações mais rápidas):
- Ninja
- Xcode
1. Clone o repositório: `git clone https://github.com/stenzek/duckstation.git`.
2. Execute o CMake para configurar o sistema de compilação: `cmake -Bbuild-release -DCMAKE_BUILD_TYPE=Release`. Você pode precisar especificar `-DQt6_DIR` dependendo do seu sistema. Se você tiver o Ninja instalado, adicione `-GNinja` ao final da linha de comando do CMake para compilações mais rápidas.
2. Baixe o pacote de dependências em https://github.com/duckstation/dependencies. Você precisará do arquivo `deps-macos-universal.tar.xz`. Extraia os arquivos para `dep\prebuilt`.
3. Execute o CMake para configurar o sistema de build: `cmake -Bbuild-release -DCMAKE_BUILD_TYPE=Release -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON`.
4. Compile o código-fonte: `cmake --build build-release --parallel`.
5. Execute o binário, que está localizado no diretório de compilação em `bin/DuckStation.app`.
5. Execute o binário, localizado no diretório de build em `bin/DuckStation.app`.
## Diretórios de Usuários
O "Diretório de Usuário" é onde você deve colocar suas imagens da BIOS, onde as configurações são salvas e onde os cartões de memória e estados de salvamento são salvos por padrão. Um [arquivo opcional de banco de dados de controle de jogo SDL](#sdl-game-controller-database) também pode ser colocado aqui.
## Diretórios de usuário
O Diretório do usuário é onde você deve colocar suas imagens de BIOS, onde as configurações são salvas e onde os cartões de memória/save states são salvos por padrão.
Um arquivo opcional de banco de dados de controles de jogo do SDL ([SDL game controller database file](#sdl-game-controller-database)) também pode ser colocado aqui.
Ele está localizado nos seguintes lugares, dependendo da plataforma que você está usando:
Ele fica nos seguintes locais, dependendo da plataforma que você estiver usando:
- Windows: Meus Documentos\DuckStation
- Linux: `$XDG_DATA_HOME/duckstation`, ou `~/.local/share/duckstation`.
- Windows: `AppData\Local\DuckStation` (instalações antigas usarão `Documents\DuckStation`).
- Linux: `$XDG_DATA_HOME/duckstation` ou `~/.local/share/duckstation`.
- macOS: `~/Library/Application Support/DuckStation`.
Portanto, se você estiver usando o Linux, sugiro colocar suas imagens do BIOS em `~/.local/share/duckstation/bios`. Este diretório será criado na primeira vez que você executar o DuckStation.
Então, se você estiver usando Linux, deve colocar suas imagens do BIOS em `~/.local/share/duckstation/bios`. Esse diretório será criado quando você 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 onde o executável do DuckStation está.
Se você quiser usar uma build “portátil, em que o diretório do usuário seja o mesmo local do executável, crie um arquivo vazio chamado `portable.txt` no mesmo diretório do executável do DuckStation.
## Associações para a interface Qt
Seu teclado ou controle podem ser usados para simular uma variedade de controles de PlayStation. A entrada do controle é suportada através dos back-ends DInput, XInput e SDL e pode ser alterada em `Configurações -> Configurações Gerais`.
Há um atalho para abrir o diretório do usuário selecionando `Open Data Directory` no menu `Tools`.
Para atribuir seu dispositivo de entrada, vá para `Configurações -> Configurações do Controle`. Cada um dos botões/eixos para o controle emulador será listado, juntamente com a tecla/botão correspondente do seu dispositivo a que ele atualmente em uso. Para atribuir novamente, clique na caixa ao lado do nome do botão/eixo e pressione a tecla ou botão do seu dispositivo de entrada que deseja atribuir. Ao atribuir a vibração, basta pressionar qualquer botão no controle para o qual você deseja que seja configurado.
O DuckStation permite substituir certos recursos ao colocar arquivos no subdiretório `resources` do diretório do usuário. Isso inclui imagens e efeitos sonoros (ex.: navegação de menu/desbloqueio de conquista). Consulte https://github.com/stenzek/duckstation/wiki/Resource-Overrides para mais informações.
## Banco de Dados de Controle de Jogo SDL
Os lançamentos do DuckStation incluem um banco de dados de mapeamentos de controle de jogo para o back-end do controle SDL, cortesia de https://github.com/gabomdq/SDL_GameControllerDB. O arquivo `gamecontrollerdb.txt` incluído pode ser encontrado no subdiretório `database` do diretório do programa DuckStation.
## Mapeamentos para o frontend Qt
Seu teclado ou controle pode ser usado para simular vários controles de PlayStation. A entrada do controle é suportada pelos backends DInput, XInput e SDL, e pode ser alterada em `Configurações -> Controles`.
Se você estiver tendo problemas para associar seu controle com o back-end do controlador SDL, pode ser necessário adicionar um mapeamento personalizado ao arquivo de banco de dados. Faça uma cópia de `gamecontrollerdb.txt` e coloque-o no seu [diretório de usuário](#user-directories) (ou diretamente no diretório do programa, se estiver executando em modo portátil) e siga as instruções no [repositório SDL_GameControllerDB](https://github.com/gabomdq/SDL_GameControllerDB) para criar um novo mapeamento. Adicione este mapeamento à nova cópia de `gamecontrollerdb.txt` e seu controle deve ser reconhecido corretamente.
Para mapear seu dispositivo de entrada, vá em `Configurações -> Controles` e selecione o controle virtual que você deseja mapear. O mapeamento automático lida com a maioria dos controles. Porém, se você precisar mapear um controle manualmente, clique na caixa abaixo do nome do botão/eixo e pressione a tecla ou botão no seu dispositivo de entrada que você deseja atribuir.
## Banco de dados de controles de jogo SDL
As releases do DuckStation incluem um banco de dados de mapeamentos de controles para o backend de controle SDL, cortesia de https://github.com/mdqinc/SDL_GameControllerDB. O arquivo incluído `gamecontrollerdb.txt` pode ser encontrado no subdiretório `resources` do diretório do programa do DuckStation.
Se você estiver tendo problemas para mapear seu controle com o backend de controle SDL, talvez seja necessário adicionar um mapeamento personalizado ao arquivo do banco de dados. Faça uma cópia de `gamecontrollerdb.txt` e coloque-a no seu [diretório de usuário](#user-directories) (ou diretamente no diretório do programa, se estiver executando em modo portátil) e, em seguida, siga as instruções no [repositório SDL_GameControllerDB](https://github.com/mdqinc/SDL_GameControllerDB) para criar um novo mapeamento. Adicione esse mapeamento à nova cópia de `gamecontrollerdb.txt` e seu controle deverá ser reconhecido corretamente.
## Mapeamentos padrão
Os mapeamentos para controles e teclas de atalho podem ser alterados em `Configurações -> Controles`.
## Atribuições padrão
Controle 1:
- **D-Pad:** W/A/S/D
- **Triângulo/Quadrado/Círculo/Cruz:** Numpad8/Numpad4/Numpad6/Numpad2
- **Analógico esquerdo:** W/A/S/D
- **Analógico direito:** T/F/G/H
- **Direcional:** 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
- **Start:** Enter
- **Select:** Backspace
Atalhos:
- **Esc:** Abrir Menu de Pausa
- **F11:** Alternar Tela Cheia
- **Tab:** Desativar Temporariamente o Limitador de Velocidade
- **Espaço:** Pausar/Continuar Emulação
Teclas de atalho:
- **Escape:** Abrir menu de pausa
- **F1:** Carregar estado
- **F2:** Salvar estado
- **F3:** Selecionar o estado anterior
- **F4:** Selecionar o próximo estado
- **F10:** Salvar captura de tela
- **F11:** Alternar tela cheia
- **Tab:** Desativar temporariamente o limitador de velocidade
- **Espaço:** Pausar/Retomar emulação
## Avisos Legais
## Avisos
Ícone por icons8: 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 está afiliado de forma alguma com a Sony Interactive Entertainment.
PlayStation e PSX são marcas registradas da Sony Interactive Entertainment Europe Limited. Este projeto não é afiliado de forma alguma à Sony Interactive Entertainment.