Hi, and thanks for the info! I knew that AV1 was heavier on the CPU, but I wasn’t aware that VP9 was too, not to mention not being able to easily include videos in multiple codecs :/
So, this is probably gonna sound a bit silly, but video playback just started working flawlessly with full hardware acceleration once I switched from Wine’s built-in DirectX(/Direct3D?) 11 implementation to DXVK — it’s even using functionality called VideoEnhance
in intel_gpu_top, which I’ve only ever seen one other application do and which I still don’t fully understand — so this ended up being a bit of a wild goose chase in the end. Between that and the only seemingly relevant information that I could find online being H.264-encoded videos not working in Steam games due to Steam likely not wanting to risk stepping on any patent owners’ toes, that is not enabling H.264 on Linux by default and instead opting for a mixture of reencoding videos on their servers and whitelisting specific games (and Media Foundation apparently not being supported/implemented in past versions of Wine), I apologise for the confusion 😅
By the way, I’ve only played through the first fifteen chapters thus far — yes, I skipped over a few video scenes without even realising that they were video scenes and thought that Wine or the game was acting up — but this has been the most beautiful and immersive visual novel I’ve played on itch thus far, so, to you and the rest of the team, thank you so much for creating this amazing game and I wish you all the best!
Edit: So, I just had a thought: Instead of the built-in DirectX 11 implementation being faulty, it could be that it just defaulted to my NVIDIA dGPU instead of my Intel iGPU, which would nicely explain why video playback returned nothing when it was decoding the video on the iGPU. Now, generally, OpenGL applications default to the iGPU on my laptop — yes, it did seem to fall back to OpenGL rendering according to the terminal output, and no, I didn’t check which GPU was in use — but, seeing as Vulkan applications manage to always default to the dGPU unless I force the iGPU, I could imagine Wine’s DirectX 11 implementation following suit in spite of using OpenGL in the end.
Before somebody asks: “Why didn’t you install DXVK right away‽”, well… I did, but MinGW64 being kinda fragile and me being kinda liberal with compiler flags on my installation of Gentoo led to any and all games crashing immediately upon trying to open any sort of window because of faulty stack smashing protection getting tripped. You can see the DXVK issue ticket here, but, in short, removing -fstack-protector-strong
from my global CFLAGS
(which I actually did a while ago but just didn’t rebuild MinGW64 in the meantime), adding -fno-stack-protector
and removing -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3
for MinGW64 specifically for good measure, and rebuilding DXVK fixed the issue for me.