I have an Asus GL553 with Intel 560 and Nvidia GTX 1050 and I'm tried to configure my hybrid cards with nvidia-prime.
I installed Ubuntu Gnome 17.04 then installed nvidia-381 and ran prime-select intel I had to hard reboot and when I tried to login the system freezes.
I have researched and read all these topics but I can't find a solution.
- https://devtalk.nvidia.com/default/topic/991853/complete-freeze-with-nvidia-prime/?offset=8
- https://devtalk.nvidia.com/default/topic/991853/complete-freeze-with-nvidia-prime/?offset=18
- edited to: shutdown hangs on intel grapics on 16.04 with 4.7.2 kernel
- NVIDIA-PRIME: Cant switch to intel
- https://bugs.launchpad.net/lightdm/+bug/1637733
- https://bugs.launchpad.net/ubuntu/+source/nvidia-prime/+bug/1663926
Has anyone could configure nvidia properly?
Best Answer
I finally did it.
1.- Make a folder to store the SSDT files. Then extract it from the ACPI tables (run this part as root):
2.- Make sure you have IASL installed. On ubuntu, sudo
apt install iasl
should suffice. I downloaded the source and compiled it myself to get the latest version, but I don't think thats necessary.3.- There's a duplicate definition in one SSDT file which won't let us dissassemble it. Find out which one it is and delete it:
So in my case it is SSDT1. Replace it with whatever you get. Do not touch DSDT.dat
4.- Next, we find the SSDT file with the code we need to change. We look for the file with both "NVID" and "OSYS" are present: (There's probably a better way to do this in grep)
So in my case it was SSDT3, if its different you replace all further instances of SSDT3 with whatever you get.
5.- Disassemble!
6.- Hopefully you don't see any errors at this point. Replace all instances of OSYS except the declaration with the constant for Windows 7, and bump the definition block number by one:
If you have a different BIOS, the Definition Block number might not be 1000. Just open SSDT3.dsl in a text editor and look for DefinitionBlock. Whatever number you see on that line, increment it by one.
7.- Compile everything and hope there are no errors.
8.- Make an image:
8.- All the following instructions corresponding to Ubuntu and GRUB2. Copy it to the boot folder. the initrd.img it's your default img from boot folder:
you can permanently add it to your GRUB by editing /etc/grub.d/10_linux. I had to change the line
initrd ${rel_dirname}/${initrd}
toinitrd ${rel_dirname}/acpi_gpufix ${rel_dirname}/${initrd}
. Then run update-grub2.UPDATE: Now GRUB support extra initrd: GRUB_EARLY_INITRD_LINUX_CUSTOM=acpi_gpufix.img to your /etc/default/grub
9.- To check if it works:
Now you can change the GPU wihtout freezes
source:
https://github.com/Bumblebee-Project/Bumblebee/issues/764#issuecomment-306543064 https://devtalk.nvidia.com/default/topic/1012369/linux/laptop-freezes-changing-video-cards