GithubHelp home page GithubHelp logo

Comments (4)

K0bin avatar K0bin commented on July 22, 2024 1

Thanks for reporting back.

from dxvk.

doitsujin avatar doitsujin commented on July 22, 2024

err: D3D11SwapChain: Failed to recreate swap chain: -13
err: DXGI: CreateSwapChainForHwnd: Failed to create swap chain, hr -2147467259

Looks like some problem with PRIME maybe? For some reason we're unable to create a Vulkan swap chain on the game's window, but the reason for that can be pretty much anything from messed up driver setup (shouldn't really be a problem since Turing should just work out of the box), your wine/proton build being weird, Heroic setting weird environment variables that fuck things up, or the specific game doing something weird. Extremely hard to remote-debug these things.

Maybe try something like DXVK_FILTER_DEVICE_NAME=Intel to force it to run on the integrated GPU and see if that works for now.

from dxvk.

BaldousHuxley avatar BaldousHuxley commented on July 22, 2024

I don't really know about the drivers, installed smoothly from rpmfusion and signed for safe boot. I already reinstalled them once to be sure a few days ago, but the issue persisted. Setting DXVK_FILTER_DEVICE_NAME=Intel does run the game, but of course there are performance hits on more demanding titles (for the record, almost every game I tried firing up from both Steam and Heroic throws this error).
Since remote-debugging is not viable, how would I go about investigating it? I'm pretty new to Linux so I'm just asking about some good debugging practices. Also, in the event I manage to launch the game, would the log be of any use? Thank you for your patience. I'm kinda going insane with this

from dxvk.

BaldousHuxley avatar BaldousHuxley commented on July 22, 2024

Hello, with the help of some (way) more knowledgeable people (than me) I found a solution for anyone having the same issue. Basically the root of it was that during boot, one of the Nvidia kernel modules failed to load. In my case, nvidia-modprobe failed to initialize, and as a result, some key system files were missing at startup; for me it was the /dev/nvidia-modeset device file. The curious thing is that vulkaninfo fixed the issue because it directly attempts to call nvidia-modprobe after the boot initialization (as explained well here and also here). This means that running vulkaninfo deals the same exact result as running nvidia-modprobe -m (to load the modeset module and create the missing file). Now, the easiest and preferred way to automatically run nvidia-modprobe when the Nvidia module is loaded during boot, is by setting a custom udev rule: the structure of which is almost identical to this one made for Arch. There are some personal differences in the KERNEL and DRIVER arguments based on how each is called in the host machine, so let's go step by step:

  1. You may want to check if you have nvidia-drm.modeset=1 in the boot parameters. If not, it is preferred to add it (there are plenty of resources online on how to add a boot parameter in GRUB, I don't wanna make expansive explanations. Also note that depending on the distro of choice, the spelling could need a _ instead of - so check for your distro);
  2. Create a new file in /etc/udev/rules.d called nvidia-modprobe.rules;
  3. Copy the contents of the Arch rule in the newly created file;
  4. Run udevadm info -a -n /dev/dri/cardX, where X is the number of your dGPU. Should be either 0 or 1 (you should be able to infer which card the command targeted by looking at the output anyways);
  5. Find the right KERNEL and DRIVER entries listed by the command and replace the default ones in the nvidia-modprobe.rules file with those (in my case they were KERNEL=="card1" and DRIVER=="");
  6. Add the right flags to the line RUN+="/usr/bin/nvidia-modprobe -c 0 -u". I, for example, had to add -m to rebuild the right missing module (modeset);
  7. Save the file, reboot and you should be good!

from dxvk.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.