It doesn't look like the normal X cursor. S3 changes the cursor the same way in Wine as it does on Windows, but I think, appart of it's look that it's the normal X cursor / the normal Windows GDI cursor.
trace:dinput:SysMouseAImpl_SetCooperativeLevel (this=0x77c55f18,0x0008004c,0x00000006) trace:dinput:SysMouseAImpl_SetCooperativeLevel cooperative level : DISCL_FOREGROUND DISCL_NONEXCLUSIVE -----------^
And this means that the mouse cursor will NOT be hidden by DInput. So S3 really uses the standard GDI cursor at the same time than DInput.
This means that one (hacky) way to fix your issue would be to disable mouse warping as soon as 'NONEXCLUSIVE' is given AND that the application did not hide the mouse cursor itself. After, one just needs to hope the application did not resort to setting an 'empty' mouse cursor :-)
I wanted first to work on the real fix but as no-one answered my mail on the XOrg list yet, I will maybe do the 'hacky' patch described above waiting for things to move on the X11 side.
I don't know if this Demo works with Wine. The original S3 does a lot of checks on system dlls and such, which causes the game to refuse to run on Windows XP and Wine. Bluebyte has published a modified s3.exe which makes the game start on Windows 2K, Windows XP and (as a side effect) with Wine. I don't know how the demo behaves.
Nope it does not work in Wine and neither does it on WinXP. But it works fine in Win98 + QEMU :-)
Lionel