Go to file
Zhigang Gong d66bd9714e glamor: Concentrate FBO's creation to one function.
And add status checking for it.

Signed-off-by: Zhigang Gong <zhigang.gong@gmail.com>
2011-09-26 16:47:01 +08:00
composite Use internal temp variable for swap macros 2011-09-21 17:12:04 -04:00
config config: don't fail if a device vanished by the time we managed to look at it 2011-07-27 09:29:56 +10:00
damageext Use internal temp variable for swap macros 2011-09-21 17:12:04 -04:00
dbe Use internal temp variable for swap macros 2011-09-21 17:12:04 -04:00
dix Merge remote-tracking branch 'mattst88/for-keith' 2011-09-21 14:34:27 -07:00
doc Terminate the log with one last message. 2011-07-27 09:31:02 +10:00
exa EXA/mixed: Update sys_pitch in MPH even when there's no system memory copy. 2011-08-10 09:30:08 -07:00
fb fb: Rename wfbTriangles and wfbTrapezoids 2011-09-21 14:14:05 -07:00
glamor glamor: Concentrate FBO's creation to one function. 2011-09-26 16:47:01 +08:00
glx Remove unnecessary #undefs of [f]abs and old comments 2011-09-21 17:12:04 -04:00
hw glamor: Require libdrm CFLAGS for building 2011-09-26 16:47:01 +08:00
include glamor-es2: Add gles2 option. 2011-09-26 16:47:00 +08:00
m4 Use XORG_STRICT_OPTION from util-macros 1.14 to set -Werror flags 2011-05-27 19:51:05 -07:00
man Add xkeyboard-config to See Also of man pages referencing xkb 2011-06-21 17:54:43 -07:00
mi Replace Fabs() macro with fabs() function 2011-09-21 17:12:04 -04:00
miext Merge remote-tracking branch 'whot/for-keith' 2011-07-01 15:45:45 -07:00
os Use internal temp variable for swap macros 2011-09-21 17:12:04 -04:00
randr Use correct swap{l,s} (or none at all for CARD8) 2011-09-21 17:14:16 -04:00
record Use internal temp variable for swap macros 2011-09-21 17:12:04 -04:00
render Cast char* buffers to swap functions 2011-09-21 17:14:44 -04:00
test Use internal temp variable for swap macros 2011-09-21 17:12:04 -04:00
Xext Merge remote-tracking branch 'mattst88/for-keith' 2011-09-21 14:34:27 -07:00
xfixes Use internal temp variable for swap macros 2011-09-21 17:12:04 -04:00
Xi Use correct swap{l,s} (or none at all for CARD8) 2011-09-21 17:14:16 -04:00
xkb xkb: add missing swaps for xkbGetDeviceInfoReply 2011-09-21 17:14:45 -04:00
.gitignore doc: relocate xserver.ent in the package root directory 2011-05-14 11:22:26 -07:00
autogen.sh autogen.sh: Pass --force to autoreconf 2008-07-22 16:55:26 +03:00
configure.ac glamor-es2: Add --enable-glamor-gles2 to build system. 2011-09-26 16:47:01 +08:00
COPYING Add asprintf() implementation for platforms without it 2010-12-07 11:10:35 -08:00
devbook.am devbook.am: maintenance update from docbook.am 2011-09-21 14:07:52 -07:00
docbook.am docbook.am: embed css styles inside the HTML HEAD element 2011-09-21 14:07:49 -07:00
fix-miregion Change region implementation names to eliminate the 'mi' prefix 2010-06-05 17:47:32 -07:00
fix-miregion-private Change region implementation names to eliminate the 'mi' prefix 2010-06-05 17:47:32 -07:00
fix-patch-whitespace Rename region macros to eliminate screen argument 2010-06-05 18:59:00 -07:00
fix-region Rename region macros to eliminate screen argument 2010-06-05 18:59:00 -07:00
Makefile.am glamor-es2: Add gles2 option. 2011-09-26 16:47:00 +08:00
manpages.am Xdmx.man: Show actual configured XKB defaults instead of old hardcoded values 2011-06-21 17:54:14 -07:00
README glamor: Fix one typo error in README. 2011-09-26 16:47:01 +08:00
xorg-server.m4 macros: use PKG_CONFIG variable rather than executable name 2010-01-07 12:57:23 -08:00
xorg-server.pc.in config: declare xserver private dependencies in xorg-server.pc 2010-06-22 11:34:47 -07:00
xserver.ent.in doc: relocate xserver.ent in the package root directory 2011-05-14 11:22:26 -07:00

			Glamor setup

