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

Hello, everyone !

I come across a problem with my current configuration (lenovo y550-4-kc-b , nvidia gt m240). I installed Lubuntu 17.04 with Xfce. Grafic artifacts appear when I run applications like Chromium, Atom editor, Visual Studio Code with hardware acceleration. The problem has gone If I disable this option. Also I have artifacts with Unity on Ubuntu 14.04 and 16.04 (Unity), (17.04 - much more better). No artifacts with Xfce. I tried to install proprietary drivers (Nvidia legacy binary driver - version 304.135, Nvidia binary driver version 340.102). The system crashes (black screen when i reload). The last workible driver on windows 7 267.76 . I updated all drivers and software. How can i fix this issue ? It doesn’t matter to me which driver to use - nouveau or proprietary.

Hardware:
Processor: Intel Pentium T4400 @ 2.20GHz (2 Cores), Motherboard: LENOVO KIWB1, Chipset: Intel Mobile 4 MCH + ICH9M, Memory: 2048MB, Disk: 320GB Seagate ST320LM001 HN-M3, Graphics: NVA5 1024MB, Audio: Realtek ALC272, Network: Broadcom Limited NetLink BCM5784M Gigabit PCIe + Broadcom Limited BCM4312 802.11b/g

Software:
OS: Ubuntu 17.04, Kernel: 4.10.0-26-generic (i686), Desktop: Xfce 4.12, Display Driver: modesetting 1.19.3, OpenGL: 3.3 Mesa 17.2.0-devel, Compiler: GCC 6.3.0 20170406, File-System: ext4, Screen Resolution: 1366x768

Please, pay attention there are issues with this notebook on windows.

https://forums.geforce.com/default/topic/513749/driver-issue-with-a-nvidia-gt-240m/

Welcome in club mate. http://forums.nvidia.com/index.php?showtopic=211492 Last working drivers for us are 266.58. We all tried several others and none has worked above the 266.58. Even Nvidia support said in October 2011 they know about that “issues” but they have said contact “lenovo”…and Lenovo said pay if you want us to make drivers for older cards.

cat /var/log/Xorg.0.log | egrep -i “(error|fail|warning)”

cat /var/log/Xorg.0.log | egrep -i “(error|fail|warning)”
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 33.674] (WW) Warning, couldn’t open module nvidia
[ 33.674] (EE) Failed to load module “nvidia” (module does not exist, 0)
[ 33.736] (WW) Warning, couldn’t open module nvidia
[ 33.736] (EE) Failed to load module “nvidia” (module does not exist, 0)
[ 33.737] (II) Failed to load module “nouveau” (already loaded, 0)
[ 33.737] (II) Failed to load module “modesetting” (already loaded, 0)
[ 33.737] (II) Failed to load module “fbdev” (already loaded, 0)
[ 33.738] (II) Failed to load module “vesa” (already loaded, 0)

I will really appreciate if we install any nvidia driver !))
nvidia-bug-report.log.gz (43.5 KB)
nvidia-bug-report.log.old.gz (43.4 KB)
handles.txt (3.25 KB)

Please run nvidia-bug-report.sh and attach output file to your post.

Well, i restored backup version of my system without any trace of driver installation. I can’t run this script, am i right ?

You will have to install the nvidia driver package from ubuntu repositories to have that script. Are you running nouveau now?

Yes, it can crash my system, but i can. Are you sure that this can give us useful information ? Yeah, nouveau.

I suppose is needed to patch the driver or Ubuntu or both.

Just install the current Nvidia driver from repositories. Your GPU is in the supported list. There’s no sense in debugging legacy drivers.

Oh, really ? I tried it more than 15-20 times with 3-4 drivers on Ubuntu 12.04,14.04,16.04.2, 17.04 in different ways using by terminal, “Software and updates”, binary packages “.run”. I can do that once again, if we really need log file. Tell me please, how can i run .sh script (nvidia-bug-report.sh), if system will crash (black screen) ? I don’t find any instructions about this.

nvidia-bug-report.log.gz (43.5 KB)
nvidia-bug-report.log.old.gz (43.4 KB)

Start the ssh server and use a different computer or smartphone to ssh into it after crash.

It seems i have done it (see attachements above). I installed Ubuntu amd64 version for the first time (before only i386), after that i installed nvidia legacy driver by using Software and Updates, as a result we have black screen.

So here’s the info:

NVRM: failed to copy vbios to system memory

Means, crappy bios with flaky acpi tables.
To get more info on that, install and use

acpidump

and get, compile and load this:
https://github.com/Lekensteyn/acpi-stuff/tree/master/acpi_dump_info
Instructions:

git clone git://github.com/Lekensteyn/acpi-stuff.git
cd acpi-stuff/acpi_dump_info
make
sudo make load
cat /proc/acpi/dump_info > handles.txt

Afterwards, attach both files to your post.

Forgot: the nvidia-driver is not necessary for getting the acpi dump and stuff.

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