Xorg/Hardware 3D acceleration guide/ru

Этот документ является руководством по настройке аппаратного 3D-ускорения с помощью DRM и Xorg в Gentoo Linux.

Что такое аппаратное 3D-ускорение и зачем оно нужно?
При наличии аппаратного 3D-ускорения для создания трёхмерных изображений используется графический процессор на видеокарте заместо использования ценных ресурсов процессора. Обработка 3D на процессоре также называется "аппаратным ускорением", а не "программным ускорением", поскольку без аппаратного 3D ускорителя ЦП вынужден отрисовывать всё самостоятельно, используя библиотеки Mesa, которые потребляют совсем немного вычислительной мощности. Xorg поддерживает аппаратное 2D-ускорение, но ему часто недостаёт аппаратного 3D-ускорения. Трёхмерное аппаратное ускорение полезно в случаях, требующих прорисовки 3D-графики, например, в играх, 3D CAD и моделировании.

How do I get hardware 3D acceleration?
In many cases, both binary and open-source drivers exist. Open source drivers are preferable since we're using Linux and open source is one of its underlying principles. Sometimes, binary drivers are the only option, especially if your graphics card is so new that open source drivers have not yet been written to support its features. Binary drivers include for nVidia cards and  for AMD/ATI cards.

Что такое DRI?
The Direct Rendering Infrastructure, also known as the DRI, is a framework for allowing direct access to graphics hardware in a safe and efficient manner. It includes changes to the X server, to several client libraries and to the kernel. The first major use for the DRI is to create fast OpenGL implementations.

What is the DRM and how does it relate to regular Xorg?
The DRM (Direct Rendering Manager) is an enhancement to Xorg that adds 3D acceleration for cards by adding the kernel module necessary for direct rendering.

Purpose
This guide is for people who can't get direct rendering working with just Xorg. The DRM works for the following drivers:


 * 3dfx
 * intel
 * matrox
 * nouveau
 * rage128
 * radeon
 * mach64
 * sis300
 * via

See the DRI homepage for more info and documentation.

Установка Xorg
Please read our Xorg Configuration Guide to get Xorg up and running.

Настройка ядра
Probe for your chipset and enable just that one.

Your output may not match the above due to different hardware.

If your chipset is not supported by the kernel you might have some success by passing  as a kernel parameter. This will use Intel's generic routines for AGP support. To add this parameter, edit your bootloader configuration file!

Most, if not all, kernels should have these options. This was configured using a standard kernel.

Make sure links to your current kernel.

Компиляция и установка ядра
Don't forget to set up or  and run   if you use LILO.

Добавление пользователя в группу video
Next, add your user(s) to the video group, as explained in the handbook:

Configure Xorg
Hopefully just adding your user to the  group is sufficient to enable direct rendering. However, you may also need to create a file in. You can name it anything you like; just make sure it ends in. Open up your favorite text editor and create a file with this inside it:

Replace radeon with the name of your driver.

Changes to /etc/conf.d/modules
You will need to add the module name that your card uses to to ensure that the module is loaded automatically when the system starts up.

Reboot to the new kernel
Reboot your computer to your new kernel and login as a normal user. It's time to see if you have direct rendering and how good it is. and  are part of the  package, so make sure it is installed before you attempt to run these commands.

No need to load modules for your driver or agpgart, even if you compiled them as a module. They will be loaded automatically.

If it says "No", you don't have 3D acceleration.

Test your frames per second (FPS) at the default size. The number should be significantly higher than before configuring DRM. Do this while the CPU is as idle as possible.

Get the most out of direct rendering
If you want to set more features, for performance or other reasons, check out the feature matrix on the DRI web site or the features listing on Sourceforge.

It doesn't work. I don't have rendering, and I can't tell why.
Try  before you start the X server (replace   with the name of your driver). Also, try building agpgart into the kernel instead of as a module.

When I startx, I get this error: "[drm] failed to load kernel module agpgart"
That's because you compiled agpgart into the kernel instead of as a module. Ignore it unless you're having problems.

I have a Radeon, and I want TV-Out.
The drivers originally developed by the GATOS project have been merged into Xorg's codebase. You don't need anything special for TV-Out; will work just fine.

It doesn't work. My card is so incredibly new and cool that it isn't supported at all.
Try out the binary drivers. For AMD cards, use ; a listing is at http://support.amd.com/us/gpudownload/Pages/index.aspx. If those don't support it, use fbdev. It's slow, but it works.

I have a PCI card and it doesn't work. Help!
Create a config file in ; name it anything you want as long as it ends in. Add the following to it:

Ссылки

 * Direct rendering (DRI) using X11-DRM HOWTO on the Gentoo forums
 * Radeon 7000-9700 DRI CVS Install Guide on the Gentoo forums
 * http://dri.freedesktop.org/