<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/gentoo-amd64-faq.xml,v 1.24 2006/11/24 14:47:22 nightmorph Exp $ -->

<guide link="/doc/en/gentoo-amd64-faq.xml">
<title>Gentoo Linux/AMD64 Frequently Asked Questions</title>

<author title="Editor">
  <mail link="blubb@gentoo.org">Simon Stelling</mail>
</author>
<author title="Editor">
  <mail link="metalgod@gentoo.org">Luis Medinas</mail>
</author>
<author title="Editor">
  <mail link="gerrynjr@gentoo.org">Gerald J. Normandin Jr.</mail>
</author>
<author title="Editor">
  <mail link="neysx@gentoo.org">Xavier Neys</mail>
</author>

<abstract>
This is the Gentoo Linux/AMD64 Frequently Asked Questions
</abstract>

<!-- The content of this document is licensed under the CC-BY-SA license -->
<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
<license/>

<version>1.17</version>
<date>2006-11-24</date>

<chapter>
<title>Questions</title>
<section>
<title>Introduction to Gentoo/AMD64 FAQ</title>
<body>

<p>
This document contains the most commonly asked questions about Gentoo/AMD64. We
intend to help and provide useful information about Gentoo/AMD64. Some of these
questions can be found in forums, IRC, or mailing lists. If you have
suggestions or questions about this FAQ, you are welcome to send an e-mail to
<mail>amd64@gentoo.org</mail>.
</p>

</body>
</section>
<section>
<title>Installation</title>
<body>

<ul>
  <li><uri link="#cflags">What CFLAGS should I use for AMD64/EM64T?</uri></li>
  <li><uri link="#kernel">What kernel should I use?</uri></li>
  <li>
    <uri link="#perfup">Will I have a performance upgrade if I use a 64bit
    system instead of 32bit?</uri>
  </li>
  <li><uri link="#multilib">What is multilib and how can I use it?</uri></li>
  <li><uri link="#chroot32">How do I create a 32bit chroot?</uri></li>
  <li>
    <uri link="#upgradex86">Can I upgrade from my x86 system to amd64 by doing
    emerge -e world?</uri>
  </li>
  <li><uri link="#reiser4">Can I use Reiser4?</uri></li>
</ul>

</body>
</section>
<section>
<title>Hardware</title>
<body>

<ul>
  <li>
    <uri link="#videobindrivers">Will my binary NVIDIA/ATI drivers work?</uri>
  </li>
  <li>
    <uri link="#coolnquiet">How do I use Cool'n'Quiet/PowerNow features?</uri>
  </li>
</ul>

</body>
</section>
<section>
<title>Applications</title>
<body>

<ul>
  <li><uri link="#flash">Can I get Macromedia Flash working?</uri></li>
  <li><uri link="#OOo">Can I get OpenOffice.org working?</uri></li>
  <li>
    <uri link="#masked">I want to install package foo, but emerge says: (masked
    by: ~amd64 keyword)</uri>
  </li>
  <li>
    <uri link="#keyword">I want to install package foo, but emerge says:
    (masked by: missing keyword)</uri>
  </li>
</ul>

</body>
</section>
<section>
<title>How can I help the Gentoo/AMD64 project?</title>
<body>

<ul>
  <li><uri link="#project">How can I help?</uri></li>
</ul>

</body>
</section>
<section>
<title>Other Resources</title>
<body>

<ul>
  <li>
    <uri link="#other">Where can I get more help or information about
    Gentoo/AMD64?</uri>
  </li>
</ul>

</body>
</section>
</chapter>

<chapter>
<title>Installation</title>
<section id="cflags">
<title>What CFLAGS should I use for AMD64/EM64T?</title>
<body>

<p>
You should use simple <c>CFLAGS</c> to avoid future problems with your system.
Supported <c>CFLAGS</c> are <c>-O2 -march=k8 -pipe</c> for non-EM64T systems and
<c>-O2 -march=nocona -pipe</c> for EM64T systems.
</p>

</body>
</section>
<section id="kernel">
<title>What kernel should I use for AMD64?</title>
<body>

<p>
You can use almost all kernel sources available in Portage. We recommend using
<c>gentoo-sources</c> because it is a special kernel designed for Gentoo Linux.
It contains lots of AMD64-specific patches and therefore is the only kernel
officially supported by Gentoo/AMD64.
</p>

