spu2-x: Drop XAudio 2.7 #3244
spu2-x: Drop XAudio 2.7 #3244
Conversation
|
don't forget in WinConfig.h you should change to this to specifically target xaudio2.9 |
|
This PR is for dropping XAudio 2.7. Targeting XAudio 2.9 has no benefit if we're not using its features. |
either you target 2.8 or 2.9 after dropping 2.7. https://docs.microsoft.com/en-us/windows/win32/xaudio2/xaudio2-redistributable Microsoft provides a NuGet package for 2.9 that can be ran on windows 7 sp1 and windows 8. There's really no good reason for stopping off at 2.8 when we can simply target 2.9 and still have compatibility with all supported Operating Systems. The 2.9 dll is still supported and still receives updates and bug fixes from Microsoft. |
|
The plan is to drop Windows 7 support after 1.6 is released. Please see #3241 for previous discussion. |
cool to see you already had the discussion. i get not wanting to deal with a nuget but i still think targeting 2.9 is superior since Microsoft is still letting people with windows 8 upgrade to 10 for free although they aren't really advertising it. still, if we're targeting 2.8 the line in winconfig.h should be 0x602 |
|
There's a line in SndOut_XAudio2.cpp that sets _WIN32_WINNT to 0x602 but yes, what you suggested also works and might be a better way of doing it. |
thanks for listening. This has been a pet issue of mine for a little bit. |
|
Using the ListDlls utility with this build I see that both xaudio 2.8 and xaudio 2.9 dlls are mapped on Windows 10. I assume that if W10 is detected there is a forward declaration to load xaudio 2.9 dll even if the exe is targeting 2.8. And just for fun I opened the xaudio2_8.dll found on W10 in a disassembler and confirm that all it's doing is forwarding function calls to xaudio2_9.dll So there's no harm targeting xaudio 2.8 and it allows us to keep supporting W8. Although maybe I should add a comment to target xaudio 2.9 when W8 support is dropped. |
|
Gave it a quick test to see if audio works, seems good. |
|
SndOut_XAudio2_27.cpp and SndOut_XAudio2.inl also need to be removed from the SPU2-X CMakeLists.txt file. |
|
Thanks. |
|
How can I use new plugin with Win7? |
|
Use the one that comes with 1.6.0 |
|
@Anths2016 You don't. We're not supporting Windows 7 anymore. You can either use 1.6's plugin or upgrade |
|
Are you affiliated with Microsoft? Otherwise I don't understand the reason ... |
|
We are not no. However we have been using the DirectX SDK since 2010 and that was the only thing left using it, everything has been integrated in to the Windows SDK since Windows 8, and now Windows 7 is end of life we figured it time to remove the legacy tools. We're not stopping you using the current release (or just the audio plugin with the newer builds) but by the time 1.8.0 is released, Windows 7 will be end of life by about 4-5 years. We're not purposefully killing off old OS's, the availability of compatible tools is the problem and it hinders progress. |
|
You can still use the new plugin though, is just that old XAudio backend won't be available. You can use the other backends instead. However, I don't remember any fix going into SPU so using old plugin should be just fine and you wouldn't be missing anything. |
|
Any further discussion about this the hows and whys of this can happen at https://forums.pcsx2.net/ |
Simplifies code for spu2-x while removing support for Windows 7