Lenovo y550 (gt m240) vs Ubuntu 17.07, 16.04, 14.04

How can i use acpidump ? Please give me instructions if we need that.

I have done it, but some errors appeared . I translated russian output for you

nikolay@nikolay-Lenovo-IdeaPad-Y550:~ git clone git://github.com/Lekensteyn/acpi-stuff.git Клонирование в «acpi-stuff»… (cloning in "«acpi-stuff»…") remote: Counting objects: 603, done. remote: Total 603 (delta 0), reused 0 (delta 0), pack-reused 603 Получение объектов (received objects): 100% (603/603), 1.47 MiB | 904.00 KiB/s, готово. Определение изменений (defined changes): 100% (299/299), готово. nikolay@nikolay-Lenovo-IdeaPad-Y550:~ cd acpi-stuff/acpi_dump_info
nikolay@nikolay-Lenovo-IdeaPad-Y550:~/acpi-stuff/acpi_dump_info$ make
make -C /lib/modules/4.10.0-28-generic/build M=/home/nikolay/acpi-stuff/acpi_dump_info modules
make[1]: вход в каталог (enter to the catalog) «/usr/src/linux-headers-4.10.0-28-generic»
CC [M] /home/nikolay/acpi-stuff/acpi_dump_info/acpi_dump_info.o
Building modules, stage 2.
MODPOST 1 modules
CC /home/nikolay/acpi-stuff/acpi_dump_info/acpi_dump_info.mod.o
LD [M] /home/nikolay/acpi-stuff/acpi_dump_info/acpi_dump_info.ko
make[1]: выход из каталога (exit from the catalog) «/usr/src/linux-headers-4.10.0-28-generic»
nikolay@nikolay-Lenovo-IdeaPad-Y550:~/acpi-stuff/acpi_dump_info$ sudo make load
[sudo] пароль для nikolay:
rmmod acpi_dump_info
rmmod: ERROR: Module acpi_dump_info is not currently loaded
Makefile:15: ошибка выполнения рецепта для цели «load» (failed of the executing recipe “load”)
make: [load] Ошибка 1 (игнорирование) (error 1 ignored)
insmod acpi_dump_info.ko
nikolay@nikolay-Lenovo-IdeaPad-Y550:~/acpi-stuff/acpi_dump_info$ cat /proc/acpi/dump_info > handles.txt

I attached “handles.txt” with output from acpi_dump_info.c, acpi_dump_info.mod.c.

I installed acpica-tools

Maybe it can be useful

sudo dmidecode -t bios

dmidecode 3.0

Getting SMBIOS data from sysfs.
SMBIOS 2.5 present.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: LENOVO
Version: 15CN32WW(V2.05)
Release Date: 10/11/2009
Address: 0xE58F0
Runtime Size: 108304 bytes
ROM Size: 2048 kB
Characteristics:
PCI is supported
PNP is supported
APM is supported
BIOS is upgradeable
BIOS shadowing is allowed
ESCD support is available
Boot from CD is supported
Selectable boot is supported
EDD is supported
5.25"/360 kB floppy services are supported (int 13h)
5.25"/1.2 MB floppy services are supported (int 13h)
3.5"/720 kB floppy services are supported (int 13h)
3.5"/2.88 MB floppy services are supported (int 13h)
Print screen service is supported (int 5h)
8042 keyboard services are supported (int 9h)
Serial services are supported (int 14h)
Printer services are supported (int 17h)
CGA/mono video services are supported (int 10h)
ACPI is supported
USB legacy is supported
LS-120 boot is supported
BIOS boot specification is supported
Targeted content distribution is supported
BIOS Revision: 0.50
Firmware Revision: 0.50

handles.txt is fine.
There should be a package in Ubuntu just named acpidump. - Nope. sorry, just checked, they didn’t create it for 17.04 (yet). If acpica-tools contains it, fine.
Just run ‘sudo acpidump’ and it should create a file containing your acpi tables.

Jesus Christ, looks like lenovo peace of shit

sudo acpidump.txt (154 KB)

Unfortunately, nothing obvious in acpi. So we need more info. Since nouveau seems to work, let’s see where that gets its vbios from. Switch to nouveau and add the following to kernel commandline

nouveau.debug=debug,VBIOS=trace

