Linux 上的 Nvidia Optimus(不是大黄蜂)

Linux 上的 Nvidia Optimus(不是大黄蜂)

编辑:所选的答案并没有为我解决问题,但却是最接近的,也许可以对其他人有所帮助。

我正在使用 Ubuntu 18/Mint 19,我已经花了数周时间寻找解决方案。我使用的是联想 Y720 游戏笔记本电脑,配备 i7 和 GTX 1060 以及 Optimus。有人设法找到让 Optimus 运行的方法吗?目前我的问题是:

  • 玩游戏时温度超过 90 摄氏度,闲置时温度为 50 摄氏度
  • 无 HDMI 音频
  • 电池寿命极短
  • 画面撕裂

我尝试了 GitHub 上的 Nvidia xrun 和 primerun,但没成功。尝试了 bumblebee,除了 chrome 之外,它根本无法打开任何程序。我现在使用的是 Nvidia 专有驱动程序,驱动程序 390。

答案1

为您的 HDMI 音频和屏幕撕裂问题提供可能的解决方案:

  1. 无 HDMI 音频:一种可能的解决方法是检查 Ubuntu 的声音设置。插入 HDMI 后,尝试打开声音设置并检查输出设备。如果配置为使用模式,则应该有 HDMI / DisplayPort 选项模拟立体声,将其切换为HDMI 输出立体声。重新插上 HDMI 线,看看是否能用。还有其他可能的解决方案这里,如果你还没有尝试过的话。
  2. 画面撕裂:这是 NVIDIA 专有驱动程序的一个已知问题,但尽管如此,除非您需要切换到英特尔,否则这些驱动程序仍然是您的首选,因为性能有明显的提升。NVIDIA 尚未提供任何修复,但这里有一个可能的解决方案,如所述建筑维基
    笔记xorg-xandr必须将软件包与 NVIDIA 驱动程序一起安装才能正常工作。
    请检查您的版本xorg-server并根据需要进行更新,所需版本为 (>) 1.19。Linux
    内核的版本必须为 4.5 或更高版本。
    自 nvidia 364.16 以来,DRM 内核模式设置支持。要启用它,您必须添加以下内核参数:nvidia-drm.modeset=1,以及将以下模块添加到initramfs 模块: nvidianvidia_modesetnvidia_uvmnvidia_drm
    要在 Ubuntu 中永久添加 DRM 内核参数(请参阅内核启动参数 @ Ubuntu wiki),编辑/etc/default/grub并添加设置nvidia-drm.modeset=1在引号中的参数GRUB_CMDLINE_LINUX_DEFAULT(每个内核参数之间添加空格)。之后,运行sudo update-grub以更新 GRUB 配置文件。
    要将模块添加到 initramfs ,请/etc/initramfs-tools/modules在新行上编辑并添加每个模块。然后,使用以下命令更新 initramfs:。update-initramfs -u选项-u告诉update-initramfs您更新现有的 initramfs 而不是重新构建它。该modules文件应如下所示:
# List of modules that you want to include in your initramfs.
# They will be loaded at boot time in the order below.
#
# Syntax:  module_name [args ...]
#
# You must run update-initramfs(8) to effect this change.
#
# Examples:
#
# raid1
# sd_mod
nvidia
nvidia_modeset
nvidia_uvm
nvidia_drm

关于过热问题:
我怀疑它与驱动程序有关。当然,这取决于你玩的游戏有多重,但是,联想的内部冷却系统不足以处理笔记本电脑上的 i7 CPU 和 GTX 1060。这样的温度是可以预料的,尽管这对 GPU 本身不利,应该寻找解决方法。我建议你使用外部冷却器。

关于电池寿命:
特别是在使用 NVIDIA 专有驱动器(仅使用 NVIDIA GPU 并禁用英特尔)时,我不能说这不是意料之中的,因为 GTX 1060 消耗大量电量(根据NVIDIA GTX 1060 规格)。尤其是在高负载下,CPU 和 GPU 都会对电池造成损害。

相关内容