SharpEmu
SharpEmu
Back to blog

Devlog: What actually shipped this week

July 28, 2026 MyLuxy
Devlog: What actually shipped this week

First real devlog, let’s talk about what’s happening in the codebase.

The GPU detile mess

So a couple weeks back we landed gpu compute detile for guest tiled textures on both vulkan and metal. Good news, it works, and it unblocked a bunch of stuff that needed proper texture detiling to even render correctly. Bad news, it also introduced a nasty fps regression at native/high internal resolution that’s still open right now. Already fixed the cache key bug in VulkanDetilePass that was making it worse than it needed to be, but the core perf hit is still there. Annoying because the feature itself is correct, it’s just slow in a way it shouldn’t be.

Memory is still memory

Fixed a mapping bug where partial fixed mappings weren’t getting rolled back properly when a later gap couldn’t be backed, was causing some weird corruption in edge cases. Also tightened memory reservation to only grab large regions instead of being wasteful about it.

There’s still one open that’s kind of scary though. Demon’s Souls burns through host memory at something like 9GB/min during normal AGC gpu submission on boot. Doesn’t look like a leak in the classic sense, more like something in the submission path is allocating way more than it should per frame. Being looked at right now because it’s the kind of bug that just OOMs your machine if you leave it running in the background.

Stuff that just works now

Dead Cells and Harvest Days compatibility are fixed. Quake was crashing on an unimplemented sceVideoOutIsOutputSupported call (kex engine specific), fixed that too. The windows gui launcher had a bug where game paths with spaces weren’t getting quoted right, so anything not sitting in some clean folder path would just fail to launch, also fixed. Audio side, sceAudioOutOutputs is implemented now. And GTA V had some foundation/gameplay path stuff that got wiped somewhere along the way (still not totally sure how), that’s restored.

Also upgraded the whole gui to Avalonia 12.1.0 with compiled bindings. Won’t notice this one directly, it’s more of a should-make-things-faster-and-less-buggy-over-time kind of change.

Still fighting with

  • An AGC event queue bug where waiters never get woken up, some mismatch between EVENT_TYPE and eventId we haven’t fully tracked down yet
  • SIGILL crashes on host CPUs without SSE4a when the guest tries to use EXTRQ, just a gap in the low level instruction emulation
  • A save data dialog that gets stuck re-showing a “no space” message in a loop after character creation on at least one title
  • Silent Hill: The Short Message currently boots straight to a red screen
  • Tokyo Xtreme Racer, Quake, Ghost of Yōtei, and GTA III Definitive Edition are all still in progress on the compatibility side

that’s where things actually are right now. Some wins this week, some bugs that’ll take longer. If you’re on the discord you’ve probably already seen bits of this.

#devlog#performance#compatibility