供稿:北京国科环宇科技股份有限公司
发布时间:2025/4/24 13:16:41
不管是国内网友还是国外网友,适配nvidia显卡,经常会遇到经典的nvidia_drv.so找不到符号的问题,例如: undefined symbol: noPanoramiXExtension。
先说下论坛里网友的解决办法:
网友A的解决办法:哐哐安装一堆nvidia-driver各种版本
网友B的解决办法:哐哐xserver又是升级又是降级,说兼容性问题。
Archlinux 论坛网友的解决办法:[SOLVED] Nvidia driver not loading / Newbie Corner / Arch Linux Forums
Archlinux这个网友最后通过高人指导设置了一个环境变量:LD_BIND_NOW。
虽然每个人的解决办法不同,很多时候我认为一点意义没有,最后,搞的越来越玄学!
接下来我们就讲解下如何解决。
常见的错误例如:
执行nvidia-smi
查看X的log后发现:
Nvidia_drv.so : undefined symbol: noPanoramiXExtension
这是英伟达显卡适配过程中非常常见的错误,找不到符号,找不到谁的符号,那自然是xserver中的符号。那么我们去xserver的源代码中看:
耐心找定义,发现在os/utils.c中:
并给出注释:/* Xinerama is disabled by default unless enabled via +xinerama */
意思是xinerama拓展功能默认关闭,所有没有打开。我们打开它,重新编译。另外xserver 1.21版本 以上使用了pkgconfig的方式来检测系统是否包含xinerama,如何检测到会自动打开,那接下来就简单了,安装xinerama:dnf install libxinerama1
再去xserver代码中查看,执行menson build
果然找到了,接下来直接编译安装:
ninja && ninja install
reboot
系统重启后,查看状态:
Nvidia驱动已经正确适配。
如需了解更多信息,请访问 (北京国科环宇科技股份有限公司)官网 https://www.ucas.com.cn/
北京国科环宇科技股份有限公司
地 址:北京市海淀区知春路甲63号北京卫星制造厂51号(卫星大厦)16层
邮 编:
电 话:82122848
传 真:
网 址:https://www.ucas.com.cn/
E-mail:sales@ucas.com.cn
联系人: