• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

联想 Yoga 14s 2021 (Intel) 安装 ubuntu

互联网 diligentman 4天前 3次浏览

@[TOC](联想 Yoga 14s 2021 (Intel) 安装 ubuntu)
新设备最容易遇到驱动问题。Yoga 14s 2021 安装ubuntu就遇到了屏幕闪烁、键盘和触摸板失灵的问题。到askubuntu上提问,最后也只能自问自答。以下是折腾几天找到的解决方法。

1.屏幕 screen flickering

屏幕闪烁、黑屏的问题与Xorg有关,暂时只有ubuntu 20.10 的驱动能正常使用屏幕。

2.键盘和触摸板 keyboard and touchpad not working

触摸板在20.10可正常使用,而键盘则需要修改grub的命令:

/etc/default/grub中修改GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i8042.nopnp i8042.nomux=1 i8042.reset"

即添加i8042.nopnp i8042.nomux=1 i8042.reset三个参数参数含义在kernel parameters查看。

修改live启动盘的grub参数,在live中也能正常使用键盘,而触摸板则需要5.7以上的kernel。

3.雷电驱动 thunderbolt driver

需要5.7以上的kernel。雷电驱动偶见usb失灵现象,需重启。

4.安装ROS compile from source

由于屏幕驱动的原因,只能给yoga安装20.10,而新系统缺失的软件大多只能靠源码编译解决,比如ROS。
20.10无法用apt直接安装ROS,只能是compile noetic from source,由于20.10自带的python及相关的库都是python3.8的,因此建议在python3.8的环境中编译ros,参考官方说明

按照官方的说明,在编译过程中依然会遇到许多依赖库的问题等,挨个google补上。问题很多,以下列出一部分:

4.1有关rosdep update timeout的问题

修改/usr/lib/python3/dist-packages/rosdep2/sources_list.py

延长等待时间DOWNLOAD_TIMEOUT = 100.0

如果还不行,就科学上网,设置全局代理

4.2catkin_tools

其中编译工具之一的catkin_tools需用以下方式安装,以避免对python2库trollius的依赖:

pip3 install --user git+https://github.com/catkin/catkin_tools.git

4.3编译的命令:

./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release -DSETUPTOOLS_DEB_LAYOUT=OFF

编译失败的库可以尝试先忽略它:

./src/catkin/bin/catkin_make_isolated --install --ignore-pkg=<忽略的包> -DCMAKE_BUILD_TYPE=Release -DSETUPTOOLS_DEB_LAYOUT=OFF

后续再单独处理:

./src/catkin/bin/catkin_make_isolated --install --pkg=<单独编译的包> -DCMAKE_BUILD_TYPE=Release -DSETUPTOOLS_DEB_LAYOUT=OFF

4.4 安装新的包

此命令

rosinstall_generator desktop --rosdistro noetic --deps --tar > noetic-desktop.rosinstall

desktop(rosinstall_generator的参数)版本的所有包的链接保存在noetic-desktop.rosinstall中。

若要补充desktop_full中的包,可以执行

rosinstall_generator desktop_full --rosdistro noetic --deps --tar > noetic-desktop_full.rosinstall

noetic-desktop_full.rosinstall找想要的包,下载后解压放入./src,重复4.3的步骤单独安装该包。

4.5 Tips

若进行了4.3步骤后,原先正常的包找不到了,可能需要重新进行4.3的步骤或者重新source

5.其他

有的库甚至是旧电脑直接复制过来的,比如libgdal.so.20及其依赖库,而原先编译的软件需要27版本,只能暂时直接将libgdal.so.20改为libgdal.so.27。


喜欢 (0)