Reboot, run dmesg > dmesg.txt and attach.

While you’re running nouveau also extract the vbios to a file:

cat /sys/kernel/debug/dri/0/vbios.rom > vbios.rom

If not found, look if there is more than one directory in /sys/kernel/debug/dri

If no fix can be found there’s always the chance for a workaround, prepare/compile this:
https://github.com/envytools/envytools/tree/master/nva
especially those two:
nvagetbios
nvafakebios

Maybe you can use nvafakebios to throw the vbios at the nvidia driver later.

Done

nouveau.debug=debug,VBIOS=trace

Command not found

What’s that - nvagetbios, nvafakebios ? I’m not a wise man such as you)
dmesg.txt (69.4 KB)
vbios.rom.zip (42.6 KB)

‘Adding to kernel commandline’ means adding it to grub:

sudo nano -w /etc/default/grub

then insert it into GRUB_CMDLINE_LINUX_DEFAULT=
Example: change

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

to

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nouveau.debug=debug,VBIOS=trace"

CTRL+o then enter to save, CTRL+x to exit.
Run

sudo update-grub

to apply changes.
Then reboot and run dmesg >dmesg.txt again.

envytools in general are tools for tinkering with nvidia gpus used in development of the nouveau driver.
nvagetbios is a tool for downloading the video bios (vbios) from rom or vram to a file
nvafakebios is to load a vbios from a file for use with the nvidia driver

Done. But I used Mousepad (sudo mousepad /etc/default/grub), I know how to edit configuration files, thank you very much for your patience and instructions :)
dmesg-2.txt (105 KB)

Looks like a corrupted vbios, nouveau is complaining about bad checksum, header and signature. So the nvidia driver is probably rejecting it.
You can remove the nouveau debug entry from grub and run update-grub now.
Really fixing this would involve fixing the vbios and reflashing it, maybe using some OC’s tools and even a hardware programmer. That’s beyond my knowledge and interests.
But maybe the workaround is useable, try to load it using nvafakebios. The tricky part is that the vbios has to be loaded before the nvidia driver is (re-)loaded. Build instructions:
https://github.com/envytools/envytools
Steps to test then would be:
install nvidia-drivers and nvidia-modprobe
disable X (systemctl disable display-manager or maybe lightdm)
reboot
You should be at text console
log in, get a root shell
modprobe -r nvidia
check if nvidia modules really are unloaded (lsmod)
nvafakebios vbios.rom (the file you extracted earlier)
modprobe nvidia
systemctl start display-manager (or lightdm)
Hope the nvidia driver accepts the vbios and X comes up…

  1. How to install envytools ? I have tried, but have had no success.
  2. Maybe, we can fix nouveau ? How this nvafakebios can be useful in this case ?
  3. I don’t find any manuals, instructions how to use envytools. Is it a unique project or maybe there are similar software ?

https://github.com/envytools/envytools
contains build instructions, scroll down a bit. You have to git clone it first, of course.
envytools are unique
Description of tools in nva directory, also scroll down a bit:
https://github.com/envytools/envytools/tree/master/nva
short version:
https://gist.github.com/karolherbst/4341e3c33b85640eaaa56ff69a094713

Envytools are not needed for nouveau, maybe the shadowfb option will improve your experience:
Either create a xorg.conf with that device section or put a file containing it into /etc/X11/xorg.conf.d

Section "Device"
    Identifier "NvidiaGraphics"
    Driver "nouveau"
    Option "ShadowFB" "1"
EndSection

This xorg file crashed system (black screen).
xorg.conf.zip (824 Bytes)

‘Identifier’ and ‘Driver’ line is twice in it.

Did that xorg.conf work before you added the extra lines?

As you know there is no xorg.conf by default, I created xorg.conf for my experiments with graphics. Yes, it was ok.

So you needed to add just the shadowfb line. Does that alone crash the xserver?

Man ! Looks like artifacts disappeared ! It’s so cool. I tried to enable hardware acceleration in Chromium, but such applications like Blender, TuxRacer are working very slow. What’s a trick ?

xorg.conf.zip (626 Bytes)

attach output of glxinfo and /var/log/Xorg.0.log

Done
glxinfo_xorg.0.log.zip (11.4 KB)