1. Prerequirement.
Please install makedepend and libudev-devel firstly. 
Glamor need patch glew-1.5.8, here is the patch:


diff -ur ../Downloads/glew-1.5.8/Makefile glew-1.5.8/Makefile
--- ../Downloads/glew-1.5.8/Makefile    2011-01-31 22:17:27.000000000 +0800
+++ glew-1.5.8/Makefile 2011-06-28 10:13:54.147700479 +0800
@@ -63,8 +63,12 @@
 else
 OPT = $(POPT)
 endif
-INCLUDE = -Iinclude
+
+INCLUDE = -Iinclude
 CFLAGS = $(OPT) $(WARN) $(INCLUDE) $(CFLAGS.EXTRA)
+ifeq ($(NO_GLX), 1)
+CFLAGS += -D_NO_GLX_
+endif

 LIB.SRCS = src/glew.c
 LIB.OBJS = $(LIB.SRCS:.c=.o)
diff -ur ../Downloads/glew-1.5.8/src/glew.c glew-1.5.8/src/glew.c
--- ../Downloads/glew-1.5.8/src/glew.c  2011-01-31 22:17:27.000000000 +0800
+++ glew-1.5.8/src/glew.c       2011-06-28 10:06:45.952700777 +0800
@@ -11379,6 +11379,10 @@
 {
   GLenum r;
   if ( (r = glewContextInit()) ) return r;
+#if defined(_NO_GLX_)
+  return r;
+#endif
+
 #if defined(_WIN32)
   return wglewContextInit();
 #elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX) /* _UNIX */


As xserver's glx extension code has conflicts with glew's glx related
initialization, we have to disable it in glew currently. Please apply the
above patch to glew and then build the glew as follow which will 
workaround the problem.

glew-1.5.8# NO_GLX=1 make

2. Build xserver-glamor.

Then do the following steps one by one.
2.1. get latest glamor at github.

2.2 Setup xorg development environment, use xserver-glamor to 
    replace the official xserver. 
 Here is the link of how to setup xorg development environment: 
 http://www.x.org/wiki/ModularDevelopersGuide
 
 For most of the packages, we prefer latest git version. Especially
 for the mesa package.

 When build mesa, use the following parameters: (assume you want to 
 install the experimental xorg to /opt/gfx-test) 
#mesa/./autogen.sh --prefix=/opt/gfx-test --with-egl-platforms=drm --disable-gallium  --disable-gallium-egl

 build xserver-glamor as below:
#xserver-glamor/./autogen.sh --disable-glx --enable-kdrive --enable-xephyr

 Once you finish all the building process, you can have a try as below:
xserver-glamor#startx -- `pwd`/hw/xfree86/Xorg If you can find the 
 following messages on the console, then everything should work correctly.
Mesa: Initializing x86-64 optimizations


3. Restrictions:

Currently, glamor doesn't support glx extension, will be fixed in the future.

Glamor setup done.

				X Server

The X server accepts requests from client applications to create windows,
which are (normally rectangular) "virtual screens" that the client program
can draw into.

Windows are then composed on the actual screen by the X server
(or by a separate composite manager) as directed by the window manager,
which usually communicates with the user via graphical controls such as buttons
and draggable titlebars and borders.

For a comprehensive overview of X Server and X Window System, consult the
following article:
http://en.wikipedia.org/wiki/X_server

All questions regarding this software should be directed at the
Xorg mailing list:

        http://lists.freedesktop.org/mailman/listinfo/xorg

Please submit bug reports to the Xorg bugzilla:

        https://bugs.freedesktop.org/enter_bug.cgi?product=xorg

The master development code repository can be found at:

        git://anongit.freedesktop.org/git/xorg/xserver

        http://cgit.freedesktop.org/xorg/xserver

For patch submission instructions, see:

	http://www.x.org/wiki/Development/Documentation/SubmittingPatches

For more information on the git code manager, see:

        http://wiki.x.org/wiki/GitPage