使用Ubuntu操作系统的戴尔PC上的混合视频指南

Summary: 本文介绍使用Ubuntu操作系统的戴尔PC上的混合视频。

Article Content


Symptoms


目录:

  1. 简介
  2. 常见视频问题和解决方案
  3. 查找并安装正确的驱动程序
  4. 设置和使用混合显卡

简介

 

本文介绍独立显卡和显卡之间的区别。专有驱动程序和开放源代码驱动程序对视频输出意味着什么。本文适用于使用Ubuntu操作系统的戴尔PC,介绍您可能遇到的常见视频问题。本文即可用作参考指南,也可用作故障排除指南。

请记住,戴尔支持设备附带的硬件,以及设备随附操作系统的重装或恢复。希望以下信息可以帮到您。

混合显卡:

大多数笔记本和 AIO(一体机)系统可在主板上运行两个 GPU。第一种是集成 GPU,这是板载 CPU 的一部分,另一种称为独立 GPU。独立GPU是一种可选的附加选项,性能通常比集成GPU更加强大。如果系统具有硬件复用功能,它可以在两种 GPU 之间切换。

显卡:

附加显卡在技术上是添加至集成 GPU 的第二个 GPU,它们不是混合显卡的一部分。大多数台式机 BIOS 设置意味着当检测到附加显卡时,将从集成 GPU 接管。


返回页首


Cause

常见视频问题和解决方案

 

  SLN298475_en_US__2icon 注:注:戴尔仅支持 PC 随附的硬件及工厂安装版本的 Ubuntu 操作系统。如果硬件检查正常。从恢复分区重新安装操作系统未解决此问题。然后,系统会指引您联系 Canonical 以获得进一步的软件支持。如果有问题的硬件是第三方设备,则系统将指引您联系设备制造商获取进一步帮助。您是否在寻找不常见的特定驱动程序?您可能会被指示与 Ubuntu 社区论坛联系,以获取硬件的信息,从而获得进一步的支持。下面的部分中,会提供一些常规故障排除步骤,但使用此信息的风险自负。

无显示(即屏幕上无显示内容。)

您是否在Ubuntu操作系统之外遇到此问题?

  1. 您是否在操作系统之外遇到此问题?请转至外接屏幕的文章内部屏幕的文章,以进行进一步故障处理。

  2. 如果您未在此操作系统之外遇到该问题,那么:

    1. 在Grub引导加载程序菜单中选择boot your computer into recovery mode(将计算机启动至恢复模式)

    2. 从恢复菜单中选择resume normal boot(恢复正常启动)(这将尝试使用故障安全视频设置进行正常启动)。

    3. 如果正常启动无法解决问题,可以重新进入恢复模式并选择 run in failsafe graphic mode(在故障安全图形模式中运行)选项。

    4. 如果仍没有视频,可以尝试重新安装操作系统。此外,如果您拥有有关使用终端进行进一步故障处理的经验或指南,也可以使用 root shell 提示符

失真的显示(即您可以在屏幕上看到相关内容,但是无法辨认。)

您是否在Ubuntu操作系统之外遇到此问题?

  1. 您是否在操作系统之外遇到此问题?请转至外接屏幕的文章内部屏幕的文章,以进行进一步故障处理。

  2. 如果您未在此操作系统之外遇到该问题,那么:

    1. 通过禁用 visual effects,可以帮助解决性能问题视频稳定性。(这意味着更改 2D 桌面环境。)

    2. 打开终端(CTRL + ALT + T)并安装compiz设置管理器:

      sudo apt-get install compizconfig-settings-manager

    3. 在 Ubuntu Dash 中,搜索 compiz 设置管理器,然后打开此应用程序并禁用或取消选择:

      • Effects(效果)> Animations, Fading Windwos, Windows Decoration(动画、褪色的Windows、Windows装饰图)

    4. 如果您仍发现视频失真,可以尝试重新安装操作系统以解决问题。

分辨率问题(即屏幕太大或太小。)

Ubuntu 14.04的默认分辨率是最低640x480,最高1024x768

使用默认显卡 GPU,您是否仅看到低分辨率 640x480?我建议您运行 Xdiagnose 并勾选所有 3 个调试选项。这样即可将屏幕恢复到默认的高分辨率 1024x768

要让分辨率超过 1024 x 768,您必须在终端中使用 xrandr 命令,添加关于此新分辨率的新模式。(这通常在重新启动之后不会保留。)

如果您是经验丰富的 Ubuntu 用户并且希望在重新启动后保留这些更改。您可以在 xrandr newmode /etc/gdm/Init/Default 之前,将和 addmode 命令/etc/gdm/Init/Default添加到 " initctl ... "

其应类似于以下代码:

xrandr --newmode "1280x1024_60_new" 138.54 1280 1368 1504 1728 1024 1025 1028 1069 -HSynch +V
xrandr --addmode VGA-0 1280x1024_60_new

