После обновления компьютера с Centos3 до Centos5 приложение, выполняющее много прокрутки, сильно снизило производительность. top
говорит мне, что X использует много CPU, а этого раньше не происходило. На машине установлен ATI Rage XL с 8 МБ, и X использует драйвер ati, поскольку в Linux нет проприетарного драйвера ATI для этой платы.
Файл xorg.conf:
Section "Device"
Identifier "Videocard0"
Driver "ati"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Videocard0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1024x768" "800x600" "640x480"
EndSubSection
EndSection
Section "DRI"
Group 0
Mode 0666
EndSection
Аналогичная машина, на которой все еще установлен Centos3, может запускать DRI на X-сервере, в то время как эта - нет, это журнал Xorg.0.log для машины Centos5:
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (No such device or address)
drmOpenDevice: open result is -1, (No such device or address)
drmOpenDevice: Open failed
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (No such device or address)
drmOpenDevice: open result is -1, (No such device or address)
drmOpenDevice: Open failed
[drm] failed to load kernel module "mach64"
(II) ATI(0): [drm] drmOpen failed
(EE) ATI(0): [dri] DRIScreenInit Failed
(II) ATI(0): Largest offscreen areas (with overlaps):
(II) ATI(0): 1024 x 1279 rectangle at 0,768
(II) ATI(0): 768 x 1280 rectangle at 0,768
(II) ATI(0): Using XFree86 Acceleration Architecture (XAA)
Screen to screen bit blits
Solid filled rectangles
8x8 mono pattern filled rectangles
Indirect CPU to Screen color expansion
Solid Lines
Offscreen Pixmaps
Setting up tile and stipple cache:
32 128x128 slots
10 256x256 slots
(==) ATI(0): Backing store disabled
(==) ATI(0): Silken mouse enabled
(II) ATI(0): Direct rendering disabled
(==) RandR enabled
Я также пробовал использовать EXA вместо XAA и установил:
Option "AccelMethod" "XAA"
Option "XAANoOffscreenPixmaps" "true"
uname -a
Linux sir5.erg.inpe.br 2.6.18-128.7.1.el5 #1 SMP Mon Aug 24 08:20:55 EDT 2009 i686 i686 i386 GNU/Linux
rpm -qa | grep xorg-x11-server
xorg-x11-server-utils-7.1-4.fc6
xorg-x11-server-sdk-1.1.1-48.52.el5
xorg-x11-server-Xvfb-1.1.1-48.52.el5
xorg-x11-server-Xnest-1.1.1-48.52.el5
xorg-x11-server-Xorg-1.1.1-48.52.el5
Ошибка drmOpenDevice продолжается при использовании предложенного Option "AIGLX" "true"
.
Я не вижу драйверов DRI для чего-либо старше ATI Rage 128 в CentOS 5, поэтому драйвер ATI может быть в значительной степени неусиленным. Вместо этого вы можете попробовать драйвер VESA и посмотреть, поддерживается ли карта таким образом.
Для некоторых карт ATI требуются проприетарные драйверы, которые можно загрузить с Веб-сайт AMD. Часто это означает очень низкую производительность от X до тех пор, пока вы не установите драйверы.
Вам также необходимо обновлять драйвер каждый раз, когда вы обновляете ядро.
попробуйте добавить в xorg.conf следующее:
Section "ServerFlags"
Option "AIGLX" "true"
EndSection