<warn>
You should watch out for some kernel features which are not well tested, such
as <c>PREEMPT</c>.
</warn>

<p>
Make sure you have the <c>IA32_EMULATION</c> option activated in the kernel.
</p>

<pre caption="Activating IA32 Emulation in Kernel source">
# <i>cd /usr/src/linux</i>
# <i>make menuconfig</i>

Executable file formats / Emulations  ---&gt;
  [*] IA32 Emulation
</pre>

<warn>
You may experience build failures on multilib-systems if you deactivate this
option.
</warn>

</body>
</section>
<section id="perfup">
<title>Will I have a performance upgrade if I use a 64bit system instead of 32bit?</title>
<body>

<p>
That is a difficult question to answer. In some cases, you will experience a
performance improvement, in other cases you will not. For everyday use, there
is nearly no difference between 64bit and 32bit. 64bit is generally faster
when it comes to floating point computing which is normally the case in
multimedia applications and 3D rendering. This <uri
link="http://enterprise.linux.com/enterprise/05/06/09/1413209.shtml?tid=121">article</uri>
may interest you. There's also a nice <uri
link="http://forums.gentoo.org/viewtopic-t-349691.html">thread</uri> in our
<uri link="http://forums.gentoo.org">forums</uri>.
</p>

</body>
</section>
<section id="multilib">
<title>What is multilib and how can I use it?</title>
<body>

<p>
Every AMD64 processor is able to run 32bit code as well as 64bit code.
However, when you have a 32bit application, you are unable to mix it with
64bit libraries or vice versa. You can, however, natively run 32bit
applications if all shared libraries it needs are available as 32bit objects.
You can choose whether you want multilib support or not by selecting the
according profile. The default is a multilib-enabled profile.
</p>

<warn>
Currently you cannot switch from a no-multilib to a multilib-enabled profile,
so think over your decision twice before you use the no-multilib profile.
</warn>

</body>
</section>
<section id="chroot32">
<title>How do I create a 32bit chroot?</title>
<body>

<p>
Please read the <uri link="/proj/en/base/amd64/howtos/chroot.xml">32bit chroot
guide</uri>.
</p>

</body>
</section>
<section id="upgradex86">
<title>Can I upgrade from my x86 system to amd64 by doing emerge -e world?</title>
<body>

<p>
Due to several differences between an <c>x86</c> and an <c>amd64</c>
installation, it is impossible to upgrade. Please perform a fresh install. The
installation is slightly different than an x86 one, so please use the
<uri link="/doc/en/handbook/handbook-amd64.xml">AMD64 Handbook</uri>.
</p>

</body>
</section>
<section id="reiser4">
<title>Can I use Reiser4?</title>
<body>

<p>
Reiser4 is not available from any kernel offered by the Gentoo Kernel project,
thus neither AMD64 team supports it. The answer is no.
</p>

</body>
</section>
</chapter>

<chapter>
<title>Hardware</title>
<section id="videobindrivers">
<title>Will my binary NVIDIA/ATI drivers work?</title>
<body>

<p>
Yes, NVIDIA and ATI provide drivers that work on AMD64. You can install them by
executing <c>emerge nvidia-drivers</c> (or <c>nvidia-legacy-drivers</c>) or
<c>emerge ati-drivers</c>. If you have more questions about these drivers, you
should read the <uri link="/doc/en/nvidia-guide.xml">Nvidia guide</uri> or the
<uri link="/doc/en/ati-faq.xml">ATI FAQ</uri>.
</p>

</body>
</section>
<section id="coolnquiet">
<title>How do I use Cool'n'Quiet/PowerNow features?</title>
<body>

<p>
You have to compile your kernel with support for these features. You just need
to enable the features below:
</p>

<pre caption="Kernel options for Cool'n'Quiet/PowerNow">
Power management options ---&gt;
  [*] Power Management support
CPU Frequency scaling ---&gt;
  [*] CPU Frequency scaling
  [*] CPU frequency table helpers
  [*] AMD Opteron/Athlon64 PowerNow!
</pre>

<p>
Then <c>emerge cpudyn</c> and edit <path>/etc/conf.d/cpudyn</path> with your
favorite editor.
</p>