设置问题(即亮度。)

(i) Intel显卡亮度

  SLN298475_en_US__2icon 注:注意:此方法适用于仅有一个GPU的系统。请查看用于处理混合显卡的其他方法。

如果用于调节亮度的 Fn 快捷键无法工作。如果您想要获得更多的控制,您可以安装一些小程序,它们将提供带有各种显示设置的 GUI(图形用户界面)窗口。如果您是经验丰富的 Ubuntu 用户,可以使用 gksu 和 leafpad 等终端命令创建文件以解决 Fn 快捷方式问题。

(ii) 使用 Grub 参数更改亮度

再次重申,对于经验丰富的用户,只需添加 Grub 参数。您需要安装gksuleafpad,并作为管理员使用sudo控制运行它们。在 Grub 文本文件中将现有行 GRUB_CMDLINE_LINUX="” 替换为新行 GRUB_CMDLINE_LINUX="acpi_osi=Linux",然后在终端中将其更新。如果键盘上的亮度键仍不起作用,可以将 GRUB_CMDLINE_LINUX="acpi_osi=Linux” 替换为 GRUB_CMDLINE_LINUX="acpi_backlight=vendor",然后重试。如果在完成此操作后仍然遇到问题,请尝试下一种方法。

(Iii) 使用xbacklight更改亮度

第一步是安装 xbacklight(如果您的系统上尚未安装)。创建名为brightness的启动应用程序,方法是搜索启动应用程序并单击Add(添加)。对新的应用程序执行以下命令,然后重新启动系统。如果这不起作用,请尝试下一种方法。

xbacklight -set 70

 
  SLN298475_en_US__2icon 注:注意:您可以使用70以外的其它设置,您需要试验以查看哪种设置最适合您。但是请注意,您需要登录才能使其生效,如果您无法登录,则可能遇到了问题。

(Iv) 使用setpci更改亮度

  1. 首先,打开终端窗口,并确定您所拥有的卡的具体类型,以及BusID。(BusID 具有五(5)位数字00:00.0,请记下它。)

    Ispci | grep -i vga

  2. 将BusID与以下两个命令结合使用,可调暗和增加显示屏的亮度。(您需要进行试验,以查看哪些设置最适合您。)

    sudo setpci -s 00:00.0 F4.B=50
    sudo setpci -s 00:00.0 F4.B=90

  3. 要使此更改重新启动系统,您需要安装 gksu 和 leafpad。在 leafpad 中打开 /etc/re.local 文件,然后在现有行的上方添加此行, setpci -s 00:00.0 F4.B=50 显示 exit 0:

如果您完成此操作后仍然遇到问题,下一种方法是最后一种方法,仅适合精通 Ubuntu 的用户。

(V) 使用xrandr更改亮度

您甚至可以使用 xrandr 更改亮度输出。(建议您确定机器上的硬件。对自己找到的指南有把握。以免在终端中使用 sudo 命令做得太多。)

风扇全速运行

您的显卡风扇是否全速运行?您可以在关闭之前,使用以下命令创建要运行的脚本:

echo ON > /sys/kernel/debug/vgaswitcheroo/switch

暂挂或唤醒冻结

如果您关闭了未使用的独立显卡,并且笔记本电脑在尝试唤醒时冻结。您可以在下创建一个名为的新文件 11_switcheroo_suspend/etc/pm/sleep.d ,并确保该文件可执行:

#!/bin/bash

PATH=/bin:/usr/bin

switchfile=/sys/kernel/debug/vgaswitcheroo/switch

[[ -n "$1"&& -f "$switchfile" ]] || exit 1

retval=0

case "$1" in
hibernate|suspend)
echo ON > /sys/kernel/debug/vgaswitcheroo/switch
retval=$?
;;
resume|thaw)
echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
retval=$?
;;
*)
[ -x /bin/logger ] && /bin/logger -i -t switcheroo_suspend -p user.info "Unknown mode: $1"
=$?
;;
esac

exit $retval

默认GPU

根据启动时启动哪个GPU,您可能遇到相关问题,需要系统连接到主电源。


返回页首


Resolution

查找并安装正确的驱动程序

 

专有驱动程序:

这是二进制驱动程序的另一个术语,此类驱动程序是次 GPU 的硬件制造商提供的闭源驱动程序。某些硬件设备可能需要此类驱动程序,才能完整而正常地运行。遗憾的是,开发人员无法影响此类驱动程序及处理在其中发现的任何错误。

开源驱动程序:

Linux 社区创建了开放源代码驱动程序,可与某些 GPU 配合工作。它们最常用于制造商不提供 Linux 版本且没有可用专有驱动程序的 GPU。开源代码的优势在于,它们是受支持的社区,错误会即时得到解决。缺点是,它们不会完全支持每个 GPU 的全部功能。

