Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace sleep BUS_RESCAN_WAIT_SEC with lspci-based GPU check; tweak MODULES_LOAD in config #133

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

masskonfuzion
Copy link

@Witko et. al, I really love what you're doing with nvidia-xrun. This PR is the result of my playing around with the script & configs on my machine, trying to get things to work.

Background: I was getting sporadic general protection faults when running nvidia-xrun "as-is" from Git on my machine. Some salient specs:

  • Form factor: laptop
  • OS: Arch Linux (kernel: 5.2.9-arch1-1-ARCH) (of course, with Arch being a rolling release distro, the kernel updates all the time...)
  • GPUs:
    • Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
    • NVIDIA Corporation GF119M [NVS 4200M] (rev a1) (nvidia-390xx driver -- this driver seems to get updates surprisingly frequently, as well, for a legacy driver)
  • CPU: Intel(R) Core(TM) i7-2760QM CPU @ 2.40GHz
  • RAM: 8 GB
    so, not a super high-powered machine, by any stretch.. but still capable.

Originally, I had been using the nvidia-xrun package from the Arch AUR, until it started to fail on me sporadicatlly. I then noticed that the AUR package was flagged out of date as of roughly a month ago, so I cloned the git repo to get the latest.

After deploying the scripts & configs manually from git, I was still getting sporadic GP faults. That led me to tinker.

I now seem to be able to start nvidia-xrun. I think the main issue was the nvidia_drm "modeset" option. But to be honest, I'm still not 100% sure of the interplay between, for example, nvidia_modeset and nvidia_drm modeset=1 vs. nvidia_drm with the modeset option omitted..

The other changes in this PR were maybe not strictly necessary. But as I was troubleshooting, I came to like the idea of using an lspci-based verification that the GPU came up, instead of the sleep-based approach. (My rationale was: I added sleeps/slowdowns, thinking maybe the GP faults were caused by a race condition of some sort -- that was the first thing I thought of to explain why sometimes nvidia-xrun would start my x session and window manager just fine, but other times it wouldn't. Truth told, I still can't explain it... ¯_(ツ)_/¯ )

Any feedback is welcome.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant