http://bugs.winehq.org/show_bug.cgi?id=35062
Bug #: 35062 Summary: FarCry3 : graphical glitches Product: Wine Version: 1.7.8 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3d AssignedTo: wine-bugs@winehq.org ReportedBy: berillions@gmail.com Classification: Unclassified
Created attachment 46762 --> http://bugs.winehq.org/attachment.cgi?id=46762 Graphical glitches on see
Hi,
There is a graphical bug when i play at FarCry3. this bug appears only when you look the sea.
As you can see in the screenshot, it seems that the map is drawn in the sea. I think it's not a problem about the sun/moon light reflections on the sea, they're correctly drawn (not viewable in the screenshot)
Thanks, Max
http://bugs.winehq.org/show_bug.cgi?id=35062
--- Comment #1 from Berillions berillions@gmail.com --- Still exist on Wine 1.7.11 It's not a duplicate of bug #35399, this bug exist since the release date of game.
I did some tests with wine/winetricks (winetricks d3dx9, Direct3D keys in the register) don't solve the problem.
Thanks,
http://bugs.winehq.org/show_bug.cgi?id=35062
--- Comment #2 from Berillions berillions@gmail.com --- Hi,
I think that you can close INVALID this bug. With my laptop and Optimus Tech, i launched this game with my Nvidia / Intel Cards and this bug does not exist with Intel card.
I attach two screenshots : 1- With my Nvidia card (GTX670MX) + Nvidia driver 331.38 (tried with 319.x too) 2- With my Intel card + Intel driver 2.21.15 + Mesa 10.0.2 + force_s3tc_enable=true option.
s3tc option is enabled by default in Nvidia driver. And i can confirm that this glitches appears since the game's release with differents Nvidia driver (304 series to 331 series actually)
http://bugs.winehq.org/show_bug.cgi?id=35062
Berillions berillions@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #46762|0 |1 is obsolete| |
--- Comment #3 from Berillions berillions@gmail.com --- Created attachment 47604 --> http://bugs.winehq.org/attachment.cgi?id=47604 Nvidia glitches
Nvidia graphic bug
http://bugs.winehq.org/show_bug.cgi?id=35062
--- Comment #4 from Berillions berillions@gmail.com --- Created attachment 47605 --> http://bugs.winehq.org/attachment.cgi?id=47605 Intel screenshot
http://bugs.winehq.org/show_bug.cgi?id=35062
Berillions berillions@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |UPSTREAM
--- Comment #5 from Berillions berillions@gmail.com --- Nvidia driver bug. Glitches don't exist with Intel driver.
Tried with my Optimus laptop.
http://bugs.winehq.org/show_bug.cgi?id=35062
Berillions berillions@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |UNCONFIRMED Resolution|UPSTREAM |---
--- Comment #6 from Berillions berillions@gmail.com --- I tried the game with my Nvidia GTX770 with the open-source driver "Nouveau" and i have the same problem than with the Nvidia binaries.
So, when wine use my Nvidia card (with Nvidia driver or Nouveau), there is potentially a problem with d3d code which is used by Nvidia driver and not Intel driver ?
Max
http://bugs.winehq.org/show_bug.cgi?id=35062
Berillions berillions@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |berillions@gmail.com, | |hverbeet@gmail.com, | |stefandoesinger@gmx.at
--- Comment #7 from Berillions berillions@gmail.com --- I add Henri and Stefan only to know which tests i can to do and which log i can to provide.
I talked wiht Christian Costa and i tried to disable one by one each GL extension in "wined3d/directx.c" without success.
I don't know where come from the glitch which appear only with Nvidia driver (Nouveau or Nvidia binaries).
http://bugs.winehq.org/show_bug.cgi?id=35062
Stefan Dösinger stefan@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |stefan@codeweavers.com
--- Comment #8 from Stefan Dösinger stefan@codeweavers.com --- The bug looks like some depth buffer issue.
It's possible that this is a driver bug on both Nvidia and Noveau. It's also possible that the Nvidia card has some features that the Intel card does not have that makes the game use a different codepath. I'd suggest to check the game settings, try to set them to the minimum and see if the bug goes away; If it does, raise them until you find the setting that brings the bug up. See if that setting is available at all on Intel.
It's also possible that the game expects nvapi.dll to be available when it finds an Nvidia card. You can try to set VideoPciVendorID and VideoPciDeviceID to fake an Intel card when you're using the Nvidia one or vice versa and see what effect this has on the bug.
http://bugs.winehq.org/show_bug.cgi?id=35062
Stefan Dösinger stefan@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|stefandoesinger@gmx.at |
http://bugs.winehq.org/show_bug.cgi?id=35062
--- Comment #9 from Berillions berillions@gmail.com --- (In reply to Stefan Dösinger from comment #8)
It's possible that this is a driver bug on both Nvidia and Noveau. It's also possible that the Nvidia card has some features that the Intel card does not have that makes the game use a different codepath. I'd suggest to check the game settings, try to set them to the minimum and see if the bug goes away; If it does, raise them until you find the setting that brings the bug up. See if that setting is available at all on Intel.
I tried to change all graphic settings in-game. There are no difference. Still this issue even if i set them to minimum.
It's also possible that the game expects nvapi.dll to be available when it finds an Nvidia card. You can try to set VideoPciVendorID and VideoPciDeviceID to fake an Intel card when you're using the Nvidia one or vice versa and see what effect this has on the bug.
I tried this : 1- I launch the game with the Intel card WITH "VideoPciVendorID" and "VideoPciDeviceID" from Nvidia and i have this bug. 2- I launch the game with the Nvidia card WITH "VideoPciVendorID" and "VideoPciDeviceID" from Intel and there isn't this issue.
So, this test confirm that it's an upstream bug from Nvidia/Nouveau ?
http://bugs.winehq.org/show_bug.cgi?id=35062
--- Comment #10 from Stefan Dösinger stefan@codeweavers.com --- (In reply to Berillions from comment #9)
I tried this : 1- I launch the game with the Intel card WITH "VideoPciVendorID" and "VideoPciDeviceID" from Nvidia and i have this bug. 2- I launch the game with the Nvidia card WITH "VideoPciVendorID" and "VideoPciDeviceID" from Intel and there isn't this issue.
So, this test confirm that it's an upstream bug from Nvidia/Nouveau ?
No, this shows that the game behaves differently if it finds an Nvidia card and does something that Wine and/or the driver does not support. I suspect it tries to use nvapi.dll's advanced StretchRect call.
If you have a Windows installation on the same machine you can confirm this theory by renaming C:\Windows\system32\nvapi.dll and C:\windows\syswow64\nvapi.dll to some other name and start the game. If my theory is correct you should see the same bug as you do on Wine. (That assumes you're using the Nvidia card on Windows.)
http://bugs.winehq.org/show_bug.cgi?id=35062
--- Comment #11 from Berillions berillions@gmail.com --- (In reply to Stefan Dösinger from comment #10)
If you have a Windows installation on the same machine you can confirm this theory by renaming C:\Windows\system32\nvapi.dll and C:\windows\syswow64\nvapi.dll to some other name and start the game. If my theory is correct you should see the same bug as you do on Wine. (That assumes you're using the Nvidia card on Windows.)
It's correct Stephan,
If i rename "C:\Windows\system32\nvapi64.dll" and "C:\windows\syswow64\nvapi.dll" and launch the game in directx9 mode, i have this issue too.
It's possible to resolv this issue in Wine ?
Interesting thing, after to rename these dlls, if i launch the game with the Directx11 mode, i haven't the issue. It's only with the Directx9 mode.
http://bugs.winehq.org/show_bug.cgi?id=35062
--- Comment #12 from Stefan Dösinger stefan@codeweavers.com --- Yes, this is fixable, but requires some effort. We can implement the necessary parts of nvapi.dll. The main challenge here is to design a proper interface between d3d9.dll and nvapi.dll. Calling from nvapi.dll to wined3d.dll is easy, but you have to get the struct wined3d_device * from the IDirect3DDevice9 * nvapi.dll receives from the application. Ideally this should work in the same way Nvidia's nvapi.dll handles this on Windows.
The other option is d3d11. D3D11 natively supports the kind of image transfer operations Nvidia hacked into d3d9 with nvapi.dll, so no third party library is needed.
http://bugs.winehq.org/show_bug.cgi?id=35062
--- Comment #13 from Berillions berillions@gmail.com --- (In reply to Stefan Dösinger from comment #12)
Yes, this is fixable, but requires some effort. We can implement the necessary parts of nvapi.dll. The main challenge here is to design a proper interface between d3d9.dll and nvapi.dll. Calling from nvapi.dll to wined3d.dll is easy, but you have to get the struct wined3d_device * from the IDirect3DDevice9 * nvapi.dll receives from the application. Ideally this should work in the same way Nvidia's nvapi.dll handles this on Windows.
The other option is d3d11. D3D11 natively supports the kind of image transfer operations Nvidia hacked into d3d9 with nvapi.dll, so no third party library is needed.
Thanks for the explanation. I'll wait the fix when you and/or Henri and others will have the time to do this. Or, i'll wait the d3d11 implementation. :)
https://bugs.winehq.org/show_bug.cgi?id=35062
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sebastian@fds-team.de
https://bugs.winehq.org/show_bug.cgi?id=35062
Michael Müller michael@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |STAGED CC| |michael@fds-team.de Ever confirmed|0 |1 Staged patchset| |https://github.com/wine-com | |pholio/wine-staging/tree/ma | |ster/patches/nvapi-Stub_DLL
https://bugs.winehq.org/show_bug.cgi?id=35062
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
https://bugs.winehq.org/show_bug.cgi?id=35062
Stefan Dösinger stefandoesinger@gmx.at changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|stefan@codeweavers.com |stefandoesinger@gmx.at
https://bugs.winehq.org/show_bug.cgi?id=35062
André H. nerv@dawncrow.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Staged patchset|https://github.com/wine-com |https://github.com/wine-sta |pholio/wine-staging/tree/ma |ging/wine-staging/tree/mast |ster/patches/nvapi-Stub_DLL |er/patches/nvapi-Stub_DLL CC| |nerv@dawncrow.de
https://bugs.winehq.org/show_bug.cgi?id=35062
--- Comment #14 from Maxime berillions@gmail.com --- This bug report is very old, i think you can close it without regret.
https://bugs.winehq.org/show_bug.cgi?id=35062
Zeb Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com
--- Comment #15 from Zeb Figura z.figura12@gmail.com --- (In reply to Maxime from comment #14)
This bug report is very old, i think you can close it without regret.
If it's still valid it's worth keeping open.
https://bugs.winehq.org/show_bug.cgi?id=35062
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |o.dierick@piezo-forte.be
--- Comment #16 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Hello,
The glitches are still present with Wine 8.21 and Nvidia GPU.
Regards.