LINUX.ORG.RU

Arch Nvidia проблемы после каждого обновления

 , ,


0

1

Помогите пожалуйста. У меня Arch на ноутбуке на котором встроеная графика и давно все работает отлинчо.

Но на десктопе с Nvidia 1080 TI постоянные проблемы после того как вижу обновления linux и nvidia.

После обновления X не стартует

Приходится загружаться с флешки, делать arch-chroot и после этого делать

pacman -S linux

И после этого все загружается отлично.

Пробовал ставить nvidia-dkms, но не помогло.

Сделал все как написано в разделе Pacman Hook https://wiki.archlinux.org/index.php/NVIDIA создал файл /etc/pacman.d/hooks/nvidia.hook

С таким содержимым:

[Trigger]
Operation=Install
Operation=Upgrade
Operation=Remove
Type=Package
Target=nvidia
Target=linux
# Change the linux part above and in the Exec line if a different kernel is used

[Action]
Description=Update Nvidia module in initcpio
Depends=mkinitcpio
When=PostTransaction
NeedsTargets
Exec=/bin/sh -c 'while read -r trg; do case $trg in linux) exit 0; esac; done; /usr/bin/mkinitcpio -P'

Но это не помогло

sudo pacman -Q | grep nouveau

не выдает ничего

glxinfo 

не выдает ничего

lspci -k | grep -A 2 -E "(VGA|3D)"

Выдает

09:00.0 VGA compatible controller: NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1)
Subsystem: ASUSTeK Computer Inc. GP102 [GeForce GTX 1080 Ti]
Kernel driver in use: nvidia
sudo pacman -Q | grep -E "(video|nvidia|nouveau)"

Выдает

lib32-nvidia-utils 440.44-1
nvidia 440.44-12
nvidia-settings 440.44-1
nvidia-utils 440.44-2
opencl-nvidia 440.44-2

вывод dmesg: https://pastebin.com/raw/7zwqQdP0

Xorg log: https://pastebin.com/raw/cZuNa0bd

Не могу понять, что делать, прочитал https://wiki.archlinux.org/index.php/NVIDIA/Troubleshooting там говорят о том, что надо удалить nouveau, но у меня его и так нет.

Подскажите пожалуйста если кто сталкивался.

 Warning, couldn't open module glxserver_nvidia
NVIDIA: Failed to load module "glxserver_nvidia" 

Проверь что есть /usr/lib/nvidia/xorg/libglxserver_nvidia.so и какому пакету он принадлежит

pacman -Qo /usr/lib/nvidia/xorg/libglxserver_nvidia.so
#должно быть
/usr/lib/nvidia/xorg/libglxserver_nvidia.so принадлежит nvidia-utils

И покажи xorg.conf

anonymous
()
   13.494251] AES CTR mode by8 optimization enabled
[   13.568569] MXM: GUID detected in BIOS
[   13.569126] nouveau 0000:09:00.0: NVIDIA GP102 (132000a1)
[   13.685211] nouveau 0000:09:00.0: bios: version 86.02.39.00.01
[   13.685841] nouveau 0000:09:00.0: fb: 11264 MiB GDDR5X
[   13.697161] random: fast init done

В выводе dmesg присутствуют такие сообщения ядра, указывающие на то, что загружен модуль nouveau.

Возможно, он у тебя грузится на этапе inittamfs.

Удостоверься, что в Initramfs нет модуля nouveau.

Если есть - разберись чтобы не было.

Если его там нет, то значит модуль загружается уже после монтирования корня, тогда разбирайся что бы модуль nouveau был заблокирован к загрузке.

Точнее он всё равно должен быть заблокирован.

Но у меня всё же подозрение, что модуль nouveau грузится ещё в Initramfs.

Возможно, тебе хватит просто пересобрать initramfs ещё раз и его там не будет.

Читай wiki ArchLinux, как заблокировать добавление и загрузку модуля nouveau из initramfs, если он там действительно есть.

распаковка Initramfs делается примерно так:

mkdir /tmp/initramfs
cd /tmp/initramfs
zcat /boot/initramfs | cpio -i -d -H newc

Пути естественно подправь и метод сжатия может быть другой.

После выполнения команд в /tmp/initramfs будут файлы из initramfs.

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

Вот что выводит

> $ pacman -Qo /usr/lib/nvidia/xorg/libglxserver_nvidia.so                                                                      
/usr/lib/nvidia/xorg/libglxserver_nvidia.so is owned by nvidia-utils 440.44-3

