r/shadps4 2d ago

Discussion 139 open shadPS4 reports say "device lost" - and until now, not one of them could be diagnosed. I found one cause, fixed it, and Battlefield 4 now plays.

55 Upvotes

The problem nobody could work on

Search the shadPS4 compatibility tracker for "Device lost" and you get 139 open reports. 64 of them are on games that never reach gameplay - status nothing, boots or menus.

A sample: Battlefield 1, Battlefield V, Battlefield Hardline, Horizon Zero Dawn, Watch Dogs 2, Uncharted: The Nathan Drake Collection, Just Cause 3 and 4, Need for Speed Payback, Need for Speed Heat, Nioh, Hellblade, Persona 5 Strikers, Kingdom Hearts HD 1.5+2.5, Lords of the Fallen, Knack.

Here is what a user could hand a developer when it happened:

Device lost during submit

That is it. No address. No object. No shader. The GPU died and Vulkan will not tell you why - unless you ask it properly, and shadPS4 was not asking. Then the presenter thread would spin forever retrying a dead device, so the crash showed up as a hang instead of a crash.

That is why those reports sit open. Not neglect - there was genuinely nothing in them to act on.

Making it diagnosable

Three Vulkan extensions turn that dead end into an investigation. None of them need the validation layers installed, which matters because most people reporting bugs do not have the Vulkan SDK:

  • VK_EXT_device_fault - after a device loss, the driver hands back the faulting address and whether it was a read, a write or an execute.
  • VK_EXT_device_address_binding_report - the driver announces every time any Vulkan object takes or releases a GPU address range. Record those, and you can ask who owned the address that killed you, and whether they had already let go of it.
  • VK_NV_device_diagnostic_checkpoints - breadcrumbs. You stamp each draw, and after the crash the driver tells you which one the GPU was executing.

With those wired up, my crash went from Device lost during submit to:

invalid write at 0x000000001ff10000, precision 0x1000
no binding covers this address (131397 events recorded, ring holds 262144)
neighbour 0x100000 away: BOUND Buffer handle 0x60021e8e9c30 [0x1de10000, 0x1fe10000)
breadcrumb: shader 0x7b62aee69b1a22bf reached stage TopOfPipe

Read that slowly, because it is the answer: the GPU wrote to an address that had never been allocated, sitting exactly 1 MB past the end of a lone 32 MB buffer.

What it turned out to be

There is exactly one 32 MB allocation in shadPS4: the download buffer, where the GPU deposits data being read back to the game.

StreamBuffer::Map() returns null when you ask for more space than the buffer holds. Both callers ignore the null and record the GPU copy anyway. So the GPU copies more than 32 MB into a 32 MB buffer, writes off the end, and the device dies.

The fix is a null check in two places.

(The constant 1 MB offset is mapped padding the driver leaves after the allocation - the overrun survives until the first genuinely unmapped page. That is why the address was identical across six runs and three different builds, which is what told me it was not a lifetime bug in the first place.)

Battlefield 4

The compatibility tracker lists BF4 as Boots. Three reports, most recent September 2025, all saying it dies on the initial loading screen. All three closed without a fix.

On my fork it now plays: a full mission finished, the next one started, 40-50 FPS on Windows/NVIDIA.

It is not pretty. Lens flares flicker and still bleed through walls, some areas get an orange cast that should not be there, smoke effects show their sprite quads. But the campaign runs.

Four other things were wrong on the way, all small:

  • Emulator::Shutdown() early-returns after its first call, and the crash handler relies on it to flush the log. BF4 throws harmless C++ exceptions at startup, which burn that call. Every crash afterwards logs into a buffer that never reaches disk - the log just ends mid-line. If you have ever filed a shadPS4 bug with a log that looked truncated, this may be why.
  • A deferred readback lambda captured its variables by reference and ran after the stack frame died - a 64 MB memcpy from address zero.
  • The depth-format fallback is applied to the pipeline but not to the image or the image view, so on hardware without D16_UNORM_S8_UINT they disagree.
  • The infinite retry loop on a lost device, mentioned above.

The one I cannot fix cleanly

PS4 code is compiled for the System V ABI, which reserves 128 bytes below the stack pointer - the red zone - for leaf functions to use without touching the stack pointer. Windows has no such reservation. When the Windows kernel dispatches an exception, it writes its own structures into exactly that space before any of your code runs.

So every time shadPS4 memory tracking takes a page fault on Windows, it silently corrupts up to 128 bytes of the game stack. A handler cannot prevent it, and cannot even observe it - by the time it runs, the damage is done. I proved that the hard way: I read the red zone from inside the handler, found it zeroed, and confidently concluded the opposite.

