primus
primus copied to clipboard
primusrun segfaults where optirun doesn't (nvidia MX150)
I have Arch 64-bit (fully update) installed on two laptops. The older one has a GT635M, the newer one has a MX150. nvidia is at 387.34 for both.
optirun runs fine (testing here with glxspheres64) with this dmesg:-
[ 828.019351] bbswitch: enabling discrete graphics
[ 828.115245] nvidia-nvlink: Nvlink Core is being initialized, major device number 240
[ 828.115633] NVRM: loading NVIDIA UNIX x86_64 Kernel Module 387.34 Tue Nov 21 03:09:00 PST 2017 (using threaded interrupts)
[ 828.705228] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms 387.34 Tue Nov 21 02:09:45 PST 2017
[ 828.706402] nvidia-modeset: Allocated GPU:0 (GPU-e7fcc059-61e1-1b77-2dbd-fd772cbf15b7) @ PCI:0000:01:00.0
[ 828.706634] nvidia-modeset: Freed GPU:0 (GPU-e7fcc059-61e1-1b77-2dbd-fd772cbf15b7) @ PCI:0000:01:00.0
[ 828.814502] nvidia-modeset: Allocated GPU:0 (GPU-e7fcc059-61e1-1b77-2dbd-fd772cbf15b7) @ PCI:0000:01:00.0
[ 828.814910] nvidia-modeset: Freed GPU:0 (GPU-e7fcc059-61e1-1b77-2dbd-fd772cbf15b7) @ PCI:0000:01:00.0
[ 831.481573] nvidia-modeset: Unloading
[ 831.497109] nvidia-nvlink: Unregistered the Nvlink Core, major device number 240
[ 831.518017] bbswitch: disabling discrete graphics
[ 831.533181] pci 0000:01:00.0: Refused to change power state, currently in D0
primusrun segfaults with this dmesg:-
[ 811.666377] bbswitch: enabling discrete graphics
[ 811.760017] nvidia-nvlink: Nvlink Core is being initialized, major device number 240
[ 811.760414] NVRM: loading NVIDIA UNIX x86_64 Kernel Module 387.34 Tue Nov 21 03:09:00 PST 2017 (using threaded interrupts)
[ 812.349184] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms 387.34 Tue Nov 21 02:09:45 PST 2017
[ 812.350407] nvidia-modeset: Allocated GPU:0 (GPU-e7fcc059-61e1-1b77-2dbd-fd772cbf15b7) @ PCI:0000:01:00.0
[ 812.350615] nvidia-modeset: Freed GPU:0 (GPU-e7fcc059-61e1-1b77-2dbd-fd772cbf15b7) @ PCI:0000:01:00.0
[ 812.440978] glxspheres64[28010]: segfault at 0 ip 00007fbbf34773d2 sp 00007ffe3880d510 error 4 in libGL.so.1[7fbbf3452000+41000]
[ 812.918620] nvidia-modeset: Unloading
[ 812.933468] nvidia-nvlink: Unregistered the Nvlink Core, major device number 240
[ 812.956105] bbswitch: disabling discrete graphics
[ 812.973138] pci 0000:01:00.0: Refused to change power state, currently in D0
This USED to work (can't remember exactly when though as I've not had to use the GC for a while, definitely in the last month or so). Here's a core dump from one iteration of that:-
PID: 22955 (glxspheres64)
UID: 1000 (ngoonee)
GID: 100 (users)
Signal: 11 (SEGV)
Timestamp: Mon 2018-01-22 17:05:24 +08 (11min ago)
Command Line: glxspheres64
Executable: /usr/bin/glxspheres64
Control Group: /user.slice/user-1000.slice/session-c1.scope
Unit: session-c1.scope
Slice: user-1000.slice
Session: c1
Owner UID: 1000 (ngoonee)
Boot ID: bbb4123fdeeb492f9b48aff398482bde
Machine ID: 3b964d171b9240e5b40211b7a09fa873
Hostname: ngoonee-envy
Storage: /var/lib/systemd/coredump/core.glxspheres64.1000.bbb4123fdeeb492f9b48aff398482bde.22955.1516611924000000.lz4
Message: Process 22955 (glxspheres64) of user 1000 dumped core.
Stack trace of thread 22955:
#0 0x00007fa4b088c3d2 glXCreateContext (libGL.so.1)
#1 0x00000000004036cc main (glxspheres64)
#2 0x00007fa4afbc5f4a __libc_start_main (libc.so.6)
#3 0x0000000000403bfa _start (glxspheres64)
Stack trace of thread 22956:
#0 0x00007fa4af9943bd pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1 0x00007fa4a92c65d4 n/a (swrast_dri.so)
#2 0x00007fa4a92c6428 n/a (swrast_dri.so)
#3 0x00007fa4af98e08c start_thread (libpthread.so.0)
#4 0x00007fa4afc9ae7f __clone (libc.so.6)
Stack trace of thread 22958:
#0 0x00007fa4af9943bd pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1 0x00007fa4a92c65d4 n/a (swrast_dri.so)
#2 0x00007fa4a92c6428 n/a (swrast_dri.so)
#3 0x00007fa4af98e08c start_thread (libpthread.so.0)
#4 0x00007fa4afc9ae7f __clone (libc.so.6)
Stack trace of thread 22957:
#0 0x00007fa4af9943bd pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1 0x00007fa4a92c65d4 n/a (swrast_dri.so)
#2 0x00007fa4a92c6428 n/a (swrast_dri.so)
#3 0x00007fa4af98e08c start_thread (libpthread.so.0)
#4 0x00007fa4afc9ae7f __clone (libc.so.6)
Stack trace of thread 22961:
#0 0x00007fa4af9943bd pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1 0x00007fa4a92c65d4 n/a (swrast_dri.so)
#2 0x00007fa4a92c6428 n/a (swrast_dri.so)
#3 0x00007fa4af98e08c start_thread (libpthread.so.0)
#4 0x00007fa4afc9ae7f __clone (libc.so.6)
Stack trace of thread 22963:
#0 0x00007fa4af9943bd pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1 0x00007fa4a92c65d4 n/a (swrast_dri.so)
#2 0x00007fa4a92c6428 n/a (swrast_dri.so)
#3 0x00007fa4af98e08c start_thread (libpthread.so.0)
#4 0x00007fa4afc9ae7f __clone (libc.so.6)
Stack trace of thread 22959:
#0 0x00007fa4af9943bd pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1 0x00007fa4a92c65d4 n/a (swrast_dri.so)
#2 0x00007fa4a92c6428 n/a (swrast_dri.so)
#3 0x00007fa4af98e08c start_thread (libpthread.so.0)
#4 0x00007fa4afc9ae7f __clone (libc.so.6)
Stack trace of thread 22962:
#0 0x00007fa4af9943bd pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1 0x00007fa4a92c65d4 n/a (swrast_dri.so)
#2 0x00007fa4a92c6428 n/a (swrast_dri.so)
#3 0x00007fa4af98e08c start_thread (libpthread.so.0)
#4 0x00007fa4afc9ae7f __clone (libc.so.6)
Stack trace of thread 22960:
#0 0x00007fa4af9943bd pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1 0x00007fa4a92c65d4 n/a (swrast_dri.so)
#2 0x00007fa4a92c6428 n/a (swrast_dri.so)
#3 0x00007fa4af98e08c start_thread (libpthread.so.0)
#4 0x00007fa4afc9ae7f __clone (libc.so.6)
Probably related to #201