Я запланировал день отдыха с Portal 2, но при запуске Steam (впервые за пару недель) меня приветствовало следующее сообщение в терминале:
Error: API mismatch: the NVIDIA kernel module has version 270.41.19,
but this NVIDIA driver component has version 270.41.06. Please make
sure that the kernel module and all NVIDIA driver components
have the same version.
Признаюсь, я не знаю, о чем идет речь, когда говорит водитель. Верия nvidia-current
это 270.41.19
. Я думал, что это был драйвер и модуль, все в одном.
Я использую X-SWAT PPA и отметил, что nvidia-settings
пакет увеличен до 275.09.07
. Поскольку это просто приложение для настройки, я не думаю, что это несоответствие имеет какое-либо отношение к этому. Это также не та же версия, что и описываемая проблема.
Я бы предпочел не очищаться от стандартного драйвера Nvidia, так как он менее стабилен на моем GTX580. Я хотел бы принять ответ, который берет ручную настройку и заставляет его перекомпилироваться, когда ядро перекомпилируется (то есть, некоторые мастера DKMS), но это должно работать. Я не хочу возвращаться в текстовый режим каждый раз, когда перезагружаюсь после обновления ядра.
Изменить: Minecraft работает без единой жалобы на версии драйверов. Пенумбра умирает примерно с той же ошибкой при входе в игру.
Изменить: вот что я имею дело с 32-битными файлами. Все они, кажется, в правильной версии.
ls -l /usr/lib32/nvidia-current/ | awk '{ print $8 " " $9 " " $10 }'
libcuda.so -> libcuda.so.270.41.19
libcuda.so.1 -> libcuda.so.270.41.19
libcuda.so.270.41.19
libGL.la
libGL.so -> libGL.so.1
libGL.so.1 -> libGL.so.270.41.19
libGL.so.270.41.19
libnvcuvid.so -> libnvcuvid.so.1
libnvcuvid.so.1 -> libnvcuvid.so.270.41.19
libnvcuvid.so.270.41.19
libnvidia-cfg.so -> libnvidia-cfg.so.1
libnvidia-cfg.so.1 -> libnvidia-cfg.so.270.41.19
libnvidia-cfg.so.270.41.19
libnvidia-compiler.so -> libnvidia-compiler.so.1
libnvidia-compiler.so.1 -> libnvidia-compiler.so.270.41.19
libnvidia-compiler.so.270.41.19
libnvidia-glcore.so.270.41.19
libnvidia-ml.so -> libnvidia-ml.so.1
libnvidia-ml.so.1 -> libnvidia-ml.so.270.41.19
libnvidia-ml.so.270.41.19
libnvidia-tls.so.270.41.19
libnvidia-wfb.so.1 -> libnvidia-wfb.so.270.41.19
libnvidia-wfb.so.270.41.19
libOpenCL.so -> libOpenCL.so.1
libOpenCL.so.1 -> libOpenCL.so.1.0
libOpenCL.so.1.0 -> libOpenCL.so.1.0.0
libOpenCL.so.1.0.0
libXvMCNVIDIA_dynamic.so.1 -> libXvMCNVIDIA.so.270.41.19
libXvMCNVIDIA.so -> libXvMCNVIDIA.so.270.41.19
libXvMCNVIDIA.so.1 -> libXvMCNVIDIA.so.270.41.19
libXvMCNVIDIA.so.270.41.19
Изменить 2: я мог бы найти что-то.
Скрываясь в /usr/lib32/
правильном (не в nvidia-current
поддиректории), я обнаружил следующее:
ls -l /usr/lib32/ | awk '{ print $8 " " $9 " " $10 }' | grep 270
libcuda.so.1 -> libcuda.so.270.41.06
libcuda.so.270.41.06
libGL.so.1 -> libGL.so.270.41.06
libGL.so.270.41.06
libnvidia-compiler.so.270.41.06
libnvidia-glcore.so.270.41.06
libnvidia-tls.so.270.41.06
libvdpau.so.1 -> libvdpau.so.270.41.06
libvdpau.so.270.41.06
libvdpau_trace.so -> vdpau/libvdpau_trace.so.270.41.06
По какой-то причине все в /usr/lib32/nvidia-current/
правильной версии, но в ней есть куча беспорядка, /usr/lib32/
которая может разрушить партию.
Изменить 3: Попытка отследить, какой пакет владеет этими файлами, не удалась:
find /usr/lib32 -iname '*270.41.06*' -exec dpkg -S "{}" \;
dpkg-query: no path found matching pattern /usr/lib32/libnvidia-compiler.so.270.41.06.
dpkg-query: no path found matching pattern /usr/lib32/libGL.so.270.41.06.
dpkg-query: no path found matching pattern /usr/lib32/vdpau/libvdpau_nvidia.so.270.41.06.
dpkg-query: no path found matching pattern /usr/lib32/vdpau/libvdpau_trace.so.270.41.06.
dpkg-query: no path found matching pattern /usr/lib32/libvdpau.so.270.41.06.
dpkg-query: no path found matching pattern /usr/lib32/tls/libnvidia-tls.so.270.41.06.
dpkg-query: no path found matching pattern /usr/lib32/libnvidia-tls.so.270.41.06.
dpkg-query: no path found matching pattern /usr/lib32/libcuda.so.270.41.06.
dpkg-query: no path found matching pattern /usr/lib32/libnvidia-glcore.so.270.41.06.
Любые советы о том, как мне поступить с этими неработающими версиями? Удалить их? Удалить тогда символическую ссылку на ./nvidia-current/
версии?
/usr/lib32
. Проверьте, не похожи ли они на ту же версию, что и основные 64-битные версии. Если они различаются, выясните, какому пакету они принадлежат, и поищите обновление.Ответы:
Выполнение следующих действий решило это для меня на Ubuntu 12.04 64bit с ядром 3.0.29. Надеюсь, это поможет.
источник
dpkg --get-selections | grep nvidia
чтобы найти другие пакеты nvidia, которые вы должны очиститьКогда выяснилось, что старые файлы загружаются в / usr / lib32 /, я удалил их следующей командой:
И перезапустил X. Это сломало все 3D. Возгласы ликования. Используя предыдущий комментарий, я увидел четыре неработающие ссылки:
Вместо того, чтобы вручную заменить ссылки для четырех файлов, я отправился к Элронду, лорду Ривенделла, и поручил ему создать сообщество, которое могло бы вторгнуться в Мордорх, переместиться на гору Рока и создать мне одну команду, чтобы привести меня (и тем самым я действительно значит нас всех) и во тьме связывай нас.
Хватит этого. Вот одна команда:
Разве она не впечатляет. И это сработало. Теперь у меня есть 4 блестящие новые символические ссылки:
Затем я проверил, все ли сработало. Перед перезапуском я решил проверить правильность ссылок:
Отлично. Так что мега-команда сделала только две ссылки правильно. Посмотрев немного дальше, кажется, что
libvdpau
файлы действительно живут/usr/lib32/nvidia-current/vdpau/
. Не беспокойтесь об этом времени:По крайней мере, они правильно (если немного неловко) связаны между собой. Время для тестирования.
Изменить: Это сработало, но учиться из моей борьбы: сделать это просто
источник
также просто сделайте это:
а потом:
все хорошо!
источник
Однажды у меня была эта проблема, и ее на удивление легко исправить.
Следующее основано на пятнистой памяти, так что будьте осторожны!
Сначала вы должны убедиться, что библиотеки nvidia в / usr / lib32 / match:
Согласно тому, что вы описали, они, скорее всего, не соответствуют этим. Если это так, то вам нужно удалить их (осторожно - используйте файловый менеджер, не пытайтесь выполнить команду rm -rf !!!!!!!!! ), а затем переустановите nvidia-current :).
Это должно дать вам правильные версии библиотек и дать вам работающую систему.
источник
У меня была эта проблема, которая затрагивала мою пусковую установку SWTOR в вине. Читая выше, я решил попытаться сделать что-то через Ubuntu UI. Вот простое решение, которое сработало для меня;
Удалите и переустановите дополнительные драйверы через пользовательский интерфейс:
источник
после некоторых тестов я обнаружил, что пакеты:
работать на всех ядрах 3.2.0- * и 3.8.0- *,
в то время как пакеты:
работают только для ядра 3.8.0- *.
Ubuntu Jockey по-прежнему рекомендует 319 версию также, когда присутствует только ядро 3.2.0- *. Так что ошибка здесь.
Кроме того, команды:
или
установите драйвер только для одной версии ядра для каждой вспомогательной версии и удалите его для всех остальных.
Итак, в моем случае у меня установлены следующие ядра:
Я получил драйвер только для:
при загрузке с другими ядрами драйвер не устанавливается.
Сдается мне, что где-то в пакете есть неправильное указание собирать и устанавливать только для некоторых ядер.
Везде, выполнив следующую команду, исправьте ситуацию:
до следующего apt-get установить nvidia-current или перенастроить
Тема: Обновлен драйвер Nvidia - смешанные версии 304.88 и 319.32 относятся к одному и тому же, но у меня не было достаточно кредитов, чтобы публиковать там.
источник
Это случилось со мной после того, как я установил последний экспериментальный драйвер Nvidia. Я все еще хотел попробовать последний драйвер, если это возможно, вместо того, чтобы вернуться к более старому драйверу, так что это то, что мне помогло:
источник
Удаление всех пакетов nvidia и переустановка - действительно самый простой способ исправить это.
Сначала я удалил все пакеты nvidia с помощью команды ниже:
Затем я сделал перезагрузку из нашего любопытства, чтобы посмотреть, как будет выглядеть мой графический интерфейс - плохое разрешение и медленное, как и ожидалось.
После открытия оболочки я запускаю команду ниже, чтобы установить nvidia обратно:
Все снова работает. Удачи.
источник