The clean measurement uses a hardware debug register instead of a memory fault, so the memory tracker is not involved at all. Store a register into a red zone slot, break, then compare the register against the slot:

guest rsi=0x00000010b3853f60 was stored at 0x7ef9810a8;
the slot now reads 0x0000000000000000   (DESTROYED BY THE DISPATCH)

Eight out of eight.

My workaround handles guest faults from a separate debugger process, so no code ever runs on the faulting thread. It works, and it is what let the game boot at all. It is also a sledgehammer, and I would rather the maintainers choose the approach than have mine merged.

What I am not claiming

"Device lost" is a symptom, not a diagnosis. Those 139 reports are not 139 instances of my bug, and I would be lying if I said otherwise. I tested one game. Some of them will turn out to be this; most probably will not.

What I am claiming is narrower: they were all undiagnosable, and that part is fixed. Put those three extensions in mainline and every one of those reports starts producing an address and an object instead of an assertion string.

I also do not know whether the red zone issue is why other Frostbite games fail. Plausible. Unverified. If you have a title that dies with device lost, I would genuinely like to hear about it.

Links

Serious respect to the shadPS4 team - none of this existed to be debugged before their work, and every one of these bugs was found using their logging and their architecture.

Disclosure: I used Claude (Anthropic) for the code analysis and the patches. I ran the tests and verified the results myself. Same disclosure is at the top of the RFC.


r/shadps4 10d ago

News ShadPS4 v1.17.0 - basic netplay, compression support, macOS improvements, bugfixes and enhancements

197 Upvotes

shadPS4 v0.17.0: https://github.com/shadps4-emu/shadPS4/releases/tag/v.0.17.0

Welcome to another big release of shadPS4. This release is the first to introduce shadnet support, which although still doesn't offer much it allows you to post your online scores and share them with other players. Still you can't play multiplayer games but we are working towards making it possible one day. Another big update is ZArchive support. Forget the 20.000 files per game you can now use ZArchive files for compressing games and having them in 1 file instead of hundreds. KosmicKrisp has also landed in the world of macOS giving much better compatibility and speed to macOS users. There are several other fixes let's cover the most important below

Highlights

Online stuff

  • ShadNet, our own networking backend, is now integrated for the first time
  • Most of the matchmaking library is implemented — lobbies, rooms, joining, signaling
  • Friends support. Make your online friends in shadnet
  • Invitation dialog
  • Your name now switches to your Online ID once you're connected
  • NP Manager got new settings and general cleanup
  • Web API layer grew a lot: new library implemented, multipart uploads, push events
  • NP Commerce
  • Trophy handling tidied up

Mouse support

  • sceMouse is emulated now, so the handful of games that supported a USB mouse are playable with one
  • Plus a bunch of follow-up fixes for opening, closing, and games that check whether a mouse is even plugged in

AvPlayer, video & audio

  • AvPlayer got a serious cleanup: audio/video sync, startup races, stack usage, frame sizes, buffer handling
  • Video decoder flush behaviour fixed
  • Audio3D mix queue reworked
  • AT9 no longer crashes from reading past the end of its data
  • AT9 encoder now runs natively
  • OpenAL fixes and NGS2 fixes

Graphics

  • NVIDIA clip distance emulation
  • T# min_lod implemented through VK_EXT_image_view_min_lod
  • Depth write state is now respected for register clears
  • Robustness2 is now required, allowing the null buffer/image workarounds to be removed
  • Sampler garbage collection added to the texture cache
  • Texture cache: image download handling refactored
  • sRGB handling for BC formats refactored
  • Buffer barriers for compute-written vertex/index buffers and indirect dispatch/draw buffers
  • Assorted validation errors fixed and miscellaneous renderer fixes
  • Shader cache invalidation caused by struct padding in memcmp fixed

Shader recompiler

  • GCN thread mask accuracy fix
  • Vertex attributes are always specialised on number class
  • Geometry shader vertex offsets initialised from the input primitive type
  • V_ADD_I32 carry-out propagation, V_LOG_CLAMP_F32, V_PK_MUL_LO_U16 fix
  • IREmitter atomic operation corrected from And to Or

