LINUX.ORG.RU

ubuntu 16.04, cuda и кривая установка

 , ,


0

1

Устанавливал cuda-10.1 с официального сайта, через run-файл т.к. официальная версия из пакетов битая. Гасил исксы и следовал инструкции инсталлятора, однако он то-ли не собирает dkms-модуль, то ли не грузит его, или грузит неправильно. В результате, ни gl, y куда не работают. Как это продиагностировать. В логи иксов вообще треш

[   995.321] (II) LoadModule: "nvidia"
[   995.321] (II) Loading /usr/lib/xorg/modules/drivers/nvidia_drv.so
[   995.321] (II) Module nvidia: vendor="NVIDIA Corporation"
[   995.321]    compiled for 4.0.2, module version = 1.0.0
[   995.321]    Module class: X.Org Video Driver
[   995.321] (II) UnloadModule: "nvidia"
[   995.321] (II) Unloading nvidia
[   995.321] (II) Failed to load module "nvidia" (already loaded, 21880)
[   995.321] (II) LoadModule: "nouveau"
[   995.322] (II) Loading /usr/lib/xorg/modules/drivers/nouveau_drv.so
[   995.322] (II) Module nouveau: vendor="X.Org Foundation"
[   995.322]    compiled for 1.18.1, module version = 1.0.12
[   995.322]    Module class: X.Org Video Driver
[   995.322]    ABI class: X.Org Video Driver, version 20.0
Получается, нвидия грузится, потом грузится ещё раз, потом грузится нуво несмотря на то, что явно запрещён в блэклисте
cat /etc/modprobe.d/nvidia-installer-disable-nouveau.conf
# generated by nvidia-installer
blacklist nouveau
options nouveau modeset=0
glxinfo стабильно показывает
glxinfo 
name of display: :0
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  24 (X_GLXCreateNewContext)
  Value in failed request:  0x0
  Serial number of failed request:  37
  Current serial number in output stream:  38
Итак, как оттуда напроч вычистить все остатки установки, все драйвера и пр. И как эту куду заинсталлить нормально, вместе с libgl, glx, драйвером, вдапу и самим тулкитом?

★★★★★

Так, вроде всё таки нува исчезла, модуль загружен?

lsmod |grep nvidia
nvidia_drm             49152  0
nvidia_modeset       1093632  1 nvidia_drm
nvidia              18198528  1 nvidia_modeset
ipmi_msghandler        49152  1 nvidia
drm_kms_helper        155648  2 i915_bpo,nvidia_drm
drm                   364544  6 i915_bpo,drm_kms_helper,nvidia_drm
лог иксов сейчас https://pastebin.com/yx4T0RMS

thunar ★★★★★ ()
Ответ на: комментарий от darkenshvein

Удалил всё что устаналивалось run-феайлом, установил драйвера из реп, выбрал карту через prime-select и всё равно glx не работат.

01:00.0 3D controller: NVIDIA Corporation GP107M [GeForce GTX 1050 Ti Mobile] (rev a1)
        Subsystem: Dell Device 07fa
        Flags: bus master, fast devsel, latency 0, IRQ 16
        Memory at dc000000 (32-bit, non-prefetchable) [size=16M]
        Memory at b0000000 (64-bit, prefetchable) [size=256M]
        Memory at c0000000 (64-bit, prefetchable) [size=32M]
        I/O ports at e000 [size=128]
        [virtual] Expansion ROM at dd000000 [disabled] [size=512K]
        Capabilities: <access denied>
        Kernel driver in use: nvidia
        Kernel modules: nvidiafb, nouveau, nvidia_430_drm, nvidia_430
и всё равно
glxinfo 
name of display: :0
X Error of failed request:  BadValue (integer parameter out of range for operation)

Вообще не понимаю в чём дело.

thunar ★★★★★ ()
Последнее исправление: thunar (всего исправлений: 1)
Ответ на: комментарий от thunar

Охренеть просто, а драйвера из реп просто не работают, крашат dkms:

In file included from /var/lib/dkms/nvidia-415/415.27/build/common/inc/nv-linux.h:21:0,
                 from /var/lib/dkms/nvidia-415/415.27/build/nvidia/os-mlock.c:15:
