Porteus и NVIDIA. Собираем актуальный драйвер для видеокарты

Добро пожаловать!

Moderator: Blaze

User avatar
Blaze
DEV Team
DEV Team
Posts: 2495
Joined: 28 Dec 2010, 11:31
Distribution: ⟰ Porteus current ☯ all DEs ☯
Location: ☭ Russian Federation, Lipetsk region, Dankov
Contact:

Porteus и NVIDIA. Собираем актуальный драйвер для видеокарты

Post#46 by Blaze » 06 Apr 2019, 08:55

SaintAnd, скопируйте сгенерированный /etc/X11/xorg.conf в свой модуль. Но это не корректная установка, так как ядро не то.
SaintAnd wrote:
05 Apr 2019, 18:08
драйвер нужно попытаться установить по новой
да, с ядром 4.4.178 (vmlinuz, 000-kernel.xzm, 06-crippled_sources-NNN-XXbit.xzm) и обновленным 05-devel.xzm
  • скачайте в /tmp http://us.download.nvidia.com/XFree86/L ... mpat32.run
  • создайте текстовый файл kernel-4.4.168.patch в директории /tmp с содержимым

    Code: Select all

    --- a/kernel/nv-linux.h	2018-12-14 19:32:47.000000000 +1100
    +++ b/kernel/nv-linux.h	2018-12-20 01:02:36.066123342 +1100
    @@ -2083,45 +2083,27 @@
     
     /* get_user_pages
      *
    - * The 8-argument version of get_user_pages was deprecated by commit 
    - * (2016 Feb 12: cde70140fed8429acf7a14e2e2cbd3e329036653)for the non-remote case 
    - * (calling get_user_pages with current and current->mm).
    - *
    - * Completely moved to the 6 argument version of get_user_pages -
    - * 2016 Apr 4: c12d2da56d0e07d230968ee2305aaa86b93a6832
    - *
    - * write and force parameters were replaced with gup_flags by - 
    - * 2016 Oct 12: 768ae309a96103ed02eb1e111e838c87854d8b51
    - *
    + * hacked to work with 4.4.168
      */
     
    -#if defined(NV_GET_USER_PAGES_HAS_TASK_STRUCT)
    -    #define NV_GET_USER_PAGES(start, nr_pages, write, force, pages, vmas) \
    -        get_user_pages(current, current->mm, start, nr_pages, write, force, pages, vmas)
    -#else
    -    #if defined(NV_GET_USER_PAGES_HAS_WRITE_AND_FORCE_ARGS)
    -        #define NV_GET_USER_PAGES get_user_pages
    -    #else
    -        #include <linux/mm.h>
    -
    -        static inline long NV_GET_USER_PAGES(unsigned long start,
    -                                             unsigned long nr_pages,
    -                                             int write,
    -                                             int force,
    -                                             struct page **pages,
    -                                             struct vm_area_struct **vmas)
    -        {
    -            unsigned int flags = 0;
    -
    -            if (write)
    -                flags |= FOLL_WRITE;
    -            if (force)
    -                flags |= FOLL_FORCE;
    -
    -            return get_user_pages(start, nr_pages, flags, pages, vmas);
    -        }
    -    #endif
    -#endif
    +#include <linux/mm.h>
    +
    +static inline long NV_GET_USER_PAGES(unsigned long start,
    +                                        unsigned long nr_pages,
    +                                        int write,
    +                                        int force,
    +                                        struct page **pages,
    +                                        struct vm_area_struct **vmas)
    +{
    +    unsigned int flags = 0;
    +
    +    if (write)
    +        flags |= FOLL_WRITE;
    +    if (force)
    +        flags |= FOLL_FORCE;
    +
    +    return get_user_pages(current, current->mm, start, nr_pages, flags, pages, vmas);
    +}
     
     /* get_user_pages_remote() was added by:
      *   2016 Feb 12: 1e9877902dc7e11d2be038371c6fbf2dfcd469d7
  • примените патч для драйвера NVIDIA:

    Code: Select all

    cd /tmp
    chmod +x NVIDIA-Linux-x86_64-340.107-no-compat32.run
    chmod +x nvidia.sh
    ./NVIDIA-Linux-x86_64-340.107.run -x
    cd NVIDIA-Linux-x86_64-340.107
    patch -p1 < ../kernel-4.4.168.patch
    ./nvidia-installer
    cd /tmp
    ./nvidia.sh
Linux 5.3.0-rc3-porteus #1 SMP Mon Aug 5 11:28:55 UTC 2019 x86_64 Intel(R) Core(TM) i5-6600K CPU @ 3.50GHz GenuineIntel GNU/Linux
MS-7A12 » [AMD/ATI] Tobago PRO [Radeon R7 360 / R9 360 OEM] (rev 81) » Vengeance LPX 16GB DDR4 K2 3200MHz C16

SaintAnd
Samurai
Samurai
Posts: 110
Joined: 02 Sep 2018, 13:45
Distribution: Porteus-v4-x64 (LXDE)

Porteus и NVIDIA. Собираем актуальный драйвер для видеокарты

Post#47 by SaintAnd » 06 Apr 2019, 16:06

Blaze,

Сделал как вы сказали, и результат такой.
Картинка отображается нормально, но по преженему
SaintAnd wrote:
05 Apr 2019, 18:08
При входе в приложение "Nvidia X Server Settings" появляется сообщение "You do not appear to be using the NVIDIA X driver. Please edit your X configuration file (just run `nvidia-xconfig` as root), and restart the X server."
Плюс. Нельзя выполнить элементраную команду gears.
Вот вывод
Результа запуска blender:
Ещё. Использовал последний скрипт и после сборки драйвера в модуль иксы не стартуют, а если не собирать в модуль, то загрузка идёт дальше и "рабочий стол" загружается.
Использовал первый скрипт и ранняя проблема повторилась - модуль не мог собраться (доходя до 100% результат сбрасывался до, примерно 70%) и так дальше.
Но мне драйвер в модуле не нужен, главное чтобы работал. Так что это для меня не важная часть.

Вот что находиться в директории X11
Пока не знаю что дальше делать.

User avatar
Blaze
DEV Team
DEV Team
Posts: 2495
Joined: 28 Dec 2010, 11:31
Distribution: ⟰ Porteus current ☯ all DEs ☯
Location: ☭ Russian Federation, Lipetsk region, Dankov
Contact:

Porteus и NVIDIA. Собираем актуальный драйвер для видеокарты

Post#48 by Blaze » 06 Apr 2019, 16:22

SaintAnd wrote:
06 Apr 2019, 16:06
Вот что находиться в директории X11
Смотрите по

Code: Select all

ls -l /etc/X11
ls -la /usr/lib64/xorg/modules/extensions
и логи в студию.

Сгенерируйте /etc/X11/xorg.conf с помощью команды:

Code: Select all

nvidia-xconfig
и скопируйте сгенерированный /etc/X11/xorg.conf в модуль. Собранный модуль представьте для анализа.

Можно еще попробовать такой вариант /etc/X11/xorg.conf

Code: Select all

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 340.107  (buildmeister@swio-display-x64-rhel04-13)  Thu May 24 22:29:58 PDT 2018
 
Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection
 
Section "Files"
    FontPath        "/usr/lib64/X11/fonts/TTF/"
EndSection
 
Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection
 
Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection
 
Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection
 
Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
EndSection
 
Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Module"
        Load    "glx"
EndSection
Linux 5.3.0-rc3-porteus #1 SMP Mon Aug 5 11:28:55 UTC 2019 x86_64 Intel(R) Core(TM) i5-6600K CPU @ 3.50GHz GenuineIntel GNU/Linux
MS-7A12 » [AMD/ATI] Tobago PRO [Radeon R7 360 / R9 360 OEM] (rev 81) » Vengeance LPX 16GB DDR4 K2 3200MHz C16

SaintAnd
Samurai
Samurai
Posts: 110
Joined: 02 Sep 2018, 13:45
Distribution: Porteus-v4-x64 (LXDE)

Porteus и NVIDIA. Собираем актуальный драйвер для видеокарты

Post#49 by SaintAnd » 07 Apr 2019, 05:35

Blaze,

ls -l /etc/X11
ls -la /usr/lib64/xorg/modules/extensions
Логи
Xorg.conf.backup - https://pastebin.com/GuQ7nQ52
Xorg.conf.nvidia-xconfig-original - https://pastebin.com/SsTrEvMP (этот бекап наверно я создавал)
xorg.conf-modesetting - https://pastebin.com/2JFNyQ1F
xorg.conf-vesa - https://pastebin.com/YptPsRvu

xorg.confg в модуле - https://yadi.sk/d/yZyGk8doKWl22g

Ещё такой важный момент - при перезагрузке иксов путём перехода из режима init 4 в init 3 и обратно, xorg.conf удаляется.
Пробовал также заходить при старте системы в текстовый режим вводил nvidia-xconfig и включал init 4 и xorg.conf всё равно удаляется.

User avatar
Blaze
DEV Team
DEV Team
Posts: 2495
Joined: 28 Dec 2010, 11:31
Distribution: ⟰ Porteus current ☯ all DEs ☯
Location: ☭ Russian Federation, Lipetsk region, Dankov
Contact:

Porteus и NVIDIA. Собираем актуальный драйвер для видеокарты

Post#50 by Blaze » 07 Apr 2019, 09:50

SaintAnd, написал личное сообщение Rava.
У него такая же проблема как у Вас, только обновления от Slackware-current самые последние.
Направил его по тому же пути, что и Вас. Посмотрим, что из этого выйдет...

Еще, как вариант, можно попробовать собрать NVIDIA драйвер в Porteus-v3.2.2
Насколько я помню, там ядро 4.9.0
Linux 5.3.0-rc3-porteus #1 SMP Mon Aug 5 11:28:55 UTC 2019 x86_64 Intel(R) Core(TM) i5-6600K CPU @ 3.50GHz GenuineIntel GNU/Linux
MS-7A12 » [AMD/ATI] Tobago PRO [Radeon R7 360 / R9 360 OEM] (rev 81) » Vengeance LPX 16GB DDR4 K2 3200MHz C16

SaintAnd
Samurai
Samurai
Posts: 110
Joined: 02 Sep 2018, 13:45
Distribution: Porteus-v4-x64 (LXDE)

Porteus и NVIDIA. Собираем актуальный драйвер для видеокарты

Post#51 by SaintAnd » 07 Apr 2019, 18:03

Blaze,
Я думаю, что может быть дело в версии драйвера.
Я не умею патчить драйвера, но вот такую теперь ошибку выдает nvidia при установке драйера ниже 300 версии.
Целеком тут
https://pastebin.com/wSqAaJyL

Я бы хотел попытаться установить 260 версию, потому что она только адекватно работала в windows, а как избавиться от этой ошибки не знаю

User avatar
Blaze
DEV Team
DEV Team
Posts: 2495
Joined: 28 Dec 2010, 11:31
Distribution: ⟰ Porteus current ☯ all DEs ☯
Location: ☭ Russian Federation, Lipetsk region, Dankov
Contact:

Porteus и NVIDIA. Собираем актуальный драйвер для видеокарты

Post#52 by Blaze » 08 Apr 2019, 15:45

SaintAnd, отличные новости - Rava удалось собрать драйвер 010-nvidia-340.107-kernel-4.20.5-porteus-v5.0-x86_64_rava.tar.bz2
Image
Попробуйте и отпишитесь о результатах.
Linux 5.3.0-rc3-porteus #1 SMP Mon Aug 5 11:28:55 UTC 2019 x86_64 Intel(R) Core(TM) i5-6600K CPU @ 3.50GHz GenuineIntel GNU/Linux
MS-7A12 » [AMD/ATI] Tobago PRO [Radeon R7 360 / R9 360 OEM] (rev 81) » Vengeance LPX 16GB DDR4 K2 3200MHz C16

SaintAnd
Samurai
Samurai
Posts: 110
Joined: 02 Sep 2018, 13:45
Distribution: Porteus-v4-x64 (LXDE)

Porteus и NVIDIA. Собираем актуальный драйвер для видеокарты

Post#53 by SaintAnd » 08 Apr 2019, 18:24

Blaze, К сожалению результат такой же как и был у меня
Пробовал установить драйвера на porteus steam (v. 3.2.2 x64), но всё те же "симптомы", что и на четвёртой версии. Поэтому думаю, что надо разобраться с установкой старых драйверов. Потому что на этих моделях ноутбуков эта видеокарта бракованная.

User avatar
Blaze
DEV Team
DEV Team
Posts: 2495
Joined: 28 Dec 2010, 11:31
Distribution: ⟰ Porteus current ☯ all DEs ☯
Location: ☭ Russian Federation, Lipetsk region, Dankov
Contact:

Porteus и NVIDIA. Собираем актуальный драйвер для видеокарты

Post#54 by Blaze » 14 Apr 2019, 11:34

Добрый день SaintAnd.
Я немного был занят на этой неделе.
Я спросил у neko - в этом сообщении о Вашей ошибке с version.h на что, в той же теме, получил оригинальное решение - распаковать 06-crippled_sources-4.4.178-64bit.xzm, сделать символическую ссылку на version.h и запаковать в new-06-crippled_sources-4.4.178-64bit.xzm:
set version.h in 06-crippled_sources-4.4.178-64bit.xzm

Code: Select all

% su
ls
06-crippled_sources-4.4.178-64bit.xzm
mloop 06-crippled_sources-4.4.178-64bit.xzm
mkdir crippled_sources-4.4.178-64bit
cp -a /mnt/loop/* crippled_sources-4.4.178-64bit/
cd crippled_sources-4.4.178-64bit/usr/src/linux-4.4.178/include/linux
ln -sf ../generated/uapi/linux/version.h .
cd ../../../../../../
mksquashfs crippled_sources-4.4.178-64bit/ new-06-crippled_sources-4.4.178-64bit.xzm -b 256K -comp xz -Xbcj x86 -noappend
rm -fr crippled_sources-4.4.178-64bit
uloop
Please refer to https://askubuntu.com/questions/40979/w ... all-vmware
Linux 5.3.0-rc3-porteus #1 SMP Mon Aug 5 11:28:55 UTC 2019 x86_64 Intel(R) Core(TM) i5-6600K CPU @ 3.50GHz GenuineIntel GNU/Linux
MS-7A12 » [AMD/ATI] Tobago PRO [Radeon R7 360 / R9 360 OEM] (rev 81) » Vengeance LPX 16GB DDR4 K2 3200MHz C16

SaintAnd
Samurai
Samurai
Posts: 110
Joined: 02 Sep 2018, 13:45
Distribution: Porteus-v4-x64 (LXDE)

Porteus и NVIDIA. Собираем актуальный драйвер для видеокарты

Post#55 by SaintAnd » 14 Apr 2019, 18:13

Blaze, Ok
Отпишусь о результатах.

Вообщем, теперь вновь появляется сообщение "If you are using a Linux 2.4 kernel, please make sure you either have configure ..."
Может попытаться использовать какие-либо параметры установки с намеренным указанием ядра, как вы мне писали раньше. Но это, дай Бог, завтра.

User avatar
Blaze
DEV Team
DEV Team
Posts: 2495
Joined: 28 Dec 2010, 11:31
Distribution: ⟰ Porteus current ☯ all DEs ☯
Location: ☭ Russian Federation, Lipetsk region, Dankov
Contact:

Porteus и NVIDIA. Собираем актуальный драйвер для видеокарты

Post#56 by Blaze » 14 Apr 2019, 19:37

Ок, попробуйте так:

Code: Select all

# проверка наличие символических ссылок на build и source
ls -la /lib/modules/`uname -r`/ | egrep 'build|source'
./NVIDIA-NVIDIA-Linux-*.run --kernel-source-path /usr/src/linux-4.4.178/
Linux 5.3.0-rc3-porteus #1 SMP Mon Aug 5 11:28:55 UTC 2019 x86_64 Intel(R) Core(TM) i5-6600K CPU @ 3.50GHz GenuineIntel GNU/Linux
MS-7A12 » [AMD/ATI] Tobago PRO [Radeon R7 360 / R9 360 OEM] (rev 81) » Vengeance LPX 16GB DDR4 K2 3200MHz C16

SaintAnd
Samurai
Samurai
Posts: 110
Joined: 02 Sep 2018, 13:45
Distribution: Porteus-v4-x64 (LXDE)

Porteus и NVIDIA. Собираем актуальный драйвер для видеокарты

Post#57 by SaintAnd » 16 Apr 2019, 17:23

Blaze, Не получилось. Всё тот же "if you are using a linux..."

Результат ls -la /lib/modules/`uname -r`/ | egrep 'build|source'

Code: Select all

root@porteus:/home/guest# ls -la /lib/modules/`uname -r` / | egrep 'build|source'
lrwxrwxrwx  1 root root     14 Apr  5 20:31 build -> /usr/src/linux/
lrwxrwxrwx  1 root root     14 Apr  5 20:31 source -> /usr/src/linux/

User avatar
Blaze
DEV Team
DEV Team
Posts: 2495
Joined: 28 Dec 2010, 11:31
Distribution: ⟰ Porteus current ☯ all DEs ☯
Location: ☭ Russian Federation, Lipetsk region, Dankov
Contact:

Porteus и NVIDIA. Собираем актуальный драйвер для видеокарты

Post#58 by Blaze » 16 Apr 2019, 19:14

SaintAnd, нужны патчи для ядра 4.4.xxx серии, чтобы заставить Вашу карту работать со старыми драйверами NVIDIA. Но шанс найти что-то подобное маловероятен...
Linux 5.3.0-rc3-porteus #1 SMP Mon Aug 5 11:28:55 UTC 2019 x86_64 Intel(R) Core(TM) i5-6600K CPU @ 3.50GHz GenuineIntel GNU/Linux
MS-7A12 » [AMD/ATI] Tobago PRO [Radeon R7 360 / R9 360 OEM] (rev 81) » Vengeance LPX 16GB DDR4 K2 3200MHz C16

SaintAnd
Samurai
Samurai
Posts: 110
Joined: 02 Sep 2018, 13:45
Distribution: Porteus-v4-x64 (LXDE)

Porteus и NVIDIA. Собираем актуальный драйвер для видеокарты

Post#59 by SaintAnd » 16 Apr 2019, 20:43

Blaze, Ясно. Спасибо.
А как можно самому поискать патчи или где посоветуете поучиться патчить драйвера и насколько это сложно? Мне это впринципе интерестно, только не хочу уйти в сторону не нужную.

User avatar
Blaze
DEV Team
DEV Team
Posts: 2495
Joined: 28 Dec 2010, 11:31
Distribution: ⟰ Porteus current ☯ all DEs ☯
Location: ☭ Russian Federation, Lipetsk region, Dankov
Contact:

Porteus и NVIDIA. Собираем актуальный драйвер для видеокарты

Post#60 by Blaze » 17 Apr 2019, 17:29

SaintAnd wrote:
06 Apr 2019, 16:06
Использовал последний скрипт и после сборки драйвера в модуль иксы не стартуют
Можно увидеть логи, согласно этому совету с 340.107?
  • /var/log/nvidia-installer.log
  • /var/log/Xorg.0.log
  • /var/log/Xorg.0.log.old (если есть тоже загрузите)
  • сам модуль
По поводу как создавать и применять патчи ответил в ЛС.
Linux 5.3.0-rc3-porteus #1 SMP Mon Aug 5 11:28:55 UTC 2019 x86_64 Intel(R) Core(TM) i5-6600K CPU @ 3.50GHz GenuineIntel GNU/Linux
MS-7A12 » [AMD/ATI] Tobago PRO [Radeon R7 360 / R9 360 OEM] (rev 81) » Vengeance LPX 16GB DDR4 K2 3200MHz C16

Post Reply