Solved [Solved] X.Org consume too much memory, with Xinerama

X.Org with one three head video card(3 screens, each resolution ratio 1920*1080), when Xinerama enabled, consume approximate 180M Bytes memory at peak time! Is it a bug? How to solve it?

Thanks!

X.Org version is xorg-server-1.10.0

The mostly consumed memory are six 24MB malloc(xorg-server-1.10.0/dix/pixmap.c:124, AllocatePixmap function).

Call stacks:

Code:
#0  TraceHugeMalloc (MapSize=124, DataSize=24883204, time=3) at pixmap.c:117
#1  0x10041468 in AllocatePixmap (pScreen=0x10233810, pixDataSize=24883204) at pixmap.c:134
#2  0x0fa3ae00 in fbCreatePixmapBpp (pScreen=0x10233810, width=5760, height=1080, depth=32, bpp=32, usage_hint=0) at fbpixmap.c:53
#3  0x0fa3b608 in fbCreatePixmap (pScreen=0x10233810, width=5760, height=1080, depth=32, usage_hint=0) at fbpixmap.c:96
#4  0x0f9f14d0 in exaCreatePixmap_classic (pScreen=0x10233810, w=5760, h=1080, depth=Variable "depth" is not available.
) at exa_classic.c:69
#5  0x10042564 in ProcCreatePixmap (client=0x102413f8) at dispatch.c:1405
#6  0x10137b40 in PanoramiXCreatePixmap (client=0x102413f8) at panoramiXprocs.c:673
#7  0x10048fd0 in Dispatch () at dispatch.c:431
#8  0x1001a030 in main (argc=4, argv=0xbfe73b14, envp=0x3) at main.c:294


#0  TraceHugeMalloc (MapSize=124, DataSize=24883204, time=2) at pixmap.c:117
#1  0x10041468 in AllocatePixmap (pScreen=0x10261da0, pixDataSize=24883204) at pixmap.c:134
#2  0x0fa3ae00 in fbCreatePixmapBpp (pScreen=0x10261da0, width=5760, height=1080, depth=32, bpp=32, usage_hint=2) at fbpixmap.c:53
#3  0x0fa3b608 in fbCreatePixmap (pScreen=0x10261da0, width=5760, height=1080, depth=32, usage_hint=2) at fbpixmap.c:96
#4  0x0f9f14d0 in exaCreatePixmap_classic (pScreen=0x10261da0, w=5760, h=1080, depth=Variable "depth" is not available.
) at exa_classic.c:69
#5  0x1009ffd4 in compNewPixmap (pWin=0x10386a30, x=-3840, y=0, w=5760, h=1080, map=1) at compalloc.c:530
#6  0x48000024 in ?? ()
#7  0x100a13f8 in compAllocPixmap (pWin=0x10386a30) at compalloc.c:624
#8  0x100a1eb8 in compCheckRedirect (pWin=0x10386a30) at compwindow.c:166
#9  0x100a21fc in compRealizeWindow (pWin=0x10386a30) at compwindow.c:257
#10 0x1003ac60 in RealizeTree (pWin=0x10386a30) at window.c:2563
#11 0x1003aefc in MapWindow (pWin=0x10386a30, client=0x10235640) at window.c:2658
#12 0x10041c60 in ProcMapWindow (client=0x10235640) at dispatch.c:808
#13 0x101370c0 in PanoramiXMapWindow (client=0x10235640) at panoramiXprocs.c:363
#14 0x10048fd0 in Dispatch () at dispatch.c:431
#15 0x1001a030 in main (argc=4, argv=0xbfe73b14, envp=0x3) at main.c:294

Configuration file:

Code:
        Section "Device"
                Identifier      "Builtin Default fbdev Device 0"
                Driver  "xxxxx"
		Option "AccelMethod" "none"
		Option "SWCursor" "no"
		Option "NoAccel" "no"
		Option "Mixed" "yes"
		Option "Compositor" "yes"
		Option "EXANoUploadToScreen" "yes"
		Option "EXANoDownloadFromScreen" "yes"
		Option "MigrationHeuristic" "greedy"
		Option "CompositeDebug" "no"
        EndSection
        Section "Screen"
                Identifier      "ScreenA"
                Device  "Builtin Default fbdev Device 0"
		DefaultDepth 24
		DefaultFbBpp 32
		SubSection "Display"
			Depth 24
			Virtual 1920 1080
#			Modes "1920x1080"
		EndSubSection
        EndSection
	Section "Screen"
		Identifier	"ScreenB"
		Device  "Builtin Default fbdev Device 0"
		DefaultDepth 24
		DefaultFbBpp 32
		Subsection "Display"
			Depth 24
			Virtual 1920 1080
#			Modes "1920x1080"
		EndSubSection
	EndSection
	Section "Screen"
		Identifier	"ScreenC
		Device	"Builtin Default fbdev Device 0"
		DefaultDepth 24
		DefaultFbBpp 32
		Subsection "Display"
			Depth 24
			Virtual 1920 1080
#			Modes "1920x1080"
		EndSubSection
	EndSection
        Section "ServerLayout"
                Identifier      "Builtin Default Layout"
                Screen 1  "ScreenA" 0 0
                Screen 2  "ScreenB" Absolute 1920 0 
                Screen 3  "ScreenC" Absolute 3840 0 
		InputDevice "Mouse0" "CorePointer"
		InputDevice "Keyboard0" "CoreKeyboard"
		Option   "Xinerama" "ON"
		Option   "Clone" "off"
        EndSection
        Section "InputDevice"
                Identifier "Mouse0"
                Driver "void"
#		Option "SWCursor" "ON"
        EndSection
        Section "InputDevice"
                Identifier "Keyboard0"
                Driver "void"
        EndSection
 
Re: X.Org consume too much memory, when Xinerama enabled!

Why are you running an old version of X? What version of FreeBSD? On what video card?
 
Re: X.Org consume too much memory, when Xinerama enabled!

Why are you running an old version of X?
It's a embedded device, the old version is xorg-server-1.7.1, but it couldn't support alpha channel, when Xinerama enabled! So select the xorg-server-1.10.0.

What version of FreeBSD?
The os is linux, os version.
Code:
Linux version 2.6.30.3-00061-g6888527-dirty (root@pb27114pc.cs.myharris.net) (gcc version 4.0.0 (DENX ELDK 4.0 4.0.0)) #21 Wed May 30 10:52:28 IST 2012

On what video card?
The video card isn't a familiar one, is a fpga, attached to amcc 405 cpu by pcie, exa accelerate enabled.

Thanks!
 
Re: X.Org consume too much memory, when Xinerama enabled!

Tomcat0221 said:
What version of FreeBSD?
The os is linux, os version.
Linux version 2.6.30.3-00061-g6888527-dirty (root@pb27114pc.cs.myharris.net) (gcc version 4.0.0 (DENX ELDK 4.0 4.0.0)) #21 Wed May 30 10:52:28 IST 2012

Unfortunately, this forum is dedicated to FreeBSD. While it runs many of the same applications, like X, FreeBSD is not a type of Linux and you will certainly get better answers by asking on a Linux forum.
 
Back
Top