frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

DXGI debugging: Microsoft put me on a list

https://slugcat.systems/post/25-09-21-dxgi-debugging-microsoft-put-me-on-a-list/
116•todsacerdoti•4h ago

Comments

Pannoniae•2h ago
The title is a bit clickbait but nice article ;) This is widespread in API-level software, from OSes to GPU drivers. I'm not sure how documented this is but you can find interesting stuff by renaming your exe to Quake, or FIFA, or Minecraft or whatever.
HeliumHydride•2h ago
TrickNvidiaDriversForPerformance_javaw.exe.minecraft.exe
Pannoniae•1h ago
Hey, that was the Intel driver! ;)
georgemcbay•1h ago
Its also not surprising to anyone who spent time reading Raymond Chen's The Old New Thing blog posts back in the day, a lot of them were about these rather absurd hoops Microsoft was always jumping through to increase backward and forward compatibility with these sorts of tricks.

It may have lead to an unfortunate situation for this developer in this one very niche corner case, but overall it has been wildly beneficial for users over the years (decades even) to have most software Just Work regardless of how deprecated the underlying APIs they were built on are now.

Dwedit•1h ago
Back in 2001, ATI got in some hot water after it was revealed that they intentionally blurred all textures (used a lower resolution mipmap) if you were running Quake 3 Arena. Changing all strings from "Quake" to "Quack" (including renaming the executable) disabled the degraded mipmaps, and improved the graphics (and reduced framerates).

https://web.archive.org/web/20190728022442/https://techrepor...

