解决SSH连接Jetson Nano时遇到的"Xlib: extension "NV-GLX" missing on display 'localhost:10.0'"的问题
1. 遇到的问题
新装好系统后,使用MobaXterm软件通过SSH方式连接Nano,并没有出现下图中的问题,但是Nano的系统更新后,再使用MobaXterm软件通过SSH方式连接Nano时,遇到了下图中的问题(错误信息已用红框标识)。
这个问题只会出现在建立SSH连接过程中,并且正常的建立SSH大约只需要2~3秒,但是现在大约需要10s。
2. 原因分析
至于为什么会出现这个问题,我也不是很清楚,所以在这里我将Nvidia论坛中和这个问题相关的链接放在这里,方便大家认识和了解。
JetPack 4.3: MESA-LOADER: failed to open swrast while in xrdp session
论坛中有人这样回复:
I investigated further and the problem occurs to me only when I update
the following libraries (the Installed version is the original one)
libdrm-freedreno1: Installed: 2.4.97-1ubuntu1~18.04.1 -> Candidate: 2.4.99-1ubuntu1~18.04.1
libdrm-nouveau2: Installed: 2.4.97-1ubuntu1~18.04.1 -> Candidate: 2.4.99-1ubuntu1~18.04.1
libdrm-etnaviv1: Installed: 2.4.97-1ubuntu1~18.04.1 -> Candidate: 2.4.99-1ubuntu1~18.04.1
libdrm-amdgpu1: Installed: 2.4.97-1ubuntu1~18.04.1 -> Candidate: 2.4.99-1ubuntu1~18.04.1
libdrm-tegra0: Installed: 2.4.97-1ubuntu1~18.04.1 -> Candidate: 2.4.99-1ubuntu1~18.04.1
libdrm-radeon1: Installed: 2.4.97-1ubuntu1~18.04.1 -> Candidate: 2.4.99-1ubuntu1~18.04.1
libdrm-dev: Installed: 2.4.97-1ubuntu1~18.04.1 -> Candidate: 2.4.99-1ubuntu1~18.04.1
libdrm-common: Installed: 2.4.97-1ubuntu1~18.04.1 -> Candidate: 2.4.99-1ubuntu1~18.04.1
libdrm2: Installed: 2.4.97-1ubuntu1~18.04.1 -> Candidate: 2.4.99-1ubuntu1~18.04.1
上述回复的大致内容是说,出现这个问题是由libdrm-freedreno1、libdrm-nouveau2等软件包的升级造成的。
Nvidia论坛中关于相似问题的讨论截图
当然如果大家对该问题有一些了解,欢迎在评论区留言。
3. 解决方案
其实这个问题并不影响Nano的实际使用,如果不想折腾的话,建议保持现状就好。如果你想解决此问题,请先仔细阅读Nvidia论坛中的帖子。
简单粗暴的解决方案:
建议在执行下面的步骤时,先对当前系统进行备份!
- 重新安装Nano的Ubuntu系统,也就是把系统镜像重新烧录到SD卡上;
- 系统在初始化后,不要更新系统;
- 在终端中运行这条命令,该命令可以使指定的软件包保持现在的版本,不对其进行升级。
sudo apt-mark hold libdrm-amdgpu1 libdrm-common libdrm-dev libdrm-etnaviv1 libdrm-freedreno1 libdrm-nouveau2 libdrm-radeon1 libdrm-tegra0 libdrm2
- 执行完上面的三步,问题可能已经解决。此时可以对系统进行升级。
sudo apt update sudo apt upgrade
4. 参考链接
JetPack 4.3: MESA-LOADER: failed to open swrast while in xrdp session
写在最后:
如果该文章对你有帮助,可以帮着点赞;
如果该文章有错误,麻烦您在评论区留言,谢谢。