<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Singularity</id>
	<title>ThinkWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Singularity"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Singularity"/>
	<updated>2026-06-21T15:11:16Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:How_to_compile_an_experimental_X_server&amp;diff=24842</id>
		<title>Talk:How to compile an experimental X server</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:How_to_compile_an_experimental_X_server&amp;diff=24842"/>
		<updated>2006-09-23T04:29:37Z</updated>

		<summary type="html">&lt;p&gt;Singularity: /* Skipping system libraries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Other approach==&lt;br /&gt;
Or, if you want to play with an unstable system, use a distribution, which can help you doing that, for example [http://www.gentoo.org/ Gentoo] or [http://www.sourcemage.org/ Sourcemage].&lt;br /&gt;
You won't need a script that way:&lt;br /&gt;
 root@gentoo ~ $ echo &amp;quot;x11-base/xorg-x11 ~x86&amp;quot; &amp;gt; /etc/portage/package.keywords&lt;br /&gt;
 root@gentoo ~ $ emerge -avuD xorg-x11&lt;br /&gt;
(scnr. I know that you'll have to unmask a few more packages in reality. I know that you can do something similar in other distributions. I just don't understand why you are not using your package manager [unless you've got an LFS...])&lt;br /&gt;
&lt;br /&gt;
--[[User:Pberndt|Pberndt]] 21:11, 7 July 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
The script fetches the very latest code from GIT and CVS. No distribution I know off is this bleeding-edge. It makes a large difference in some hot development areas, such as accelerated DRI drivers.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:30, 7 July 2006 (CEST)&lt;br /&gt;
----&lt;br /&gt;
::Thinker your script fails for me. &lt;br /&gt;
&lt;br /&gt;
 No package 'xextproto' found&lt;br /&gt;
 No package 'xcmiscproto' found&lt;br /&gt;
&lt;br /&gt;
 ... ERROR: Command &amp;quot;sh autogen.sh --prefix=/home/paul/3d-pit/install --quiet --cache-file=/home/paul/3d-pit/xorg/autoconf.cache --with-xcb=no&amp;quot; failed in /home/paul/3d-pit/xorg/lib/libX11&lt;br /&gt;
 Aborting.&lt;br /&gt;
&lt;br /&gt;
::the fix was trivial, just adding those two packages&lt;br /&gt;
&lt;br /&gt;
::okay,it was missing SM and ice too, how on earth did you compile xorg with this script?&lt;br /&gt;
&lt;br /&gt;
--[[User:Singularity|Singularity]]&lt;br /&gt;
&lt;br /&gt;
The script assumes you have all the header packages (foo-devel on Fedora, etc.), and fetches only packages that had interesting changes recently (as far as I can judge). I guess you were missing those -devle packages.&lt;br /&gt;
&lt;br /&gt;
BTW, please sign your posts by typing &amp;lt;nowiki&amp;gt;--~~~~&amp;lt;/nowiki&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:07, 22 September 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
==Skipping system libraries==&lt;br /&gt;
How do you set the script to search only $DEST/lib for libraries instead of /usr/local/lib? I am on slackware, which still uses monolithic xorg 6.9 so it all has to be made from scratch &lt;br /&gt;
&lt;br /&gt;
--[[User:Singularity|Singularity]] 21:14, 22 September 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
I don't know. Looking at &amp;lt;tt&amp;gt;man ld.so&amp;lt;/tt&amp;gt;, maybe adding the &amp;lt;tt&amp;gt;-z nodeflib&amp;lt;/tt&amp;gt; linker option will do the trick.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 22:26, 22 September 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
Add the option to what? I dont understand why LD_LIBRARY_PATH doesn't do the trick -- if the linker doesn't find the libs in /usr/local/lib then IN THEORY shouldn't it search the path in LD_LIBRARY_PATH? Something is wrong here, it doesn't make sense why it fails...it works if I copy the files from ~/3d-pit/install/lib to /usr/local/lib but that isn't correct...&lt;br /&gt;
&lt;br /&gt;
--[[User:Singularity|Singularity]] 06:23, 23 September 2006 (CEST)&lt;/div&gt;</summary>
		<author><name>Singularity</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:How_to_compile_an_experimental_X_server&amp;diff=24841</id>
		<title>Talk:How to compile an experimental X server</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:How_to_compile_an_experimental_X_server&amp;diff=24841"/>
		<updated>2006-09-23T04:28:22Z</updated>

		<summary type="html">&lt;p&gt;Singularity: /* Skipping system libraries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Other approach==&lt;br /&gt;
Or, if you want to play with an unstable system, use a distribution, which can help you doing that, for example [http://www.gentoo.org/ Gentoo] or [http://www.sourcemage.org/ Sourcemage].&lt;br /&gt;
You won't need a script that way:&lt;br /&gt;
 root@gentoo ~ $ echo &amp;quot;x11-base/xorg-x11 ~x86&amp;quot; &amp;gt; /etc/portage/package.keywords&lt;br /&gt;
 root@gentoo ~ $ emerge -avuD xorg-x11&lt;br /&gt;
(scnr. I know that you'll have to unmask a few more packages in reality. I know that you can do something similar in other distributions. I just don't understand why you are not using your package manager [unless you've got an LFS...])&lt;br /&gt;
&lt;br /&gt;
--[[User:Pberndt|Pberndt]] 21:11, 7 July 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
The script fetches the very latest code from GIT and CVS. No distribution I know off is this bleeding-edge. It makes a large difference in some hot development areas, such as accelerated DRI drivers.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:30, 7 July 2006 (CEST)&lt;br /&gt;
----&lt;br /&gt;
::Thinker your script fails for me. &lt;br /&gt;
&lt;br /&gt;
 No package 'xextproto' found&lt;br /&gt;
 No package 'xcmiscproto' found&lt;br /&gt;
&lt;br /&gt;
 ... ERROR: Command &amp;quot;sh autogen.sh --prefix=/home/paul/3d-pit/install --quiet --cache-file=/home/paul/3d-pit/xorg/autoconf.cache --with-xcb=no&amp;quot; failed in /home/paul/3d-pit/xorg/lib/libX11&lt;br /&gt;
 Aborting.&lt;br /&gt;
&lt;br /&gt;
::the fix was trivial, just adding those two packages&lt;br /&gt;
&lt;br /&gt;
::okay,it was missing SM and ice too, how on earth did you compile xorg with this script?&lt;br /&gt;
&lt;br /&gt;
--[[User:Singularity|Singularity]]&lt;br /&gt;
&lt;br /&gt;
The script assumes you have all the header packages (foo-devel on Fedora, etc.), and fetches only packages that had interesting changes recently (as far as I can judge). I guess you were missing those -devle packages.&lt;br /&gt;
&lt;br /&gt;
BTW, please sign your posts by typing &amp;lt;nowiki&amp;gt;--~~~~&amp;lt;/nowiki&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:07, 22 September 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
==Skipping system libraries==&lt;br /&gt;
How do you set the script to search only $DEST/lib for libraries instead of /usr/local/lib? I am on slackware, which still uses monolithic xorg 6.9 so it all has to be made from scratch &lt;br /&gt;
&lt;br /&gt;
--[[User:Singularity|Singularity]] 21:14, 22 September 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
I don't know. Looking at &amp;lt;tt&amp;gt;man ld.so&amp;lt;/tt&amp;gt;, maybe adding the &amp;lt;tt&amp;gt;-z nodeflib&amp;lt;/tt&amp;gt; linker option will do the trick.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 22:26, 22 September 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
Add the option to what? I dont understand why LD_LIBRARY_PATH doesn't do the trick -- if the linker doesn't find the libs in /usr/local/lib then IN THEORY shouldn't it search the path in LD_LIBRARY_PATH? Something is wrong here, it doesn't make sense why it fails...&lt;br /&gt;
&lt;br /&gt;
--[[User:Singularity|Singularity]] 06:23, 23 September 2006 (CEST)&lt;/div&gt;</summary>
		<author><name>Singularity</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:How_to_compile_an_experimental_X_server&amp;diff=24840</id>
		<title>Talk:How to compile an experimental X server</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:How_to_compile_an_experimental_X_server&amp;diff=24840"/>
		<updated>2006-09-23T04:27:14Z</updated>

		<summary type="html">&lt;p&gt;Singularity: /* Skipping system libraries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Other approach==&lt;br /&gt;
Or, if you want to play with an unstable system, use a distribution, which can help you doing that, for example [http://www.gentoo.org/ Gentoo] or [http://www.sourcemage.org/ Sourcemage].&lt;br /&gt;
You won't need a script that way:&lt;br /&gt;
 root@gentoo ~ $ echo &amp;quot;x11-base/xorg-x11 ~x86&amp;quot; &amp;gt; /etc/portage/package.keywords&lt;br /&gt;
 root@gentoo ~ $ emerge -avuD xorg-x11&lt;br /&gt;
(scnr. I know that you'll have to unmask a few more packages in reality. I know that you can do something similar in other distributions. I just don't understand why you are not using your package manager [unless you've got an LFS...])&lt;br /&gt;
&lt;br /&gt;
--[[User:Pberndt|Pberndt]] 21:11, 7 July 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
The script fetches the very latest code from GIT and CVS. No distribution I know off is this bleeding-edge. It makes a large difference in some hot development areas, such as accelerated DRI drivers.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:30, 7 July 2006 (CEST)&lt;br /&gt;
----&lt;br /&gt;
::Thinker your script fails for me. &lt;br /&gt;
&lt;br /&gt;
 No package 'xextproto' found&lt;br /&gt;
 No package 'xcmiscproto' found&lt;br /&gt;
&lt;br /&gt;
 ... ERROR: Command &amp;quot;sh autogen.sh --prefix=/home/paul/3d-pit/install --quiet --cache-file=/home/paul/3d-pit/xorg/autoconf.cache --with-xcb=no&amp;quot; failed in /home/paul/3d-pit/xorg/lib/libX11&lt;br /&gt;
 Aborting.&lt;br /&gt;
&lt;br /&gt;
::the fix was trivial, just adding those two packages&lt;br /&gt;
&lt;br /&gt;
::okay,it was missing SM and ice too, how on earth did you compile xorg with this script?&lt;br /&gt;
&lt;br /&gt;
--[[User:Singularity|Singularity]]&lt;br /&gt;
&lt;br /&gt;
The script assumes you have all the header packages (foo-devel on Fedora, etc.), and fetches only packages that had interesting changes recently (as far as I can judge). I guess you were missing those -devle packages.&lt;br /&gt;
&lt;br /&gt;
BTW, please sign your posts by typing &amp;lt;nowiki&amp;gt;--~~~~&amp;lt;/nowiki&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:07, 22 September 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
==Skipping system libraries==&lt;br /&gt;
How do you set the script to search only $DEST/lib for libraries instead of /usr/local/lib? I am on slackware, which still uses monolithic xorg 6.9 so it all has to be made from scratch &lt;br /&gt;
&lt;br /&gt;
--[[User:Singularity|Singularity]] 21:14, 22 September 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
I don't know. Looking at &amp;lt;tt&amp;gt;man ld.so&amp;lt;/tt&amp;gt;, maybe adding the &amp;lt;tt&amp;gt;-z nodeflib&amp;lt;/tt&amp;gt; linker option will do the trick.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 22:26, 22 September 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
Add the option to what? I dont understand why LD_LIBRARY_PATH doesn't do the trick -- if the linker doesn't find the libs in /usr/local/lib then IN THEORY shouldn't it search the path in LD_LIBRARY_PATH? &lt;br /&gt;
&lt;br /&gt;
--[[User:Singularity|Singularity]] 06:23, 23 September 2006 (CEST)&lt;/div&gt;</summary>
		<author><name>Singularity</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:How_to_compile_an_experimental_X_server&amp;diff=24839</id>
		<title>Talk:How to compile an experimental X server</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:How_to_compile_an_experimental_X_server&amp;diff=24839"/>
		<updated>2006-09-23T04:23:53Z</updated>

		<summary type="html">&lt;p&gt;Singularity: /* Skipping system libraries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Other approach==&lt;br /&gt;
Or, if you want to play with an unstable system, use a distribution, which can help you doing that, for example [http://www.gentoo.org/ Gentoo] or [http://www.sourcemage.org/ Sourcemage].&lt;br /&gt;
You won't need a script that way:&lt;br /&gt;
 root@gentoo ~ $ echo &amp;quot;x11-base/xorg-x11 ~x86&amp;quot; &amp;gt; /etc/portage/package.keywords&lt;br /&gt;
 root@gentoo ~ $ emerge -avuD xorg-x11&lt;br /&gt;
(scnr. I know that you'll have to unmask a few more packages in reality. I know that you can do something similar in other distributions. I just don't understand why you are not using your package manager [unless you've got an LFS...])&lt;br /&gt;
&lt;br /&gt;
--[[User:Pberndt|Pberndt]] 21:11, 7 July 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
The script fetches the very latest code from GIT and CVS. No distribution I know off is this bleeding-edge. It makes a large difference in some hot development areas, such as accelerated DRI drivers.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:30, 7 July 2006 (CEST)&lt;br /&gt;
----&lt;br /&gt;
::Thinker your script fails for me. &lt;br /&gt;
&lt;br /&gt;
 No package 'xextproto' found&lt;br /&gt;
 No package 'xcmiscproto' found&lt;br /&gt;
&lt;br /&gt;
 ... ERROR: Command &amp;quot;sh autogen.sh --prefix=/home/paul/3d-pit/install --quiet --cache-file=/home/paul/3d-pit/xorg/autoconf.cache --with-xcb=no&amp;quot; failed in /home/paul/3d-pit/xorg/lib/libX11&lt;br /&gt;
 Aborting.&lt;br /&gt;
&lt;br /&gt;
::the fix was trivial, just adding those two packages&lt;br /&gt;
&lt;br /&gt;
::okay,it was missing SM and ice too, how on earth did you compile xorg with this script?&lt;br /&gt;
&lt;br /&gt;
--[[User:Singularity|Singularity]]&lt;br /&gt;
&lt;br /&gt;
The script assumes you have all the header packages (foo-devel on Fedora, etc.), and fetches only packages that had interesting changes recently (as far as I can judge). I guess you were missing those -devle packages.&lt;br /&gt;
&lt;br /&gt;
BTW, please sign your posts by typing &amp;lt;nowiki&amp;gt;--~~~~&amp;lt;/nowiki&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:07, 22 September 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
==Skipping system libraries==&lt;br /&gt;
How do you set the script to search only $DEST/lib for libraries instead of /usr/local/lib? I am on slackware, which still uses monolithic xorg 6.9 so it all has to be made from scratch &lt;br /&gt;
&lt;br /&gt;
--[[User:Singularity|Singularity]] 21:14, 22 September 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
I don't know. Looking at &amp;lt;tt&amp;gt;man ld.so&amp;lt;/tt&amp;gt;, maybe adding the &amp;lt;tt&amp;gt;-z nodeflib&amp;lt;/tt&amp;gt; linker option will do the trick.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 22:26, 22 September 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
Add the option to what? &lt;br /&gt;
&lt;br /&gt;
--[[User:Singularity|Singularity]] 06:23, 23 September 2006 (CEST)&lt;/div&gt;</summary>
		<author><name>Singularity</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:How_to_compile_an_experimental_X_server&amp;diff=24837</id>
		<title>Talk:How to compile an experimental X server</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:How_to_compile_an_experimental_X_server&amp;diff=24837"/>
		<updated>2006-09-22T19:16:07Z</updated>

		<summary type="html">&lt;p&gt;Singularity: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Other approach==&lt;br /&gt;
Or, if you want to play with an unstable system, use a distribution, which can help you doing that, for example [http://www.gentoo.org/ Gentoo] or [http://www.sourcemage.org/ Sourcemage].&lt;br /&gt;
You won't need a script that way:&lt;br /&gt;
 root@gentoo ~ $ echo &amp;quot;x11-base/xorg-x11 ~x86&amp;quot; &amp;gt; /etc/portage/package.keywords&lt;br /&gt;
 root@gentoo ~ $ emerge -avuD xorg-x11&lt;br /&gt;
(scnr. I know that you'll have to unmask a few more packages in reality. I know that you can do something similar in other distributions. I just don't understand why you are not using your package manager [unless you've got an LFS...])&lt;br /&gt;
&lt;br /&gt;
--[[User:Pberndt|Pberndt]] 21:11, 7 July 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
The script fetches the very latest code from GIT and CVS. No distribution I know off is this bleeding-edge. It makes a large difference in some hot development areas, such as accelerated DRI drivers.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:30, 7 July 2006 (CEST)&lt;br /&gt;
----&lt;br /&gt;
::Thinker your script fails for me. &lt;br /&gt;
&lt;br /&gt;
 No package 'xextproto' found&lt;br /&gt;
 No package 'xcmiscproto' found&lt;br /&gt;
&lt;br /&gt;
 ... ERROR: Command &amp;quot;sh autogen.sh --prefix=/home/paul/3d-pit/install --quiet --cache-file=/home/paul/3d-pit/xorg/autoconf.cache --with-xcb=no&amp;quot; failed in /home/paul/3d-pit/xorg/lib/libX11&lt;br /&gt;
 Aborting.&lt;br /&gt;
&lt;br /&gt;
::the fix was trivial, just adding those two packages&lt;br /&gt;
&lt;br /&gt;
::okay,it was missing SM and ice too, how on earth did you compile xorg with this script?&lt;br /&gt;
&lt;br /&gt;
--[[User:Singularity|Singularity]]&lt;br /&gt;
&lt;br /&gt;
The script assumes you have all the header packages (foo-devel on Fedora, etc.), and fetches only packages that had interesting changes recently (as far as I can judge). I guess you were missing those -devle packages.&lt;br /&gt;
&lt;br /&gt;
BTW, please sign your posts by typing &amp;lt;nowiki&amp;gt;--~~~~&amp;lt;/nowiki&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:07, 22 September 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
How do you set the script to search only $DEST/lib for libraries instead of /usr/local/lib? I am on slackware, which still uses monolithic xorg 6.9 so it all has to be made from scratch --[[User:Singularity|Singularity]] 21:14, 22 September 2006 (CEST)&lt;/div&gt;</summary>
		<author><name>Singularity</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:How_to_compile_an_experimental_X_server&amp;diff=24836</id>
		<title>Talk:How to compile an experimental X server</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:How_to_compile_an_experimental_X_server&amp;diff=24836"/>
		<updated>2006-09-22T19:14:58Z</updated>

		<summary type="html">&lt;p&gt;Singularity: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Other approach==&lt;br /&gt;
Or, if you want to play with an unstable system, use a distribution, which can help you doing that, for example [http://www.gentoo.org/ Gentoo] or [http://www.sourcemage.org/ Sourcemage].&lt;br /&gt;
You won't need a script that way:&lt;br /&gt;
 root@gentoo ~ $ echo &amp;quot;x11-base/xorg-x11 ~x86&amp;quot; &amp;gt; /etc/portage/package.keywords&lt;br /&gt;
 root@gentoo ~ $ emerge -avuD xorg-x11&lt;br /&gt;
(scnr. I know that you'll have to unmask a few more packages in reality. I know that you can do something similar in other distributions. I just don't understand why you are not using your package manager [unless you've got an LFS...])&lt;br /&gt;
&lt;br /&gt;
--[[User:Pberndt|Pberndt]] 21:11, 7 July 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
The script fetches the very latest code from GIT and CVS. No distribution I know off is this bleeding-edge. It makes a large difference in some hot development areas, such as accelerated DRI drivers.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:30, 7 July 2006 (CEST)&lt;br /&gt;
----&lt;br /&gt;
::Thinker your script fails for me. &lt;br /&gt;
&lt;br /&gt;
 No package 'xextproto' found&lt;br /&gt;
 No package 'xcmiscproto' found&lt;br /&gt;
&lt;br /&gt;
 ... ERROR: Command &amp;quot;sh autogen.sh --prefix=/home/paul/3d-pit/install --quiet --cache-file=/home/paul/3d-pit/xorg/autoconf.cache --with-xcb=no&amp;quot; failed in /home/paul/3d-pit/xorg/lib/libX11&lt;br /&gt;
 Aborting.&lt;br /&gt;
&lt;br /&gt;
::the fix was trivial, just adding those two packages&lt;br /&gt;
&lt;br /&gt;
::okay,it was missing SM and ice too, how on earth did you compile xorg with this script?&lt;br /&gt;
&lt;br /&gt;
--[[User:Singularity|Singularity]]&lt;br /&gt;
&lt;br /&gt;
The script assumes you have all the header packages (foo-devel on Fedora, etc.), and fetches only packages that had interesting changes recently (as far as I can judge). I guess you were missing those -devle packages.&lt;br /&gt;
&lt;br /&gt;
BTW, please sign your posts by typing &amp;lt;nowiki&amp;gt;--~~~~&amp;lt;/nowiki&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:07, 22 September 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
How do you set the script to search only $DEST/lib for libraries instead of /usr/local/lib? --[[User:Singularity|Singularity]] 21:14, 22 September 2006 (CEST)&lt;/div&gt;</summary>
		<author><name>Singularity</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Code/build-experimental-X&amp;diff=24834</id>
		<title>Code/build-experimental-X</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Code/build-experimental-X&amp;diff=24834"/>
		<updated>2006-09-22T18:31:29Z</updated>

		<summary type="html">&lt;p&gt;Singularity: added missing Xau&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#!/bin/bash&lt;br /&gt;
# Script to fetch and build X.org, DRI, Mesa, synaptics and xkeyboard-config&lt;br /&gt;
# from CVS and GIT.&lt;br /&gt;
# If you want to skip some tasks, comment them out at the bottom of the script.&lt;br /&gt;
# Source: http://thinkwiki.org/wiki/How_to_compile_an_experimental_X_server&lt;br /&gt;
# See also:&lt;br /&gt;
#   http://wiki.x.org/wiki/ModularDevelopersGuide&lt;br /&gt;
#   http://wiki.x.org/wiki/GitPage&lt;br /&gt;
#   http://gitweb.freedesktop.org&lt;br /&gt;
#   http://dri.freedesktop.org/wiki/Building&lt;br /&gt;
#   http://www.mesa3d.org/cvs_access.html&lt;br /&gt;
#   http://www.mesa3d.org/install.html&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Init&lt;br /&gt;
&lt;br /&gt;
PIT=$HOME/3d-pit       # Download and build here&lt;br /&gt;
DEST=$PIT/install      # Install here&lt;br /&gt;
# MESA_DATE=2006-06-29 # Set this to get a historical Mesa CVS snapshot&lt;br /&gt;
FLAGS='-O2 -g -march=pentium-m'&lt;br /&gt;
&lt;br /&gt;
trap &amp;quot;echo Aborting.; exit 1&amp;quot; ERR&lt;br /&gt;
&lt;br /&gt;
die() {&lt;br /&gt;
  echo &amp;quot;$*&amp;quot;&lt;br /&gt;
  exit 1&lt;br /&gt;
}&lt;br /&gt;
run() {&lt;br /&gt;
  echo &amp;quot;@ $@&amp;quot;&lt;br /&gt;
  &amp;quot;$@&amp;quot; || { echo &amp;quot;ERROR: Command \&amp;quot;$*\&amp;quot; failed in `pwd`&amp;quot;; exit 1; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
fetch_from_git() {&lt;br /&gt;
  PARENT_DIR=&amp;quot;$1&amp;quot;&lt;br /&gt;
  GIT_REP=&amp;quot;$2&amp;quot;&lt;br /&gt;
  MODULE=&amp;quot;$3&amp;quot;&lt;br /&gt;
  DIR=&amp;quot;${4:-$MODULE}&amp;quot;&lt;br /&gt;
  if [ -d &amp;quot;$PARENT_DIR/$DIR&amp;quot; ]; then &lt;br /&gt;
    run cd &amp;quot;$PARENT_DIR/$DIR&amp;quot;&lt;br /&gt;
    run git pull&lt;br /&gt;
  else&lt;br /&gt;
    run cd &amp;quot;$PARENT_DIR&amp;quot;&lt;br /&gt;
    run git clone &amp;quot;$GIT_REP/$MODULE&amp;quot; &amp;quot;$DIR&amp;quot;&lt;br /&gt;
  fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Fetching and building libDRM and DRM kernel drivers&lt;br /&gt;
&lt;br /&gt;
fetch_drm() {&lt;br /&gt;
  echo &amp;quot;########### Fetch DRM ###########&amp;quot;&lt;br /&gt;
  DRM_GIT=git://anongit.freedesktop.org/git/mesa&lt;br /&gt;
  fetch_from_git &amp;quot;$PIT&amp;quot; &amp;quot;$DRM_GIT&amp;quot; drm&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
build_libdrm() {&lt;br /&gt;
  echo &amp;quot;########### Build libdrm ###########&amp;quot;&lt;br /&gt;
  run cd $PIT/drm&lt;br /&gt;
  run ./autogen.sh&lt;br /&gt;
  CFLAGS=&amp;quot;$FLAGS&amp;quot; run ./configure --prefix=$DEST --quiet&lt;br /&gt;
  run make clean&lt;br /&gt;
  run make&lt;br /&gt;
  run make install&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
build_drm_modules() {&lt;br /&gt;
  echo &amp;quot;########### Build DRM kernel modules ###########&amp;quot;&lt;br /&gt;
  run cd $PIT/drm/linux-core&lt;br /&gt;
  run make DRM_MODULES=&amp;quot;radeon&amp;quot;&lt;br /&gt;
  run sudo sh -c \&lt;br /&gt;
    'rm -fv /lib/modules/`uname -r`/kernel/drivers/char/drm/*.ko; \&lt;br /&gt;
     cp -v *.ko /lib/modules/`uname -r`/extra/; \&lt;br /&gt;
     /sbin/depmod -a'&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Fetching Mesa&lt;br /&gt;
&lt;br /&gt;
fetch_mesa() {&lt;br /&gt;
  echo &amp;quot;########### Fetching Mesa ###########&amp;quot;&lt;br /&gt;
  MESA_CVS=:pserver:anonymous@anoncvs.freedesktop.org:2401/cvs/mesa&lt;br /&gt;
  run mkdir -p $PIT&lt;br /&gt;
  run cd $PIT&lt;br /&gt;
  grep -qF $MESA_CVS ~/.cvspass || run cvs -d $MESA_CVS login&lt;br /&gt;
  [ -d Mesa ] || run cvs -z3 -d $MESA_CVS co ${MESA_DATE:+-D $MESA_DATE} Mesa&lt;br /&gt;
  run cd $PIT/Mesa&lt;br /&gt;
  run cvs -z3 update -ACPd ${MESA_DATE:+-D $MESA_DATE}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
patch_mesa() {&lt;br /&gt;
  # patch to make Google Earth use acceleration:&lt;br /&gt;
  run perl -i -pe 'print &amp;quot;//DISABLE &amp;quot; if m/^\s*FALLBACK_IF.*Line\.SmoothFlag/' \&lt;br /&gt;
    $PIT/Mesa/src/mesa/drivers/dri/r300/r300_render.c&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Building Mesa (do this *after* installing X.org)&lt;br /&gt;
&lt;br /&gt;
build_mesa() { (&lt;br /&gt;
  echo &amp;quot;########### Building Mesa ###########&amp;quot;&lt;br /&gt;
  # This uses both old-style and new-style vars, to support older Mesa snapshots.&lt;br /&gt;
  run cd $PIT/Mesa&lt;br /&gt;
  export DRM_SOURCE_PATH=$PIT/drm&lt;br /&gt;
  export PKG_CONFIG_PATH=&amp;quot;$DEST/lib/pkgconfig:$PKG_CONFIG_PATH&amp;quot;&lt;br /&gt;
  export DRM_SOURCE_PATH=&amp;quot;$PIT/drm&amp;quot;&lt;br /&gt;
  export DESTDIR=$DEST  INSTALL_DIR=$DEST&lt;br /&gt;
  export DRI_DRIVER_INSTALL_DIR=$DEST/lib/dri&lt;br /&gt;
  export DRI_DIRS='r300 r200 r128 radeon'&lt;br /&gt;
  export OPT_FLAGS=&amp;quot;$FLAGS&amp;quot;&lt;br /&gt;
  export PATH=&amp;quot;$DEST/bin:$PATH&amp;quot;&lt;br /&gt;
  run mkdir -p $DRI_DRIVER_INSTALL_DIR&lt;br /&gt;
  run make -e linux-dri-x86&lt;br /&gt;
  run make -e install&lt;br /&gt;
  run cp -v lib/*_dri.so $DRI_DRIVER_INSTALL_DIR&lt;br /&gt;
) }&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# X.org setup&lt;br /&gt;
# This is a list of modules that are in flux and likely to be related to&lt;br /&gt;
# whatever you're testing (or are required for the build), sorted by&lt;br /&gt;
# build order (see util/modular/build.sh for dependencies).&lt;br /&gt;
# Check CVS and the above URLs for other modules.&lt;br /&gt;
&lt;br /&gt;
XORG_DIRS=(&lt;br /&gt;
  util/macros&lt;br /&gt;
  proto/{bigreqs,composite,fixes,damage,gl,input,kb,pm,randr,resource,xext,xcmisc}proto&lt;br /&gt;
  proto/{render,scrnsaver,video}proto&lt;br /&gt;
  proto/{x11,xf86dga,xf86dri,xf86misc,xf86vidmode,xinerama}proto&lt;br /&gt;
  lib/lib{xtrans,Xau,X11,ICE,SM,Xt,Xmu,Xcomposite,Xrender,Xdamage,Xcursor,Xi,Xinerama}&lt;br /&gt;
  lib/lib{xkbui,Xrandr,Xv,XvMC,Xxf86dga,Xxf86misc,Xxf86vm}&lt;br /&gt;
  xserver&lt;br /&gt;
  driver/xf86-video-ati&lt;br /&gt;
  driver/xf86-input-mouse driver/xf86-input-keyboard&lt;br /&gt;
  app/{xkbutils,xkbcomp,setxkbmap}&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Fetching X.org&lt;br /&gt;
&lt;br /&gt;
fetch_xorg() {&lt;br /&gt;
  echo &amp;quot;########### Fetching (selected) X.org modules ###########&amp;quot;&lt;br /&gt;
  XORG_GIT=git://anongit.freedesktop.org/git/xorg&lt;br /&gt;
  run mkdir -p $PIT/xorg&lt;br /&gt;
  for D in &amp;quot;${XORG_DIRS[@]}&amp;quot;; do&lt;br /&gt;
    fetch_from_git $PIT/xorg &amp;quot;$XORG_GIT&amp;quot; &amp;quot;$D&amp;quot;&lt;br /&gt;
  done&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Building and installing X.org&lt;br /&gt;
# (On repeated runs we avoid rerunning autotools if nothing changed.)&lt;br /&gt;
&lt;br /&gt;
LAST_HASH=last_dir_hash&lt;br /&gt;
dir_hash() {&lt;br /&gt;
  find . \( -path ./$LAST_HASH -o -path ./.git -prune \) -o -ls | sort | md5sum&lt;br /&gt;
}&lt;br /&gt;
dir_hash_changed() {&lt;br /&gt;
  [ ! -f $LAST_HASH ] || [ &amp;quot;`dir_hash`&amp;quot; != &amp;quot;`cat $LAST_HASH`&amp;quot; ]&lt;br /&gt;
}&lt;br /&gt;
save_dir_hash() {&lt;br /&gt;
  dir_hash &amp;gt; $LAST_HASH&lt;br /&gt;
}&lt;br /&gt;
build_x_module() { (&lt;br /&gt;
  D=$1&lt;br /&gt;
  echo &amp;quot;########### Building xorg/$D ###########&amp;quot;&lt;br /&gt;
  export PATH=&amp;quot;$DEST/bin:$PATH&amp;quot;&lt;br /&gt;
  export PKG_CONFIG_PATH=&amp;quot;$DEST/lib/pkgconfig:$PKG_CONFIG_PATH&amp;quot;&lt;br /&gt;
  export ACLOCAL=&amp;quot;${AC_LOCAL:-aclocal} -I $DEST/share/aclocal&amp;quot;&lt;br /&gt;
  export LD_LIBRARY_PATH=&amp;quot;$DEST/lib:$LD_LIBRARY_PATH&amp;quot;&lt;br /&gt;
  if [ $D == &amp;quot;xserver&amp;quot; ]; then&lt;br /&gt;
    CONF_OPT=&amp;quot;--with-mesa-source=$PIT/Mesa --enable-xorg --disable-dmx --disable-xvfb --disable-xnest&amp;quot;&lt;br /&gt;
  elif [ $D == &amp;quot;lib/libX11&amp;quot; ]; then&lt;br /&gt;
    CONF_OPT=&amp;quot;--with-xcb=no&amp;quot;&lt;br /&gt;
  else&lt;br /&gt;
    CONF_OPT=&lt;br /&gt;
  fi&lt;br /&gt;
  run cd $PIT/xorg/$D&lt;br /&gt;
  if dir_hash_changed; then&lt;br /&gt;
    CFLAGS=&amp;quot;$FLAGS&amp;quot; run sh autogen.sh --prefix=$DEST --quiet --cache-file=$PIT/xorg/autoconf.cache $CONF_OPT&lt;br /&gt;
    save_dir_hash&lt;br /&gt;
  fi&lt;br /&gt;
  run make&lt;br /&gt;
  save_dir_hash&lt;br /&gt;
  run make install&lt;br /&gt;
  save_dir_hash&lt;br /&gt;
) }&lt;br /&gt;
&lt;br /&gt;
build_xorg() {&lt;br /&gt;
  run cd $PIT/xorg&lt;br /&gt;
  run mkdir -p $DEST/share/aclocal&lt;br /&gt;
  run mkdir -p $DEST/var/log&lt;br /&gt;
  for D in &amp;quot;${XORG_DIRS[@]}&amp;quot;; do &lt;br /&gt;
    build_x_module $D || return 1&lt;br /&gt;
  done&lt;br /&gt;
  run sudo sh -c &amp;quot;chown -v root $DEST/bin/Xorg; \&lt;br /&gt;
                  chmod -v 4711 $DEST/bin/Xorg&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Fetching and building xkeyboard-config&lt;br /&gt;
&lt;br /&gt;
fetch_xkeyboard_config() {&lt;br /&gt;
  echo &amp;quot;########### Fetching xkeyboard-config ###########&amp;quot;&lt;br /&gt;
  XKBC_CVS=:pserver:anoncvs@cvs.freedesktop.org:2401/cvs/xlibs&lt;br /&gt;
  run cd $PIT&lt;br /&gt;
  grep -qF $XKBC_CVS ~/.cvspass || run cvs -d $XKBC_CVS login&lt;br /&gt;
  [ -d xkbdesc ] || run cvs -z3 -d $XKBC_CVS co xkbdesc&lt;br /&gt;
  run cd $PIT/xkbdesc&lt;br /&gt;
  run cvs -z3 update -ACPd&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
build_xkeyboard_config() { (&lt;br /&gt;
  echo &amp;quot;########### Building xkeyboard-config ###########&amp;quot;&lt;br /&gt;
  run cd $PIT/xkbdesc&lt;br /&gt;
  run ./autogen.sh&lt;br /&gt;
  export PKG_CONFIG_PATH=&amp;quot;$DEST/lib/pkgconfig:$PKG_CONFIG_PATH&amp;quot;&lt;br /&gt;
  export PATH=&amp;quot;$DEST/bin:$PATH&amp;quot;&lt;br /&gt;
  CFLAGS=&amp;quot;$FLAGS&amp;quot; run ./configure --quiet --prefix=$DEST \&lt;br /&gt;
    --with-xkb-base=$DEST/share/X11/xkb --with-xkb-rules-symlink=xorg &lt;br /&gt;
  run make&lt;br /&gt;
  run rm -fr $DEST/share/X11/xkb/compiled&lt;br /&gt;
  run make install&lt;br /&gt;
) }&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Fetching and building the synaptics driver&lt;br /&gt;
&lt;br /&gt;
fetch_synaptics() {&lt;br /&gt;
  echo &amp;quot;########### Fetch synaptics ###########&amp;quot;&lt;br /&gt;
  SYN_GIT=http://web.telia.com/~u89404340/touchpad/synaptics/.git&lt;br /&gt;
  fetch_from_git &amp;quot;$PIT&amp;quot; &amp;quot;$SYN_GIT&amp;quot; '' synaptics&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
build_synaptics() { (&lt;br /&gt;
  echo &amp;quot;########### Build synaptics ###########&amp;quot;&lt;br /&gt;
  run cd $PIT/synaptics&lt;br /&gt;
  export PKG_CONFIG_PATH=&amp;quot;$DEST/lib/pkgconfig:$PKG_CONFIG_PATH&amp;quot;&lt;br /&gt;
  export PATH=&amp;quot;$DEST/bin:$PATH&amp;quot;&lt;br /&gt;
  run make&lt;br /&gt;
  run cp -v synaptics_drv.so $DEST/lib/xorg/modules/input/&lt;br /&gt;
#   run ./autogen.sh&lt;br /&gt;
#   CFLAGS=&amp;quot;$FLAGS&amp;quot; run ./configure --prefix=$DEST --quiet&lt;br /&gt;
#   run make clean&lt;br /&gt;
#   run make&lt;br /&gt;
#   run make install&lt;br /&gt;
) }&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Creating a script which sets env vars&lt;br /&gt;
&lt;br /&gt;
create_xsetenv() {&lt;br /&gt;
  cat &amp;lt;&amp;lt;EOF &amp;gt; $DEST/bin/xsetenv || die &amp;quot;Can't create $DEST/bin/xsetenv&amp;quot;&lt;br /&gt;
export PATH=&amp;quot;$DEST/bin:$PATH&amp;quot; &lt;br /&gt;
export LD_LIBRARY_PATH=&amp;quot;$DEST/lib:$LD_LIBRARY_PATH&amp;quot;&lt;br /&gt;
export LIBGL_DRIVERS_PATH=$DEST/lib/dri&lt;br /&gt;
EOF&lt;br /&gt;
  echo -e &amp;quot;\nRun '. $DEST/bin/xsetenv' to point env vars to this installation.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Do it:&lt;br /&gt;
&lt;br /&gt;
fetch_drm&lt;br /&gt;
fetch_mesa&lt;br /&gt;
# patch_mesa&lt;br /&gt;
fetch_xorg&lt;br /&gt;
build_libdrm&lt;br /&gt;
build_drm_modules&lt;br /&gt;
build_xorg&lt;br /&gt;
build_mesa&lt;br /&gt;
fetch_xkeyboard_config&lt;br /&gt;
build_xkeyboard_config&lt;br /&gt;
fetch_synaptics&lt;br /&gt;
build_synaptics&lt;br /&gt;
create_xsetenv&lt;br /&gt;
&lt;br /&gt;
echo 'Done.'&lt;/div&gt;</summary>
		<author><name>Singularity</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Code/build-experimental-X&amp;diff=24833</id>
		<title>Code/build-experimental-X</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Code/build-experimental-X&amp;diff=24833"/>
		<updated>2006-09-22T18:25:26Z</updated>

		<summary type="html">&lt;p&gt;Singularity: added missing Xau&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#!/bin/bash&lt;br /&gt;
# Script to fetch and build X.org, DRI, Mesa, synaptics and xkeyboard-config&lt;br /&gt;
# from CVS and GIT.&lt;br /&gt;
# If you want to skip some tasks, comment them out at the bottom of the script.&lt;br /&gt;
# Source: http://thinkwiki.org/wiki/How_to_compile_an_experimental_X_server&lt;br /&gt;
# See also:&lt;br /&gt;
#   http://wiki.x.org/wiki/ModularDevelopersGuide&lt;br /&gt;
#   http://wiki.x.org/wiki/GitPage&lt;br /&gt;
#   http://gitweb.freedesktop.org&lt;br /&gt;
#   http://dri.freedesktop.org/wiki/Building&lt;br /&gt;
#   http://www.mesa3d.org/cvs_access.html&lt;br /&gt;
#   http://www.mesa3d.org/install.html&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Init&lt;br /&gt;
&lt;br /&gt;
PIT=$HOME/3d-pit       # Download and build here&lt;br /&gt;
DEST=$PIT/install      # Install here&lt;br /&gt;
# MESA_DATE=2006-06-29 # Set this to get a historical Mesa CVS snapshot&lt;br /&gt;
FLAGS='-O2 -g -march=pentium-m'&lt;br /&gt;
&lt;br /&gt;
trap &amp;quot;echo Aborting.; exit 1&amp;quot; ERR&lt;br /&gt;
&lt;br /&gt;
die() {&lt;br /&gt;
  echo &amp;quot;$*&amp;quot;&lt;br /&gt;
  exit 1&lt;br /&gt;
}&lt;br /&gt;
run() {&lt;br /&gt;
  echo &amp;quot;@ $@&amp;quot;&lt;br /&gt;
  &amp;quot;$@&amp;quot; || { echo &amp;quot;ERROR: Command \&amp;quot;$*\&amp;quot; failed in `pwd`&amp;quot;; exit 1; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
fetch_from_git() {&lt;br /&gt;
  PARENT_DIR=&amp;quot;$1&amp;quot;&lt;br /&gt;
  GIT_REP=&amp;quot;$2&amp;quot;&lt;br /&gt;
  MODULE=&amp;quot;$3&amp;quot;&lt;br /&gt;
  DIR=&amp;quot;${4:-$MODULE}&amp;quot;&lt;br /&gt;
  if [ -d &amp;quot;$PARENT_DIR/$DIR&amp;quot; ]; then &lt;br /&gt;
    run cd &amp;quot;$PARENT_DIR/$DIR&amp;quot;&lt;br /&gt;
    run git pull&lt;br /&gt;
  else&lt;br /&gt;
    run cd &amp;quot;$PARENT_DIR&amp;quot;&lt;br /&gt;
    run git clone &amp;quot;$GIT_REP/$MODULE&amp;quot; &amp;quot;$DIR&amp;quot;&lt;br /&gt;
  fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Fetching and building libDRM and DRM kernel drivers&lt;br /&gt;
&lt;br /&gt;
fetch_drm() {&lt;br /&gt;
  echo &amp;quot;########### Fetch DRM ###########&amp;quot;&lt;br /&gt;
  DRM_GIT=git://anongit.freedesktop.org/git/mesa&lt;br /&gt;
  fetch_from_git &amp;quot;$PIT&amp;quot; &amp;quot;$DRM_GIT&amp;quot; drm&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
build_libdrm() {&lt;br /&gt;
  echo &amp;quot;########### Build libdrm ###########&amp;quot;&lt;br /&gt;
  run cd $PIT/drm&lt;br /&gt;
  run ./autogen.sh&lt;br /&gt;
  CFLAGS=&amp;quot;$FLAGS&amp;quot; run ./configure --prefix=$DEST --quiet&lt;br /&gt;
  run make clean&lt;br /&gt;
  run make&lt;br /&gt;
  run make install&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
build_drm_modules() {&lt;br /&gt;
  echo &amp;quot;########### Build DRM kernel modules ###########&amp;quot;&lt;br /&gt;
  run cd $PIT/drm/linux-core&lt;br /&gt;
  run make DRM_MODULES=&amp;quot;radeon&amp;quot;&lt;br /&gt;
  run sudo sh -c \&lt;br /&gt;
    'rm -fv /lib/modules/`uname -r`/kernel/drivers/char/drm/*.ko; \&lt;br /&gt;
     cp -v *.ko /lib/modules/`uname -r`/extra/; \&lt;br /&gt;
     /sbin/depmod -a'&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Fetching Mesa&lt;br /&gt;
&lt;br /&gt;
fetch_mesa() {&lt;br /&gt;
  echo &amp;quot;########### Fetching Mesa ###########&amp;quot;&lt;br /&gt;
  MESA_CVS=:pserver:anonymous@anoncvs.freedesktop.org:2401/cvs/mesa&lt;br /&gt;
  run mkdir -p $PIT&lt;br /&gt;
  run cd $PIT&lt;br /&gt;
  grep -qF $MESA_CVS ~/.cvspass || run cvs -d $MESA_CVS login&lt;br /&gt;
  [ -d Mesa ] || run cvs -z3 -d $MESA_CVS co ${MESA_DATE:+-D $MESA_DATE} Mesa&lt;br /&gt;
  run cd $PIT/Mesa&lt;br /&gt;
  run cvs -z3 update -ACPd ${MESA_DATE:+-D $MESA_DATE}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
patch_mesa() {&lt;br /&gt;
  # patch to make Google Earth use acceleration:&lt;br /&gt;
  run perl -i -pe 'print &amp;quot;//DISABLE &amp;quot; if m/^\s*FALLBACK_IF.*Line\.SmoothFlag/' \&lt;br /&gt;
    $PIT/Mesa/src/mesa/drivers/dri/r300/r300_render.c&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Building Mesa (do this *after* installing X.org)&lt;br /&gt;
&lt;br /&gt;
build_mesa() { (&lt;br /&gt;
  echo &amp;quot;########### Building Mesa ###########&amp;quot;&lt;br /&gt;
  # This uses both old-style and new-style vars, to support older Mesa snapshots.&lt;br /&gt;
  run cd $PIT/Mesa&lt;br /&gt;
  export DRM_SOURCE_PATH=$PIT/drm&lt;br /&gt;
  export PKG_CONFIG_PATH=&amp;quot;$DEST/lib/pkgconfig:$PKG_CONFIG_PATH&amp;quot;&lt;br /&gt;
  export DRM_SOURCE_PATH=&amp;quot;$PIT/drm&amp;quot;&lt;br /&gt;
  export DESTDIR=$DEST  INSTALL_DIR=$DEST&lt;br /&gt;
  export DRI_DRIVER_INSTALL_DIR=$DEST/lib/dri&lt;br /&gt;
  export DRI_DIRS='r300 r200 r128 radeon'&lt;br /&gt;
  export OPT_FLAGS=&amp;quot;$FLAGS&amp;quot;&lt;br /&gt;
  export PATH=&amp;quot;$DEST/bin:$PATH&amp;quot;&lt;br /&gt;
  run mkdir -p $DRI_DRIVER_INSTALL_DIR&lt;br /&gt;
  run make -e linux-dri-x86&lt;br /&gt;
  run make -e install&lt;br /&gt;
  run cp -v lib/*_dri.so $DRI_DRIVER_INSTALL_DIR&lt;br /&gt;
) }&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# X.org setup&lt;br /&gt;
# This is a list of modules that are in flux and likely to be related to&lt;br /&gt;
# whatever you're testing (or are required for the build), sorted by&lt;br /&gt;
# build order (see util/modular/build.sh for dependencies).&lt;br /&gt;
# Check CVS and the above URLs for other modules.&lt;br /&gt;
&lt;br /&gt;
XORG_DIRS=(&lt;br /&gt;
  util/macros&lt;br /&gt;
  proto/{bigreqs,composite,fixes,damage,gl,input,kb,pm,randr,resource,xext,xcmisc}proto&lt;br /&gt;
  proto/{render,scrnsaver,video}proto&lt;br /&gt;
  proto/{x11,xf86dga,xf86dri,xf86misc,xf86vidmode,xinerama}proto&lt;br /&gt;
  lib/lib{xtrans,X11,ICE,SM,Xau,Xt,Xmu,Xcomposite,Xrender,Xdamage,Xcursor,Xi,Xinerama}&lt;br /&gt;
  lib/lib{xkbui,Xrandr,Xv,XvMC,Xxf86dga,Xxf86misc,Xxf86vm}&lt;br /&gt;
  xserver&lt;br /&gt;
  driver/xf86-video-ati&lt;br /&gt;
  driver/xf86-input-mouse driver/xf86-input-keyboard&lt;br /&gt;
  app/{xkbutils,xkbcomp,setxkbmap}&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Fetching X.org&lt;br /&gt;
&lt;br /&gt;
fetch_xorg() {&lt;br /&gt;
  echo &amp;quot;########### Fetching (selected) X.org modules ###########&amp;quot;&lt;br /&gt;
  XORG_GIT=git://anongit.freedesktop.org/git/xorg&lt;br /&gt;
  run mkdir -p $PIT/xorg&lt;br /&gt;
  for D in &amp;quot;${XORG_DIRS[@]}&amp;quot;; do&lt;br /&gt;
    fetch_from_git $PIT/xorg &amp;quot;$XORG_GIT&amp;quot; &amp;quot;$D&amp;quot;&lt;br /&gt;
  done&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Building and installing X.org&lt;br /&gt;
# (On repeated runs we avoid rerunning autotools if nothing changed.)&lt;br /&gt;
&lt;br /&gt;
LAST_HASH=last_dir_hash&lt;br /&gt;
dir_hash() {&lt;br /&gt;
  find . \( -path ./$LAST_HASH -o -path ./.git -prune \) -o -ls | sort | md5sum&lt;br /&gt;
}&lt;br /&gt;
dir_hash_changed() {&lt;br /&gt;
  [ ! -f $LAST_HASH ] || [ &amp;quot;`dir_hash`&amp;quot; != &amp;quot;`cat $LAST_HASH`&amp;quot; ]&lt;br /&gt;
}&lt;br /&gt;
save_dir_hash() {&lt;br /&gt;
  dir_hash &amp;gt; $LAST_HASH&lt;br /&gt;
}&lt;br /&gt;
build_x_module() { (&lt;br /&gt;
  D=$1&lt;br /&gt;
  echo &amp;quot;########### Building xorg/$D ###########&amp;quot;&lt;br /&gt;
  export PATH=&amp;quot;$DEST/bin:$PATH&amp;quot;&lt;br /&gt;
  export PKG_CONFIG_PATH=&amp;quot;$DEST/lib/pkgconfig:$PKG_CONFIG_PATH&amp;quot;&lt;br /&gt;
  export ACLOCAL=&amp;quot;${AC_LOCAL:-aclocal} -I $DEST/share/aclocal&amp;quot;&lt;br /&gt;
  export LD_LIBRARY_PATH=&amp;quot;$DEST/lib:$LD_LIBRARY_PATH&amp;quot;&lt;br /&gt;
  if [ $D == &amp;quot;xserver&amp;quot; ]; then&lt;br /&gt;
    CONF_OPT=&amp;quot;--with-mesa-source=$PIT/Mesa --enable-xorg --disable-dmx --disable-xvfb --disable-xnest&amp;quot;&lt;br /&gt;
  elif [ $D == &amp;quot;lib/libX11&amp;quot; ]; then&lt;br /&gt;
    CONF_OPT=&amp;quot;--with-xcb=no&amp;quot;&lt;br /&gt;
  else&lt;br /&gt;
    CONF_OPT=&lt;br /&gt;
  fi&lt;br /&gt;
  run cd $PIT/xorg/$D&lt;br /&gt;
  if dir_hash_changed; then&lt;br /&gt;
    CFLAGS=&amp;quot;$FLAGS&amp;quot; run sh autogen.sh --prefix=$DEST --quiet --cache-file=$PIT/xorg/autoconf.cache $CONF_OPT&lt;br /&gt;
    save_dir_hash&lt;br /&gt;
  fi&lt;br /&gt;
  run make&lt;br /&gt;
  save_dir_hash&lt;br /&gt;
  run make install&lt;br /&gt;
  save_dir_hash&lt;br /&gt;
) }&lt;br /&gt;
&lt;br /&gt;
build_xorg() {&lt;br /&gt;
  run cd $PIT/xorg&lt;br /&gt;
  run mkdir -p $DEST/share/aclocal&lt;br /&gt;
  run mkdir -p $DEST/var/log&lt;br /&gt;
  for D in &amp;quot;${XORG_DIRS[@]}&amp;quot;; do &lt;br /&gt;
    build_x_module $D || return 1&lt;br /&gt;
  done&lt;br /&gt;
  run sudo sh -c &amp;quot;chown -v root $DEST/bin/Xorg; \&lt;br /&gt;
                  chmod -v 4711 $DEST/bin/Xorg&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Fetching and building xkeyboard-config&lt;br /&gt;
&lt;br /&gt;
fetch_xkeyboard_config() {&lt;br /&gt;
  echo &amp;quot;########### Fetching xkeyboard-config ###########&amp;quot;&lt;br /&gt;
  XKBC_CVS=:pserver:anoncvs@cvs.freedesktop.org:2401/cvs/xlibs&lt;br /&gt;
  run cd $PIT&lt;br /&gt;
  grep -qF $XKBC_CVS ~/.cvspass || run cvs -d $XKBC_CVS login&lt;br /&gt;
  [ -d xkbdesc ] || run cvs -z3 -d $XKBC_CVS co xkbdesc&lt;br /&gt;
  run cd $PIT/xkbdesc&lt;br /&gt;
  run cvs -z3 update -ACPd&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
build_xkeyboard_config() { (&lt;br /&gt;
  echo &amp;quot;########### Building xkeyboard-config ###########&amp;quot;&lt;br /&gt;
  run cd $PIT/xkbdesc&lt;br /&gt;
  run ./autogen.sh&lt;br /&gt;
  export PKG_CONFIG_PATH=&amp;quot;$DEST/lib/pkgconfig:$PKG_CONFIG_PATH&amp;quot;&lt;br /&gt;
  export PATH=&amp;quot;$DEST/bin:$PATH&amp;quot;&lt;br /&gt;
  CFLAGS=&amp;quot;$FLAGS&amp;quot; run ./configure --quiet --prefix=$DEST \&lt;br /&gt;
    --with-xkb-base=$DEST/share/X11/xkb --with-xkb-rules-symlink=xorg &lt;br /&gt;
  run make&lt;br /&gt;
  run rm -fr $DEST/share/X11/xkb/compiled&lt;br /&gt;
  run make install&lt;br /&gt;
) }&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Fetching and building the synaptics driver&lt;br /&gt;
&lt;br /&gt;
fetch_synaptics() {&lt;br /&gt;
  echo &amp;quot;########### Fetch synaptics ###########&amp;quot;&lt;br /&gt;
  SYN_GIT=http://web.telia.com/~u89404340/touchpad/synaptics/.git&lt;br /&gt;
  fetch_from_git &amp;quot;$PIT&amp;quot; &amp;quot;$SYN_GIT&amp;quot; '' synaptics&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
build_synaptics() { (&lt;br /&gt;
  echo &amp;quot;########### Build synaptics ###########&amp;quot;&lt;br /&gt;
  run cd $PIT/synaptics&lt;br /&gt;
  export PKG_CONFIG_PATH=&amp;quot;$DEST/lib/pkgconfig:$PKG_CONFIG_PATH&amp;quot;&lt;br /&gt;
  export PATH=&amp;quot;$DEST/bin:$PATH&amp;quot;&lt;br /&gt;
  run make&lt;br /&gt;
  run cp -v synaptics_drv.so $DEST/lib/xorg/modules/input/&lt;br /&gt;
#   run ./autogen.sh&lt;br /&gt;
#   CFLAGS=&amp;quot;$FLAGS&amp;quot; run ./configure --prefix=$DEST --quiet&lt;br /&gt;
#   run make clean&lt;br /&gt;
#   run make&lt;br /&gt;
#   run make install&lt;br /&gt;
) }&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Creating a script which sets env vars&lt;br /&gt;
&lt;br /&gt;
create_xsetenv() {&lt;br /&gt;
  cat &amp;lt;&amp;lt;EOF &amp;gt; $DEST/bin/xsetenv || die &amp;quot;Can't create $DEST/bin/xsetenv&amp;quot;&lt;br /&gt;
export PATH=&amp;quot;$DEST/bin:$PATH&amp;quot; &lt;br /&gt;
export LD_LIBRARY_PATH=&amp;quot;$DEST/lib:$LD_LIBRARY_PATH&amp;quot;&lt;br /&gt;
export LIBGL_DRIVERS_PATH=$DEST/lib/dri&lt;br /&gt;
EOF&lt;br /&gt;
  echo -e &amp;quot;\nRun '. $DEST/bin/xsetenv' to point env vars to this installation.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Do it:&lt;br /&gt;
&lt;br /&gt;
fetch_drm&lt;br /&gt;
fetch_mesa&lt;br /&gt;
# patch_mesa&lt;br /&gt;
fetch_xorg&lt;br /&gt;
build_libdrm&lt;br /&gt;
build_drm_modules&lt;br /&gt;
build_xorg&lt;br /&gt;
build_mesa&lt;br /&gt;
fetch_xkeyboard_config&lt;br /&gt;
build_xkeyboard_config&lt;br /&gt;
fetch_synaptics&lt;br /&gt;
build_synaptics&lt;br /&gt;
create_xsetenv&lt;br /&gt;
&lt;br /&gt;
echo 'Done.'&lt;/div&gt;</summary>
		<author><name>Singularity</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Code/build-experimental-X&amp;diff=24832</id>
		<title>Code/build-experimental-X</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Code/build-experimental-X&amp;diff=24832"/>
		<updated>2006-09-22T18:18:04Z</updated>

		<summary type="html">&lt;p&gt;Singularity: ICE is all caps, oops&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#!/bin/bash&lt;br /&gt;
# Script to fetch and build X.org, DRI, Mesa, synaptics and xkeyboard-config&lt;br /&gt;
# from CVS and GIT.&lt;br /&gt;
# If you want to skip some tasks, comment them out at the bottom of the script.&lt;br /&gt;
# Source: http://thinkwiki.org/wiki/How_to_compile_an_experimental_X_server&lt;br /&gt;
# See also:&lt;br /&gt;
#   http://wiki.x.org/wiki/ModularDevelopersGuide&lt;br /&gt;
#   http://wiki.x.org/wiki/GitPage&lt;br /&gt;
#   http://gitweb.freedesktop.org&lt;br /&gt;
#   http://dri.freedesktop.org/wiki/Building&lt;br /&gt;
#   http://www.mesa3d.org/cvs_access.html&lt;br /&gt;
#   http://www.mesa3d.org/install.html&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Init&lt;br /&gt;
&lt;br /&gt;
PIT=$HOME/3d-pit       # Download and build here&lt;br /&gt;
DEST=$PIT/install      # Install here&lt;br /&gt;
# MESA_DATE=2006-06-29 # Set this to get a historical Mesa CVS snapshot&lt;br /&gt;
FLAGS='-O2 -g -march=pentium-m'&lt;br /&gt;
&lt;br /&gt;
trap &amp;quot;echo Aborting.; exit 1&amp;quot; ERR&lt;br /&gt;
&lt;br /&gt;
die() {&lt;br /&gt;
  echo &amp;quot;$*&amp;quot;&lt;br /&gt;
  exit 1&lt;br /&gt;
}&lt;br /&gt;
run() {&lt;br /&gt;
  echo &amp;quot;@ $@&amp;quot;&lt;br /&gt;
  &amp;quot;$@&amp;quot; || { echo &amp;quot;ERROR: Command \&amp;quot;$*\&amp;quot; failed in `pwd`&amp;quot;; exit 1; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
fetch_from_git() {&lt;br /&gt;
  PARENT_DIR=&amp;quot;$1&amp;quot;&lt;br /&gt;
  GIT_REP=&amp;quot;$2&amp;quot;&lt;br /&gt;
  MODULE=&amp;quot;$3&amp;quot;&lt;br /&gt;
  DIR=&amp;quot;${4:-$MODULE}&amp;quot;&lt;br /&gt;
  if [ -d &amp;quot;$PARENT_DIR/$DIR&amp;quot; ]; then &lt;br /&gt;
    run cd &amp;quot;$PARENT_DIR/$DIR&amp;quot;&lt;br /&gt;
    run git pull&lt;br /&gt;
  else&lt;br /&gt;
    run cd &amp;quot;$PARENT_DIR&amp;quot;&lt;br /&gt;
    run git clone &amp;quot;$GIT_REP/$MODULE&amp;quot; &amp;quot;$DIR&amp;quot;&lt;br /&gt;
  fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Fetching and building libDRM and DRM kernel drivers&lt;br /&gt;
&lt;br /&gt;
fetch_drm() {&lt;br /&gt;
  echo &amp;quot;########### Fetch DRM ###########&amp;quot;&lt;br /&gt;
  DRM_GIT=git://anongit.freedesktop.org/git/mesa&lt;br /&gt;
  fetch_from_git &amp;quot;$PIT&amp;quot; &amp;quot;$DRM_GIT&amp;quot; drm&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
build_libdrm() {&lt;br /&gt;
  echo &amp;quot;########### Build libdrm ###########&amp;quot;&lt;br /&gt;
  run cd $PIT/drm&lt;br /&gt;
  run ./autogen.sh&lt;br /&gt;
  CFLAGS=&amp;quot;$FLAGS&amp;quot; run ./configure --prefix=$DEST --quiet&lt;br /&gt;
  run make clean&lt;br /&gt;
  run make&lt;br /&gt;
  run make install&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
build_drm_modules() {&lt;br /&gt;
  echo &amp;quot;########### Build DRM kernel modules ###########&amp;quot;&lt;br /&gt;
  run cd $PIT/drm/linux-core&lt;br /&gt;
  run make DRM_MODULES=&amp;quot;radeon&amp;quot;&lt;br /&gt;
  run sudo sh -c \&lt;br /&gt;
    'rm -fv /lib/modules/`uname -r`/kernel/drivers/char/drm/*.ko; \&lt;br /&gt;
     cp -v *.ko /lib/modules/`uname -r`/extra/; \&lt;br /&gt;
     /sbin/depmod -a'&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Fetching Mesa&lt;br /&gt;
&lt;br /&gt;
fetch_mesa() {&lt;br /&gt;
  echo &amp;quot;########### Fetching Mesa ###########&amp;quot;&lt;br /&gt;
  MESA_CVS=:pserver:anonymous@anoncvs.freedesktop.org:2401/cvs/mesa&lt;br /&gt;
  run mkdir -p $PIT&lt;br /&gt;
  run cd $PIT&lt;br /&gt;
  grep -qF $MESA_CVS ~/.cvspass || run cvs -d $MESA_CVS login&lt;br /&gt;
  [ -d Mesa ] || run cvs -z3 -d $MESA_CVS co ${MESA_DATE:+-D $MESA_DATE} Mesa&lt;br /&gt;
  run cd $PIT/Mesa&lt;br /&gt;
  run cvs -z3 update -ACPd ${MESA_DATE:+-D $MESA_DATE}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
patch_mesa() {&lt;br /&gt;
  # patch to make Google Earth use acceleration:&lt;br /&gt;
  run perl -i -pe 'print &amp;quot;//DISABLE &amp;quot; if m/^\s*FALLBACK_IF.*Line\.SmoothFlag/' \&lt;br /&gt;
    $PIT/Mesa/src/mesa/drivers/dri/r300/r300_render.c&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Building Mesa (do this *after* installing X.org)&lt;br /&gt;
&lt;br /&gt;
build_mesa() { (&lt;br /&gt;
  echo &amp;quot;########### Building Mesa ###########&amp;quot;&lt;br /&gt;
  # This uses both old-style and new-style vars, to support older Mesa snapshots.&lt;br /&gt;
  run cd $PIT/Mesa&lt;br /&gt;
  export DRM_SOURCE_PATH=$PIT/drm&lt;br /&gt;
  export PKG_CONFIG_PATH=&amp;quot;$DEST/lib/pkgconfig:$PKG_CONFIG_PATH&amp;quot;&lt;br /&gt;
  export DRM_SOURCE_PATH=&amp;quot;$PIT/drm&amp;quot;&lt;br /&gt;
  export DESTDIR=$DEST  INSTALL_DIR=$DEST&lt;br /&gt;
  export DRI_DRIVER_INSTALL_DIR=$DEST/lib/dri&lt;br /&gt;
  export DRI_DIRS='r300 r200 r128 radeon'&lt;br /&gt;
  export OPT_FLAGS=&amp;quot;$FLAGS&amp;quot;&lt;br /&gt;
  export PATH=&amp;quot;$DEST/bin:$PATH&amp;quot;&lt;br /&gt;
  run mkdir -p $DRI_DRIVER_INSTALL_DIR&lt;br /&gt;
  run make -e linux-dri-x86&lt;br /&gt;
  run make -e install&lt;br /&gt;
  run cp -v lib/*_dri.so $DRI_DRIVER_INSTALL_DIR&lt;br /&gt;
) }&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# X.org setup&lt;br /&gt;
# This is a list of modules that are in flux and likely to be related to&lt;br /&gt;
# whatever you're testing (or are required for the build), sorted by&lt;br /&gt;
# build order (see util/modular/build.sh for dependencies).&lt;br /&gt;
# Check CVS and the above URLs for other modules.&lt;br /&gt;
&lt;br /&gt;
XORG_DIRS=(&lt;br /&gt;
  util/macros&lt;br /&gt;
  proto/{bigreqs,composite,fixes,damage,gl,input,kb,pm,randr,resource,xext,xcmisc}proto&lt;br /&gt;
  proto/{render,scrnsaver,video}proto&lt;br /&gt;
  proto/{x11,xf86dga,xf86dri,xf86misc,xf86vidmode,xinerama}proto&lt;br /&gt;
  lib/lib{xtrans,X11,ICE,SM,Xt,Xmu,Xcomposite,Xrender,Xdamage,Xcursor,Xi,Xinerama}&lt;br /&gt;
  lib/lib{xkbui,Xrandr,Xv,XvMC,Xxf86dga,Xxf86misc,Xxf86vm}&lt;br /&gt;
  xserver&lt;br /&gt;
  driver/xf86-video-ati&lt;br /&gt;
  driver/xf86-input-mouse driver/xf86-input-keyboard&lt;br /&gt;
  app/{xkbutils,xkbcomp,setxkbmap}&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Fetching X.org&lt;br /&gt;
&lt;br /&gt;
fetch_xorg() {&lt;br /&gt;
  echo &amp;quot;########### Fetching (selected) X.org modules ###########&amp;quot;&lt;br /&gt;
  XORG_GIT=git://anongit.freedesktop.org/git/xorg&lt;br /&gt;
  run mkdir -p $PIT/xorg&lt;br /&gt;
  for D in &amp;quot;${XORG_DIRS[@]}&amp;quot;; do&lt;br /&gt;
    fetch_from_git $PIT/xorg &amp;quot;$XORG_GIT&amp;quot; &amp;quot;$D&amp;quot;&lt;br /&gt;
  done&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Building and installing X.org&lt;br /&gt;
# (On repeated runs we avoid rerunning autotools if nothing changed.)&lt;br /&gt;
&lt;br /&gt;
LAST_HASH=last_dir_hash&lt;br /&gt;
dir_hash() {&lt;br /&gt;
  find . \( -path ./$LAST_HASH -o -path ./.git -prune \) -o -ls | sort | md5sum&lt;br /&gt;
}&lt;br /&gt;
dir_hash_changed() {&lt;br /&gt;
  [ ! -f $LAST_HASH ] || [ &amp;quot;`dir_hash`&amp;quot; != &amp;quot;`cat $LAST_HASH`&amp;quot; ]&lt;br /&gt;
}&lt;br /&gt;
save_dir_hash() {&lt;br /&gt;
  dir_hash &amp;gt; $LAST_HASH&lt;br /&gt;
}&lt;br /&gt;
build_x_module() { (&lt;br /&gt;
  D=$1&lt;br /&gt;
  echo &amp;quot;########### Building xorg/$D ###########&amp;quot;&lt;br /&gt;
  export PATH=&amp;quot;$DEST/bin:$PATH&amp;quot;&lt;br /&gt;
  export PKG_CONFIG_PATH=&amp;quot;$DEST/lib/pkgconfig:$PKG_CONFIG_PATH&amp;quot;&lt;br /&gt;
  export ACLOCAL=&amp;quot;${AC_LOCAL:-aclocal} -I $DEST/share/aclocal&amp;quot;&lt;br /&gt;
  export LD_LIBRARY_PATH=&amp;quot;$DEST/lib:$LD_LIBRARY_PATH&amp;quot;&lt;br /&gt;
  if [ $D == &amp;quot;xserver&amp;quot; ]; then&lt;br /&gt;
    CONF_OPT=&amp;quot;--with-mesa-source=$PIT/Mesa --enable-xorg --disable-dmx --disable-xvfb --disable-xnest&amp;quot;&lt;br /&gt;
  elif [ $D == &amp;quot;lib/libX11&amp;quot; ]; then&lt;br /&gt;
    CONF_OPT=&amp;quot;--with-xcb=no&amp;quot;&lt;br /&gt;
  else&lt;br /&gt;
    CONF_OPT=&lt;br /&gt;
  fi&lt;br /&gt;
  run cd $PIT/xorg/$D&lt;br /&gt;
  if dir_hash_changed; then&lt;br /&gt;
    CFLAGS=&amp;quot;$FLAGS&amp;quot; run sh autogen.sh --prefix=$DEST --quiet --cache-file=$PIT/xorg/autoconf.cache $CONF_OPT&lt;br /&gt;
    save_dir_hash&lt;br /&gt;
  fi&lt;br /&gt;
  run make&lt;br /&gt;
  save_dir_hash&lt;br /&gt;
  run make install&lt;br /&gt;
  save_dir_hash&lt;br /&gt;
) }&lt;br /&gt;
&lt;br /&gt;
build_xorg() {&lt;br /&gt;
  run cd $PIT/xorg&lt;br /&gt;
  run mkdir -p $DEST/share/aclocal&lt;br /&gt;
  run mkdir -p $DEST/var/log&lt;br /&gt;
  for D in &amp;quot;${XORG_DIRS[@]}&amp;quot;; do &lt;br /&gt;
    build_x_module $D || return 1&lt;br /&gt;
  done&lt;br /&gt;
  run sudo sh -c &amp;quot;chown -v root $DEST/bin/Xorg; \&lt;br /&gt;
                  chmod -v 4711 $DEST/bin/Xorg&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Fetching and building xkeyboard-config&lt;br /&gt;
&lt;br /&gt;
fetch_xkeyboard_config() {&lt;br /&gt;
  echo &amp;quot;########### Fetching xkeyboard-config ###########&amp;quot;&lt;br /&gt;
  XKBC_CVS=:pserver:anoncvs@cvs.freedesktop.org:2401/cvs/xlibs&lt;br /&gt;
  run cd $PIT&lt;br /&gt;
  grep -qF $XKBC_CVS ~/.cvspass || run cvs -d $XKBC_CVS login&lt;br /&gt;
  [ -d xkbdesc ] || run cvs -z3 -d $XKBC_CVS co xkbdesc&lt;br /&gt;
  run cd $PIT/xkbdesc&lt;br /&gt;
  run cvs -z3 update -ACPd&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
build_xkeyboard_config() { (&lt;br /&gt;
  echo &amp;quot;########### Building xkeyboard-config ###########&amp;quot;&lt;br /&gt;
  run cd $PIT/xkbdesc&lt;br /&gt;
  run ./autogen.sh&lt;br /&gt;
  export PKG_CONFIG_PATH=&amp;quot;$DEST/lib/pkgconfig:$PKG_CONFIG_PATH&amp;quot;&lt;br /&gt;
  export PATH=&amp;quot;$DEST/bin:$PATH&amp;quot;&lt;br /&gt;
  CFLAGS=&amp;quot;$FLAGS&amp;quot; run ./configure --quiet --prefix=$DEST \&lt;br /&gt;
    --with-xkb-base=$DEST/share/X11/xkb --with-xkb-rules-symlink=xorg &lt;br /&gt;
  run make&lt;br /&gt;
  run rm -fr $DEST/share/X11/xkb/compiled&lt;br /&gt;
  run make install&lt;br /&gt;
) }&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Fetching and building the synaptics driver&lt;br /&gt;
&lt;br /&gt;
fetch_synaptics() {&lt;br /&gt;
  echo &amp;quot;########### Fetch synaptics ###########&amp;quot;&lt;br /&gt;
  SYN_GIT=http://web.telia.com/~u89404340/touchpad/synaptics/.git&lt;br /&gt;
  fetch_from_git &amp;quot;$PIT&amp;quot; &amp;quot;$SYN_GIT&amp;quot; '' synaptics&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
build_synaptics() { (&lt;br /&gt;
  echo &amp;quot;########### Build synaptics ###########&amp;quot;&lt;br /&gt;
  run cd $PIT/synaptics&lt;br /&gt;
  export PKG_CONFIG_PATH=&amp;quot;$DEST/lib/pkgconfig:$PKG_CONFIG_PATH&amp;quot;&lt;br /&gt;
  export PATH=&amp;quot;$DEST/bin:$PATH&amp;quot;&lt;br /&gt;
  run make&lt;br /&gt;
  run cp -v synaptics_drv.so $DEST/lib/xorg/modules/input/&lt;br /&gt;
#   run ./autogen.sh&lt;br /&gt;
#   CFLAGS=&amp;quot;$FLAGS&amp;quot; run ./configure --prefix=$DEST --quiet&lt;br /&gt;
#   run make clean&lt;br /&gt;
#   run make&lt;br /&gt;
#   run make install&lt;br /&gt;
) }&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Creating a script which sets env vars&lt;br /&gt;
&lt;br /&gt;
create_xsetenv() {&lt;br /&gt;
  cat &amp;lt;&amp;lt;EOF &amp;gt; $DEST/bin/xsetenv || die &amp;quot;Can't create $DEST/bin/xsetenv&amp;quot;&lt;br /&gt;
export PATH=&amp;quot;$DEST/bin:$PATH&amp;quot; &lt;br /&gt;
export LD_LIBRARY_PATH=&amp;quot;$DEST/lib:$LD_LIBRARY_PATH&amp;quot;&lt;br /&gt;
export LIBGL_DRIVERS_PATH=$DEST/lib/dri&lt;br /&gt;
EOF&lt;br /&gt;
  echo -e &amp;quot;\nRun '. $DEST/bin/xsetenv' to point env vars to this installation.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Do it:&lt;br /&gt;
&lt;br /&gt;
fetch_drm&lt;br /&gt;
fetch_mesa&lt;br /&gt;
# patch_mesa&lt;br /&gt;
fetch_xorg&lt;br /&gt;
build_libdrm&lt;br /&gt;
build_drm_modules&lt;br /&gt;
build_xorg&lt;br /&gt;
build_mesa&lt;br /&gt;
fetch_xkeyboard_config&lt;br /&gt;
build_xkeyboard_config&lt;br /&gt;
fetch_synaptics&lt;br /&gt;
build_synaptics&lt;br /&gt;
create_xsetenv&lt;br /&gt;
&lt;br /&gt;
echo 'Done.'&lt;/div&gt;</summary>
		<author><name>Singularity</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Code/build-experimental-X&amp;diff=24831</id>
		<title>Code/build-experimental-X</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Code/build-experimental-X&amp;diff=24831"/>
		<updated>2006-09-22T18:16:04Z</updated>

		<summary type="html">&lt;p&gt;Singularity: added missing ice and sm libs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#!/bin/bash&lt;br /&gt;
# Script to fetch and build X.org, DRI, Mesa, synaptics and xkeyboard-config&lt;br /&gt;
# from CVS and GIT.&lt;br /&gt;
# If you want to skip some tasks, comment them out at the bottom of the script.&lt;br /&gt;
# Source: http://thinkwiki.org/wiki/How_to_compile_an_experimental_X_server&lt;br /&gt;
# See also:&lt;br /&gt;
#   http://wiki.x.org/wiki/ModularDevelopersGuide&lt;br /&gt;
#   http://wiki.x.org/wiki/GitPage&lt;br /&gt;
#   http://gitweb.freedesktop.org&lt;br /&gt;
#   http://dri.freedesktop.org/wiki/Building&lt;br /&gt;
#   http://www.mesa3d.org/cvs_access.html&lt;br /&gt;
#   http://www.mesa3d.org/install.html&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Init&lt;br /&gt;
&lt;br /&gt;
PIT=$HOME/3d-pit       # Download and build here&lt;br /&gt;
DEST=$PIT/install      # Install here&lt;br /&gt;
# MESA_DATE=2006-06-29 # Set this to get a historical Mesa CVS snapshot&lt;br /&gt;
FLAGS='-O2 -g -march=pentium-m'&lt;br /&gt;
&lt;br /&gt;
trap &amp;quot;echo Aborting.; exit 1&amp;quot; ERR&lt;br /&gt;
&lt;br /&gt;
die() {&lt;br /&gt;
  echo &amp;quot;$*&amp;quot;&lt;br /&gt;
  exit 1&lt;br /&gt;
}&lt;br /&gt;
run() {&lt;br /&gt;
  echo &amp;quot;@ $@&amp;quot;&lt;br /&gt;
  &amp;quot;$@&amp;quot; || { echo &amp;quot;ERROR: Command \&amp;quot;$*\&amp;quot; failed in `pwd`&amp;quot;; exit 1; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
fetch_from_git() {&lt;br /&gt;
  PARENT_DIR=&amp;quot;$1&amp;quot;&lt;br /&gt;
  GIT_REP=&amp;quot;$2&amp;quot;&lt;br /&gt;
  MODULE=&amp;quot;$3&amp;quot;&lt;br /&gt;
  DIR=&amp;quot;${4:-$MODULE}&amp;quot;&lt;br /&gt;
  if [ -d &amp;quot;$PARENT_DIR/$DIR&amp;quot; ]; then &lt;br /&gt;
    run cd &amp;quot;$PARENT_DIR/$DIR&amp;quot;&lt;br /&gt;
    run git pull&lt;br /&gt;
  else&lt;br /&gt;
    run cd &amp;quot;$PARENT_DIR&amp;quot;&lt;br /&gt;
    run git clone &amp;quot;$GIT_REP/$MODULE&amp;quot; &amp;quot;$DIR&amp;quot;&lt;br /&gt;
  fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Fetching and building libDRM and DRM kernel drivers&lt;br /&gt;
&lt;br /&gt;
fetch_drm() {&lt;br /&gt;
  echo &amp;quot;########### Fetch DRM ###########&amp;quot;&lt;br /&gt;
  DRM_GIT=git://anongit.freedesktop.org/git/mesa&lt;br /&gt;
  fetch_from_git &amp;quot;$PIT&amp;quot; &amp;quot;$DRM_GIT&amp;quot; drm&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
build_libdrm() {&lt;br /&gt;
  echo &amp;quot;########### Build libdrm ###########&amp;quot;&lt;br /&gt;
  run cd $PIT/drm&lt;br /&gt;
  run ./autogen.sh&lt;br /&gt;
  CFLAGS=&amp;quot;$FLAGS&amp;quot; run ./configure --prefix=$DEST --quiet&lt;br /&gt;
  run make clean&lt;br /&gt;
  run make&lt;br /&gt;
  run make install&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
build_drm_modules() {&lt;br /&gt;
  echo &amp;quot;########### Build DRM kernel modules ###########&amp;quot;&lt;br /&gt;
  run cd $PIT/drm/linux-core&lt;br /&gt;
  run make DRM_MODULES=&amp;quot;radeon&amp;quot;&lt;br /&gt;
  run sudo sh -c \&lt;br /&gt;
    'rm -fv /lib/modules/`uname -r`/kernel/drivers/char/drm/*.ko; \&lt;br /&gt;
     cp -v *.ko /lib/modules/`uname -r`/extra/; \&lt;br /&gt;
     /sbin/depmod -a'&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Fetching Mesa&lt;br /&gt;
&lt;br /&gt;
fetch_mesa() {&lt;br /&gt;
  echo &amp;quot;########### Fetching Mesa ###########&amp;quot;&lt;br /&gt;
  MESA_CVS=:pserver:anonymous@anoncvs.freedesktop.org:2401/cvs/mesa&lt;br /&gt;
  run mkdir -p $PIT&lt;br /&gt;
  run cd $PIT&lt;br /&gt;
  grep -qF $MESA_CVS ~/.cvspass || run cvs -d $MESA_CVS login&lt;br /&gt;
  [ -d Mesa ] || run cvs -z3 -d $MESA_CVS co ${MESA_DATE:+-D $MESA_DATE} Mesa&lt;br /&gt;
  run cd $PIT/Mesa&lt;br /&gt;
  run cvs -z3 update -ACPd ${MESA_DATE:+-D $MESA_DATE}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
patch_mesa() {&lt;br /&gt;
  # patch to make Google Earth use acceleration:&lt;br /&gt;
  run perl -i -pe 'print &amp;quot;//DISABLE &amp;quot; if m/^\s*FALLBACK_IF.*Line\.SmoothFlag/' \&lt;br /&gt;
    $PIT/Mesa/src/mesa/drivers/dri/r300/r300_render.c&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Building Mesa (do this *after* installing X.org)&lt;br /&gt;
&lt;br /&gt;
build_mesa() { (&lt;br /&gt;
  echo &amp;quot;########### Building Mesa ###########&amp;quot;&lt;br /&gt;
  # This uses both old-style and new-style vars, to support older Mesa snapshots.&lt;br /&gt;
  run cd $PIT/Mesa&lt;br /&gt;
  export DRM_SOURCE_PATH=$PIT/drm&lt;br /&gt;
  export PKG_CONFIG_PATH=&amp;quot;$DEST/lib/pkgconfig:$PKG_CONFIG_PATH&amp;quot;&lt;br /&gt;
  export DRM_SOURCE_PATH=&amp;quot;$PIT/drm&amp;quot;&lt;br /&gt;
  export DESTDIR=$DEST  INSTALL_DIR=$DEST&lt;br /&gt;
  export DRI_DRIVER_INSTALL_DIR=$DEST/lib/dri&lt;br /&gt;
  export DRI_DIRS='r300 r200 r128 radeon'&lt;br /&gt;
  export OPT_FLAGS=&amp;quot;$FLAGS&amp;quot;&lt;br /&gt;
  export PATH=&amp;quot;$DEST/bin:$PATH&amp;quot;&lt;br /&gt;
  run mkdir -p $DRI_DRIVER_INSTALL_DIR&lt;br /&gt;
  run make -e linux-dri-x86&lt;br /&gt;
  run make -e install&lt;br /&gt;
  run cp -v lib/*_dri.so $DRI_DRIVER_INSTALL_DIR&lt;br /&gt;
) }&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# X.org setup&lt;br /&gt;
# This is a list of modules that are in flux and likely to be related to&lt;br /&gt;
# whatever you're testing (or are required for the build), sorted by&lt;br /&gt;
# build order (see util/modular/build.sh for dependencies).&lt;br /&gt;
# Check CVS and the above URLs for other modules.&lt;br /&gt;
&lt;br /&gt;
XORG_DIRS=(&lt;br /&gt;
  util/macros&lt;br /&gt;
  proto/{bigreqs,composite,fixes,damage,gl,input,kb,pm,randr,resource,xext,xcmisc}proto&lt;br /&gt;
  proto/{render,scrnsaver,video}proto&lt;br /&gt;
  proto/{x11,xf86dga,xf86dri,xf86misc,xf86vidmode,xinerama}proto&lt;br /&gt;
  lib/lib{xtrans,X11,ice,SM,Xt,Xmu,Xcomposite,Xrender,Xdamage,Xcursor,Xi,Xinerama}&lt;br /&gt;
  lib/lib{xkbui,Xrandr,Xv,XvMC,Xxf86dga,Xxf86misc,Xxf86vm}&lt;br /&gt;
  xserver&lt;br /&gt;
  driver/xf86-video-ati&lt;br /&gt;
  driver/xf86-input-mouse driver/xf86-input-keyboard&lt;br /&gt;
  app/{xkbutils,xkbcomp,setxkbmap}&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Fetching X.org&lt;br /&gt;
&lt;br /&gt;
fetch_xorg() {&lt;br /&gt;
  echo &amp;quot;########### Fetching (selected) X.org modules ###########&amp;quot;&lt;br /&gt;
  XORG_GIT=git://anongit.freedesktop.org/git/xorg&lt;br /&gt;
  run mkdir -p $PIT/xorg&lt;br /&gt;
  for D in &amp;quot;${XORG_DIRS[@]}&amp;quot;; do&lt;br /&gt;
    fetch_from_git $PIT/xorg &amp;quot;$XORG_GIT&amp;quot; &amp;quot;$D&amp;quot;&lt;br /&gt;
  done&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Building and installing X.org&lt;br /&gt;
# (On repeated runs we avoid rerunning autotools if nothing changed.)&lt;br /&gt;
&lt;br /&gt;
LAST_HASH=last_dir_hash&lt;br /&gt;
dir_hash() {&lt;br /&gt;
  find . \( -path ./$LAST_HASH -o -path ./.git -prune \) -o -ls | sort | md5sum&lt;br /&gt;
}&lt;br /&gt;
dir_hash_changed() {&lt;br /&gt;
  [ ! -f $LAST_HASH ] || [ &amp;quot;`dir_hash`&amp;quot; != &amp;quot;`cat $LAST_HASH`&amp;quot; ]&lt;br /&gt;
}&lt;br /&gt;
save_dir_hash() {&lt;br /&gt;
  dir_hash &amp;gt; $LAST_HASH&lt;br /&gt;
}&lt;br /&gt;
build_x_module() { (&lt;br /&gt;
  D=$1&lt;br /&gt;
  echo &amp;quot;########### Building xorg/$D ###########&amp;quot;&lt;br /&gt;
  export PATH=&amp;quot;$DEST/bin:$PATH&amp;quot;&lt;br /&gt;
  export PKG_CONFIG_PATH=&amp;quot;$DEST/lib/pkgconfig:$PKG_CONFIG_PATH&amp;quot;&lt;br /&gt;
  export ACLOCAL=&amp;quot;${AC_LOCAL:-aclocal} -I $DEST/share/aclocal&amp;quot;&lt;br /&gt;
  export LD_LIBRARY_PATH=&amp;quot;$DEST/lib:$LD_LIBRARY_PATH&amp;quot;&lt;br /&gt;
  if [ $D == &amp;quot;xserver&amp;quot; ]; then&lt;br /&gt;
    CONF_OPT=&amp;quot;--with-mesa-source=$PIT/Mesa --enable-xorg --disable-dmx --disable-xvfb --disable-xnest&amp;quot;&lt;br /&gt;
  elif [ $D == &amp;quot;lib/libX11&amp;quot; ]; then&lt;br /&gt;
    CONF_OPT=&amp;quot;--with-xcb=no&amp;quot;&lt;br /&gt;
  else&lt;br /&gt;
    CONF_OPT=&lt;br /&gt;
  fi&lt;br /&gt;
  run cd $PIT/xorg/$D&lt;br /&gt;
  if dir_hash_changed; then&lt;br /&gt;
    CFLAGS=&amp;quot;$FLAGS&amp;quot; run sh autogen.sh --prefix=$DEST --quiet --cache-file=$PIT/xorg/autoconf.cache $CONF_OPT&lt;br /&gt;
    save_dir_hash&lt;br /&gt;
  fi&lt;br /&gt;
  run make&lt;br /&gt;
  save_dir_hash&lt;br /&gt;
  run make install&lt;br /&gt;
  save_dir_hash&lt;br /&gt;
) }&lt;br /&gt;
&lt;br /&gt;
build_xorg() {&lt;br /&gt;
  run cd $PIT/xorg&lt;br /&gt;
  run mkdir -p $DEST/share/aclocal&lt;br /&gt;
  run mkdir -p $DEST/var/log&lt;br /&gt;
  for D in &amp;quot;${XORG_DIRS[@]}&amp;quot;; do &lt;br /&gt;
    build_x_module $D || return 1&lt;br /&gt;
  done&lt;br /&gt;
  run sudo sh -c &amp;quot;chown -v root $DEST/bin/Xorg; \&lt;br /&gt;
                  chmod -v 4711 $DEST/bin/Xorg&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Fetching and building xkeyboard-config&lt;br /&gt;
&lt;br /&gt;
fetch_xkeyboard_config() {&lt;br /&gt;
  echo &amp;quot;########### Fetching xkeyboard-config ###########&amp;quot;&lt;br /&gt;
  XKBC_CVS=:pserver:anoncvs@cvs.freedesktop.org:2401/cvs/xlibs&lt;br /&gt;
  run cd $PIT&lt;br /&gt;
  grep -qF $XKBC_CVS ~/.cvspass || run cvs -d $XKBC_CVS login&lt;br /&gt;
  [ -d xkbdesc ] || run cvs -z3 -d $XKBC_CVS co xkbdesc&lt;br /&gt;
  run cd $PIT/xkbdesc&lt;br /&gt;
  run cvs -z3 update -ACPd&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
build_xkeyboard_config() { (&lt;br /&gt;
  echo &amp;quot;########### Building xkeyboard-config ###########&amp;quot;&lt;br /&gt;
  run cd $PIT/xkbdesc&lt;br /&gt;
  run ./autogen.sh&lt;br /&gt;
  export PKG_CONFIG_PATH=&amp;quot;$DEST/lib/pkgconfig:$PKG_CONFIG_PATH&amp;quot;&lt;br /&gt;
  export PATH=&amp;quot;$DEST/bin:$PATH&amp;quot;&lt;br /&gt;
  CFLAGS=&amp;quot;$FLAGS&amp;quot; run ./configure --quiet --prefix=$DEST \&lt;br /&gt;
    --with-xkb-base=$DEST/share/X11/xkb --with-xkb-rules-symlink=xorg &lt;br /&gt;
  run make&lt;br /&gt;
  run rm -fr $DEST/share/X11/xkb/compiled&lt;br /&gt;
  run make install&lt;br /&gt;
) }&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Fetching and building the synaptics driver&lt;br /&gt;
&lt;br /&gt;
fetch_synaptics() {&lt;br /&gt;
  echo &amp;quot;########### Fetch synaptics ###########&amp;quot;&lt;br /&gt;
  SYN_GIT=http://web.telia.com/~u89404340/touchpad/synaptics/.git&lt;br /&gt;
  fetch_from_git &amp;quot;$PIT&amp;quot; &amp;quot;$SYN_GIT&amp;quot; '' synaptics&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
build_synaptics() { (&lt;br /&gt;
  echo &amp;quot;########### Build synaptics ###########&amp;quot;&lt;br /&gt;
  run cd $PIT/synaptics&lt;br /&gt;
  export PKG_CONFIG_PATH=&amp;quot;$DEST/lib/pkgconfig:$PKG_CONFIG_PATH&amp;quot;&lt;br /&gt;
  export PATH=&amp;quot;$DEST/bin:$PATH&amp;quot;&lt;br /&gt;
  run make&lt;br /&gt;
  run cp -v synaptics_drv.so $DEST/lib/xorg/modules/input/&lt;br /&gt;
#   run ./autogen.sh&lt;br /&gt;
#   CFLAGS=&amp;quot;$FLAGS&amp;quot; run ./configure --prefix=$DEST --quiet&lt;br /&gt;
#   run make clean&lt;br /&gt;
#   run make&lt;br /&gt;
#   run make install&lt;br /&gt;
) }&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Creating a script which sets env vars&lt;br /&gt;
&lt;br /&gt;
create_xsetenv() {&lt;br /&gt;
  cat &amp;lt;&amp;lt;EOF &amp;gt; $DEST/bin/xsetenv || die &amp;quot;Can't create $DEST/bin/xsetenv&amp;quot;&lt;br /&gt;
export PATH=&amp;quot;$DEST/bin:$PATH&amp;quot; &lt;br /&gt;
export LD_LIBRARY_PATH=&amp;quot;$DEST/lib:$LD_LIBRARY_PATH&amp;quot;&lt;br /&gt;
export LIBGL_DRIVERS_PATH=$DEST/lib/dri&lt;br /&gt;
EOF&lt;br /&gt;
  echo -e &amp;quot;\nRun '. $DEST/bin/xsetenv' to point env vars to this installation.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Do it:&lt;br /&gt;
&lt;br /&gt;
fetch_drm&lt;br /&gt;
fetch_mesa&lt;br /&gt;
# patch_mesa&lt;br /&gt;
fetch_xorg&lt;br /&gt;
build_libdrm&lt;br /&gt;
build_drm_modules&lt;br /&gt;
build_xorg&lt;br /&gt;
build_mesa&lt;br /&gt;
fetch_xkeyboard_config&lt;br /&gt;
build_xkeyboard_config&lt;br /&gt;
fetch_synaptics&lt;br /&gt;
build_synaptics&lt;br /&gt;
create_xsetenv&lt;br /&gt;
&lt;br /&gt;
echo 'Done.'&lt;/div&gt;</summary>
		<author><name>Singularity</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:How_to_compile_an_experimental_X_server&amp;diff=24830</id>
		<title>Talk:How to compile an experimental X server</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:How_to_compile_an_experimental_X_server&amp;diff=24830"/>
		<updated>2006-09-22T18:15:01Z</updated>

		<summary type="html">&lt;p&gt;Singularity: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Other approach==&lt;br /&gt;
Or, if you want to play with an unstable system, use a distribution, which can help you doing that, for example [http://www.gentoo.org/ Gentoo] or [http://www.sourcemage.org/ Sourcemage].&lt;br /&gt;
You won't need a script that way:&lt;br /&gt;
 root@gentoo ~ $ echo &amp;quot;x11-base/xorg-x11 ~x86&amp;quot; &amp;gt; /etc/portage/package.keywords&lt;br /&gt;
 root@gentoo ~ $ emerge -avuD xorg-x11&lt;br /&gt;
(scnr. I know that you'll have to unmask a few more packages in reality. I know that you can do something similar in other distributions. I just don't understand why you are not using your package manager [unless you've got an LFS...])&lt;br /&gt;
&lt;br /&gt;
--[[User:Pberndt|Pberndt]] 21:11, 7 July 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
The script fetches the very latest code from GIT and CVS. No distribution I know off is this bleeding-edge. It makes a large difference in some hot development areas, such as accelerated DRI drivers.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:30, 7 July 2006 (CEST)&lt;br /&gt;
----&lt;br /&gt;
::Thinker your script fails for me. &lt;br /&gt;
&lt;br /&gt;
 No package 'xextproto' found&lt;br /&gt;
 No package 'xcmiscproto' found&lt;br /&gt;
&lt;br /&gt;
 ... ERROR: Command &amp;quot;sh autogen.sh --prefix=/home/paul/3d-pit/install --quiet --cache-file=/home/paul/3d-pit/xorg/autoconf.cache --with-xcb=no&amp;quot; failed in /home/paul/3d-pit/xorg/lib/libX11&lt;br /&gt;
 Aborting.&lt;br /&gt;
&lt;br /&gt;
::the fix was trivial, just adding those two packages&lt;br /&gt;
&lt;br /&gt;
::okay,it was missing SM and ice too, how on earth did you compile xorg with this script?&lt;/div&gt;</summary>
		<author><name>Singularity</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=User:Singularity&amp;diff=24829</id>
		<title>User:Singularity</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=User:Singularity&amp;diff=24829"/>
		<updated>2006-09-22T18:04:33Z</updated>

		<summary type="html">&lt;p&gt;Singularity: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I have an Acer laptop, not an IBM, but it has an X700 in it so i feel i can contribute some to the various wikis here.&lt;/div&gt;</summary>
		<author><name>Singularity</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Code/build-experimental-X&amp;diff=24828</id>
		<title>Code/build-experimental-X</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Code/build-experimental-X&amp;diff=24828"/>
		<updated>2006-09-22T18:01:44Z</updated>

		<summary type="html">&lt;p&gt;Singularity: added missing protos xext and xcmisc&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#!/bin/bash&lt;br /&gt;
# Script to fetch and build X.org, DRI, Mesa, synaptics and xkeyboard-config&lt;br /&gt;
# from CVS and GIT.&lt;br /&gt;
# If you want to skip some tasks, comment them out at the bottom of the script.&lt;br /&gt;
# Source: http://thinkwiki.org/wiki/How_to_compile_an_experimental_X_server&lt;br /&gt;
# See also:&lt;br /&gt;
#   http://wiki.x.org/wiki/ModularDevelopersGuide&lt;br /&gt;
#   http://wiki.x.org/wiki/GitPage&lt;br /&gt;
#   http://gitweb.freedesktop.org&lt;br /&gt;
#   http://dri.freedesktop.org/wiki/Building&lt;br /&gt;
#   http://www.mesa3d.org/cvs_access.html&lt;br /&gt;
#   http://www.mesa3d.org/install.html&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Init&lt;br /&gt;
&lt;br /&gt;
PIT=$HOME/3d-pit       # Download and build here&lt;br /&gt;
DEST=$PIT/install      # Install here&lt;br /&gt;
# MESA_DATE=2006-06-29 # Set this to get a historical Mesa CVS snapshot&lt;br /&gt;
FLAGS='-O2 -g -march=pentium-m'&lt;br /&gt;
&lt;br /&gt;
trap &amp;quot;echo Aborting.; exit 1&amp;quot; ERR&lt;br /&gt;
&lt;br /&gt;
die() {&lt;br /&gt;
  echo &amp;quot;$*&amp;quot;&lt;br /&gt;
  exit 1&lt;br /&gt;
}&lt;br /&gt;
run() {&lt;br /&gt;
  echo &amp;quot;@ $@&amp;quot;&lt;br /&gt;
  &amp;quot;$@&amp;quot; || { echo &amp;quot;ERROR: Command \&amp;quot;$*\&amp;quot; failed in `pwd`&amp;quot;; exit 1; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
fetch_from_git() {&lt;br /&gt;
  PARENT_DIR=&amp;quot;$1&amp;quot;&lt;br /&gt;
  GIT_REP=&amp;quot;$2&amp;quot;&lt;br /&gt;
  MODULE=&amp;quot;$3&amp;quot;&lt;br /&gt;
  DIR=&amp;quot;${4:-$MODULE}&amp;quot;&lt;br /&gt;
  if [ -d &amp;quot;$PARENT_DIR/$DIR&amp;quot; ]; then &lt;br /&gt;
    run cd &amp;quot;$PARENT_DIR/$DIR&amp;quot;&lt;br /&gt;
    run git pull&lt;br /&gt;
  else&lt;br /&gt;
    run cd &amp;quot;$PARENT_DIR&amp;quot;&lt;br /&gt;
    run git clone &amp;quot;$GIT_REP/$MODULE&amp;quot; &amp;quot;$DIR&amp;quot;&lt;br /&gt;
  fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Fetching and building libDRM and DRM kernel drivers&lt;br /&gt;
&lt;br /&gt;
fetch_drm() {&lt;br /&gt;
  echo &amp;quot;########### Fetch DRM ###########&amp;quot;&lt;br /&gt;
  DRM_GIT=git://anongit.freedesktop.org/git/mesa&lt;br /&gt;
  fetch_from_git &amp;quot;$PIT&amp;quot; &amp;quot;$DRM_GIT&amp;quot; drm&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
build_libdrm() {&lt;br /&gt;
  echo &amp;quot;########### Build libdrm ###########&amp;quot;&lt;br /&gt;
  run cd $PIT/drm&lt;br /&gt;
  run ./autogen.sh&lt;br /&gt;
  CFLAGS=&amp;quot;$FLAGS&amp;quot; run ./configure --prefix=$DEST --quiet&lt;br /&gt;
  run make clean&lt;br /&gt;
  run make&lt;br /&gt;
  run make install&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
build_drm_modules() {&lt;br /&gt;
  echo &amp;quot;########### Build DRM kernel modules ###########&amp;quot;&lt;br /&gt;
  run cd $PIT/drm/linux-core&lt;br /&gt;
  run make DRM_MODULES=&amp;quot;radeon&amp;quot;&lt;br /&gt;
  run sudo sh -c \&lt;br /&gt;
    'rm -fv /lib/modules/`uname -r`/kernel/drivers/char/drm/*.ko; \&lt;br /&gt;
     cp -v *.ko /lib/modules/`uname -r`/extra/; \&lt;br /&gt;
     /sbin/depmod -a'&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Fetching Mesa&lt;br /&gt;
&lt;br /&gt;
fetch_mesa() {&lt;br /&gt;
  echo &amp;quot;########### Fetching Mesa ###########&amp;quot;&lt;br /&gt;
  MESA_CVS=:pserver:anonymous@anoncvs.freedesktop.org:2401/cvs/mesa&lt;br /&gt;
  run mkdir -p $PIT&lt;br /&gt;
  run cd $PIT&lt;br /&gt;
  grep -qF $MESA_CVS ~/.cvspass || run cvs -d $MESA_CVS login&lt;br /&gt;
  [ -d Mesa ] || run cvs -z3 -d $MESA_CVS co ${MESA_DATE:+-D $MESA_DATE} Mesa&lt;br /&gt;
  run cd $PIT/Mesa&lt;br /&gt;
  run cvs -z3 update -ACPd ${MESA_DATE:+-D $MESA_DATE}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
patch_mesa() {&lt;br /&gt;
  # patch to make Google Earth use acceleration:&lt;br /&gt;
  run perl -i -pe 'print &amp;quot;//DISABLE &amp;quot; if m/^\s*FALLBACK_IF.*Line\.SmoothFlag/' \&lt;br /&gt;
    $PIT/Mesa/src/mesa/drivers/dri/r300/r300_render.c&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Building Mesa (do this *after* installing X.org)&lt;br /&gt;
&lt;br /&gt;
build_mesa() { (&lt;br /&gt;
  echo &amp;quot;########### Building Mesa ###########&amp;quot;&lt;br /&gt;
  # This uses both old-style and new-style vars, to support older Mesa snapshots.&lt;br /&gt;
  run cd $PIT/Mesa&lt;br /&gt;
  export DRM_SOURCE_PATH=$PIT/drm&lt;br /&gt;
  export PKG_CONFIG_PATH=&amp;quot;$DEST/lib/pkgconfig:$PKG_CONFIG_PATH&amp;quot;&lt;br /&gt;
  export DRM_SOURCE_PATH=&amp;quot;$PIT/drm&amp;quot;&lt;br /&gt;
  export DESTDIR=$DEST  INSTALL_DIR=$DEST&lt;br /&gt;
  export DRI_DRIVER_INSTALL_DIR=$DEST/lib/dri&lt;br /&gt;
  export DRI_DIRS='r300 r200 r128 radeon'&lt;br /&gt;
  export OPT_FLAGS=&amp;quot;$FLAGS&amp;quot;&lt;br /&gt;
  export PATH=&amp;quot;$DEST/bin:$PATH&amp;quot;&lt;br /&gt;
  run mkdir -p $DRI_DRIVER_INSTALL_DIR&lt;br /&gt;
  run make -e linux-dri-x86&lt;br /&gt;
  run make -e install&lt;br /&gt;
  run cp -v lib/*_dri.so $DRI_DRIVER_INSTALL_DIR&lt;br /&gt;
) }&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# X.org setup&lt;br /&gt;
# This is a list of modules that are in flux and likely to be related to&lt;br /&gt;
# whatever you're testing (or are required for the build), sorted by&lt;br /&gt;
# build order (see util/modular/build.sh for dependencies).&lt;br /&gt;
# Check CVS and the above URLs for other modules.&lt;br /&gt;
&lt;br /&gt;
XORG_DIRS=(&lt;br /&gt;
  util/macros&lt;br /&gt;
  proto/{bigreqs,composite,fixes,damage,gl,input,kb,pm,randr,resource,xext,xcmisc}proto&lt;br /&gt;
  proto/{render,scrnsaver,video}proto&lt;br /&gt;
  proto/{x11,xf86dga,xf86dri,xf86misc,xf86vidmode,xinerama}proto&lt;br /&gt;
  lib/lib{xtrans,X11,Xt,Xmu,Xcomposite,Xrender,Xdamage,Xcursor,Xi,Xinerama}&lt;br /&gt;
  lib/lib{xkbui,Xrandr,Xv,XvMC,Xxf86dga,Xxf86misc,Xxf86vm}&lt;br /&gt;
  xserver&lt;br /&gt;
  driver/xf86-video-ati&lt;br /&gt;
  driver/xf86-input-mouse driver/xf86-input-keyboard&lt;br /&gt;
  app/{xkbutils,xkbcomp,setxkbmap}&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Fetching X.org&lt;br /&gt;
&lt;br /&gt;
fetch_xorg() {&lt;br /&gt;
  echo &amp;quot;########### Fetching (selected) X.org modules ###########&amp;quot;&lt;br /&gt;
  XORG_GIT=git://anongit.freedesktop.org/git/xorg&lt;br /&gt;
  run mkdir -p $PIT/xorg&lt;br /&gt;
  for D in &amp;quot;${XORG_DIRS[@]}&amp;quot;; do&lt;br /&gt;
    fetch_from_git $PIT/xorg &amp;quot;$XORG_GIT&amp;quot; &amp;quot;$D&amp;quot;&lt;br /&gt;
  done&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Building and installing X.org&lt;br /&gt;
# (On repeated runs we avoid rerunning autotools if nothing changed.)&lt;br /&gt;
&lt;br /&gt;
LAST_HASH=last_dir_hash&lt;br /&gt;
dir_hash() {&lt;br /&gt;
  find . \( -path ./$LAST_HASH -o -path ./.git -prune \) -o -ls | sort | md5sum&lt;br /&gt;
}&lt;br /&gt;
dir_hash_changed() {&lt;br /&gt;
  [ ! -f $LAST_HASH ] || [ &amp;quot;`dir_hash`&amp;quot; != &amp;quot;`cat $LAST_HASH`&amp;quot; ]&lt;br /&gt;
}&lt;br /&gt;
save_dir_hash() {&lt;br /&gt;
  dir_hash &amp;gt; $LAST_HASH&lt;br /&gt;
}&lt;br /&gt;
build_x_module() { (&lt;br /&gt;
  D=$1&lt;br /&gt;
  echo &amp;quot;########### Building xorg/$D ###########&amp;quot;&lt;br /&gt;
  export PATH=&amp;quot;$DEST/bin:$PATH&amp;quot;&lt;br /&gt;
  export PKG_CONFIG_PATH=&amp;quot;$DEST/lib/pkgconfig:$PKG_CONFIG_PATH&amp;quot;&lt;br /&gt;
  export ACLOCAL=&amp;quot;${AC_LOCAL:-aclocal} -I $DEST/share/aclocal&amp;quot;&lt;br /&gt;
  export LD_LIBRARY_PATH=&amp;quot;$DEST/lib:$LD_LIBRARY_PATH&amp;quot;&lt;br /&gt;
  if [ $D == &amp;quot;xserver&amp;quot; ]; then&lt;br /&gt;
    CONF_OPT=&amp;quot;--with-mesa-source=$PIT/Mesa --enable-xorg --disable-dmx --disable-xvfb --disable-xnest&amp;quot;&lt;br /&gt;
  elif [ $D == &amp;quot;lib/libX11&amp;quot; ]; then&lt;br /&gt;
    CONF_OPT=&amp;quot;--with-xcb=no&amp;quot;&lt;br /&gt;
  else&lt;br /&gt;
    CONF_OPT=&lt;br /&gt;
  fi&lt;br /&gt;
  run cd $PIT/xorg/$D&lt;br /&gt;
  if dir_hash_changed; then&lt;br /&gt;
    CFLAGS=&amp;quot;$FLAGS&amp;quot; run sh autogen.sh --prefix=$DEST --quiet --cache-file=$PIT/xorg/autoconf.cache $CONF_OPT&lt;br /&gt;
    save_dir_hash&lt;br /&gt;
  fi&lt;br /&gt;
  run make&lt;br /&gt;
  save_dir_hash&lt;br /&gt;
  run make install&lt;br /&gt;
  save_dir_hash&lt;br /&gt;
) }&lt;br /&gt;
&lt;br /&gt;
build_xorg() {&lt;br /&gt;
  run cd $PIT/xorg&lt;br /&gt;
  run mkdir -p $DEST/share/aclocal&lt;br /&gt;
  run mkdir -p $DEST/var/log&lt;br /&gt;
  for D in &amp;quot;${XORG_DIRS[@]}&amp;quot;; do &lt;br /&gt;
    build_x_module $D || return 1&lt;br /&gt;
  done&lt;br /&gt;
  run sudo sh -c &amp;quot;chown -v root $DEST/bin/Xorg; \&lt;br /&gt;
                  chmod -v 4711 $DEST/bin/Xorg&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Fetching and building xkeyboard-config&lt;br /&gt;
&lt;br /&gt;
fetch_xkeyboard_config() {&lt;br /&gt;
  echo &amp;quot;########### Fetching xkeyboard-config ###########&amp;quot;&lt;br /&gt;
  XKBC_CVS=:pserver:anoncvs@cvs.freedesktop.org:2401/cvs/xlibs&lt;br /&gt;
  run cd $PIT&lt;br /&gt;
  grep -qF $XKBC_CVS ~/.cvspass || run cvs -d $XKBC_CVS login&lt;br /&gt;
  [ -d xkbdesc ] || run cvs -z3 -d $XKBC_CVS co xkbdesc&lt;br /&gt;
  run cd $PIT/xkbdesc&lt;br /&gt;
  run cvs -z3 update -ACPd&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
build_xkeyboard_config() { (&lt;br /&gt;
  echo &amp;quot;########### Building xkeyboard-config ###########&amp;quot;&lt;br /&gt;
  run cd $PIT/xkbdesc&lt;br /&gt;
  run ./autogen.sh&lt;br /&gt;
  export PKG_CONFIG_PATH=&amp;quot;$DEST/lib/pkgconfig:$PKG_CONFIG_PATH&amp;quot;&lt;br /&gt;
  export PATH=&amp;quot;$DEST/bin:$PATH&amp;quot;&lt;br /&gt;
  CFLAGS=&amp;quot;$FLAGS&amp;quot; run ./configure --quiet --prefix=$DEST \&lt;br /&gt;
    --with-xkb-base=$DEST/share/X11/xkb --with-xkb-rules-symlink=xorg &lt;br /&gt;
  run make&lt;br /&gt;
  run rm -fr $DEST/share/X11/xkb/compiled&lt;br /&gt;
  run make install&lt;br /&gt;
) }&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Fetching and building the synaptics driver&lt;br /&gt;
&lt;br /&gt;
fetch_synaptics() {&lt;br /&gt;
  echo &amp;quot;########### Fetch synaptics ###########&amp;quot;&lt;br /&gt;
  SYN_GIT=http://web.telia.com/~u89404340/touchpad/synaptics/.git&lt;br /&gt;
  fetch_from_git &amp;quot;$PIT&amp;quot; &amp;quot;$SYN_GIT&amp;quot; '' synaptics&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
build_synaptics() { (&lt;br /&gt;
  echo &amp;quot;########### Build synaptics ###########&amp;quot;&lt;br /&gt;
  run cd $PIT/synaptics&lt;br /&gt;
  export PKG_CONFIG_PATH=&amp;quot;$DEST/lib/pkgconfig:$PKG_CONFIG_PATH&amp;quot;&lt;br /&gt;
  export PATH=&amp;quot;$DEST/bin:$PATH&amp;quot;&lt;br /&gt;
  run make&lt;br /&gt;
  run cp -v synaptics_drv.so $DEST/lib/xorg/modules/input/&lt;br /&gt;
#   run ./autogen.sh&lt;br /&gt;
#   CFLAGS=&amp;quot;$FLAGS&amp;quot; run ./configure --prefix=$DEST --quiet&lt;br /&gt;
#   run make clean&lt;br /&gt;
#   run make&lt;br /&gt;
#   run make install&lt;br /&gt;
) }&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Creating a script which sets env vars&lt;br /&gt;
&lt;br /&gt;
create_xsetenv() {&lt;br /&gt;
  cat &amp;lt;&amp;lt;EOF &amp;gt; $DEST/bin/xsetenv || die &amp;quot;Can't create $DEST/bin/xsetenv&amp;quot;&lt;br /&gt;
export PATH=&amp;quot;$DEST/bin:$PATH&amp;quot; &lt;br /&gt;
export LD_LIBRARY_PATH=&amp;quot;$DEST/lib:$LD_LIBRARY_PATH&amp;quot;&lt;br /&gt;
export LIBGL_DRIVERS_PATH=$DEST/lib/dri&lt;br /&gt;
EOF&lt;br /&gt;
  echo -e &amp;quot;\nRun '. $DEST/bin/xsetenv' to point env vars to this installation.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#############################################&lt;br /&gt;
# Do it:&lt;br /&gt;
&lt;br /&gt;
fetch_drm&lt;br /&gt;
fetch_mesa&lt;br /&gt;
# patch_mesa&lt;br /&gt;
fetch_xorg&lt;br /&gt;
build_libdrm&lt;br /&gt;
build_drm_modules&lt;br /&gt;
build_xorg&lt;br /&gt;
build_mesa&lt;br /&gt;
fetch_xkeyboard_config&lt;br /&gt;
build_xkeyboard_config&lt;br /&gt;
fetch_synaptics&lt;br /&gt;
build_synaptics&lt;br /&gt;
create_xsetenv&lt;br /&gt;
&lt;br /&gt;
echo 'Done.'&lt;/div&gt;</summary>
		<author><name>Singularity</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:How_to_compile_an_experimental_X_server&amp;diff=24827</id>
		<title>Talk:How to compile an experimental X server</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:How_to_compile_an_experimental_X_server&amp;diff=24827"/>
		<updated>2006-09-22T17:59:39Z</updated>

		<summary type="html">&lt;p&gt;Singularity: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Other approach==&lt;br /&gt;
Or, if you want to play with an unstable system, use a distribution, which can help you doing that, for example [http://www.gentoo.org/ Gentoo] or [http://www.sourcemage.org/ Sourcemage].&lt;br /&gt;
You won't need a script that way:&lt;br /&gt;
 root@gentoo ~ $ echo &amp;quot;x11-base/xorg-x11 ~x86&amp;quot; &amp;gt; /etc/portage/package.keywords&lt;br /&gt;
 root@gentoo ~ $ emerge -avuD xorg-x11&lt;br /&gt;
(scnr. I know that you'll have to unmask a few more packages in reality. I know that you can do something similar in other distributions. I just don't understand why you are not using your package manager [unless you've got an LFS...])&lt;br /&gt;
&lt;br /&gt;
--[[User:Pberndt|Pberndt]] 21:11, 7 July 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
The script fetches the very latest code from GIT and CVS. No distribution I know off is this bleeding-edge. It makes a large difference in some hot development areas, such as accelerated DRI drivers.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:30, 7 July 2006 (CEST)&lt;br /&gt;
----&lt;br /&gt;
::Thinker your script fails for me. &lt;br /&gt;
&lt;br /&gt;
 No package 'xextproto' found&lt;br /&gt;
 No package 'xcmiscproto' found&lt;br /&gt;
&lt;br /&gt;
 ... ERROR: Command &amp;quot;sh autogen.sh --prefix=/home/paul/3d-pit/install --quiet --cache-file=/home/paul/3d-pit/xorg/autoconf.cache --with-xcb=no&amp;quot; failed in /home/paul/3d-pit/xorg/lib/libX11&lt;br /&gt;
 Aborting.&lt;br /&gt;
&lt;br /&gt;
::the fix was trivial, just adding those two packages&lt;/div&gt;</summary>
		<author><name>Singularity</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:How_to_compile_an_experimental_X_server&amp;diff=24826</id>
		<title>Talk:How to compile an experimental X server</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:How_to_compile_an_experimental_X_server&amp;diff=24826"/>
		<updated>2006-09-22T17:53:28Z</updated>

		<summary type="html">&lt;p&gt;Singularity: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Other approach==&lt;br /&gt;
Or, if you want to play with an unstable system, use a distribution, which can help you doing that, for example [http://www.gentoo.org/ Gentoo] or [http://www.sourcemage.org/ Sourcemage].&lt;br /&gt;
You won't need a script that way:&lt;br /&gt;
 root@gentoo ~ $ echo &amp;quot;x11-base/xorg-x11 ~x86&amp;quot; &amp;gt; /etc/portage/package.keywords&lt;br /&gt;
 root@gentoo ~ $ emerge -avuD xorg-x11&lt;br /&gt;
(scnr. I know that you'll have to unmask a few more packages in reality. I know that you can do something similar in other distributions. I just don't understand why you are not using your package manager [unless you've got an LFS...])&lt;br /&gt;
&lt;br /&gt;
--[[User:Pberndt|Pberndt]] 21:11, 7 July 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
The script fetches the very latest code from GIT and CVS. No distribution I know off is this bleeding-edge. It makes a large difference in some hot development areas, such as accelerated DRI drivers.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:30, 7 July 2006 (CEST)&lt;br /&gt;
----&lt;br /&gt;
::Thinker your script fails for me. &lt;br /&gt;
&lt;br /&gt;
No package 'xextproto' found&lt;br /&gt;
No package 'xcmiscproto' found&lt;br /&gt;
&lt;br /&gt;
Consider adjusting the PKG_CONFIG_PATH environment variable if you&lt;br /&gt;
installed software in a non-standard prefix.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you may set the environment variables X11_CFLAGS&lt;br /&gt;
and X11_LIBS to avoid the need to call pkg-config.&lt;br /&gt;
See the pkg-config man page for more details.&lt;br /&gt;
&lt;br /&gt;
ERROR: Command &amp;quot;sh autogen.sh --prefix=/home/paul/3d-pit/install --quiet --cache-file=/home/paul/3d-pit/xorg/autoconf.cache --with-xcb=no&amp;quot; failed in /home/paul/3d-pit/xorg/lib/libX11&lt;br /&gt;
Aborting.&lt;/div&gt;</summary>
		<author><name>Singularity</name></author>
		
	</entry>
</feed>