Laptop freezes changing video cards

Hi everyone,

I search a lot to my issue described here
https://www.reddit.com/r/linuxhardware/comments/6ewpyy/ubuntu_freezes_on_login_after_nvidiaprime/

The only thing I believe can work is the fix propose by medakk

I followed the steps mentioned early but when I put the SSD3T.aml into Grub2 doesn’t start.
So my question is how I can find the mismatch mentioned by medakk here:

I hope you can help me!

Thanks for advanced

Judging by the reddit thread you have a similar Asus as medakk but not he same.

  • acpi_osi=! acpi_osi=“Windows 2009” stopped the freezing
  • Touchpad stopped working, so needs modified ssdt
  • similar duplicate definition of PRT0 in ssdt
    Just as a note, one conclusion of medakk’s thread is that you will have to ‘systemctl restart diplay-manager’ to switch gpus when using GDM/Gnome, logout/login won’t work.

What did you do to extract/disassemble/modify/assemble/pack the ssdt?

To find the right ssdt to disassemble and modify, grep for LKEN
To find the ssdt with the duplicate definition to remove for disassembly , grep for PRT0 but dont remove the dsdt.
Please run acpidump/nvidia-bug-report.sh and attach output files.

Edit: typo PRT0 not PR0

I followed this steps Laptop freezes when starting X11 and discrete graphics are OFF · Issue #764 · Bumblebee-Project/Bumblebee · GitHub
mentioned by medakk without success.

Here is grep:

root@GL553VD:~/dsdt# grep LKEN *
Binary file SSDT3.dat matches
root@GL553VD:~/dsdt# grep PRT0 *
Binary file DSDT.dat matches
Binary file SSDT1.dat matches

my acpidump:
https://gist.githubusercontent.com/glats/2efe819cbc21202ed2ad0c7611bb2096/raw/46115857afbeb9441a4b75c117d5e55d4c0e189b/acpidump.txt

and the nvidia report
https://gist.githubusercontent.com/glats/e45f81d5b511998cc320265a3e0bc30e/raw/41ddfb5f53972416ad41ed98e9262f4b28236695/nvidia-bug

It’s the same as medakk’s so his howto should work unchanged. But your logs don’t show a trace that you’re loading the modified table.
dmesg should tell:
ACPI: SSDT ACPI table found in initrd [kernel/firmware/acpi/ssdt3.aml]
and
ACPI: Table Upgrade: override [SSDT-PegSsd- PegSsdt]

Did you make the changes to grub and ran update-grub2 afterwards?

Yes I did it.
I’ll try again and I’ll check in dmesg if I find the override.
I’ll comment soon.
Thanks.

After followed the steps nothing changed.

Here my dmesg grep ACPI:

Here my grub entry:

This is really frustrating.

I finally did it.
I had to do:

cat initrd.img-4.12.0-041200rc3-generic >> acpi_gpufix.img

and then:

glats@GL553VD:~$ dmesg | grep ACPI | grep override
[    0.000000] ACPI: Table Upgrade: override [SSDT-PegSsd- PegSsdt]
[    0.000000] ACPI: SSDT 0x000000007A715080 Physical table override, new table: 0x0000000079493000
[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ9 used by override.

I don’t know why two initrd into grub entry doesn’t work.

Don’t do that. You won’t be able to boot once you get a kernel update. You can’t have two initrd entries, the second is overwriting the first. Instead, put both images in one line:

initrd /boot/acpi_gpufix /boot/initrd.img-4.12.0-041200rc3-generic

And don’t modify the grub.cfg, instead modify the script for generating it, like medakk said:
in /etc/grub.d/10_linux
change the line (around line 143)

initrd ${rel_dirname}/${initrd}

to

initrd ${rel_dirname}/acpi_gpufix ${rel_dirname}/${initrd}

and run update-grub2 afterwards. This will keep the override working on kernel updates.

Yes I already edited 10_linux to put the initrd line but I did two initrd instead of one.
I’ll try that option.
Thanks.

Another question, With Intel GPU the fan start run but with nvidia GPU the fan doesn’t start.
How I can turn off? It’s really noisy

Don’t know, use ‘sensors’ to see if anything’s overheating and ‘top’ what’s causing this. PM medakk to see if he’s facing the same problem.