目录

Linux与Optimus

回到家,发现Elementary不能双屏了。然后我开始修,装N卡闭源驱动的时候,我的Elementary自杀了。

思来想去,Elementary用了一段时间了,想试试新东西,顺便把这个问题给修饿了。

这篇文章就是这个过程的记录。

0x01. 问题

等我完整的搜索之后,才知道,我的笔记本的显示技术是NVIDIA Optimus。

NVIDIA Optimus 技术

NVIDIA®(英伟达™)Optimus™技术自动优化计算体验以保持无限延长的工作时间,原理如同混合动力汽车自动将对车体对汽油能源的消耗无缝衔接转化至对电力能源的消耗。

  • 无需手动调节设置即可享受超长电池续航时间和华丽的视觉体验
  • 无论是欣赏高清影片、网络冲浪或是激战于3D游戏中,请牢记:NVIDIA®(英伟达™)为您带来您最渴求的超持久电池续航时间和出色的性能。

这个技术简单来说,就是自动计算你当前的程序是适合使用集显还是独显,然后自动切换。

看起来很棒对吧?其实的确很棒。但是问题在于……

这个破玩意儿只有Windows有用!!!!

Linux下什么都没有。所以诞生了一个叫做Bumblebee的东西解决这个问题。

当然,我的Elementary死了,因为我一开始不知道这个东西,直接上闭源驱动然后轰炸了Xorg。

0x02. 一次失败的尝试

当我准备开始装系统的时候,我发现我好像曾经划出过50G装Deepin(然后告吹了),想了一下,又往游戏盘划出50G凑够100G装新系统(分区的时候甚至蓝屏了)。

一开始我选择了Fedora,这是财主家的大儿子,比较“作”。Fedora是RedHat的试验田,也是RedHat系最激进的一个发行版,近似于滚动更新(GCC源里面就是7.1.2激动死我了),我这种一直用Debian系的,看到这种Cutting Edge的发行版真的就跟乡下人进城一样。

安装过程很简单,Graphic Installer和CentOS的特别像,也是你装着来填信息,装好了重启就行。

这次失败失败在哪儿了呢?Bumblebee。

我纯净安装之后直接装驱动和Bumblebee,然后直接开机。一切都很好,除了一个问题:我必须插着HDMI线才能显示桌面。

https://assets.lxdlam.com/img/1665505278_e4661c51.jpg

然后我手写了xorg.conf,也用了nvidia-xconfig,都没什么作用。然后我在Fedora Fourm问,也没有什么结果。

0x03. Manjaro与问题解决

之后我尝试了各种发行版,Debian和Deepin的grub引导有问题,找不到vmlinux进不去系统。

在各种比较之后,我选择了Manjaro。包括Manjaro的MHWD,Linux的驱动精灵,解决了我很多问题。

然后出现了另一个莫名问题:不插充电线打不开机。

然后我来到了Manjaro Fourm,在两三天的讨论之后,我的问题成功解决了。

下面是这个问题的一点思路:

  • 首先,Bumblebee解决的是显卡切换的问题。当然,Bumblebee是社区驱动的一个项目,完全做不到Windows下NVIDIA官方Optimus的效果。Bumblebee能让你手动切换使用的是哪一张显卡并进行操作,无法自动。
  • 其次,Linux下存在两种驱动,开源的Nouveau和闭源的NVIDIA私有驱动,选择适合你的安装就行。我的电脑使用Nouveau更好,并且我也不用Linux打游戏,不需要闭源驱动。
  • 启动的时候,和此部分有关的有两个部分:内核引导和电量管理。
    • 内核引导:内核引导在grub时通过添加参数进行控制,具体有以下的两种问题:
      • 是否启动了需要的module?如grub启动参数添加nomodeset将关闭所有module,此时你只有Linux和X11提供的最基本的图形支持;
      • 会不会需要的驱动被屏蔽?如使用nouveau但是这一条在/etc/modprob.d/blacklist里面。
    • 电量管理:开机的时候TLP等服务会进行电量管理,这一部分涉及到的问题跟上面类似。但是这里要讲一个问题,在像我这样比较新的系统上,假如出现电量管理的问题,尝试在grub引导参数中添加:acpi_osi=! acpi_osi='Windows 2009',看一下问题是否还存在。acpi_osi=Linux也值得尝试,而XPS需要一些额外的设置。

这个是大概的问题解决思路。当然,这一部分问题实在是很多,这篇文章不能保证能涵盖多少情况。

下面是一些有用的链接,希望能帮助到你:


至于我怎么安装和配置Manjaro?下一篇文章见。