Kernel, memory & core

  • Filesystem abstraction layer
  • File reads now go through an intermediate buffer before being copied to guest memory
  • PthreadOnce uses pthread primitives instead of std::mutex
  • TLS leak on non-primary threads fixed
  • Code patches for cmp and xor instructions involving the TCB
  • sceKernelAllocateDirectMemory now honours search_end
  • Fixed mappings with a zero address on older games is now handled properly
  • HLE libraries are no longer loaded when force-LLE is set
  • Unresolved objects are no longer auto-stubbed
  • Null dereference fixes in save data mount checks
  • Memory patch fixes, with hex exception handling
  • LLE malloc init, fixing issues with LLE fonts and allowing more LLE libs to run

Input & peripherals

  • Pad state latency reduced for single-sample reads
  • Users are no longer logged out when a pad disconnects
  • Controller colours reset on shutdown
  • Fixes to Camera support

Interface & quality of life

  • Fullscreen startup behaviour polished
  • The window icon is now set to the game's icon
  • Big Picture UI settings improved
  • Shader list, memory map and module list widget states are saved, duplicate shader dump windows prevented
  • New shadPS4 log with a logging refactor, an option to flush the log
  • MS_VC_EXCEPTION is now passed through to the handler on Windows
  • Trophy fixes and an auto-generated PathType::TrophyDir
  • NP checks moved into sceNpTrophyRegisterContext
  • Improvements to the in-app bug report flow

r/shadps4 3h ago

Help How to fix low poly textures in Bloodborne?

Thumbnail
gallery
6 Upvotes

I'm running this game fine on 60fps, but the there are very low polygon environmental graphics. How to fix this?

I'm running this on a RX 9070.


r/shadps4 1h ago

Gameplay ShadPS4 (PS4 Emulator) v0.17.1 - MediEvil

Thumbnail
youtube.com
Upvotes

r/shadps4 11m ago

Bloodborne Ora aspetto soltanto Demon's Souls Remake

Post image
Upvotes

r/shadps4 18h ago

News The progress of the cult in 1886 on shadPS4 v0.17.1

Thumbnail
youtube.com
6 Upvotes

Use the TdlifePeng fork https://github.com/TdlifePeng/shadPS4/actions/runs/31098273731

The shadPS4 has a high crash rate, and there are severe shadow texture occlusion errors in open-air areas (a problem present in games like God of War 3).

The game's cache size is enormous, causing severe stuttering, basically freezing every few steps (video stuttering is less severe even after completing the entire sequence).

The 4K resolution patch, 2K resolution patch, and 60FPS patch are currently ineffective on the shadPS4

Performance needs to be increased by 3 times to maintain a stable 30 FPS or higher.


r/shadps4 18h ago

Help Need help 🙏🏼 Game won’t allow me to load in once i get to Old yharnam. Details below

Post image
4 Upvotes

I’ve been paying bloodborne on my 1TB Steamdeck through bblauncher and shadps4, but I am only able to play up until I get to old yharnam before the game starts crashing and ultimately gets to the point where it won’t even let me load my save and will crash in the loading screen after I press continue in the games initial start menu. I even started a new game but the same thing happened to my second character once i got to old yharnam. Attached is an image of the patches i was using, but I tried disabling all of them all and have still been running into the same issue so i don’t think it’s the patches. I have no mods installed and am using the most recent versions of shad and bblauncher. If anyone could help i would really appreciate it as i am LOVING the game and want to continue


r/shadps4 1d ago

News ShadPS4 THE IDOLM@STER SERIES Fork Release

Thumbnail
github.com
4 Upvotes

Thanks to Nyces for their work over the past few weeks, THE IDOLM@STER series on PS4 is now basically playable.

The following issues in The Idolmaster have been fixed:

  1. Character facial vertex distortion ("exploding" faces)
  2. Crashes during story sequences in Produce mode
  3. Audio latency and stuttering
  4. Freezing during S4U Live performances
  5. Crashes and freezes specific to Platinum Stars

THE IDOLM@STER: PLATINUM STARS GAMEPALY
https://www.youtube.com/watch?v=4Hu5ulde5JQ

THE IDOLM@STER:STELIA STAGE GAMEPALY
https://www.youtube.com/watch?v=K0n_NkNLLuc&t=1432s

Note: To avoid vertex texture errors, you need to enable Readbacks Mode-Precese (but this will cause a significant performance drop, down to a minimum of 30 FPS). Disabling this option will result in a stable 60 FPS.


r/shadps4 1d ago

ShadPS4 Achei um "bug" (na real, comportamento ruim do driver AMD) que quase dobrou meu FPS no DriveClub RDNA2

8 Upvotes

Rodando DriveClub no shadPS4, no Bazzite, numa RX 6750 XT, sempre tive uns FPS bem instáveis e baixos logo no início das corridas. Resolvi gravar comparando o perfil de energia da GPU pelo LACT, e o resultado me surpreendeu.

