望获Linux系统适配英伟达显卡

不管是国内网友还是国外网友,适配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驱动已经正确适配。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值