This does not happen with WineD3D, of course, hence the bug report.
The intro videos have to be skipped because they get stuck while playing, but that's a Wine problem. Skipping them gets you on the main menu both with DXVK ...

... and WineD3D.

But starting a new game works only with WineD3D.

Being an Unreal Engine 2 title, I've used d3d8to9 to patch it into DXVK and later into WineD3D, to confirm it works with the latter. To be honest, I was rather surprised when it crashed, and delayed reporting this until I was sure it wasn't something I did wrong, because all the other Unreal Engine 2 titles I've run this way so far performed admirably (Unreal Tournament 2004, Advent Rising).
To add insult to injury, I'm unable to get an apitrace with WineD3D, since the process makes the game crash right from the start. I was able, however, to get an apitrace with DXVK - I hope it will prove sufficient to shed some light on the matter.
Star Wars - Republic Commando (GOG version)
SWRepublicCommando_dxvk.trace.tar.xz
So, 20 minutes later I had the great idea to set every graphical setting to rock bottom low just for the kicks and try again. Sure enough, starting a new game worked.
I narrowed it down to an in-game setting called: Bumpmapping Quality. If it's set to Low, things start working.
Here's an apitrace of the first few moments of a new game: SWRepublicCommando_dxvk_low_bumpmap.trace.tar.xz
I narrowed it down to an in-game setting called: Bumpmapping Quality. If it's set to Low, things start working.
That's a game bug that also makes it crash on Windows. There's a mod that fixes it. https://www.moddb.com/mods/star-wars-republic-commando-graphics-fix/downloads/star-wars-republic-commando-graphics-fix
I narrowed it down to an in-game setting called: Bumpmapping Quality. If it's set to Low, things start working.
That's a game bug that also makes it crash on Windows. There's a mod that fixes it. https://www.moddb.com/mods/star-wars-republic-commando-graphics-fix/downloads/star-wars-republic-commando-graphics-fix
Interesting... but it does work with WineD3D. I played it on Windows years ago and don't remember this issue, but that could just be a bug in my memory :). I'll try the fix with DXVK and report back, thanks for the link.
Bumpmapping on high on WineD3D works?
Bumpmapping on high on WineD3D works?
Weirdly, yes. The screenshot's above.
In any case, the mod fix shared by K0bin works like a charm with the added side-effect of chipping in support for 1080p/4K among other things, so I'm not one to complain.
You can mark this as a game-specific bug and close it.... unless you really want to investigate it further. Though if it's present in Windows as well, as per K0bin's feedback, I don't think it's worth the effort.
I'd be interested in fixing it, I think I have an idea what the problem is...
I already discussed this on Discord with Josh but I'll just drop it here too for the sake of documentation.
The game tries to create a texture with the format L6V5U5, which DXVK (and most D3D9 drivers apparently) doesn't support.
IDirect3DDevice9::CreateTexture(this = 0x839fdf8, Width = 512, Height = 512, Levels = 4, Usage = 0x0, Format = D3DFMT_L6V5U5, Pool = D3DPOOL_MANAGED, ppTexture = &0x85750d8, pSharedHandle = NULL) = D3D_OK
While it should be possible to make that work, I think it's pretty low priority for now given that it doesnt work on Windows drivers either and that a workaround (the mod I posted earlier) exists.
This should be fixed in master. Can someone re-test.
This should be fixed in master. Can someone re-test.
I've retested and it works. Thanks a lot!
Most helpful comment
I already discussed this on Discord with Josh but I'll just drop it here too for the sake of documentation.
The game tries to create a texture with the format L6V5U5, which DXVK (and most D3D9 drivers apparently) doesn't support.
IDirect3DDevice9::CreateTexture(this = 0x839fdf8, Width = 512, Height = 512, Levels = 4, Usage = 0x0, Format = D3DFMT_L6V5U5, Pool = D3DPOOL_MANAGED, ppTexture = &0x85750d8, pSharedHandle = NULL) = D3D_OKWhile it should be possible to make that work, I think it's pretty low priority for now given that it doesnt work on Windows drivers either and that a workaround (the mod I posted earlier) exists.