@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...)
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... ¯_(ツ)_/¯ )
@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:
Arch Linux (kernel: 5.2.9-arch1-1-ARCH)
(of course, with Arch being a rolling release distro, the kernel updates all the time...)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)Intel(R) Core(TM) i7-2760QM CPU @ 2.40GHz
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
andnvidia_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.