Nvidia - MSI Prestige optimus laptop Help

Hi everyone!
Very new to the forum, first post actually, but a long time linux / Opensuse user ( but not a master!)
I bought my MSI Prestige PE60 6QE 4 month ago. I flushed windows partitions and installed Opensuse Tumbleweed, so far so good! everything (mostly) is running as charm. Most of the devices are working great out of the box and KDE is surprisingly very smooth on my Intel skylake and HD graphic card.

The only thing I couldn’t figure out ( since it’s the first time I have a laptop with Optimus setup) is disabling and enabling the NVIDIA GTX960M. I work in visual effects for film and I really need that Nvidia card to be on all the time for my 3D software to work.

It’s been 4 month of trials and errors (great to have their is snapper), tried all the wikis from Opensuse website and look at all provided solutions on the forum. I even tried the Hard way with the Nvidia drivers. Unfortunately I think I’m on a dead end with my knowledge and would like some help. Note: I was able to make bumblebee work on a friend’s HP laptop, didn’t seem that hard.

Looked into the Bios to see if I can switch them on off and their was nothing I could find.
I tried both Bumblebee and Suse-prime-alt, both failed to load my Nvidia card. Followed exactly the procedures online, tried different combinations.Either I would get freezes, right before logins or it would dump me in tty1 … I would like to make suse-prime work so I can leave my Nvidia turned on all the time.

this is what I tried mainly:
https://en.opensuse.org/SDB:NVIDIA_Bumblebee
https://en.opensuse.org/SDB:NVIDIA_the_hard_way
Leap-42-1-Optimus-system-with-nvidia-prime-instead-of-bumblebee

Here is my setup:
laptop: MSI Prestige PE60 6QE
Intel Skylake with integrated HD Graphic Card
Nvidia GTX 960M



Linux linux-abc043 4.8.3-1-default #1 SMP PREEMPT Thu Oct 20 09:18:45 UTC 2016 (94eb9fb) x86_64 x86_64 x86_64 GNU/Linux

00:02.0 VGA compatible controller: Intel Corporation HD Graphics 530 (rev 06)
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2)            

I’m ready to restart form scratch if needed, would be nice if someone can guide me with steps to make it work.

thanks in advance!

I have a NVIDIA card too, and what I did was blacklisting nouveau driver like it says in the manual “NVIDIA the hard way”
Check that you have gcc compiler installed.

Download the nvidia driver directly from the nvidia site

then

echo “blacklist nouveau” >> /etc/modprobe.d/50-blacklist.conf && mkinitrd && reboot

After that, the system will boot into a terminal. Login as root and run the downloaded driver. This will build and configure the correct driver module.

Reboot and it should start into KDE-Desktop, you may install afterwards some NVIDIA-utils.

Hope this helps.

It won’t. The OP has an NVIDIA Optimus config, needs Bumblebee. Following your advice would render the desktop unusable.

Thx pzlingo for your answer but I do have an Optimus setup. If I had a single card in my laptop that would have been simple. I’ve done it a thousand times. I do have a workstation with a Quadro 4000 and it take me minutes to update the drivers.

Knurpht: is Bumblebee the only solution? Am I wasting my time with suse-prime-alt?

Just to update, I tried reinstalling suse-prime-alt.
It additionally installed x11-video-nvidia drivers, so I went and downloaded the nvidia drivers from nvidia.com and installed the same version 370.23 on top. No errors so far! ( I know this should never be done, but what the heck, I’m experimenting :wink: )
What changed now is that I get my power light changing from orange to blue and vise versa( orange=Nvidia, blue=Intel).

But in the case I type prime-select nvidia, I need to manually add nvidia in modprobe… and remove it on prime-select intel to get those light to switch. I made an aliases for that.

When running on intel: if I type glxgears it works fine, and when I type glxinfo I get the following:

[FONT=monospace]name of display: :0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
    GLX_ARB_create_context, GLX_ARB_create_context_profile,  
    GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float,  
    GLX_ARB_framebuffer_sRGB, GLX_ARB_multisample,  
    GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile,  
    GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB,  
    GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info,  
    GLX_EXT_visual_rating, GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer,  
    GLX_OML_swap_method, GLX_SGIS_multisample, GLX_SGIX_fbconfig,  
    GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, GLX_SGI_swap_control
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
...
...
...
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 530 (Skylake GT2)  
OpenGL core profile version string: 4.3 (Core Profile) Mesa 12.0.3


When running on Nvidia I get :cannot load display 0:
if I reboot with the nvidia card active I get a black screen!

Is it only a Xorg config issue? or can it be that the Nvidia is still not working?

I’ll keep digging, but any help would be great!

cheers!
lari[/FONT]

Hi everyone !

Just to update on my thread. I zypper dup yesterday and updated to kernel 4.8.6. Then tried to install bumblebee.
Followed the steps and it worked. glxspheres worked nicely . It was switching on and of my nvidia and loading the intel.

But all that ended after I rebooted the laptop. After a reboot my laptop freezes with a blackscreen. It is loading the intel graphics for loading Xserver before the login screen appears.

I think this is not an issue with the laptop/Tumbleweed anymore I will check for solutions in other threads and post my questions there.

As for MSI prestige PE60 6EQ and OpenSuse … It is working great overall…
Cheers

Check whether bumblebee itself is enabled

systemctl status bumblebeed.service

Make sure nouveau is blacklisted and that you created a new initrd

dracut -f

Then reboot.

And, to answer another question of yours: yes, suse-prime(-alt) is an option. Mind though, using the nvidia all the time comes at a cost: power consumption.

Thanks for the reply Knurpht.
I did reinstall bumblebee, like you mentioned it will save me some power, and I’m at a stage where I know it’s working. After the install I was able to load and offload my Nvidia !

systemctl status bumblebeed.service

shows that it is loaded, i can simply start it, and it works.

 bumblebeed.service - Bumblebee C Daemon
   Loaded: loaded (/usr/lib/systemd/system/bumblebeed.service; enabled; vendor preset: disabled)
   Active: inactive (dead)

BUT, their is always a but… :slight_smile: if I reboot my machine, right before xdm loads ( right before the login screen) the laptop freeze. Their is a nested BUT in the previous BUT, if I boot with init 3, login in tty and type xdm start, low and behold all run perfectly… GTX 960M loads, run glxspheres.

I think this is the core of my issue, not sure why on boot, it freezes, but not if I load xdm from the terminal.
I also did the **dracut -f **thought this could solve it, but no luck.

still digging into it.
Any pointers would be much appreciated!

cheers

lari

**::UPDATE::
**
Right after I posted, I had the idea to boot in **init 3,**then **systemctl **disable bumblebee.service and then dracut -f. This solved my boot freeze, and after login I saw that bumblebee.service was enabled anyways!

I can’t explain why I needed to disable the daemon before the dracut, and why it was freezing, but for anyone in a similar situation can try this as a fix and see if it helps. It sure fixed my problems!

All working as charm !!! :smiley:
thanks **Knurpht **​for the pointers …I’m a happy OpenSuse Tumbleweed user now ! :smiley:

I’m waiting on the next closed source driver, and Xorg 1.19 - new API with and the latest xrandr. This will eliminate screen tearing. There is a thread in the nvidia forums covering this.
https://devtalk.nvidia.com/default/topic/957814/linux/prime-and-prime-synchronization/