While a logical assumption you're actually wrong about it just being a software problem. TPU did testing with a 7950X3D to simulate what a 7800X3D might look like (since it was launching later) and the results vary from game to game sometimes software solutions were best sometimes hardware was. This would indicate it's far more complex than just blaming one or the other. That being said I'd love to see updated testing with all of the AGESA updates and the new turbo mode.
https://www.techpowerup.com/review/ryzen-7800x3d-performance-preview/16.html
I see them confirming pretty much what I said as well: there are
some bad apples in the games basket, which will deliver worse results with both CCDs enabled, because they don't choose their cores optimally.
Of course plenty of those games might have simply been written with stictly monolithic CPUs long before dual CCDs or even distinct variants became a thing.
But it's definitely a software or rather an application problem, because they could instead control which cores to use and if those include SMT cores or not: Windows provides APIs to let applictions control that, but if an application doesn't Windows normally will just spread things evenly.
AMD is trying to fix that with a scheduling driver that attempts to steer known game (and productivity?) workloads towards the "better matching CCD", but I guess that only controls affinity, and won't actually prohibit the use of extra cores on the other CCD, which could again in some borderline cases result in a worse gaming experience than scheduling that extra task or thread on same single CCD where the rest of the game is running because of the extra cross CCD latencies.
And I'm pretty sure that AMD driver won't try to keep games from using SMT. I don't know if the Windows scheduler on its own will prefer free full cores over free SMT cores in any case applications can choose to control that themselves.
To me the claim "a 7800X3D CPU is better than a 7950X3D for gaming" has always been wrong, because that somehow seems to imply that the 7800X3D contains better hardware.
I believe it doesn't and it's only a software issue with games that don't adjust properly to the hardware resources available. I'd claim that in fact the two CCDs on a 7950X3D are nearly guaranteed to be better bins than any CCD you'll find on a 7800X or a 7800X3D respectively.
Of course you can fix the defective choice by just buying a 7800X3D and enjoy better gaming with bad apple games and similarly you can now cripple your 7950X via the BIOS and most likely get even better gaming yet (because of the better bin) with those bad apple games, too.
But that's a bad solution for all those who do more than gaming on their 7950X3D system and most importantly it's far too static as a BIOS setting, which essentially simulates different hardware to the OS and applications: who wants to reconfigure and reboot every time they switch games or workloads?
It's the software that needs fixing, some of that might simply be added to the OS via some type of Project Lasso integration, some of it can only be fixed by the game or potentially a wrapper/patch, which
lies to the game about hardware topology so it makes the optimal choice.
BTW: while I don't have a 7800X or 7800X3D chip to test against my 7950X3D, I do have 5950X, 5800X and 5800X3D (and 5800U) based systems and I have observed that the 5950X clearly has two CCDs which are better binned than the 5800X: either one of those CCDs in the 5950 will clock higher and use less Watts than the single 5800X CCD and they need to, because otherwise there is too little usable headroom in the TDP budget on a dual CCD chip (of course you could get lucky and get an optimal bin 5800X[3D] but that's because bins and customer demands don't always match.
I'm pretty sure it's the same for the Zen 4 CPUs and that both the 7950X and the 7950X3D receive better binned CCDs than their single CCD brethren.
So is hardware not matching software expectations a hardware or a software problem?
I'd say hardware is what it is and software needs to adjust.