Найдено решение от пользователя Sam Chisolm.
Это баг bios и это не исправить официальной прошивкой. Смысл решения в том, что при загрузке системы, нужно заменить образ bios через специальную утилиту и драйвер будет запускаться. Это возможно пока на linux. Мне не известно, как сделать это на windows.
Нужно загрузиться в debian подобную систему (debian, ubuntu, sparky, bodhi, antix и прочее)
В параметрах ядра нужно указать следующее: quiet splash nouveau.debug=debug,VBIOS=trace
Как пример файл grub.cfg для загрузчика grub2 может выглядеть так:
menuentry 'porteus-lxde'{
set root=(hd0,msdos3)
linux (hd0,msdos3)/Porteus-LXDE-v4.0-ru-x86_64/boot/syslinux/vmlinuz changes=/Porteus-LXDE-v4.0-ru-x86_64/porteus from=/Porteus-LXDE-v4.0-ru-x86_64 root=/dev/sda3 quiet splash nouveau.debug=debug,VBIOS=trace
initrd (hd0,msdos3)/Porteus-LXDE-v4.0-ru-x86_64/boot/syslinux/initrd.xz
}
Для grub4dos - menu.lst:
title porteus-nvidia
kernel(hd0,3)/Porteus-LXDE-v4.0-ru-x86_64/boot/syslinux/vmlinuz changes=/Porteus-LXDE-v4.0-ru-x86_64/porteus from=/Porteus-LXDE-v4.0-ru-x86_64 quiet splash nouveau.debug=debug,VBIOS=trace
initrd (hd0,3)/Porteus-LXDE-v4.0-ru-x86_64/boot/syslinux/initrd.xz
Для syslinux syslinux.cfg:
LABEL PORTEUS
LINUX /Porteus-LXDE-v4.0-ru-x86_64/boot/syslinux/vmlinuz
APPEND changes=/Porteus-LXDE-v4.0-ru-x86_64/porteus from=/Porteus-LXDE-v4.0-ru-x86_64 quiet splash nouveau.debug=debug,VBIOS=trace
INITRD /Porteus-LXDE-v4.0-ru-x86_64/boot/syslinux/initrd.xz
- затем скопировать прошивку командой cat /sys/kernel/debug/dri/0/vbios.rom > vbios.rom (создастся файл "vbios.rom" который нужно будет сохранить для дальнейшего)
- перезагрузиться без параметров ядра - quiet ... =trace
Потом установить envytools на linux которым вы пользуетесь (например я пользуюсь porteus).
Для систем основанных на debian установить можно так:
sudo apt-get install cmake flex libpciaccess-dev bison libx11-dev libxext-dev libxml2-dev libvdpau-dev python3-dev
плюс мне пришлось дополнительно установить pkg-config потому что envy-tools не мог установиться
В README этот компонент не был указан, но там есть ещё cython3, который тоже можно установить
Скачиваем envy-tools с сайта https://github.com/envytools/envytools
Переходим в папку со скаченным envy-tools - cd /home/ИМЯ-ПОЛЬЗОВАТЕЛЯ/Download/envytools-master/
Компилируем программу:
cmake . (Точка обязательна)
make
Скопируем vbios.rom в директорию nva - cp vbios.rom /home/ИМЯ-ПОЛЬЗОВАТЕЛЯ/Download/envytools-master/nva
Устанавливаем nvidia-modprobe - sudo apt-get install nvidia-modprobe
Для систем основанных на slackware (porteus в том числе)
В porteus сразу есть envytools-2018.03.10_dd0d6c2-x86_64-1_slonly.txz который можно скачать по этой ссылке https://packages.slackonly.com/pub/packages/14.2-x86_64/development/envytools/envytools-2018.03.10_dd0d6c2-x86_64-1_slonly.txz
Распаковываем архиватором где удобно и запоминаем местоположение.
Или можно установить введя команды - usm -u all (иногда приходиться вводить по 10 раз, чтобы базы обновились)
Скачиваем и устанавливаем - usm -g envytools-2018.03.10_dd0d6c2-x86_64-1_slonly.txz
Ещё можно установить python3, если не получиться без него запустить программу sudo ./nvafakebios.
Про установку в porteus подробно описано по этой ссылке https://forum.porteus.org/viewtopic.php?f=54&t=6014
Приступаем к процессу запуска драйвера nvidia.
- установить драйвера nvidia, которые не работали. (Для porteus добавить модуль nvidia-driver...и прочее.xzm в папку modules)
- перезапустить систему, и если не загрузится рабочий стол (и появился чёрный экран с белыми буквами), то так и должно быть. Дальше нужно перейти в консоль 1 командой Alt+F1. Но если графическая оболочка загрузилась, то в терминале нужно прописать следующее sudo service lightdm stop (для porteus - sudo init 3) и перейти в консоль 1 командой Alt+F1:
- выключаем графическую оболочку - sudo service lightdm stop (для porteus - sudo init 3)
- Удаляем, на время, модуль nvidia - sudo modprobe -r nvidia
- Проверяем, не осталось ли модулей nvidia с помощью команды - lsmod
- Переходим в папку с envytools куда она была у вас установлена - cd /home/ИМЯ-ПОЛЬЗОВАТЕЛЯ/Download/envytools-master/nva
- Заменяем bios на ложный bios, до первой перезагрузки - sudo ./nvafakebios vbios.rom
Если всё успешно, то выведется - The program nvafakebios returned - attempt to upload the vbios to card 0 (nva5) using pramin.
- Добавляем модуль nvidia - modprobe nvidia
- Запускаем графическую оболочку - sudo service lightdm restart (для porteus - sudo init 4)
После этого видео драйвер должен заработать, но до первой перезагрузки.
Подробнее о том как сделать автоматическое подключение драйвера написано в файле Video driver Nvidia vs Lenovo y550.odt или на схожем сайте https://forum.nvworld.ru/viewtopic.php?f=3&t=20459&p=363745#p363745, где писал тоже самое, что и здесь.
Файл instruction-y550-gt240m.odt - тот же текст что указан выше
Файл Video driver Nvidia vs Lenovo y550.odt пользователя
Sam Chisolm
С сайта https://forum.ubuntu.ru/index.php?topic=291203.0
Тот же файл https://yadi.sk/i/1OOuKpOeaD5tdQ
Тот же пользователь с решением этой же проблемы https://devtalk.nvidia.com/default/topic/1020418/linux/lenovo-y550-gt-m240-vs-ubuntu-17-07-16-04-14-04/2
Video driver Nvidia vs Lenovo y550.odt
instruction-y550-gt240m.odt