Let me state this first, I know that questions related to this have already been asked; but I'm still posting this question because none of the available information could solve the problem.
My laptop is msi gl 62 6qd, i7 6700HQ with intel HD graphics 530 and nvidia GTX 950M. I'm using ubuntu 16.04.2. I had to do the
nouveau.modeset=0 stuff to get the display working after first boot and install the proprietary nvidia drivers. The power consumption of the nvidia card is quite high though, compared to the intel card. Also there is screen tearing when scrolling fast or watching videos (like vsync problem). So what I want to do is switch to the intel card.
What I have tried so far:
1. Use the
nvidia xserver settings application to switch to intel prime profile. Result: It asks to log out and in for the profile switch. If I do that, I can use the intel card. But if I reboot pc, as soon as I login, everything freezes. And I mean absolutely everything, can't even toggle caps lock or num lock. I have to hard reboot, go to tty session, login there and switch back to nvidia prime profile (using
prime-select), do another hard reboot before I can use the laptop properly again.
2. I originally asked this for 16.10 where nvidia drivers weren't updated to
nvidia-375 and I added a graphics ppa to try to solve it then. In 16.04.2 they are updated, but same problems remain.
3. I have tried looking to see if there is any way to remove the proprietary drivers and then switch to intel graphics. But it appears that the switching technology (something like prime) is only provided by the proprietary drivers.
And no, there is no way of switching between the cards in my BIOS. Any help with regards to this is appreciated.
Edit: If there is a way to remove any drivers related to nvidia and use intel graphics instead, that is fine too. In Windows, the nvidia settings say that the display is connected to the intel card. I don't understand why then ubuntu chooses the nvidia card by default.
Edit2: As suggested by eyoung100, I have installed bumblebee and configured as follows. I set the correct values for driver, kernal-driver, library paths and PMMethod (I tried both auto and bbswitch) in
/etc/bumblebee/bumblebee.conf. The conf file says that changes to this file need a server restart (I'm not sure what they mean by server), so I restarted laptop. Then started
sudo bumblebeed --daemon. The state of the card is supposed to be changeable after that using
sudo tee /proc/acpi/bbswitch <<<OFF. But its producing error saying
device 0000:01:00.0 is in use by driver 'nvidia', refusing OFF. The wiki says that the driver needs to be unloaded if this happens. Now I'm not sure how to do that and whether I actually need to do that OR I have done something wrong before this thats leading to the error.
Edit3: Output of
sudo apt-get install xserver-xorg-video-intel as requested:
Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: xserver-xorg-video-intel : Depends: xserver-xorg-core (>= 2:184.108.40.2062) E: Unable to correct problems, you have held broken packages.
Edit4: Output of
sudo apt-cache madison xserver-xorg-core as requested:
xserver-xorg-core | 2:1.18.4-0ubuntu0.2 | http://in.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages xserver-xorg-core | 2:1.18.3-1ubuntu2 | http://in.archive.ubuntu.com/ubuntu xenial/main amd64 Packages
Edit5: I have tried to purge and then re-install
xserver as per eyoung100's answer. But ubuntu starts using the nvidia card immediately after reboot, (possibly) ignoring the
i915.modeset=1 boot parameter. I get to a backlit black screen and then nothing happens. I know that the system isn't completely frozen since I can toggle NumLock; but apart from that nothing can be done. I have to use
nouveau.modeset=0 to reach the login screen.
I would like to clear out how I immediately know which graphics card is being used. The power key of the laptop is lighted, it shows one color when using intel and other when using nvidia card.