首先正确地识别您的硬件。

您可以在终端中使用以下命令确定型号:

lspci | grep VGA

您可以通过运行以下命令获得更多详细信息:

sudo lshw -C video

如需查看受支持硬件列表,请查阅下文:

可以采用两种方式在 Ubuntu 中安装专有驱动程序

  1. 第一种方法是通过GUI(图形用户界面)Hardware Manager(硬件管理器)窗口。

    1. 打开软件中心,然后转到Edit(编辑)

    2. 选择Additional Drivers(其他驱动程序)

    3. 这将检查已安装的驱动程序,并下载可用的所有其他专有驱动程序和任何更新。

    4. 您可以启用或禁用驱动程序。如果存在多个版本,请记住,最好使用适合您的硬件的最新版本。它通常最有可能正常运行且包含任何问题的最新修补程序。

  2. 第二种方法是通过CLI(命令行界面)

    1. 打开终端窗口(CTRL + ALT + T

    2. 以下示例显示了Nvidia的命令:

      sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
      sudo apt-get update
      sudo apt-get install Nvidia-current

几个开放源代码驱动程序涵盖了一些制造商。

我在下面列出了一些当前程序:

VESA

这是默认驱动程序,支持大多数卡,而无需加速,并且具有一组有限的可行解决方案。

xorg-video-intel

这是支持 Intel Graphics 的最新开源驱动程序

radeon

这是致力于支持 3D 的另一种 AMD Radeon 驱动程序,由 radeonr200r300gr600gradeonsi 组成。

nouveau

此驱动程序完全基于通过 Nvidia 设备的向后设计获得的信息。

tegra-re

此驱动程序也完全基于通过 Nvidia Tegra 设备的向后设计获得的信息。

Matrox

该公司为 G550 以前的所有设备提供开源驱动程序,G550 以后的任何设备使用闭源驱动程序。

opernChrome

它支持S3 Chrome GPU,所有其它S3产品都是闭源。

lima

此驱动程序为 ARM Mali GPU 提供内置支持。

etna_viv和BLTsville

这两个驱动程序支持 Vivante GC400GC800GC1000 系列。

freedreno

它支持Qualcomm Adreno GPU系列。

videocoreiv

这是支持 Videocore GPU 系列的尝试。制造 Videocore 系列的 Broadcom 发布了 IV 显卡核心的源代码。它是发布的 Broadcom Raspberry Pi 两周年版的一部分。


返回页首


设置和使用混合显卡

 

启用vga_switcheroo

如果机器具有硬件复用功能,vga_switcheroo使您可以在GPU之间切换。

  SLN298475_en_US__2icon 注:注意:此方法并不支持所有系统类型。仅在您使用开放源代码驱动程序(nouveau、radeon),而非专有驱动程序(Nvidia、fglrx)时才可用。

要检查您的内核是否使用正确的选项编译,您可以在 /boot 目录中检查文件 config-2.6.nn-mm-generic

grep -i switcheroo /boot/config-*

当内核已启动且modeset=1内核选项和/或nomodeset选项缺失时,vga_switcheroo机制可行。要测试 vga_switcheroo 是否已启用,查找切换文件:

ls -l /sys/kernel/debug/vgaswitcheroo/switch

使用vga_switcheroo

如果vga_switcheroo可用,您可以在GPU之间切换。请做好准备,某些内容将会出错,系统也会锁定,因为此文件存在并不保证机器受支持。

使用以下命令可启用断开的 GPU,但这不会切换输出:

echo ON > /sys/kernel/debug/vgaswitcheroo/switch

此命令将连接集成显卡,输出为:

echo IGD > /sys/kernel/debug/vgaswitcheroo/switch

此命令将连接独立显卡,输出为:

echo DIS > /sys/kernel/debug/vgaswitcheroo/switch

此命令将会关闭已断开的显卡:

echo OFF > /sys/kernel/debug/vgaswitcheroo/switch

此命令可让您检查混合显卡的当前状态。通常有两行输出,一行应显示 Pwr,另一行显示 Off

cat /sys/kernel/debug/vgaswitcheroo/switch

 

  SLN298475_en_US__2icon 注意:是否要将其中一个 GPU 关闭并始终只运行一个?搜索 Bumblebee 等内核机制的指南。最后,您可以尝试 acpi_call,但除非您是经验丰富的 Ubuntu 用户,否则不推荐使用此项。

 


返回页首


Additional Information

通过以下方法获取对 Canonical 的软件支持:
由戴尔提供技术支持:


返回页首


Article Properties


Affected Product

Inspiron, Latitude, Vostro, XPS, Fixed Workstations

Last Published Date

21 Feb 2021

Version

7

Article Type

Solution

Rate This Article


Accurate
Useful
Easy to Understand
Was this article helpful?

0/3000 characters