/var/lib/dkms/nvidia-415/415.27/build/nvidia/os-mlock.c: In function ‘os_lock_user_pages’:
/var/lib/dkms/nvidia-415/415.27/build/nvidia/os-mlock.c:120:48: warning: passing argument 6 of ‘get_user_pages’ makes pointer from integer without a cast [-Wint-conversion]
                             page_count, write, force, user_pages, NULL);
                                                ^
/var/lib/dkms/nvidia-415/415.27/build/common/inc/nv-mm.h:44:70: note: in definition of macro ‘NV_GET_USER_PAGES’
         get_user_pages(current, current->mm, start, nr_pages, write, force, pages, vmas)
                                                                      ^
In file included from /var/lib/dkms/nvidia-415/415.27/build/common/inc/nv-pgprot.h:17:0,
                 from /var/lib/dkms/nvidia-415/415.27/build/common/inc/nv-linux.h:20,
                 from /var/lib/dkms/nvidia-415/415.27/build/nvidia/os-mlock.c:15:
include/linux/mm.h:1256:6: note: expected ‘struct page **’ but argument is of type ‘NvBool {aka unsigned char}’
 long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
      ^
In file included from /var/lib/dkms/nvidia-415/415.27/build/common/inc/nv-linux.h:21:0,
                 from /var/lib/dkms/nvidia-415/415.27/build/nvidia/os-mlock.c:15:
/var/lib/dkms/nvidia-415/415.27/build/nvidia/os-mlock.c:120:55: warning: passing argument 7 of ‘get_user_pages’ from incompatible pointer type [-Wincompatible-pointer-types]
                             page_count, write, force, user_pages, NULL);
                                                       ^
/var/lib/dkms/nvidia-415/415.27/build/common/inc/nv-mm.h:44:77: note: in definition of macro ‘NV_GET_USER_PAGES’
         get_user_pages(current, current->mm, start, nr_pages, write, force, pages, vmas)
                                                                             ^
In file included from /var/lib/dkms/nvidia-415/415.27/build/common/inc/nv-pgprot.h:17:0,
                 from /var/lib/dkms/nvidia-415/415.27/build/common/inc/nv-linux.h:20,
                 from /var/lib/dkms/nvidia-415/415.27/build/nvidia/os-mlock.c:15:
include/linux/mm.h:1256:6: note: expected ‘struct vm_area_struct **’ but argument is of type ‘struct page **’
 long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
      ^
In file included from /var/lib/dkms/nvidia-415/415.27/build/common/inc/nv-linux.h:21:0,
                 from /var/lib/dkms/nvidia-415/415.27/build/nvidia/os-mlock.c:15:
/var/lib/dkms/nvidia-415/415.27/build/common/inc/nv-mm.h:44:9: error: too many arguments to function ‘get_user_pages’
         get_user_pages(current, current->mm, start, nr_pages, write, force, pages, vmas)
         ^
