/[svn]/web/trunk/www.linuxsampler.org/debian.html
ViewVC logotype

Diff of /web/trunk/www.linuxsampler.org/debian.html

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1674 by schoenebeck, Thu Feb 7 14:10:44 2008 UTC revision 2178 by persson, Fri Jun 3 14:41:39 2011 UTC
# Line 22  Line 22 
22  <a href="#bugs">8.&nbsp; Bugs, Problems and Feature Requests</a><br>  <a href="#bugs">8.&nbsp; Bugs, Problems and Feature Requests</a><br>
23  <a href="#contact">9.&nbsp; Contact</a><br>  <a href="#contact">9.&nbsp; Contact</a><br>
24  </div>  </div>
25    <p>
26    <center>
27    <script type="text/javascript"><!--
28    google_ad_client = "pub-3408196773880325";
29    /* 728x90, created 8/3/09 */
30    google_ad_slot = "7744776541";
31    google_ad_width = 728;
32    google_ad_height = 90;
33    //-->
34    </script>
35    <script type="text/javascript"
36    src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
37    </script>
38    </center>
39    </p>
40    
41  <a name="intro"></a>  <a name="intro"></a>
42  <h3>1.&nbsp; Introduction</h3>  <h3>1.&nbsp; Introduction</h3>
# Line 98  expect it. Line 113  expect it.
113    
114  <a name="build_backend"></a>  <a name="build_backend"></a>
115  <h3>3.&nbsp; Building the Backend</h3>  <h3>3.&nbsp; Building the Backend</h3>
116  Grab the source code files  of libgig (e.g. from our CVS server, as  Grab the source code files  of libgig (e.g. from our Subversion server, as
117  described on the  described on the
118  <a href="http://linuxsampler.org/downloads.html">downloads site</a>). Then you  <a href="http://linuxsampler.org/downloads.html">downloads site</a>). Then you
119  should optimize the compilation flags for your machine. This really depends  should optimize the compilation flags for your machine. This really depends
120  on what kind of CPU and other hardware you use. Open the file <i>debian/rules</i> of  on what kind of CPU and other hardware you use. Open the file <i>debian/rules</i> of
121  the libgig sources in a text editor and watch out for the following line:  the libgig sources in a text editor and watch out for the following line:
122  <pre>  <pre>
123    ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info    ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info
124  </pre>  </pre>
125  This is the line where you'll place all your optimization options. Remove the  This is the line where you'll place all your optimization options. Remove the
126  arguments --host and --build which are only meant for cross compilation and  arguments --host and --build which are only meant for cross compilation and
127  prefix the line with your preferred optimization flags. So, for a Pentium4  prefix the line with your preferred optimization flags. So, for a Pentium4
128  machine it could look like:  machine it could look like:
129  <pre>  <pre>
130    CXXFLAGS="-O3 -msse -march=pentium4 -mfpmath=sse -ffast-math -fomit-frame-pointer -funroll-loops" ./configure --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info    CXXFLAGS="-O3 -msse -march=pentium4 -mfpmath=sse -ffast-math -fomit-frame-pointer -funroll-loops" ./configure --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info
131  </pre>  </pre>
132  save the file and finally you can start the build process (as ordinary user) with:  save the file and finally you can start the build process (as ordinary user) with:
133  <pre>  <pre>
134    dpkg-buildpackage -rfakeroot -b    dpkg-buildpackage -rfakeroot -b
135  </pre>  </pre>
# Line 124  message: Line 139  message:
139  <pre>  <pre>
140    Unmet build dependencies: ...    Unmet build dependencies: ...
141  </pre>  </pre>
142  Simply install the requested packages with "apt-get install" (or whatever you  Simply install the requested packages with "apt-get install" (or whatever you
143  prefer for package installation) and call the dpkg-buildpackage command  prefer for package installation) and call the dpkg-buildpackage command
144  again. After a minute or so it should have left 3 .deb files one directory  again. After a minute or so it should have left 3 .deb files one directory
145  above your libgig source directory. Install those 3 .deb files now, i.e. with  above your libgig source directory. Install those 3 .deb files now, i.e. with
146  dpkg (as root):  dpkg (as root):
147  <pre>  <pre>
148    dpkg -i libgig_3.2.1-1_i386.deb libgig-dev_3.2.1-1_i386.deb    dpkg -i libgig_3.2.1-1_i386.deb libgig-dev_3.2.1-1_i386.deb
149    dpkg -i gigtools_3.2.1-1_i386.deb    dpkg -i gigtools_3.2.1-1_i386.deb
150  </pre>  </pre>
151  and now repeat these steps for LS. That is grab the LS sources, edit the  and now repeat these steps for LS. That is grab the LS sources, edit the
152  debian/rules files at the similar configure line. The only difference with LS  debian/rules files at the similar configure line. The only difference with LS
153  is that you have much more options now. For example on a recent Pentium4 machine,  is that you have much more options now. For example on a recent Pentium4 machine,
154  the LS compile time options in LS's <i>debian/rules</i> file could become:  the LS compile time options in LS's <i>debian/rules</i> file could become:
155  <pre>  <pre>
156    CXXFLAGS="-O3 -msse -march=pentium4 -mfpmath=sse -ffast-math -fomit-frame-pointer -funroll-loops" ./configure --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info --enable-refill-streams=2 --enable-stream-size=320000 --enable-preload-samples=65536 --enable-max-voices=200 --enable-max-streams=220    CXXFLAGS="-O3 -msse -march=pentium4 -mfpmath=sse -ffast-math -fomit-frame-pointer -funroll-loops" ./configure --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info --enable-refill-streams=2 --enable-stream-size=320000 --enable-preload-samples=65536 --enable-max-voices=200 --enable-max-streams=220
157  </pre>  </pre>
158  Just to let you know the difference: the options you apply to the "CXXFLAGS"  Just to let you know the difference: the options you apply to the "CXXFLAGS"
159  variable are options of the compiler (usually the GNU compiler,  variable are options of the compiler (usually the GNU compiler,
160  see "man gcc" for all available gcc options). The parameters after  see "man gcc" for all available gcc options). The parameters after
161  the "./configure" token are LS specific compile time options, i.e. the amount  the "./configure" token are LS specific compile time options, i.e. the amount
162  of disk streams etc. For a full list of LS's compile time options and brief  of disk streams etc. For a full list of LS's compile time options and brief
163  explanations of them you can call:  explanations of them you can call:
164  <pre>  <pre>
165    ./configure --help    ./configure --help
166  </pre>  </pre>
167  from LS's source directory. So after you modified the configure line in LS's  from LS's source directory. So after you modified the configure line in LS's
168  <i>debian/rules</i> file, you can once again call:  <i>debian/rules</i> file, you can once again call:
169  <pre>  <pre>
170    dpkg-buildpackage -rfakeroot -b    dpkg-buildpackage -rfakeroot -b
171  </pre>  </pre>
172  to get the LS packages cooked. This time it should take a bit longer. Once  to get the LS packages cooked. This time it should take a bit longer. Once
173  again you'll get 3 Debian packages (<i>liblinuxsampler</i>, <i>liblinuxsampler-dev</i> and  again you'll get 3 Debian packages (<i>liblinuxsampler</i>, <i>liblinuxsampler-dev</i> and
174  <i>linuxsampler</i>). Install those 3 new LS packages again e.g. with "dpkg -i" like  <i>linuxsampler</i>). Install those 3 new LS packages again e.g. with "dpkg -i" like
175  already explained above with libgig.<br>  already explained above with libgig.<br>
176  <br>  <br>
177  And that's it!</br>  And that's it!</br>
178  <br>  <br>
179  The good thing: if you grabbed the sources of libgig and LS from CVS, you only  The good thing: if you grabbed the sources of libgig and LS from Subversion, you only
180  have to call:  have to call:
181  <pre>  <pre>
182    cvs update    svn update
183    dpkg-buildpackage -rfakeroot -b    dpkg-buildpackage -rfakeroot -b
184  </pre>  </pre>
185  once in a while from the source directory to conveniently compile the latest  once in a while from the source directory to conveniently compile the latest
186  version with your personal optimizations and configuration parameters for  version with your personal optimizations and configuration parameters for
187  your system, because "cvs update" updates your local source files to the  your system, because "svn update" updates your local source files to the
188  latest bleeding edge version from our CVS server but won't touch your  latest bleeding edge version from our Subversion server but won't touch your
189  modifications!  modifications!
190  <br>  <br>
191  The problematic part is to find good compile time options for your specific  The problematic part is to find good compile time options for your specific
# Line 182  described next. Line 197  described next.
197  <h3>4.&nbsp; Benchmark</h3>  <h3>4.&nbsp; Benchmark</h3>
198  You're most probably unsure which gcc (compiler) flags to use.  You're most probably unsure which gcc (compiler) flags to use.
199  As said, this always means a bit playing around. For that you can use our stripped  As said, this always means a bit playing around. For that you can use our stripped
200  down benchmark, which is located in the "benchmarks" directory of the LS  down benchmark, which is located in the "benchmarks" directory of the LS
201  sources. The good thing about the benchmark: it's really light-weight, that  sources. The good thing about the benchmark: it's really light-weight, that
202  is it's a benchmark of our full gig sampling engine, but it doesn't depend on  is it's a benchmark of our full gig sampling engine, but it doesn't depend on
203  any MIDI or audio drivers, nor does it require to load any sounds or to  any MIDI or audio drivers, nor does it require to load any sounds or to
204  handle with automake / ./configure crap and compiles really fast.<br>  handle with automake / ./configure crap and compiles really fast.<br>
205  <br>  <br>
206  Here's how it goes:  Here's how it goes:
# Line 202  Here's how it goes: Line 217  Here's how it goes:
217    </li>    </li>
218  </ol>  </ol>
219  which will print you out benchmark values for your system on the console.  which will print you out benchmark values for your system on the console.
220  There are different kind of so called "synthesis modes", i.e. one with filter  There are different kind of so called "synthesis modes", i.e. one with filter
221  on, one with filter off, one with resampling on, one with no resampling, etc.  on, one with filter off, one with resampling on, one with no resampling, etc.
222  each will shoot its own benchmark result.<br>  each will shoot its own benchmark result.<br>
223  <br>  <br>
224  So that way you can easily and quickly play around with CFLAGS (a.k.a  So that way you can easily and quickly play around with CFLAGS (a.k.a
225  CXXFLAGS) and figure out which one is beloved by your machine.  CXXFLAGS) and figure out which one is beloved by your machine.
226    
227  <a name="build_frontends"></a>  <a name="build_frontends"></a>
# Line 266  LinuxSampler documentation site</a>. Line 281  LinuxSampler documentation site</a>.
281  <h3>8.&nbsp; Bugs, Problems and Feature Requests</h3>  <h3>8.&nbsp; Bugs, Problems and Feature Requests</h3>
282  Our Forum is a good place to ask for help:<br>  Our Forum is a good place to ask for help:<br>
283  <br>  <br>
284  &nbsp;&nbsp;&nbsp;&nbsp;<a href="https://bb.linuxsampler.org">https://bb.linuxsampler.org</a><br>  &nbsp;&nbsp;&nbsp;&nbsp;<a href="http://bb.linuxsampler.org">http://bb.linuxsampler.org</a><br>
285  <br>  <br>
286  We have a dedicated forum section for  We have a dedicated forum section for
287  newbies and support.<br>  newbies and support.<br>

Legend:
Removed from v.1674  
changed lines
  Added in v.2178

  ViewVC Help
Powered by ViewVC