Summary: | При обновлении ядра разрушается /etc/libnvidiacurrent/libEGL.so | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Eugine V. Kosenko <eugine.kosenko> |
Component: | update-kernel | Assignee: | Vitaly Chikunov <vt> |
Status: | NEW --- | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P5 | CC: | aen, boyarsh, evg, glebfm, lav, ldv, mike, stalker, vt, zerg |
Version: | unstable | ||
Hardware: | x86_64 | ||
OS: | Linux |
Description
Eugine V. Kosenko
2021-05-16 11:46:54 MSK
Вообще конкретно достало, что регулярно ломается изображение в Google Chrome и Skype после срабатывания хранителя экрана, либо засыпания и дальнейшего просыпания. После перезапуска все хорошо до следующего хранителя экрана или засыпания. А иногда отваливается и сам хранитель, экран тупо перестает гаснуть по времени. Грешил на все: на сам Хром, на его плагины, на аппаратуру, на версию ядра. Сегодня решил попробовать таки перейти на nouveau, и сразу обнаружил вот это. Теперь уже точно nvidia не запустится. И да, после перехода на nouveau проблемы в самом деле ушли Но перестало работать выключение экрана :-) > ldconfig: /etc/libnvidiacurrent/libEGL.so не является файлом в формате ELF —
> неправильная сигнатура в начале.
Я вообще слабо понимаю, как такое может быть. Я нигде сами файлы не трогаю.
Эта проблема иногда вылазит при обновлении vlc и libgdk-pixbuf, когда они в post запускает обновление кэша модулей, которые подгружают и обламываются на том, что слинкован с libGL, который в тот момент от nvidia.
В /etc/libnvidiacurrent/ симлинки все упакованные, непереключаемые и указывают только на соседние файлы. Переключается только сам симлинк на каталог -- /etc/libnvidiacurrent . (Ответ для Sergey V Turchin на комментарий #5) > В /etc/libnvidiacurrent/ симлинки все упакованные, непереключаемые и > указывают только на соседние файлы. Переключается только сам симлинк на > каталог -- /etc/libnvidiacurrent . а в какой момент переключается этот симлинк на каталог? (In reply to Anton V. Boyarshinov from comment #6) > (Ответ для Sergey V Turchin на комментарий #5) > > В /etc/libnvidiacurrent/ симлинки все упакованные, непереключаемые и > > указывают только на соседние файлы. Переключается только сам симлинк на > > каталог -- /etc/libnvidiacurrent . > > а в какой момент переключается этот симлинк на каталог? А! Кажется, понял. Возможно, это битые файлы в самом /usr/X11R6/lib64/nvidia_0/, куда переключается libnvidiacurrent. Тогда да, проблема в самом драйвере, получается. (In reply to Sergey V Turchin from comment #5) > В /etc/libnvidiacurrent/ симлинки все упакованные, непереключаемые и > указывают только на соседние файлы. Переключается только сам симлинк на > каталог -- /etc/libnvidiacurrent . Еще страньше. Только что, на новом ядре, поставил заново драйвера nvidia, все поднялось и без ошибок. Так что воспроизвести ситуацию не получилось. Вечером попробую повторить на экспериментальном ноуте. (Ответ для Eugine V. Kosenko на комментарий #8) > воспроизвести ситуацию не получилось В этом и есть самая большая проблема. (Ответ для Anton V. Boyarshinov на комментарий #6) > а в какой момент переключается этот симлинк на каталог? В момент обновления пакетов nvidia, когда в их %post определили, что нужно переключить для _текущего_ ядра. После такого и ldconfig запускается сразу. > когда в их %post определили, что нужно переключить для _текущего_ ядра. git.altlinux.org/gears/n/nvidia_glx_common.git?p=nvidia_glx_common.git;a=blob;f=set_gl_nvidia/preset.c#l416 Возможно, тут не надо всегда надо пересоздавать /etc/libnvidiacurrent. Делаю на всякий для восстановления. Не особо представляю, как может повлиять. Но, оно и ранее воспроизводилось, когда совсем не было /etc/libnvidiacurrent . > После такого и ldconfig запускается сразу. git.altlinux.org/gears/n/nvidia_glx_common.git?p=nvidia_glx_common.git;a=blob;f=set_gl_nvidia/preset.c#l557 > не надо всегда надо пересоздавать
не надо всегда пересоздавать
(In reply to Sergey V Turchin from comment #9) > (Ответ для Eugine V. Kosenko на комментарий #8) > > воспроизвести ситуацию не получилось > В этом и есть самая большая проблема. Да, беда. На экспериментальном ноуте тоже уже были полностью удалены драйвера nvidia, и поставить их можно теперь только для последнего ядра. После установки все работает, как часики. Жаль, я сразу не проверил, куда смотрит сам libnvidiacurrent. Возможно, у меня в самом деле где-то мусор завалялся, и он туда упорно переключался. Пока могу порекомендовать как решение этой проблемы, полный снос всех драйверов nvidia и переустановку их с нуля. Ну и еще есть вариант, что проблема проявится при следующем обновлении ядра. Каким-то образом иногда портятся файлы библиотек. Например https://t.me/alt_linux/114424 : rpm -V nvidia_glx_340.108 ..5....T. /usr/lib64/nvidia_340.108/libEGL.so ..5....T. /usr/lib64/nvidia_340.108/libGL.so А не может ли где-то колбасить из-за того, что a) файлы lib*.so, а симлинки lib*.so.X.Y ? b) в /etc/ld.so.cond.d/* указан список каталогов, в которых лежат одноимённые файлы для 64 и для 32-бит? Если вдруг prelink используется, нужно прекратить. (Ответ для Sergey V Turchin на комментарий #14) > Каким-то образом иногда портятся файлы библиотек. > > Например https://t.me/alt_linux/114424 : > rpm -V nvidia_glx_340.108 > ..5....T. /usr/lib64/nvidia_340.108/libEGL.so > ..5....T. /usr/lib64/nvidia_340.108/libGL.so Как-то это совсем некрасиво выглядит, да.. Как бы отловить это "иногда"?... |