<pre caption="Example of /etc/conf.d/cpudyn">
INTERVAL=1
CPU_UP=0.5
CPU_DOWN=0.9
THROTTLING_LOW=7
CPUFREQ_25="/sys/devices/system/cpu/cpu0/cpufreq /sysfs/devices/system/cpu/cpu0/cpufreq"
CPUFREQ_ACPI="/proc/acpi/processor/CPU0/throttling"
</pre>

<p>
Now you only have to run <c>rc-update add cpudyn default</c> to make sure it is
started every time you boot.
</p>

<note>
You may want to read the <uri
link="/doc/en/power-management-guide.xml#doc_chap3">Power Management Guide</uri>
for more tips on CPU power management.
</note>

</body>
</section>
</chapter>

<chapter>
<title>Applications</title>
<section id="flash">
<title>Can I get Macromedia Flash working?</title>
<body>

<p>
Yes. To get Flash working, you need a 32bit browser like
<c>mozilla-firefox-bin</c> or <c>opera</c> because Macromedia doesn't provide a
64bit version. After emerging the -bin package of your favorite browser,
install Flash by doing <c>emerge netscape-flash</c>.
</p>

</body>
</section>
<section id="OOo">
<title>Can I get OpenOffice.org working?</title>
<body>

<p>
OpenOffice versions prior to 2.0.4 do not build on 64bit systems, so you have to use the
32bit binary version, available in Portage as <c>app-office/openoffice-bin</c>.
If you feel brave you can <c>emerge openoffice</c>, but be aware that the 64bit version
is not yet tested out enough to be considered stable.
</p>

</body>
</section>
<section id="masked">
<title>I want to install package foo, but emerge says: (masked by: ~amd64 keyword)</title>
<body>

<p>
This means that the package is still in the 'testing' tree. Please read <c>man
portage</c> or the <uri
link="/doc/en/handbook/handbook-amd64.xml?part=3&amp;chap=3">Mixing Software
Branches</uri> chapter of the <uri
link="/doc/en/handbook/handbook-amd64.xml">AMD64 Handbook</uri> for more
information.
</p>

</body>
</section>
<section id="keyword">
<title>I want to install package foo, but emerge says: (masked by: missing keyword)</title>
<body>

<p>
This means that the package has not been tested yet. It does <e>not
necessarily</e> mean that the package does not work. You can unmask it by
accepting another architecture for the package. The following example shows you
can tell Portage to accept any keyword for a given package.
</p>

<pre caption="Example of adding package keywords">
# <i>echo "category/packagename ~* *" >> /etc/portage/package.keywords</i>
# <i>emerge packagename</i>
</pre>

<p>
If it works fine for you, please let us know and file a bug on <uri
link="http://bugs.gentoo.org/">Gentoo's Bugzilla</uri>, so that the AMD64 team
can keyword the package and other users can benefit from your test.
</p>

<warn>
Do not try commands like <c>ACCEPT_KEYWORDS="~x86" emerge packagename</c>. It
will most certainly break your tree.
</warn>

</body>
</section>
</chapter>

<chapter>
<title>How can I help the Gentoo/AMD64 project?</title>
<section id="project">
<title>How can I help?</title>
<body>

<p>
With a growing popularity of the amd64 architecture, we also increasingly need
more help. There's still much work to be done to improve the quality of
Gentoo/AMD64. An average user can help us by:
</p>

<ul>
  <li>Filing general bug reports</li>
  <li>Testing software that does not yet have the <c>~amd64</c> keyword</li>
  <li>
    Participating in the <uri link="/proj/en/base/amd64/at/">Arch Testers
    project</uri>
  </li>
  <li>
    Help answering questions on the mailing lists, forums and IRC channels
  </li>
  <li>Sending patches</li>
</ul>

</body>
</section>
</chapter>

<chapter>
<title>Other Resources</title>
<section id="other">
<title>Where can I get more help or information about Gentoo/AMD64?</title>
<body>

<p>
If any of your questions wasn't answered here, you can try other resources
listed on <uri link="/proj/en/base/amd64/">our project homepage</uri>. You can
also ask us at <c>#gentoo-amd64</c> on <c>irc.freenode.net</c>, <uri
link="http://forums.gentoo.org/viewforum-f-46.html">Gentoo/AMD64 Forums</uri>,
or on the <c>gentoo-amd64@lists.gentoo.org</c> mailing list.
</p>

</body>
</section>
</chapter>

</guide>
