xorg performance issue

Torsten Jager t.jager at gmx.de
Wed Mar 30 10:08:22 PDT 2011


Hello,

I'm Torsten from Germany. There is a nasty issue I don't know who to
ask about. Maybe you can help.

Fall 2010, I exchanged my PC mainboard (AMD athlon 1400) with a
supposedly better one (AMD athlon II X2 240e, nvidia 7025/630a).
In fact, it is way faster and consumes only half as much power :)

At first I was using it with still installed OpenSUSE 10.3 and
nvidia driver 256.44, without major problems.
I could play full HD 1080p30 video with a surprisingly low processor load
(xine 45~55%, Xorg about 5%) in both xshm and accelerated vx modes.
Very nice.

Then there was the idea of digital satellite TV, causing me to upgrade
to OpenSuse 11.3. Suddenly there came a totally unexpected issue.

How it shows:
  In about 2 of 3 cases X server starts with a much higher processor load.
  With the above HD example, Xorg consumes more than 50%, causing
  an awful lot of frame dropping and playback stuttering.
  Processor load drops when video window is partly covered by some other
  window. Xv is also a bit better than xshm, but not much.
  In the good case, everything works fine just as with old sys.
  The status of the issue remains consistent throughout the entire X session.
  Strange: none of the common logs from kernel and X reflect the difference??

I tried these without really changing much:
  * Switched nvidia drivers to 260 and even 270 beta.
  * Added option "AllowSHMPixmaps" "on".
  * Disabled composite extension.
  * Tried with and without display gamma.
  * Upgraded to Xorg 7.6.
  * Upgraded libpixman to 0.21.6.
  * Tried both kdm and plain window managers.
  * Disabled grub splash gfx.
  * Disabled kernel vga mode.
  * Tried different bios settings for gfx mem size (up to 256Mb).

What seems to help for one session:
  init 3, reinstall nvidia driver, init 5.

What seems to increase the chance of the good case:
  reload nvidia kernel module before starting X.

Xorg.0.log:

[   124.673] 
X.Org X Server 1.9.3
Release Date: 2010-12-13
[   124.673] X Protocol Version 11, Revision 0
[   124.673] Build Operating System: Linux 2.6.34-12-default i686 
[   124.673] Current Operating System: Linux torsten-linux 2.6.34-12-default #1 SMP 2010-06-29 02:39:08 +0200 i686
[   124.673] Kernel command line: root=/dev/disk/by-id/ata-ST360014A_3JV1XV7Z-part8 resume=/dev/disk/by-id/ata-ST360014A_3JV1XV7Z-part6 splash=silent quiet showopts
[   124.673] Build Date: 24 March 2011  01:46:31PM
[   124.673]  
[   124.673] Current version of pixman: 0.21.6
[   124.673] 	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
[   124.673] Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[   124.674] (==) Log file: "/usr/local/var/log/Xorg.0.log", Time: Wed Mar 30 14:30:14 2011
[   124.674] (==) Using config file: "/etc/X11/xorg.conf"
[   124.674] (==) Using config directory: "/etc/X11/xorg.conf.d"
[   124.674] (==) Using system config directory "/usr/local/share/X11/xorg.conf.d"
[   124.674] (==) ServerLayout "Layout0"
[   124.674] (**) |-->Screen "Screen0" (0)
[   124.674] (**) |   |-->Monitor "Monitor0"
[   124.674] (**) |   |-->Device "Device0"
[   124.674] (**) |-->Input Device "Keyboard0"
[   124.674] (**) |-->Input Device "Mouse0"
[   124.674] (**) Option "Xinerama" "0"
[   124.674] (==) Automatically adding devices
[   124.674] (==) Automatically enabling devices
[   124.675] (==) FontPath set to:
	/usr/local/share/fonts/X11/misc/,
	/usr/local/share/fonts/X11/TTF/,
	/usr/local/share/fonts/X11/OTF/,
	/usr/local/share/fonts/X11/Type1/,
	/usr/local/share/fonts/X11/100dpi/,
	/usr/local/share/fonts/X11/75dpi/
