Я запланував день відпочинку з Порталом 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 працює без жодної скарги на версії драйверів. Penumbra гине з приблизно однаковою помилкою при вступі в гру.
Редагувати: Ось що я маю справу з 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-бітні. Якщо вони відрізняються, з’ясуйте, яким пакетом належить їх, і шукайте оновлення.