protonscr

Farming Simulator 19 black screen with nvidia (optimus)

dxvkclosed nvidia proprietary
doitsujin/dxvk#775 · opened 2018-11-20 by wioo · updated 2018-12-04 · 11 comments · github
Wwioo 2018-11-20 github

Software information

Farming Simulator 19

System information

  • GPU: nvidia GTX 950M
  • Driver: 410.73.0
  • Wine version: 3.20
  • DXVK version: 0.92

Apitrace file(s)

https://drive.google.com/open?id=1s9nd7Ls5-t7BQo1Uj70i-aGX3HDTFNSd
(7z arhive)

Log files

Screenshot
fsscreen_2018_11_20_12_19_59
fsscreen_2018_11_20_12_21_38

I am using arch linux. Tried with dxvk-bin and dxvk-git packages from aur. Tried wine versions 3.20, 3.19, 3.18, 3.20 staging, proton 3.7 and 3.16. It works with intel integrated graphics (HD 530).

Computer uses nvidia optimus. I am using nvidia-xrun to load nvidia drivers.

Ddoitsujin maintainer 2018-11-20 github

Does this also happen when you replay the apitrace using d3dretrace.exe? On my system, the trace renders just fine, but I don't have an Optimus setup.

Wwioo 2018-11-20 github

Yup, same black screen.

AAskannz 2018-11-20 github

On my system equipped with a GTX1060, the apitrace plays just fine, without a black screen.

image

Same software versions (Nvidia driver 410.73, wine staging 3.20, DXVK 0.92), on a GTX1060. It's also an Optimus machine, although I do not use nvidia-xrun.

Wwioo 2018-11-20 github

Interesting. How do you load your games then? Afaik I can't use primusrun with dxvk.

AAskannz 2018-11-20 github

I use this method : https://wiki.archlinux.org/index.php/NVIDIA_Optimus#Using_nvidia plus a custom script that allows to revert back easily to the Intel configuration. I've released it publicly a few days ago, you can check it out on my GitHub profile.

AAskannz 2018-11-20 github

So out of curiosity I ran the apitrace on my old laptop with a Kepler card (GT650M), and I was able to reproduce your issue.

farming2

Wwioo 2018-11-20 github

I tried method you recommended for using nvidia. Got the same black screen.
Looks like nvidia driver is at fault or something.

Wwioo 2018-11-20 github

Tried with nvidia 410.66, 410.78, 415.18 and 396.54.09. Same problem.
Btw, it works in win10 if that helps in any way.

Ddoitsujin maintainer 2018-11-22 github

Can reproduce this on my GTX 670, seems to be specific to older Nvidia architectures.

Ddoitsujin maintainer 2018-11-22 github

@pdaniell-nv It looks like there's a driver bug related to clearing individual slices of a 3D texture. Here's what happens:

  • Game creates a 3D image (32x32x32) with VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT
  • For each of the 32 3D slices, it creates a render target view, clears the view and renders some lookup table into it

The clear operation seems to clear all slices, so only the very last slice of the image contains meaningful data. This happens when beginning a render pass instance with VK_LOAD_OP_CLEAR, but also when using vkCmdClearAttachment. When commenting out the clear op, it renders correctly.

I can't provide a useful renderdoc capture since the game only renders to that image once during initialization, but replaying the apitrace linked in the original bug report will reproduce the problem.

Wwioo 2018-12-01 github

If one wants at least try the game, nvidia legacy driver 390.87 must be used.
Btw, there are some flickering shadows.

Proton versions