sudo vim /etc/X11/xorg.conf

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 440.44

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/mouse"
    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"
    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
alfaomega
() автор топика
Ответ на: комментарий от anonymous

И что? Ты видишь, что у него в dmesg есть сообщения об nouveau?

Должен, но сообщения есть, а их не должно быть, если модуль nouveau Не грузится и заблокирован.

Ферштейн?

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

Проверить что есть блеклист, но мне кажется у него бут не смонтирован при обновлении ядра или дров

anonymous
()
Ответ на: комментарий от alfaomega

Возможна ситуация, что на этапе установки пакета с ядром /boot не смонтирован и как следствие файл с новым ядром ставится не в раздел с загрузчиком, а просто в директорию /boot.

И далее у тебя система загружается со старым ядром.

А новый модуль nvidia собирается под новое ядро.

Монтирование файловых систем прописывается в /etc/fstab, ну либо юнитом systemd.

Ты проверил то, что тебе написали проверить?

В общем, удостоверься, что /boot при установке пакета с ядром и драйвера nvidia у тебя смонтирован.

anonymous
()
Ответ на: комментарий от alfaomega

Инит и ядро не заменятся на новые. Обновись и выложи вывод [code]sudo pacman -S nvidia #хуки должны без ошибок отработать и Creating gzip-compressed initcpio image: /boot/initramfs-linux.img ==> Image generation successful

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

Да, у меня был путой /etc/fstab

Так что, наверное проблема в этом

alfaomega
() автор топика

Зачем ты новую тему сделал?

Arch Nvidia проблемы после каждого обновления

Ты и в старой на несколько вопросов не ответил. Ну не умеешь логи выкладывать, спроси, больно не убьют.

https://wiki.archlinux.org/index.php/General_troubleshooting

One of the better ways to post this information is to use an online pastebin. You can install the pbpst or gist package to automatically upload information. For example, to upload the content of your systemd journal from this boot you would do:

# journalctl -xb | pbpst -S

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

Возможна ситуация, что на этапе установки пакета с ядром /boot не смонтирован и как следствие файл с новым ядром ставится не в раздел с загрузчиком, а просто в директорию /boot.

Ну у меня так. systemd монтирует раздел во время обновления автоматом. При gpt разметке и правильном Partition type (GUID) /boot раздела.

Получается, что у ТС live система подхватывает нужный /boot, загрузчик подхватывает, а pacman нет.

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

Гугль-траслейт вполне прилично переводит:

Один из лучших способов опубликовать эту информацию - использовать онлайн-наклейку. Вы можете установить пакет pbpst или gist для автоматической загрузки информации. Например, чтобы загрузить содержимое вашего системного журнала из этой загрузки, вы должны сделать:

# journalctl -xb | pbpst -S

Затем будет выведена ссылка, которую вы можете вставить на форум или IRC.

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

Ты и в старой на несколько вопросов не ответил

А я его в старой теме уже спрашивал вывод dmesg и лог xorg-server`а, но ТС, видимо страуса изображает, ничего не ответил.

Вот как раз коментарий мой:

Arch Nvidia проблемы после каждого обновления (комментарий)

anonymous
()
Ответ на: комментарий от greenman

Ну у меня так. systemd монтирует раздел во время обновления автоматом.

Я HZ, у него /etc/fstab пустой, может поэтому. Я скептический отношусь к автомонтированию systemd без /etc/fstab.

ТС, кстати тоже просил посмотреть что у него в initramfs, ну и сам он мог бы догадаться, что нужно посмотреть что находится в /boot и на файловой системе, которая должна быть смонтирована в /boot и вообще монтируется она всё же или нет. Ну и версию ядра проверить какая загружается, а какая ставится пакетом, просто посмотрев вывод uname -a.

При gpt разметке и правильном Partition type (GUID) /boot раздела.

Видимо у него неправильный.

Ну не умеет он читать документацию.

Где, кстати на wiki ArchLinux написано про специализированный partuuid раздела для /boot, / и /home ?

anonymous
()
Ответ на: комментарий от greenman

Тут вижу.

Но вопрос, что будет, если к системе подключить два накопителя с разными Linux и /boot раздел указан через GUID на обоих?

anonymous
()
Ответ на: комментарий от Rx0

В таком случае, в случае верно выявленной выше проблемы ТС, у него xorg-server также не запустится.

Прочти комментарии выше.

anonymous
()

Приходится загружаться с флешки

зачем, ты же можешь просто перейти в другой tty с помощью ctrl-alt-f(число от 2 до 12) и сделать все там?

Elmer_
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.