admin管理员组文章数量:1516870
Linux 视频卡选购与配置指南
在 Linux 系统中,选择和配置视频卡可能是一项颇具挑战性的任务。由于视频卡市场变化迅速,且 XFree86(Linux 中最常用的 GUI 系统)的开发者难以跟上硬件市场的变化,这使得 Linux 对视频卡的支持往往滞后于最新技术。以下将详细介绍视频卡的相关知识,帮助你更好地进行选购和配置。
1. 视频卡的主板总线
视频卡的一个基本特性是其所使用的主板总线。常见的总线类型有:
-
ISA 总线
:曾在 80386 和早期 80486 计算机上很常见,但现在已非常罕见。它的理论最大传输速率仅为 8MB/s,无法满足现代视频显示的高速传输需求。不过,大多数 ISA 视频卡设计古老,在 XFree86 中得到了很好的支持。一些旧的 ISA 卡仅支持 640×480、16 色及以下的视频模式,适合在文本模式下运行 Linux,但不适合在 X 环境中使用。
-
VL - Bus
:由视频电子标准协会(VESA)开发,旨在提供比 ISA 总线更高的视频带宽。在 33MHz 系统总线上,它能以 132MB/s 的速度传输数据。在 80486 时代很常见,但现在已被 PCI 总线取代。由于其稀缺性,你可能需要在二手市场上寻找 VL - Bus 视频卡。大多数 VL - Bus 板都得到了成熟的 XFree86 驱动程序的支持。
-
PCI 总线
:具有与 VL - Bus 相同的速度,64 位 PCI 总线的速度甚至可以翻倍。它能够很好地处理视频游戏和其他需要快速屏幕更新的应用程序的高帧率。PCI 视频卡如今很常见,尽管大多数新计算机使用更先进的 AGP 总线。购买新的 PCI 视频卡时,应仔细检查其与 XFree86 的兼容性。
-
AGP 总线
:目前是视频卡首选的总线。它是 PCI 的扩展,但 AGP 卡的连接器位置与 PCI 不同。AGP 有多种速度变体,即使在很少使用的 1x 速度下,其数据传输速度也是 PCI 的两倍。如今最快的视频卡通常只支持 AGP 总线,但许多高端 AGP 卡可能无法与 XFree86 兼容。不过,AGP 总线本身与 Linux 兼容,许多中低端 AGP 视频卡可以与 XFree86 正常工作。
以下是不同总线的性能对比表格:
| 总线类型 | 理论最大传输速率 | 适用场景 | 现状 |
| — | — | — | — |
| ISA 总线 | 8MB/s | 文本模式更新、旧计算机 | 罕见 |
| VL - Bus | 132MB/s(33MHz 系统总线) | 游戏、旧计算机 | 罕见 |
| PCI 总线 | 与 VL - Bus 相同(32 位),翻倍(64 位) | 视频游戏、快速屏幕更新应用 | 常见 |
| AGP 总线 | 1x 速度是 PCI 的两倍,2x 或 4x 速度更快 | 高端视频卡、3D 图形 | 常用 |
2. 视频芯片组
视频卡的大部分功能依赖于其芯片组。在寻找 Linux 驱动程序时,通常需要根据芯片组而不是具体的显卡品牌和型号来查找。然而,大多数制造商不会明确宣传他们所使用的视频芯片组,这给选购带来了一定的困难。
2.1 识别显卡的芯片组
以下是一些识别视频芯片组的方法:
-
杂志评测
:杂志有时会在产品评测中包含产品所使用的芯片组信息。你可以在杂志的网站或印刷版中查看相关评测。
-
Linux /proc/pci 文件
:如果视频卡是 PCI 卡,你可以在该文件中查找相关信息,但此方法对 ISA、VL - Bus 或 AGP 视频板无效。
-
lspci 命令
:使用
lspci -v
命令可以显示 PCI 和 AGP 设备的信息,包括视频卡,但不一定能给出所使用芯片组的名称。
-
SuperProbe 程序
:这是 XFree86 附带的一个实用工具,用于探测和识别视频硬件,包括视频卡芯片组、安装的 RAM 和 RAMDAC。不过,它有时可能会导致计算机崩溃或无法识别较新的芯片组。
建议尝试两种或更多的识别方法,以确保准确识别芯片组。如果所有方法得出相同的结果,那么可以确信你已经正确识别了芯片组;否则,应尝试更多方法来解决不确定性。
2.2 流行的芯片组
- 3dfx :其 Voodoo、Velocity 和 Banshee 系列视频卡芯片组最近很受欢迎。该公司在 上为许多产品提供 XFree86 服务器,标准 XFree86 版本也在增加对其的支持。
- ATI :是最受欢迎的视频卡制造商之一,也生产自己的芯片组。大多数 ATI 芯片组用于 ATI 视频卡,也有一些用于笔记本电脑和集成视频支持的主板。大多数 ATI 芯片组在 XFree86 中得到了很好的支持,使用 XF86_SVGA 服务器,也有特定的 ATI 服务器可供研究。
- Intel :已开始将视频支持集成到一些主板芯片组中,如 810。该公司在 上为该芯片组提供了 Linux XFree86 服务器,未来支持可能会集成到标准 XFree86 中。
- Matrox :是主要的视频卡制造商,也生产自己的视频卡芯片组。其产品大多在 XFree86 中使用 XF86_SVGA 服务器得到了很好的支持。
- NVIDIA :其产品广泛应用于第三方视频卡。许多产品会宣传所使用的芯片组,如 GeForce 256、RIVA TNT、RIVA TNT2、Vanta 或 Quadro。NVIDIA 是活跃的 Linux 开发者,为许多芯片组发布了 Linux XFree86 服务器,并正在为 Linux 开发 OpenGL 支持。
- Rendition :XFree86 目前在 XF86_SVGA 服务器中支持一些 Rendition 芯片组。在 2000 年初,这些芯片组的加速功能支持不佳,性能相对较低,但未来情况可能会改变。
- S3 :长期生产高性能视频产品。1999 年中期,S3 收购了视频卡制造商 Diamond Multimedia,现在 S3/Diamond 的组合在垂直整合方面类似于 ATI 或 Matrox。第三方制造商仍在其板卡中使用 S3 芯片组,S3 产品根据不同情况由各种 XFree86 服务器支持。
- SiS :主要生产主板芯片组,也制造视频卡芯片组,并将视频卡功能集成到一些主板芯片组中。许多这些芯片组在 XF86_SVGA 服务器中得到了 XFree86 的支持。
- Trident :其产品传统上不以最快的性能著称,主要用于其他公司的视频卡。一些 Trident 芯片组已被并入更大的芯片组中,大多数 Trident 芯片组由 XF86_SVGA 服务器支持。
- Tseng Labs :过去是受欢迎的视频芯片组制造商,但现已倒闭。XFree86 使用 XF86_SVGA 服务器或 XF86_W32 服务器支持大多数 Tseng Labs 芯片组。
2.3 检查 XFree86 兼容性
确定芯片组是否受 XFree86 支持有时可能很困难。XFree86 网站(,但并不完整。另一个有用的官方资源是文档网页(,点击你想要使用的 XFree86 版本,页面会包含各种芯片组和特定板卡的支持说明。如果你已经在运行 Linux 系统,可以检查 XFree86 配置程序 xf86config 中提供的列表。此外,一些制造商(如 3dfx、Intel 和 NVIDIA)会为其部分产品提供 X 服务器,值得在显卡制造商和芯片组制造商的网站上搜索驱动程序。在 Linux 社区中,SuSE( X 服务器方面做了很多工作,你可以在其网站上搜索最新的 XFree86 服务器。
3. 3D 支持
如今,许多视频卡的最新发展都集中在 3D 图形上。这里的 3D 图形指的是对 3D 对象或环境的 2D 表示,而不是科幻电影中那种可以从各个角度观察的显示。具有 3D 功能的显卡可以让程序指定 3D 设计的基本要素(如对象的形状、颜色、纹理等),然后由显卡完成大部分确定对象在屏幕上具体外观的工作,这对于游戏、工程模型等非常有用。
3.1 3D 图形特性
生成逼真的 3D 图形(尤其是实时的 3D 游戏所需的图形)需要巨大的计算量。需要计算的特征包括基于 3D 对象的 2D 图像、阴影、光照效果、纹理效果、反射、透明度效果和雾效等。一个 3D 芯片组支持的这些效果越多,实现这些效果的性能越好或速度越快,生成的图像就越逼真,或者在屏幕上移动的速度就越快。如果显卡的芯片组不支持某个 3D 效果,要么由软件来实现该功能,要么就只能放弃该效果。如果由软件实现,会给计算机带来沉重的计算负担,可能导致整体系统性能下降。
大多数如今销售的视频卡至少支持基本的 3D 操作。如果你有一张不支持 3D 功能的旧显卡,并且想要这些功能,可以选择更换新的视频卡或添加扩展卡。过去十年生产的大多数视频卡都包含一个扩展连接器,你可以将专用的 3D 图形卡连接到该连接器上,由专用卡处理 3D 功能,而原卡继续处理正常的 2D 操作。
3.2 OpenGL 3D 规范
3D 视频硬件需要合适的视频软件才能发挥作用。在 Linux 中,这个软件由 Silicon Graphics(SGI)的 OpenGL 规范的实现提供。OpenGL 是一个应用程序编程接口(API),即一组支持 3D 图形操作的编程标准,就像 X 为普通 2D 图形操作提供一组 API 一样。
OpenGL 不是唯一的 3D 视频 API。视频卡制造商 3dfx 推广 Glide,它是 OpenGL 在许多平台上的扩展版本;微软推广自己的 Direct 3D API,但该 API 在 Linux 中不可用。因此,如果你只打算在 Linux 下使用视频卡,可以忽略任何关于 Direct 3D 支持的声明。
OpenGL 的一个独特之处在于它跨平台存在。因此,为一个操作系统(如 Windows)编写的 OpenGL 应用程序可以很容易地移植到另一个操作系统(如 Linux)。不过,OpenGL 并不包含应用程序所需的所有功能,因此仍然需要修改代码来处理对话框、磁盘访问等。
与 X 一样,OpenGL 是一个支持网络的 API。这意味着你可以在一台计算机上使用 3D 应用程序,而在另一台计算机上显示该计算机的数据。例如,你可以使用一台功能强大的 Linux 计算机创建建筑物的 3D 模型,然后使用配备合适 3D 图形卡的功能较弱的计算机来显示这些模型。这两台计算机甚至不需要运行相同的操作系统。
Linux 中有几种不同的 OpenGL 实现:
-
Mesa
:可从 获得,虽然它不是官方的 Linux OpenGL 实现,但根据其网站首页的说法,“与 OpenGL 非常相似”。许多 OpenGL 程序使用 Mesa 运行得很好,对于许多用户来说,它可以作为 OpenGL 的可接受替代品。
-
Xi Graphics 的 3D Accelerated - X
:Xi Graphics( X 服务器 Accelerated - X 的一个版本,其中包括 OpenGL 支持。该产品支持多种 3D 图形卡,并包含从 SGI 获得许可的代码。
-
Metrolink OpenGL
:Metrolink( Linux 商业 X 服务器市场的另一个竞争对手,它提供了一个包含 Metro - X 服务器和 OpenGL 实现的软件包。与 Xi Graphics 的产品一样,Metrolink 的 OpenGL 也使用了从 SGI 获得许可的代码。
无论你使用哪种形式的 OpenGL,都可以相对轻松地创建 3D 图像。需要注意的是,视频卡的 OpenGL 支持与 X 支持是相互独立的。一张卡可能在 XFree86、Accelerated - X 或 Metro - X 中具有很好的 2D 支持,并且拥有出色的 3D 硬件,但可能没有 OpenGL 3D 支持。因此,如果你对 3D 加速很重要,必须同时检查 XFree86(或商业 X 服务器)和你选择的 OpenGL 实现的支持情况。
4. 视频 RAM
为了在显示器上显示图像,计算机需要向屏幕提供稳定的信息流。如今,大多数显示器在其使用的分辨率下的刷新率在 70Hz - 100Hz 之间,这意味着显示器的显示每秒会完全重绘 70 - 100 次。视频卡必须能够为显示器提供持续的数据流,因此它必须能够持续访问当前显示的图像。视频卡的一个重要作用是作为计算机和显示器之间的缓冲区,避免了让计算机 CPU 和视频硬件同时访问单个图像所带来的后勤难题。
4.1 视频 RAM 的类型
与主板上使用的内存类似,视频卡也有多种不同类型的 RAM,这些类型的 RAM 在速度特性上有所不同。常见的视频卡 RAM 类型包括:
-
FPM DRAM
:早期许多视频卡使用与当时主板上常见的相同的 FPM DRAM,但这种 RAM 无法满足当今视频显示设备的需求,已在视频卡上逐渐淘汰。
-
EDO DRAM
:曾在主板和视频卡上都有使用,但在大多数当前设计中已不再使用。
-
VRAM
:采用双端口设计,允许两个设备同时访问,这有助于视频芯片组和创建显示图像的电路同时访问 RAM。不过,VRAM 在当今的视频卡市场中已基本过时。
-
WRAM
:是专门为视频卡设计的 VRAM 变体,在现代视频卡中很少使用。
-
MDRAM
:由大量小组件组成,这种设计允许卡包含特定数量的 RAM,如 2.5MB。但 MDRAM 从未非常流行,如今在视频卡上很少见。
-
SDRAM
:这种内存技术不仅用于一些高性能视频板,也用于主板。
-
SGRAM
:与 SDRAM 类似,但允许块写入,这可以加快某些 3D 图形操作的速度。
其他内存技术正在开发中,因此这个列表未来可能会不断扩展。虽然视频卡中安装的内存类型会影响卡的性能,但内存类型并不是唯一重要的因素。总体而言,视频芯片组更为重要,特别是在 Linux 中,视频驱动程序的支持不能想当然。
4.2 所需的视频 RAM 量
在显示普通 2D 图像时,计算视频卡所需的视频 RAM 量很简单,可以使用以下公式:
[ M = \frac{xres \times yres \times bpp}{8,388,608} ]
其中,
xres
和
yres
是显示器的水平和垂直尺寸(例如 1024 和 768),
bpp
是每个像素的位数(通常为 8、16、24 或 32,分别对应 256、65,536、16,777,216 或 4,294,967,296 种颜色)。计算结果
M
是以兆字节为单位的所需 RAM 量。
以下是几种常见分辨率、颜色深度和所需视频 RAM 的组合:
| 分辨率 | 8 bpp | 16 bpp | 24 bpp | 32 bpp |
| — | — | — | — | — |
| 640×480 | 300KB | 600KB | 900KB | 1.2MB |
| 800×600 | 469KB | 938KB | 1.4MB | 1.8MB |
| 1024×768 | 768KB | 1.5MB | 2.3MB | 3.0MB |
| 1280×1024 | 1.3MB | 2.5MB | 3.8MB | 5.0MB |
| 1600×1200 | 1.8MB | 3.7MB | 5.5MB | 7.3MB |
你可能会注意到,许多视频卡广告中宣传的产品配备的 RAM 远远超过了即使是 1600×1200 像素高色彩深度显示所需的量。这是因为在处理 3D 图形时,视频卡需要承担大量的图像渲染任务,将原始数据(如对象大小、距离和光源)转换为要在显示器上显示的 2D 图像。这些任务计算量极大,需要大量的 RAM 来支持计算。视频卡必须能够存储有关对象特征、中间计算结果等各种信息。
一些视频卡即使在使用 2D 图形时也能从额外的 RAM 中受益。这些卡可以使用特殊的内存寻址模式来略微提高速度,或者可以同时存储多个屏幕的数据,从而允许你在不同屏幕之间快速切换。不过,其中一些功能需要 X 服务器的特殊支持,而这种支持可能并不存在。一个常见且经常得到支持的额外 RAM 用途是在虚拟 X 桌面中。你可以将 X 配置为显示一个比当前视频模式更大的桌面(例如,当你的显示器仅运行 800×600 时显示 1024×768),然后可以平移显示以查看大桌面的 800×600 部分。X 可以使用额外的视频内存来存储整个 1024×768 显示,使平移操作比在平移时必须重绘窗口和其他对象更加流畅。
如果你的视频卡内存没有完全用于当前显示分辨率,你可能会想通过增加位深度来利用这些 RAM。然而,不必要地增加颜色深度会减慢视频显示速度。此外,一些程序(如 WordPerfect 8 和 Netscape)在处理高色彩深度显示(特别是 24 位模式)时会出现问题(32 位有时也会导致问题)。对于大多数用户来说,16 位显示已经足够。8 位显示通常是不够的,因为 X 在分配颜色时并不节俭,8 位显示很快就会耗尽颜色,导致一些程序中的颜色选项不佳。
一些视频卡支持内存扩展,你可以购买配备少量 RAM 的卡,然后在以后扩展 RAM。然而,这些卡的 RAM 通常采用专有格式,因此除了卡的制造商之外,很难从其他地方购买 RAM,这导致即使视频卡已经过时,RAM 的价格仍然会大幅上涨。
如果你不打算大量使用 OpenGL 应用程序,那么没有必要在配备大量 RAM 的视频卡上花费额外的钱。对于除最大显示器之外的大多数情况,8MB 可能就足够了。如果你想使用 3D 图形程序,那么你可能需要为视频卡配备 32MB、64MB 甚至更多的 RAM。
5. XFree86
在购买视频卡时,任何决策都与 XFree86 密切相关。虽然 Linux 有其他 X 服务器,但 XFree86 随所有 Linux 发行版一起提供,而其他替代方案是商业产品。因此,依赖 XFree86 的替代方案通常在经济上不太合理,因为这会大幅增加 Linux 视频支持的成本。在大多数情况下,XFree86 已经足够。
5.1 XFree86 的基本设计
Linux 的 GUI 环境由多个不同的层组成,每个层的许多组件都可以被移除并替换为等效组件,而不会影响系统其他层的功能。这些层包括:
-
X 服务器
:包含在大多数操作系统中被称为视频驱动程序的部分。X 服务器可以针对特定的视频芯片组或芯片组家族编写(如 S3 的 ViRGE 系列芯片组的 XF86_S3V 服务器),也可以包含许多不相关芯片组的驱动程序(如 XF86_SVGA 服务器)。在确定视频硬件支持方面,X 服务器是 X 的最重要组件。
-
X 库
:X 程序通常依赖于程序库,这些库是对特定类型的任何程序都可能有用的例程。XFree86 包含了 X 程序所需的一组库。
-
窗口管理器
:控制屏幕上窗口的外观。不同的窗口管理器会创建不同外观的拖动条、调整大小控件等。窗口管理器还处理桌面(所有窗口所在的背景),通常包括通过弹出菜单启动程序的方式。作为用户,你可以为 Linux 选择数十种窗口管理器之一,你可以从 了解更多选择。
-
X 实用程序
:XFree86 附带了大量小工具程序,这些程序有助于使 X 成为一个可用的环境。例如,xterm 程序创建一个窗口,在其中可以运行基于文本的 Linux shell。
-
程序的 GUI 工具包
:与 Windows、OS/2 和 MacOS 的 GUI 环境不同,X 的 GUI 环境非常简洁。因此,出现了几个 GUI 工具包或小部件集,这些包为程序员提供了工具,使他们能够轻松显示和控制对话框、菜单和滚动条等功能。由于应用程序的程序员选择 GUI 工具包,这是 Linux GUI 中你作为最终用户无法修改的少数功能之一。
-
桌面环境
:自 20 世纪 90 年代后期以来,有两个项目致力于为 Linux 开发完整的桌面环境,即 K 桌面环境(KDE; GNU 网络对象模型环境(GNOME;。这些环境提供了一系列集成的应用程序,包括窗口管理器、文件管理器、帮助实用程序、类似 xterm 的程序等,目标是提供一个具有一致外观和感觉的单一用户友好环境。
大多数这些软件层的功能独立于你使用的 X 服务器和底层视频硬件。例如,只要 X 服务器支持视频卡,你可以在任何视频卡上使用任何 GUI 工具包、窗口管理器或桌面环境。然而,其中一些工具对视频硬件有一定的假设。具体来说,许多 X 程序在大显示尺寸(至少 800×600,有时为 1024×768)下工作最佳。使用较小的屏幕可能会导致控制窗口无法完全显示。X 的颜色分配模型在系统有许多可用颜色(16 位颜色深度或更高)时效果最佳。你可以使用功能较弱的显示器,但可能需要使用比物理屏幕更大的虚拟桌面,或者忍受较差的颜色选择。
5.2 找到合适的服务器
在安装 X 或在现有系统中安装新的视频卡时,你必须选择合适的服务器。在大多数 Linux 发行版中,每个服务器都作为单独的软件包提供。例如,在 Caldera OpenLinux 2.3 中,XF86_SVGA 服务器包含在 XFree86 - SVGA - 3.3.4 - 1.i386.rpm 文件中,该包仅包含 XF86_SVGA 程序文件和相关的手册页。
前面提到的常见视频芯片组列表中包含了支持许多这些芯片组的 X 服务器的信息。为了获取更具体的信息,你应该参考 XFree86 网页,特别是 上的信息。在这里你可以找到特定版本的 XFree86 的文档,其中包括特定视频卡芯片组的发布说明,你可以从中找到适合你的视频卡的服务器。
在某些情况下,你可能有选择使用两个不同的 XFree86 服务器的机会。例如,S3 ViRGE 系列中的许多芯片组可以使用 XF86_SVGA 服务器或 XF86_S3V 服务器。前者是一个多用途服务器,适用于许多最近的芯片组,而后者则专门针对 S3 ViRGE 系列。然而,更具体的服务器并不一定更好,XFree86 项目一直在将开发重点从单独的服务器转向单一的 XF86_SVGA 服务器,该服务器可能包含比特定芯片组服务器更好的加速功能或更多的特性。
如前所述,一些芯片组制造商为他们的产品开发了 XFree86 服务器,因此值得在显卡制造商和芯片组制造商的网站上搜索此类软件。此外,Linux 发行商 SuSE 积极为最近发布的产品开发 X 服务器,你可以在 了解更多信息。
5.3 为你的视频卡配置 XFree86
XFree86 的配置有时是一项神秘的工作,有时进展顺利,但有时会让人抓狂。如果运气好的话,Linux 在安装操作系统时会正确检测并配置你的显卡。然而,如果你在已经安装好的 Linux 系统中更换现有显卡,或者 Linux 在安装时未能正确识别你的显卡,那么你必须在安装后配置 XFree86。
有几个自动化工具可以帮助配置 X,这些工具的名称如 xf86config 或 XF86Setup。其中一些工具允许你通过在文本模式屏幕上回答一系列问题来配置 X,而另一些工具则尝试以最低通用的 VGA 模式启动 X,以便你可以使用 GUI 来配置 X。哪种工具对特定的显卡效果最佳并不固定,因此你可能需要尝试两个或更多的这些程序,才能获得有效的配置。你可以使用
ls
命令在
/usr/X11R6/bin
目录中搜索合适的文件名来检查系统上存在哪些工具,例如
ls /usr/X11R6/bin/*onfig*
。
如果你更换了视频卡,请务必配置你的系统,使其在使用新卡重新启动时不会自动启动 X。这可以通过编辑
/etc/inittab
文件来完成。具体来说,该文件中的一行内容类似于
id:5:initdefault:
,其中的数字(这里是 5)是运行级别,它表示系统运行的一组服务。在大多数 Linux 系统中,运行级别 5 对应于完整的 X 启动,而运行级别 3 则启动文本模式。不过,有些 Linux 版本使用不同的运行级别,并且
/etc/inittab
中通常会有注释解释详细信息。建议在更换视频卡时将运行级别设置为文本模式启动,然后通过运行
startx
测试新的 X 配置,当你对结果满意后,再将运行级别改回完整的 GUI 启动。如果不进行此更改,下次启动计算机时,X 可能会反复尝试启动但失败,导致你只能通过网络登录来使用计算机。
配置 XFree86 通常需要你输入显示器的详细规格,因此在开始配置之前,请确保手头有显示器的手册。如有必要,可以查看显示器制造商的网站或技术支持电话,以获取显示器能够处理的水平和垂直刷新率。
XFree86 的配置主要通过一个单一的配置文件 XF86Config 来完成,该文件通常位于
/etc
或
/etc/X11
目录中。与大多数 Linux 配置文件一样,它是纯文本文件,可以使用文本编辑器进行编辑。然而,手动定义其中包含的信息很困难,因此需要使用配置工具。
例如,你可以以 root 用户身份运行 xf86config 来配置 X,具体步骤如下:
1. 输入
xf86config
启动程序,它会显示一屏介绍信息,按 Enter 键继续。
2. 程序会显示几种鼠标协议,通过输入相应的数字选择你使用的鼠标类型,例如 4 代表 PS/2 鼠标。
3. 许多 X 程序假设鼠标有三个按钮,但并非所有鼠标都是如此。如果你的鼠标只有两个按钮,在
Emulate3Buttons
提示下选择
y
。
4. 程序会提示你输入鼠标的设备文件。在许多系统中,
/dev/mouse
是指向相应文件的链接,但在其他系统中,你可能需要输入其他文件名,如
/dev/ps2aux
用于 PS/2 鼠标,
/dev/ttyS0
用于第一个串行端口。
5. 从列表中选择你的键盘类型,方式与选择鼠标类似。
6. 输入显示器的水平同步范围,即显示器能够显示的水平频率范围。此信息通常印在显示器的手册中,或者你可以使用 xf86config 提供的相关分辨率和刷新率。例如,如果你知道你的显示器可以在 85Hz 下实现 1280×1024 分辨率,你可以选择选项 #10,即 31.5 - 95.0。
7. 输入垂直同步范围,这与水平同步范围类似,但它是一个不同的参数。从显示器的手册中获取此信息并输入。
8. 当程序要求输入显示器的一些标识信息时,你可以输入任何内容,只要不包含引号字符(“)即可。此信息仅用于使生成的 XF86Config 文件对人类更易理解。
9. 如果你愿意,可以查看视频卡数据库。建议查看此数据库,因为很有可能你会在其中找到你的视频卡,这可以简化配置过程。当你在数据库中找到你的卡时,输入其编号,xf86config 会显示摘要信息以确认你输入的信息正确。
10. 选择要使用的 X 服务器。在大多数情况下,这将是选项 #5,它会加载卡定义数据库中指定的服务器。不过,你也可以选择其他选项来覆盖此选择。
11. xf86config 会询问你是否要修改
/etc/X11/Xserver
文件,使其指向相应的服务器文件。在大多数情况下,你应该对此请求回答
y
。
12. 输入你的显卡上安装的 RAM 量。
13. 与显示器类似,xf86config 会提示你输入几个字符串来标识视频卡。
14. 对于一些(主要是较旧的)显卡,需要输入这些卡中使用的 RAMDAC(将视频卡 RAM 中存储的视频数据转换为显示器信号的组件)。如果你有较新的显卡,可以输入
q
跳过此步骤;否则,你必须找到并选择合适的 RAMDAC。
15. 与 RAMDAC 设置类似,时钟芯片设置对于大多数近期的主板来说不需要显式设置,按 Enter 键跳过设置此值。如果你有较旧的主板,则必须找到此信息。
16. xf86config 可以探测显卡的时钟设置。对于大多数显卡,此步骤既不必要也不推荐,因此输入
n
指示程序不进行此操作。对于一些较旧的显卡,你应该选择
y
。
17. 设置默认和其他支持的分辨率。在屏幕顶部,你会看到一系列颜色深度和相关的分辨率。你可以依次为每个颜色深度输入其对应的数字来设置默认分辨率。当你输入数字时,你会看到一系列支持的分辨率的数字代码,例如 4 代表 1024×768,5 代表 1280×1024。为每个视频模式输入一串数字。例如,输入
54
表示 1280×1024 是默认模式,但服务器也支持 1024×768。对每个颜色深度重复此过程。
18. 作为最后的安全检查,xf86config 会询问你是否确认要覆盖现有的 XF86Config 文件。如果你回答
y
,则旧文件将被新文件替换。
当你完成编写新的 XF86Config 文件后,如果你处于文本模式,可以通过输入
startx
来测试结果。(如果你在 X 环境中重新配置了 X,则需要先退出 X。)如果运气好的话,X 将正常启动。如果出现问题,你会在文本输出的最后几行看到错误消息。这些错误消息可能比较晦涩,但它们会指向 XF86Config 文件中的错误。最常见的问题之一是当你为显示器指定了不正确的水平或垂直刷新率能力时,如果 X 认为你的显示器无法处理你想要的任何分辨率,它将拒绝运行,以避免损坏显示器。另一个问题与鼠标设备文件有关,如果该文件不存在或指向不存在的硬件,X 将无法运行,或者运行时没有鼠标指针可用。
如果你的初始配置不起作用,建议备份 XF86Config 文件并运行不同的 X 配置工具。一个配置工具在另一个工具失败的情况下成功是很常见的。即使两个工具都失败了,你也可以从不同的错误消息和 XF86Config 文件的细节中学习到足够的信息,从而组合出一个有效的 XF86Config 文件。
除了运行新的 X 配置工具之外,你还可以直接编辑 XF86Config 文件。由大多数配置工具创建的该文件有详细的注释,你可以在其中找到与 xf86config 配置工具询问你的每个问题相对应的行。你还会找到包含 modelines(显示器详细定时规格)的行。
你可能想要对 XF86Config 文件进行的一个修改是调整默认颜色深度。X 默认使用 8 位颜色,这对于大多数用户来说是不够的。在 XF86Config 文件的末尾附近,你会找到一个或多个以关键字
Section "Screen"
开头的部分。找到包含你输入到 xf86config 中的显示器信息的部分,并在第一个显示子部分之前添加以下行:
DefaultColorDepth 16
如果你愿意,你可以将颜色深度从 16 更改为 24 或 32,但一些程序在这些深度下会出现问题,特别是 24 位。(这个问题应该在 XFree86 4.0 中得到修复。)
6. 商业 X 服务器
在大多数情况下,XFree86 对于 Linux 用户来说是一个完全足够的 X 服务器。然而,有两个商业 X 服务器与 XFree86 竞争,在某些情况下,使用其中一个服务器可能是可取的。
6.1 商业 X 服务器选项
- Accelerated - X :由 Xi Graphics(,被认为是许多视频卡可用的最快的 X 服务器之一。Xi Graphics 比 XFree86 团队更快地为新视频卡添加支持。还有一个支持 OpenGL 3D API 的 Accelerated - X 版本。Accelerated - X 的一个独特特性是它允许程序以与屏幕实际设置不匹配的位深度运行。例如,当屏幕实际设置为 24 位或 32 位时,Accelerated - X 可以告诉一个在 16 位每像素下工作最佳的程序它正在以该深度运行。
- Metro - X :来自 MetroLink(,通常不如 Accelerated - X 快。该服务器的特点是支持触摸屏、多屏幕配置和 3D 输入设备。
你可以在它们各自的网站上找到关于这两个服务器的更多信息,包括它们支持的视频卡。Accelerated - X 有一个演示版本,因此如果你想评估它是否适合你的系统,可以在你的硬件上进行测试。
6.2 何时考虑使用商业服务器
大多数用户不需要商业 X 服务器。即使你有一张 Metro - X 或 Accelerated - X 支持但 XFree86 不支持的视频卡,除非该卡非常昂贵,否则商业服务器的成本可能不会比新视频卡的成本低多少。然而,在某些情况下,购买商业 X 服务器可能是有意义的:
- 你需要某些 XFree86 不支持但商业 X 服务器支持的功能,如触摸屏显示。
- 你从事严肃的 OpenGL 工作,并且发现 Mesa 不够用。由于 Xi Graphics 和 MetroLink 的 OpenGL 实现都随其 X 服务器一起提供,因此为了实现 X 服务器和 OpenGL 之间的最大兼容性,你不妨使用商业 X 服务器。
- 你有一张昂贵的视频卡,XFree86 不支持它,或者在 XFree86 下性能不佳。当然,只有当商业服务器比 XFree86 更好地支持你的卡时,这个理由才成立。
总结
在 Linux 下选择和配置视频卡可能相当棘手。虽然有关于 XFree86 与各种视频卡和芯片组兼容性的信息,但可能难以找到。甚至识别一块板使用的芯片组也可能很困难,因为制造商有时会向客户隐瞒这些信息。由于视频卡市场变化如此之快,XFree86 往往落后于高端视频设备的最新发展。当你拥有一张视频卡时,如果你的 Linux 安装不能正确处理该卡,配置可能会很繁琐。
幸运的是,尽管视频卡市场对于 Linux 用户来说难以驾驭,但大多数视频卡都能在 Linux 下得到支持。关键在于找到必要的信息,一些关键的网站在这方面非常有用。希望通过本文的介绍,你能更好地了解视频卡的相关知识,从而在 Linux 系统中做出更合适的选择。
Linux 视频卡选购与配置指南
7. 操作流程总结
为了更清晰地展示在 Linux 系统中选购和配置视频卡的流程,下面通过 mermaid 流程图和操作步骤列表进行总结。
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px
A([开始选购视频卡]):::startend --> B{确定需求}:::decision
B -->|日常办公、轻度娱乐| C(考虑中低端视频卡):::process
B -->|3D 游戏、专业图形处理| D(考虑高端视频卡):::process
C --> E{选择主板总线类型}:::decision
D --> E
E -->|旧计算机| F(ISA 或 VL - Bus):::process
E -->|一般需求| G(PCI):::process
E -->|高端需求| H(AGP):::process
F --> I(识别芯片组):::process
G --> I
H --> I
I --> J{芯片组是否支持 XFree86}:::decision
J -->|是| K(选择合适的 X 服务器):::process
J -->|否| L(考虑商业 X 服务器或更换视频卡):::process
K --> M(确定视频 RAM 需求):::process
L --> M
M --> N(购买视频卡):::process
N --> O(安装视频卡):::process
O --> P(配置 XFree86):::process
P --> Q([完成配置]):::startend
操作步骤列表
:
1.
确定需求
:根据自己的使用场景,如日常办公、轻度娱乐、3D 游戏或专业图形处理,确定对视频卡性能的需求。
2.
选择主板总线类型
:
- 旧计算机可考虑 ISA 或 VL - Bus 总线的视频卡。
- 一般需求可选择 PCI 总线的视频卡。
- 高端需求建议选择 AGP 总线的视频卡。
3.
识别芯片组
:通过杂志评测、Linux /proc/pci 文件、lspci 命令、SuperProbe 程序等方法识别视频卡的芯片组。
4.
检查芯片组与 XFree86 的兼容性
:
- 若芯片组支持 XFree86,选择合适的 X 服务器。
- 若不支持,考虑使用商业 X 服务器或更换视频卡。
5.
确定视频 RAM 需求
:根据使用场景和分辨率要求,确定视频卡所需的 RAM 量。
6.
购买视频卡
:根据前面的步骤,选择合适的视频卡进行购买。
7.
安装视频卡
:将视频卡安装到计算机中。
8.
配置 XFree86
:
- 使用自动化工具(如 xf86config 或 XF86Setup)进行配置。
- 若初始配置失败,备份 XF86Config 文件并尝试不同的配置工具,或直接编辑 XF86Config 文件。
8. 常见问题及解决方法
在 Linux 系统中使用视频卡时,可能会遇到一些常见问题,以下是这些问题及相应的解决方法。
| 问题描述 | 可能原因 | 解决方法 |
|---|---|---|
| X 无法启动 | 显示器刷新率设置不正确、鼠标设备文件问题、X 服务器选择错误 | 检查显示器手册,正确设置水平和垂直刷新率;确保鼠标设备文件存在且指向正确的硬件;重新选择合适的 X 服务器 |
| 视频显示速度慢 | 颜色深度设置过高、视频卡 RAM 不足 | 降低颜色深度,如将 24 位或 32 位改为 16 位;若 RAM 不足,考虑升级视频卡或添加额外的 RAM |
| 颜色显示异常 | 8 位显示颜色分配不足、程序不支持高颜色深度 | 提高颜色深度到 16 位;若程序不支持高颜色深度,尝试降低颜色深度 |
| 3D 图形显示不正常 | 显卡芯片组不支持 3D 效果、OpenGL 实现不兼容 | 检查显卡芯片组是否支持所需的 3D 效果;更换合适的 OpenGL 实现,如从 Mesa 更换为商业 X 服务器附带的 OpenGL 实现 |
9. 性能优化建议
为了在 Linux 系统中获得更好的视频卡性能,可参考以下优化建议。
-
合理设置颜色深度
:对于大多数用户,16 位颜色深度已经足够,避免不必要地设置过高的颜色深度,以免影响视频显示速度。
-
优化 X 服务器配置
:根据显卡芯片组的特点,选择最合适的 X 服务器。例如,对于一些特定的芯片组,使用专门的服务器可能会获得更好的性能。
-
定期更新驱动程序
:关注显卡制造商和芯片组制造商的网站,及时更新 X 服务器和驱动程序,以获得更好的兼容性和性能。
-
合理分配视频 RAM
:根据实际使用需求,合理分配视频卡的 RAM。如果不使用 3D 图形程序,不需要为视频卡配备过多的 RAM;如果需要使用 3D 图形程序,则应确保视频卡有足够的 RAM。
10. 未来趋势展望
随着技术的不断发展,Linux 系统下的视频卡市场也在不断变化。未来可能会出现以下趋势。
-
更高的性能和兼容性
:随着 XFree86 等开源项目的不断发展,Linux 对视频卡的支持将越来越完善,视频卡的性能也将不断提高。同时,更多的显卡制造商将重视 Linux 市场,提供更好的驱动程序和支持。
-
集成化和智能化
:越来越多的主板将集成高性能的视频支持,减少对独立视频卡的需求。此外,视频卡将变得更加智能化,能够自动调整性能以适应不同的使用场景。
-
3D 图形和虚拟现实的发展
:随着 3D 图形和虚拟现实技术的不断发展,对视频卡的性能要求将越来越高。未来的视频卡将能够更好地支持这些技术,为用户带来更加逼真的视觉体验。
总结
在 Linux 系统中选择和配置视频卡是一个复杂的过程,需要考虑多个因素,如主板总线类型、视频芯片组、3D 支持、视频 RAM 以及 XFree86 配置等。虽然这个过程可能会遇到一些困难,但通过仔细研究和正确的操作,大多数用户都能够找到适合自己的视频卡,并在 Linux 系统中获得良好的视觉体验。希望本文提供的信息和建议能够帮助你在 Linux 系统中更好地使用视频卡。
版权声明:本文标题:Linux下的多媒体盛宴:构建高效视频卡系统 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.betaflare.com/web/1770582892a3256249.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论