[   124.675] (==) ModulePath set to "/usr/local/lib/xorg/modules"
[   124.675] (**) Extension "Composite" is enabled
[   124.675] (WW) AllowEmptyInput is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.
[   124.675] (WW) Disabling Keyboard0
[   124.675] (WW) Disabling Mouse0
[   124.675] (II) Loader magic: 0x81f6c00
[   124.675] (II) Module ABI versions:
[   124.675] 	X.Org ANSI C Emulation: 0.4
[   124.675] 	X.Org Video Driver: 8.0
[   124.675] 	X.Org XInput driver : 11.0
[   124.675] 	X.Org Server Extension : 4.0
[   124.675] (--) PCI:*(0:0:13:0) 10de:03d6:1849:03d6 rev 162, Mem @ 0xfa000000/16777216, 0xe0000000/268435456, 0xf9000000/16777216, BIOS @ 0x????????/131072
[   124.675] (II) Open ACPI successful (/var/run/acpid.socket)
[   124.675] (II) LoadModule: "extmod"
[   124.676] (II) Loading /usr/local/lib/xorg/modules/extensions/libextmod.so
[   124.676] (II) Module extmod: vendor="X.Org Foundation"
[   124.676] 	compiled for 1.9.3, module version = 1.0.0
[   124.676] 	Module class: X.Org Server Extension
[   124.676] 	ABI class: X.Org Server Extension, version 4.0
[   124.676] (II) Loading extension MIT-SCREEN-SAVER
[   124.676] (II) Loading extension XFree86-VidModeExtension
[   124.676] (II) Loading extension XFree86-DGA
[   124.676] (II) Loading extension DPMS
[   124.676] (II) Loading extension XVideo
[   124.677] (II) Loading extension XVideo-MotionCompensation
[   124.677] (II) Loading extension X-Resource
[   124.677] (II) LoadModule: "dbe"
[   124.677] (II) Loading /usr/local/lib/xorg/modules/extensions/libdbe.so
[   124.677] (II) Module dbe: vendor="X.Org Foundation"
[   124.677] 	compiled for 1.9.3, module version = 1.0.0
[   124.677] 	Module class: X.Org Server Extension
[   124.677] 	ABI class: X.Org Server Extension, version 4.0
[   124.677] (II) Loading extension DOUBLE-BUFFER
[   124.677] (II) LoadModule: "glx"
[   124.678] (II) Loading /usr/local/lib/xorg/modules/extensions/libglx.so
[   124.700] (II) Module glx: vendor="NVIDIA Corporation"
[   124.700] 	compiled for 4.0.2, module version = 1.0.0
[   124.700] 	Module class: X.Org Server Extension
[   124.700] (II) NVIDIA GLX Module  270.26  Mon Feb 14 01:46:45 PST 2011
[   124.700] (II) Loading extension GLX
[   124.700] (II) LoadModule: "record"
[   124.701] (II) Loading /usr/local/lib/xorg/modules/extensions/librecord.so
[   124.701] (II) Module record: vendor="X.Org Foundation"
[   124.701] 	compiled for 1.9.3, module version = 1.13.0
[   124.701] 	Module class: X.Org Server Extension
[   124.701] 	ABI class: X.Org Server Extension, version 4.0
[   124.701] (II) Loading extension RECORD
[   124.701] (II) LoadModule: "dri"
[   124.701] (II) Loading /usr/local/lib/xorg/modules/extensions/libdri.so
[   124.702] (II) Module dri: vendor="X.Org Foundation"
[   124.702] 	compiled for 1.9.3, module version = 1.0.0
[   124.702] 	ABI class: X.Org Server Extension, version 4.0
[   124.702] (II) Loading extension XFree86-DRI
[   124.702] (II) LoadModule: "dri2"
[   124.702] (II) Loading /usr/local/lib/xorg/modules/extensions/libdri2.so
[   124.702] (II) Module dri2: vendor="X.Org Foundation"
[   124.702] 	compiled for 1.9.3, module version = 1.2.0
[   124.702] 	ABI class: X.Org Server Extension, version 4.0
[   124.702] (II) Loading extension DRI2
[   124.702] (II) LoadModule: "nvidia"
[   124.702] (II) Loading /usr/local/lib/xorg/modules/drivers/nvidia_drv.so
[   124.703] (II) Module nvidia: vendor="NVIDIA Corporation"
[   124.703] 	compiled for 4.0.2, module version = 1.0.0
[   124.703] 	Module class: X.Org Video Driver
[   124.703] (II) NVIDIA dlloader X Driver  270.26  Mon Feb 14 01:30:42 PST 2011
[   124.703] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[   124.703] (++) using VT number 7