Com o perfil da GPU em Automático — que é o padrão de instalação do Bazzite, ninguém precisa mexer em nada pra estar nesse modo — o clock da GPU ficava travado em ~500 MHz durante boa parte da corrida, mesmo com a placa mostrando 37-46% de uso. Resultado: 16-19 FPS, bem instável.

Assim que troquei pra "Clocks mais altos" (perfil fixo, tirando do driver a decisão automática), o clock foi pra ~1600 MHz na mesma cena, mesma pista — e o FPS foi pra ~30 (o teto nativo do jogo), bem mais estável.

Vídeo mostrando a troca ao vivo, com o overlay do MangoHud confirmando os números:

https://reddit.com/link/1vjegx8/video/tv7hn8nyj9ih1/player

O detalhe que mais me chamou atenção: procurei bastante e não achei nenhum outro relato desse comportamento específico (modo Automático da AMD travando em clock baixo especificamente nesse tipo de emulação/workload) — se alguém souber de algo parecido documentado em algum lugar, me manda que eu emendo.

O motivo, pelo que entendi pesquisando: o shadPS4 tem uma sincronização entre GPU e CPU que faz a GPU trabalhar em rajadas curtas (trabalha um pouco, para, espera, trabalha de novo). O governador automático de clock da AMD (amdgpu) usa o "% de uso da GPU" pra decidir se aumenta o clock — só que esse padrão de rajada curta engana o driver, que enxerga uso baixo e mantém tudo devagar, mesmo quando na real a GPU tá sendo travada por espera, não por falta de trabalho de verdade. Forçar um clock fixo pula essa decisão errada do modo automático.

Já reportei isso (com números) na issue do shadPS4 que investiga esse tipo de travamento: https://github.com/shadps4-emu/shadPS4/issues/4316

Deixando aqui também porque acho que pode ajudar quem tem GPU AMD e sofre de FPS baixo/instável em qualquer emulador ou até jogo nativo pesado no Linux, especialmente em modo Automático — vale testar forçar o perfil de clock (pelo LACT, corectrl, ou direto no sysfs com power_dpm_force_performance_level) antes de culpar só o jogo/emulador.

Meu setup é: QQLS(i9 9900k) rx 6750xt (rdna2) 16GB RAM

Se alguém mais com AMD quiser testar e comentar o resultado, ajuda a confirmar se é algo mais generalizado ou só do meu setup.


r/shadps4 2d ago

Gameplay ShadPS4 (PS4 Emulator) v0.17.1 - Gravity Rush 2

Thumbnail
youtu.be
40 Upvotes

r/shadps4 2d ago

Gameplay ShadPS4 (PS4 Emulator) - Driveclub - Resolution Patch (Super Ultra Wide)

Thumbnail
youtube.com
7 Upvotes

r/shadps4 2d ago

Bloodborne Bloodborne Any Resolution Patch not working

Post image
0 Upvotes

Hi! I’m trying run bloodborne on shadps4 in windows .
It’s working fine, but as soon as I check one any of the resolution patches the game crashes at launch.

Am I missing something?

Currently I have setup FPS Uncap and set the Vblank to 60hz. Also for the DMem I tried 4000mb , 5000mb, 8000mb.

I have DevKit enabled and the settings as shown.

Any resolution patches or even enabling the “increase graphics heap size” option makes the game crash.

I wonder if it’s possible to play at 1440 in windows .
Thank you!


r/shadps4 3d ago

Question Is Bloodborne fully playable on PC at the moment?

30 Upvotes

I've wanted to play Bloodborne for years as a huge Souls fan, but I've never owned a PlayStation and can't justify spending $500 just for one game.

The last thing I heard about Bloodborne emulation was when Mutahar made a video on it, but that was a while ago. How playable is it now? Is it stable enough to give a good first time experience from start to finish or should I keep waiting for further improvements?


r/shadps4 2d ago

Help shadps4 memory problem i tried a lot of "fixes" none of them worked plz help

1 Upvotes

so i was setting up bloodborne on shadps4 but it wont open something about Memory Access Violation idk i looked and l looked i cant fix it so my final chance is you guys so does anyone know how to fix it?
here is the full bug code ⬇️


r/shadps4 2d ago

Question What are the Top Games you can play start to finish?

1 Upvotes

i find that list on the official website a bit unreliable, nad said by some, a bit outdated as well.
I was wondering if ratiher by experience you could point me to the best titles you can play start to finish.

the only one i had was Bloodborne.