flohofwoe•1h ago
Meanwhile today, graphics driver tweaks for specific games has become a regular feature and is advertised in the driver release notes (and I guess that's one reason why graphics drivers have become so massively big).
toast0•2h ago
> It only happens when the program is called SS14.Loader.exe.

Could you have a SS14.Loader.arm.exe for arm? Then the exe name wouldn't match and it woildn't trigger the crash?

gregschlom•1h ago
You could. The fix is easy. The problem was the painfully long debugging in order to find the root cause of the issue.
toast0•1h ago
I understand and aprechiate the writeup, I just don't see why the conclusion is to delay the release until the detour bug is fixed, when it's easy to work around it once it has been understood?

I suspect that the fix to the detour bug will be unevenly distributed as well, so avoiding it would help user experience regardless.

formerly_proven•3m ago
Y'know it would be nice if stuff would log it somewhere when it applies patches like this.
ramijames•2h ago
When I read about stuff like this it makes me feel lucky never having had to do Windows development.
pjmlp•1h ago
No worries, the same experience can be done with OpenGL or Vulkan, depending on the specific OS flavour and OEM drivers.
jsheard•1h ago
Vulkan even made this kind of targeted hack into a first class citizen by letting the application specify the name and version number of itself and its engine during initialization. There's no reason for that besides enabling per-app driver shenanigans.
kg•1h ago
Vulkan layers being system-wide feels like it's specifically asking for this class of bug. If you're lucky every system-wide layer ships with PDBs... but they probably don't. I've yet to find a bug in a layer, at least, but I've wasted time ruling it out.
gmueckl•50m ago
System-wide Vulkan layers definitely cause chaos. I remember unit tests for our renderer crashing on some machines and not on other nearly identical ones. The culprit was a Vulkan layer installed by a video capture software. It had a hard limit of 16 Vulkan instances that it could keep track of before overflowing an array and crashing. But our tests would recreate the Vulkan environment from scratch for each test, which is fairly unusual for a Vulkan application, to be fair.

In the end, we added the list of loaded Vulkan layers to the diagnostic log of our software to help customer support spot fishy ones.

delta_p_delta_x•1h ago
I never understand these drive-by comments. It's not like developing on/for the competition is any easier or less convoluted. The author is debugging a cross-language (both managed and native), cross-architecture video game with a variety of third-party libraries.

Turns out that the Windows graphics stack is complicated (mainly because it needs to support a variety of closed-source programs that never saw maintenance after initial release), so compatibility layers meant to optimise for certain programs (an easy optimisation, frankly) accidentally caught the author's program in the master list, too.

kg•1h ago
I've personally run into stuff like this on Windows but I want to emphasize that the vast majority of developers won't run into these problems. It's basically the equivalent of finding a compiler bug - yes, you might, but usually the problems you hit are not caused by the compiler or OS, as a general thing.

Are OS or compiler problems more common now than they were 10 years ago? Possibly, but I wouldn't be surprised if they're less common, either.

I have run into driver bugs multiple times though, perhaps more often than OS bugs. And that's really frustrating.

flohofwoe•1h ago
Each operating system has such layers of cruft, they're sometimes just harder to debug.
Avamander•1h ago
I would like to disable these compatibility lists on Windows and to actually be able to report any issues and crashes to devs. But this might be a very Linux mindset thing for me to want.
estimator7292•25m ago
The Linux kernel contains biiiig piles of hacks for individual motherboards, systems, devices. It's like this at every level everywhere, unfortunately. I mean, it was only very recently that your 64 core CPU stopped pretending to be an 8086 during initial boot
ack_complete•1h ago
This is due to an overall odd strategy by the DirectX graphics team, which is to implement many of the optimization and enhancement features by Detour-ing API calls in the OS. Essentially, the Windows OS is patching itself to implement features.

Unfortunately, this is being done without core OS assistance like the AppCompat system, so it comes with similar problems to unassisted regular user-space patching. In this case, the Detours code used by DXGI is unable to support the current PAC-enabled function prologues in the current version of Windows 11 ARM64. It isn't limited to just the OP's scenario; attempting to enable Auto Super Resolution (AutoSR) on any native ARM64 program using DirectX will also currently crash in a similar manner in EnumDisplaySettings().

The full screen optimization that is mentioned also has some history. It's well intentioned to remove an entire full-screen copy per frame and increase performance/efficiency, but had some problems. When it was originally implemented in Windows 10, it broke full screen mode for some DirectX 9 apps because it made some incorrect assumptions about the window handle supplied by the application for focus tracking. But it was frustrating to deal with, because the mechanism was nearly undocumented and had no opt-out besides a manual user compatibility checkbox. It took me a couple of days of tearing apart the core windowing guts of my program to figure out what Microsoft had done and how to work around it, and it took several months for the Windows team to fix it on their end.

pjmlp•31m ago
That strategy is described here, and comes from game developers wanting DirectX to be untied from OS versions as it used to be.

https://devblogs.microsoft.com/directx/gettingstarted-dx12ag...

VectorLock•1h ago
Man I gotta give this person props, that is a LOT of effort to get your game to run native ARM64 on Windows. How many people out there are trying to game on ARM64 Windows devices?
sunshowers•8m ago
I played Silksong recently on my Surface Pro 11, it worked fine. 2D game with minimal graphics requirements so it's a different case, though.
badsectoracula•24m ago
> It only happens when the program is called SS14.Loader.exe

This isn't something only Microsoft does but also graphics drivers, etc. TBH sometimes i consider using using GUIDs in exe names at build time to avoid such lists :-P.

Sj.h: A tiny little JSON parsing library in ~150 lines of C99

https://github.com/rxi/sj.h
139•simonpure•2h ago•53 comments

DXGI debugging: Microsoft put me on a list

https://slugcat.systems/post/25-09-21-dxgi-debugging-microsoft-put-me-on-a-list/
116•todsacerdoti•4h ago•25 comments

Google/timesketch: Collaborative forensic timeline analysis

https://github.com/google/timesketch
49•apachepig•2h ago•3 comments

The link between trauma, drug use, and our search to feel better

https://lithub.com/the-link-between-trauma-drug-use-and-our-search-to-feel-better/
53•PaulHoule•2h ago•28 comments

I forced myself to spend a week in Instagram instead of Xcode

https://www.pixelpusher.club/p/i-forced-myself-to-spend-a-week-in
92•wallflower•5h ago•28 comments

The University of Oxford has fallen out of the top three universities in the UK

https://hotminute.co.uk/2025/09/19/oxford-loses-top-3-university-ranking-for-the-first-time/
153•ilamont•3h ago•223 comments

LaLiga's Anti-Piracy Crackdown Triggers Widespread Internet Disruptions in Spain

https://reclaimthenet.org/laligas-anti-piracy-crackdown-triggers-widespread-internet-disruptions
168•akyuu•3h ago•55 comments

The Beginner's Textbook for Homomorphic Encryption

https://arxiv.org/abs/2503.05136
42•Qision•4h ago•6 comments

Disk Utility still can't check and repair APFS volumes and containers (2021)

https://eclecticlight.co/2021/11/19/disk-utility-still-cant-check-and-repair-apfs-volumes-and-con...
80•rahimnathwani•5h ago•34 comments

A coin flip by any other name (2023)

https://cgad.ski/blog/a-coin-flip-by-any-other-name.html
27•lawrenceyan•2d ago•1 comments

How Isaac Newton Discovered the Binomial Power Series (2022)

https://www.quantamagazine.org/how-isaac-newton-discovered-the-binomial-power-series-20220831/
17•FromTheArchives•3d ago•4 comments

Spectral Labs releases SGS-1: the first generative model for structured CAD

https://www.spectrallabs.ai/research/SGS-1
282•JumpCrisscross•15h ago•40 comments

AI was supposed to help juniors shine. Why does it mostly make seniors stronger?

https://elma.dev/notes/ai-makes-seniors-stronger/
294•elmsec•18h ago•323 comments

Show HN: Freeing GPUs stuck by runaway jobs

https://github.com/kagehq/gpu-kill
9•lexokoh•3h ago•0 comments

iFixit iPhone Air teardown

https://www.ifixit.com/News/113171/iphone-air-teardown
302•zdw•16h ago•162 comments

40k-Year-Old Symbols in Caves Worldwide May Be the Earliest Written Language

https://www.openculture.com/2025/09/40000-year-old-symbols-found-in-caves-worldwide-may-be-the-ea...
8•mdp2021•3d ago•3 comments

New thermoelectric cooling breakthrough nearly doubles efficiency

https://www.sciencedaily.com/releases/2025/09/250919085242.htm
78•westurner•4h ago•43 comments

Liberté, égalité, Radioactivité

https://worksinprogress.co/issue/liberte-egalite-radioactivite/
40•paulpauper•2h ago•2 comments

$2 WeAct Display FS adds a 0.96-inch USB information display to your computer

https://www.cnx-software.com/2025/09/18/2-weact-display-fs-adds-a-0-96-inch-usb-information-displ...
363•smartmic•22h ago•157 comments

Writing a competitive BZip2 encoder in Ada from scratch in a few days – part 3

https://gautiersblog.blogspot.com/2025/09/writing-competitive-bzip2-encoder-in.html
84•etrez•1d ago•7 comments

How to stop functional programming (2016)

https://brianmckenna.org/blog/howtostopfp
75•thunderbong•4h ago•57 comments

President Trump Signs Technology Prosperity Deal with United Kingdom

https://www.whitehouse.gov/articles/2025/09/president-trump-signs-technology-prosperity-deal-with...
31•donutloop•2h ago•24 comments

Extrachromosomal DNA–Driven Oncogene Evolution in Glioblastoma

https://aacrjournals.org/cancerdiscovery/article/doi/10.1158/2159-8290.CD-24-1555/764257/Extrachr...
10•PaulHoule•5h ago•0 comments

Review: Project Xanadu – The Internet That Might Have Been

https://www.astralcodexten.com/p/your-review-project-xanadu-the-internet
37•paulpauper•3h ago•19 comments

Meta exposé author faces bankruptcy after ban on criticising company

https://www.theguardian.com/technology/2025/sep/21/meta-expose-author-sarah-wynn-williams-faces-b...
383•mindracer•7h ago•270 comments

UUIDv7 in Postgres 18. With time extraction

https://www.thenile.dev/blog/uuidv7
67•sierikov•4h ago•41 comments

Hi No Youjin

https://aethermug.com/posts/hi-no-youjin
24•mrcgnc•3d ago•3 comments

Teardown of Apple 40W dynamic power adapter with 60W max

https://www.chargerlab.com/teardown-of-apple-40w-dynamic-power-adapter-with-60w-max-a3365/
210•givinguflac•3d ago•178 comments

Why, as a responsible adult, SimCity 2000 hits differently

https://arstechnica.com/gaming/2025/09/thirty-years-later-simcity-2000-hasnt-changed-but-i-have/
163•doppp•3d ago•190 comments

The bloat of edge-case first libraries

https://43081j.com/2025/09/bloat-of-edge-case-libraries
117•PaulHoule•17h ago•129 comments