[   124.710] (II) Loading sub module "fb"
[   124.710] (II) LoadModule: "fb"
[   124.710] (II) Loading /usr/local/lib/xorg/modules/libfb.so
[   124.710] (II) Module fb: vendor="X.Org Foundation"
[   124.710] 	compiled for 1.9.3, module version = 1.0.0
[   124.710] 	ABI class: X.Org ANSI C Emulation, version 0.4
[   124.710] (II) Loading sub module "wfb"
[   124.710] (II) LoadModule: "wfb"
[   124.711] (II) Loading /usr/local/lib/xorg/modules/libwfb.so
[   124.711] (II) Module wfb: vendor="X.Org Foundation"
[   124.711] 	compiled for 1.9.3, module version = 1.0.0
[   124.711] 	ABI class: X.Org ANSI C Emulation, version 0.4
[   124.711] (II) Loading sub module "ramdac"
[   124.711] (II) LoadModule: "ramdac"
[   124.711] (II) Module "ramdac" already built-in
[   124.711] (**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
[   124.711] (==) NVIDIA(0): RGB weight 888
[   124.711] (==) NVIDIA(0): Default visual is TrueColor
[   124.711] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[   124.711] (**) NVIDIA(0): Option "TwinView" "0"
[   124.711] (**) NVIDIA(0): Option "MetaModes" "1024x768_60 +0+0"
[   124.711] (**) NVIDIA(0): Option "TwinViewXineramaInfoOrder" "CRT-0"
[   124.711] (**) NVIDIA(0): Option "AllowSHMPixmaps" "on"
[   125.134] (WW) NVIDIA(GPU-0): Unable to read EDID for display device CRT-0
[   125.135] (II) NVIDIA(0): NVIDIA GPU GeForce 7025 / nForce 630a (C61) at PCI:0:13:0
[   125.135] (II) NVIDIA(0):     (GPU-0)
[   125.135] (--) NVIDIA(0): Memory: 524288 kBytes
[   125.135] (--) NVIDIA(0): VideoBIOS: 05.61.32.28.01
[   125.135] (--) NVIDIA(0): Interlaced video modes are supported on this GPU
[   125.135] (--) NVIDIA(0): Connected display device(s) on GeForce 7025 / nForce 630a at
[   125.135] (--) NVIDIA(0):     PCI:0:13:0
[   125.135] (--) NVIDIA(0):     CRT-0
[   125.135] (--) NVIDIA(0): CRT-0: 350.0 MHz maximum pixel clock
[   125.135] (II) NVIDIA(0): Assigned Display Device: CRT-0
[   125.135] (II) NVIDIA(0): Validated modes:
[   125.135] (II) NVIDIA(0):     "1024x768_60+0+0"
[   125.135] (II) NVIDIA(0): Virtual screen size determined to be 1024 x 768
[   125.136] (WW) NVIDIA(0): Unable to get display device CRT-0's EDID; cannot compute DPI
[   125.136] (WW) NVIDIA(0):     from CRT-0's EDID.
[   125.136] (**) NVIDIA(0): DPI set to (84, 84); computed from "DisplaySize" Monitor
[   125.136] (**) NVIDIA(0):     section option
[   125.136] (--) Depth 24 pixmap format is 32 bpp
[   125.139] (II) NVIDIA(0): Setting mode "1024x768_60+0+0"
[   125.249] (II) Loading extension NV-GLX
[   125.269] (==) NVIDIA(0): Backing store disabled
[   125.269] (==) NVIDIA(0): Silken mouse enabled
[   125.269] (**) NVIDIA(0): DPMS enabled
[   125.269] (II) Loading extension NV-CONTROL
[   125.269] (II) Loading extension XINERAMA
[   125.269] (II) Loading sub module "dri2"
[   125.269] (II) LoadModule: "dri2"
[   125.270] (II) Reloading /usr/local/lib/xorg/modules/extensions/libdri2.so
[   125.270] (II) NVIDIA(0): [DRI2] Setup complete
[   125.270] (==) RandR enabled
[   125.270] (II) Initializing built-in extension Generic Event Extension
[   125.270] (II) Initializing built-in extension SHAPE
[   125.270] (II) Initializing built-in extension MIT-SHM
[   125.270] (II) Initializing built-in extension XInputExtension
[   125.270] (II) Initializing built-in extension XTEST
[   125.270] (II) Initializing built-in extension BIG-REQUESTS
[   125.270] (II) Initializing built-in extension SYNC
[   125.270] (II) Initializing built-in extension XKEYBOARD
[   125.270] (II) Initializing built-in extension XC-MISC
[   125.270] (II) Initializing built-in extension XINERAMA
[   125.270] (II) Initializing built-in extension XFIXES
[   125.270] (II) Initializing built-in extension RENDER
[   125.270] (II) Initializing built-in extension RANDR
[   125.270] (II) Initializing built-in extension COMPOSITE
[   125.270] (II) Initializing built-in extension DAMAGE
[   125.272] (II) Initializing extension GLX
[   125.406] (II) config/hal: Adding input device ImExPS/2 Generic Explorer Mouse
[   125.407] (**) ImExPS/2 Generic Explorer Mouse: Applying InputClass "evdev pointer catchall"
[   125.407] (II) LoadModule: "evdev"
[   125.407] (II) Loading /usr/local/lib/xorg/modules/input/evdev_drv.so
[   125.407] (II) Module evdev: vendor="X.Org Foundation"
[   125.407] 	compiled for 1.9.3, module version = 2.5.0
[   125.407] 	Module class: X.Org XInput Driver
[   125.407] 	ABI class: X.Org XInput driver, version 11.0
[   125.407] (**) ImExPS/2 Generic Explorer Mouse: always reports core events
[   125.407] (**) ImExPS/2 Generic Explorer Mouse: Device: "/dev/input/event1"
[   125.416] (--) ImExPS/2 Generic Explorer Mouse: Found 9 mouse buttons
[   125.416] (--) ImExPS/2 Generic Explorer Mouse: Found scroll wheel(s)
[   125.416] (--) ImExPS/2 Generic Explorer Mouse: Found relative axes
[   125.416] (--) ImExPS/2 Generic Explorer Mouse: Found x and y relative axes
[   125.416] (II) ImExPS/2 Generic Explorer Mouse: Configuring as mouse
[   125.416] (**) ImExPS/2 Generic Explorer Mouse: YAxisMapping: buttons 4 and 5
[   125.416] (**) ImExPS/2 Generic Explorer Mouse: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[   125.416] (II) XINPUT: Adding extended input device "ImExPS/2 Generic Explorer Mouse" (type: MOUSE)
[   125.416] (**) ImExPS/2 Generic Explorer Mouse: (accel) keeping acceleration scheme 1
[   125.417] (**) ImExPS/2 Generic Explorer Mouse: (accel) acceleration profile 0
[   125.417] (**) ImExPS/2 Generic Explorer Mouse: (accel) acceleration factor: 2.000
[   125.417] (**) ImExPS/2 Generic Explorer Mouse: (accel) acceleration threshold: 4
[   125.417] (II) ImExPS/2 Generic Explorer Mouse: initialized for relative axes.
[   125.434] (II) config/hal: Adding input device AT Translated Set 2 keyboard
[   125.434] (**) AT Translated Set 2 keyboard: Applying InputClass "evdev keyboard catchall"
[   125.434] (**) AT Translated Set 2 keyboard: Applying InputClass "LocalKeyboard"
[   125.434] (**) AT Translated Set 2 keyboard: always reports core events
[   125.434] (**) AT Translated Set 2 keyboard: Device: "/dev/input/event0"
[   125.444] (--) AT Translated Set 2 keyboard: Found keys
[   125.444] (II) AT Translated Set 2 keyboard: Configuring as keyboard
[   125.444] (II) XINPUT: Adding extended input device "AT Translated Set 2 keyboard" (type: KEYBOARD)
[   125.444] (**) Option "xkb_rules" "evdev"
[   125.444] (**) Option "xkb_model" "evdev"
[   125.444] (**) Option "xkb_layout" "de"
[   125.444] (**) Option "xkb_variant" "nodeadkeys"
[   125.495] (II) config/hal: Adding input device Power Button
[   125.495] (**) Power Button: Applying InputClass "evdev keyboard catchall"
[   125.495] (**) Power Button: Applying InputClass "LocalKeyboard"
[   125.495] (**) Power Button: always reports core events
[   125.495] (**) Power Button: Device: "/dev/input/event3"
[   125.508] (--) Power Button: Found keys
[   125.508] (II) Power Button: Configuring as keyboard
[   125.508] (II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD)
[   125.508] (**) Option "xkb_rules" "evdev"
[   125.508] (**) Option "xkb_model" "evdev"
[   125.508] (**) Option "xkb_layout" "de"
[   125.508] (**) Option "xkb_variant" "nodeadkeys"
[   125.526] (II) config/hal: Adding input device Power Button
[   125.526] (**) Power Button: Applying InputClass "evdev keyboard catchall"
[   125.526] (**) Power Button: Applying InputClass "LocalKeyboard"
[   125.526] (**) Power Button: always reports core events
[   125.526] (**) Power Button: Device: "/dev/input/event4"
[   125.532] (--) Power Button: Found keys
[   125.532] (II) Power Button: Configuring as keyboard
[   125.532] (II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD)
[   125.532] (**) Option "xkb_rules" "evdev"
[   125.532] (**) Option "xkb_model" "evdev"
[   125.532] (**) Option "xkb_layout" "de"
[   125.532] (**) Option "xkb_variant" "nodeadkeys"

Do you have an idea what the reason might be, or what else I can do
to narrow down the problem?

Kind regards,
Torsten Jager

-- 
GMX DSL Doppel-Flat ab 19,99 Euro/mtl.! Jetzt mit 
gratis Handy-Flat! http://portal.gmx.net/de/go/dsl



More information about the xorg mailing list