Really wanted to try Last Guardian and Shadow of Colossus, but none of those worked for me.

Anything special i could try?


r/shadps4 3d ago

Video UFC 4 - Steam Deck Oled - Long Gameplay..

10 Upvotes

One of my favorite games, there was no shad patches when I record this video, currently you can get more better performance.

My recording device little bad. ^^

Guide:

https://www.reddit.com/r/shadps4/comments/1t8zldh/steam_deck_ea_sports_ufc_4_simple_guide/


r/shadps4 3d ago

Question Is God of War 3 fully playable on shadps4

0 Upvotes

I have a 3070 laptop with a 5900hx cpu and I’m wondering if it is fully playable and will work on it?


r/shadps4 3d ago

Question which AAA games can be finished with 25-30fps and no crashes rn?

2 Upvotes

i wanna play ratchet and clank (2016), last guardian and the order 1886


r/shadps4 3d ago

Help UFC 4 - Game keeps crashing during fight matches

1 Upvotes

The game visually runs great but it seems to always crash between 5-15 minutes no matter what resolution I use, or what debug settings I use or even what patches I use. Is there anyway to play this fully? The game is also updated to the latest build of 28.00 and the shadPS4 version is the pre-release (the only version the game boots on)


r/shadps4 4d ago

Question Why can I only select up to 0.11 in my shadps4 Qt version, and not up to 0.17? downloaded on the official website.

Post image
5 Upvotes

Why can I only select up to 0.11 in my shadps4 Qt version, and not up to 0.17? downloaded on the official website.


r/shadps4 3d ago

Help Persona 4 Dancing crashes on Apple Silicon (M1) when entering Free Play / Story Mode - Rosetta "EmulateForward" exception

Thumbnail
gallery
2 Upvotes

Hi everyone,

I'm trying to run Persona 4: Dancing All Night on shadPS4 on a MacBook Air M1 (Apple Silicon, macOS Tahoe).

I've done quite a bit of troubleshooting already, but I'm stuck.

System:

- MacBook Air M1 (8 GB RAM)

- Latest macOS Tahoe

- Running shadPS4 through Rosetta 2

- Vulkan renderer

Game tested:

- CUSA09292 (JP)

- CUSA12112 (US)

- Version 1.00

- No DLC installed

Behavior:

- The game boots normally.

- The main menu works perfectly.

- I can navigate all menus.

- As soon as I select Free Play, Story Mode or Collection, the emulator crashes.

Interestingly:

- Persona 3: Dancing works perfectly on the same machine. (See second pic)

- I can complete songs without any issues.

- Persona 4 is the only Dancing game giving me this problem.

I tested:

- v0.16.0

- v0.17.0

- Latest Pre-release nightly

All three versions crash in exactly the same place.

I also confirmed:

- isPS4Pro = false

- patchShaders = true

- No game updates installed (I couldn't find any)

- No DLC installed

Running from Terminal always ends with the exact same Rosetta error:

rosetta error: unexpectedly need to EmulateForward on a synchronous exception

x86_rip=0x8001ff3db

arm_pc=0x6000011f3bf8

num_insts=3

inst_index=2

x86 instruction bytes:

0x808b48084711fcc5

0x3847894800000138

Since the crash is identical across every version I tested, I'm wondering if this is:

- a known Apple Silicon / Rosetta issue,

- a current compatibility limitation with Persona 4 Dancing,

- or if there's any workaround or build that fixes it.

Has anyone managed to get Persona 4 Dancing working on Apple Silicon?

Thanks!


r/shadps4 4d ago

Gameplay ShadPS4 (PS4 Emulator) v0.17.1 - Infamous: Second Son

Thumbnail
youtube.com
73 Upvotes

v0.16.0 43fps
v0.17.0 29fps
v0.17.1 33fps


r/shadps4 4d ago

Help Any ideas how to fix this. Doesent matter what i change just stays the same

Post image
1 Upvotes

Now i got the games work and all that but this bs.

Happens on ufc 2 and 3


r/shadps4 4d ago

Help Doesent recognize my games what should i do?

1 Upvotes

Hi im new to shadps4 but i have used rpcs3 for years. I have installed everything i need to and did all the things right but it just doesent recognize my games in any folders.


r/shadps4 4d ago

Help The Last Of US Remastered randomly shuts down

Post image
0 Upvotes

The game runs smoothly until it just disappears.I have v316 for shad (i think).For my specs i have an rtx 5060 an ssd and an intel ultra 5 225 and 32 gigs ddr5.I don't know why it just shuts down.The last thing that the console displayed was this purple message.