/var/lib/dkms/nvidia-415/415.27/build/nvidia/os-mlock.c:119:11: note: in expansion of macro ‘NV_GET_USER_PAGES’
     ret = NV_GET_USER_PAGES((unsigned long)address,
           ^
In file included from /var/lib/dkms/nvidia-415/415.27/build/common/inc/nv-pgprot.h:17:0,
                 from /var/lib/dkms/nvidia-415/415.27/build/common/inc/nv-linux.h:20,
                 from /var/lib/dkms/nvidia-415/415.27/build/nvidia/os-mlock.c:15:
include/linux/mm.h:1256:6: note: declared here
 long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
      ^
scripts/Makefile.build:285: recipe for target '/var/lib/dkms/nvidia-415/415.27/build/nvidia/os-mlock.o' failed
make[2]: *** [/var/lib/dkms/nvidia-415/415.27/build/nvidia/os-mlock.o] Error 1
make[2]: *** Waiting for unfinished jobs....
Makefile:1454: recipe for target '_module_/var/lib/dkms/nvidia-415/415.27/build' failed
make[1]: *** [_module_/var/lib/dkms/nvidia-415/415.27/build] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.4.0-165-generic'
Makefile:79: recipe for target 'modules' failed
make: *** [modules] Error 2
Это не ведро-ли кривое завезли?

thunar ★★★★★ ()
Последнее исправление: thunar (всего исправлений: 1)
Ответ на: комментарий от thunar

Так, драйвер из run-а установился, куда тоже установилась, работает и считает. А вот openglя нет:

glxinfo|grep direct
direct rendering: No (If you want to find out why, try setting LIBGL_DEBUG=verbose)

thunar ★★★★★ ()
Ответ на: комментарий от darkenshvein

Да там вообще какой-то треш, после перезагрузки лайтдм совсем сломался, и спящий режим полетел. Уже не знаю куда смотреть. Видимо проще будет это говно снести нахрен и поставить свежую установку снуля.

Центось что ли скачать, там говорят, QA получше.

thunar ★★★★★ ()
Последнее исправление: thunar (всего исправлений: 2)

В run-файле CUDA находятся три run-файла поменьше: драйвер, куда и куда-примеры. куда - самая беспроблемняа: она только распаковывает себя в /usr/local/cuda-10.1 (и симлинк cuda -> cuda-10.1). А вот драйвер тебе затёр тот драйвер, который из репозитория. Нужно удалить этот драйвер.

Запусти run-файл снова, с ключом --help. Нас интересует ключ --extract. Как именно он пишется? В каком формате указывать путь для распаковки? Нужно ли указывать полный путь?

Распакуй. Теперь запускай конкретно драйвер NVIDIA. С ключом --uninstall. Программа удаления вернёт всё, как было, потому что, при установке из run-файла, создаётся резервная копия всех файлов, которые будут затёрты.

ZenitharChampion ★★★★★ ()
Ответ на: комментарий от ZenitharChampion

Я так драйвер удалял, но иксы тогда становятся совсем неадекватнвми, и показывают или такое с неработающим курсором, или вообще чёрный экран.

thunar ★★★★★ ()
Последнее исправление: thunar (всего исправлений: 5)
Ответ на: комментарий от thunar

У меня на Ubuntu 8.10 такое. Я думал, в 10.04 удалили, потому что появились эти ваши KMS, и всё стало сложно.

Выбери Reconfigure. Когда станет можно работать, то sudo apt-get install --reinstall libgl1-mesa-glx libgl1-mesa-dri переустанови месу и драйвер NVIDIA из репозитория.

ZenitharChampion ★★★★★ ()
Ответ на: комментарий от ZenitharChampion

Да, такой вариант находил, но там

Reinstallation of libgl1-mesa-dri is not possible, it cannot be downloaded.
Reinstallation of libgl1-mesa-glx is not possible, it cannot be downloaded.
Не held, не broken, WUT?

Я думал, в 10.04 удалили, потому что появились эти ваши KMS, и всё стало сложно.

Да вообще паскудство. 10 лет назад всё работало как часы, а теперь превратили систему в чёрти знает что.

thunar ★★★★★ ()
Последнее исправление: thunar (всего исправлений: 1)
Ответ на: комментарий от Dimez
The following packages have unmet dependencies:
 cuda : Depends: cuda-10-1 (>= 10.1.243) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

прямо с developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/

thunar ★★★★★ ()
Последнее исправление: thunar (всего исправлений: 1)
Ответ на: комментарий от Dimez

Эм, а каким образом, apt же никогда не пишет никаких подробностей? Тем более что битых пакетов нет. Система стоковая, та что поставлялась с ноутом.

thunar ★★★★★ ()
Последнее исправление: thunar (всего исправлений: 1)
Ответ на: комментарий от Dimez

Таки выяснилось, что это официальная сборка и метапакет на сайте какие-то колеченные https://devtalk.nvidia.com/default/topic/1047909/linux/latest-cuda-driver-fro.... После установки отдельно 430го драйвера и отдельно тулкита (а не всей куды), оно ВНЕЗАПНО всё заработало. Правда, уже на 18.04, но там вылезала та же проблема.

thunar ★★★★★ ()