AMD64/FAQ

From Gentoo Wiki
Jump to: navigation, search
This page contains changes which are not marked for translation.

Other languages:
Deutsch • ‎English • ‎français • ‎italiano • ‎日本語 • ‎한국어 • ‎русский • ‎中文(中国大陆)‎

This is the Gentoo Linux/AMD64 Frequently Asked Questions article.

Introduction

This document contains the most commonly asked questions about using Gentoo Linux on AMD64 systems. Many of these questions come from the forums, IRC, and various mailing lists. The Gentoo/AMD64 Project provides support for Gentoo Linux on this architecture. If you have suggestions or questions about this FAQ, you are welcome to send an e-mail to amd64@gentoo.org.

Installation

What's the difference between AMD64 and EM64T?

Both refer to 64-bit processors, one from AMD (AMD64) and the other from Intel (EM64T). AMD's 64-bit processors include the Athlon 64, Turion, Neo, Phenom, and Opteron families. Intel's 64-bit processors include the Core 2, Core i X, Celeron, Xeon, and Pentium (all based on the Core 2 architecture). The last few versions of the old Pentium 4 and Xeon chips also support EM64T.

The AMD line of 64-bit processors were released well ahead of Intel's offering. Therefore, for historical reasons, the arch keyword for all x86-64 compatible architectures in Gentoo is amd64. As such, AMD64 is a generic reference to 64-bit chips, whether AMD or Intel.

What CFLAGS should I use?

You should use simple CFLAGS to avoid future problems with your system. Supported CFLAGS are -O2 -march=native -pipe for both AMD and Intel (EM64T) systems.

What kernel should I use?

You can use almost all kernel sources available in Portage. We recommend using sys-kernel/gentoo-sources 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.

Make sure you have the IA32_EMULATION option activated in the kernel.

root #cd /usr/src/linux
root #make menuconfig
KERNEL Enabling IA32 emulation
Executable file formats / Emulations  --->
  [*] IA32 Emulation
Warning
You may experience build failures on multilib systems if you deactivate this option.

Will I have a performance upgrade if I use a 64-bit system instead of 32-bit?

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 almost no difference between 64-bit and 32-bit. 64-bit is generally faster when it comes to floating point computing, which is normally the case in multimedia applications and 3D rendering. Linux.com's articles "64-bit performance in Gentoo Linux" and "64-bit Linux and BSD are maturing steadily" may interest you. There's also a nice thread, "Article: 64-bit performance in Gentoo Linux" in our forums.

What is multilib and how can I use it?

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

Warning
Switching from a no-multilib to a multilib-enabled profile is currently not supported (conversion hints), so think over your decision twice before you use the no-multilib profile.

How do I create a 32-bit chroot?

Please read the 32bit chroot guide.

Can I upgrade from my x86 system to AMD64 by doing emerge -e @world?

Due to several differences between x86 (32-bit) and amd64 (64-bit) installations, it is impossible to upgrade this way. Please perform a fresh install using the AMD64 Handbook.

Note that binary files created on an x86 system most likely cannot be read by packages on an AMD64 system. In particular, databases such as MySQL, innoDB, Berkeley DB, SQLite, OpenLDAP, etc. cannot simply be copied as-is. You will need to dump the database into an architecture-independent format, such as a text file, before attempting to restore it on an AMD64 system.

Can I use Reiser4?

Reiser4 is not available from any kernel offered by the Gentoo Kernel project, thus the AMD64 team doesn't support it. The answer is no.

Hardware

Will my binary NVIDIA/ATI drivers work?

Yes, NVIDIA and ATI provide drivers that work on AMD64. You can install them by executing emerge x11-drivers/nvidia-drivers or emerge x11-drivers/ati-drivers. If you have more questions about these drivers, you should read the nvidia-drivers guide or the ATI FAQ.

How do I use Cool'n'Quiet/PowerNow/SpeedStep features?

The information in this section is probably outdated. You can help the Gentoo Wiki by verifying and updating this article.

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

KERNEL Kernel options for Cool'n'Quiet/PowerNow/SpeedStep
Power management options --->
  [*] Run-time PM core functionality
  [*] ACPI (Advanced Configuration and Power Interface) Support --->
    <*>   Processor
    <*>     Thermal Zone
  CPU Frequency scaling --->
  [*] CPU Frequency scaling
         Default CPUFreq governor (ondemand) --->
  -*-   'performance' governor
  <*>   'userspace' governor for userspace frequency scaling
  -*-   'ondemand' cpufreq policy governor
  <*>   ACPI Processor P-States driver
  <*>   AMD Opteron/Athlon64 PowerNow!
-*- CPU idle PM support

Then emerge sys-power/cpufrequtils and edit /etc/conf.d/cpufrequtils with a preferred text editor.

FILE /etc/conf.d/cpufrequtilsExample configuration
# Options when starting cpufreq (given to the 'cpufreq-set' program)
START_OPTS="--governor ondemand"
 
# Options when stopping cpufreq (given to the 'cpufreq-set' program)
STOP_OPTS="--governor performance"

Now you only have to run rc-update add cpufrequtils boot to make sure it is started every time the system boots.

Note
You may want to read the Power Management Guide for more tips on CPU power management.

Applications

Can I get Adobe Flash working?

Yes. Emerge www-plugins/adobe-flash. Be sure to read any messages displayed by the ebuild once it has been emerged.

I want to install package foo, but emerge says: (masked by: ~amd64 keyword)

This means that the package is still in the 'testing' tree. Please read Portage's manual page (man portage) or the Mixing Software Branches chapter of the AMD64 Handbook for more information.

I want to install package foo, but emerge says: (masked by: missing keyword)

This means that the package has not been tested yet. It does not necessarily mean that the package does not work. You can unmask it by accepting another architecture (or set of architectures) for the package. The following example shows you can tell Portage to accept the installation of the given package under any keyword.

root #echo "category/packagename **" >> /etc/portage/package.accept_keywords
root #emerge packagename

If it works fine for you, please let us know and file a bug on Gentoo's Bugzilla, so that the AMD64 team can keyword the package and other users can benefit from your test.

Warning
Do not try to invoke commands like ACCEPT_KEYWORDS="~x86" emerge packagename. It will most certainly break the Portage tree and render the system useless.

How can I help the Gentoo/AMD64 project?

How can I help?

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:

  • Filing general bug reports;
  • Testing software that does not yet have the ~amd64 keyword;
  • Participating in the Arch Testers project;
  • Help answering questions on the mailing lists, forums and IRC channels;
  • Sending patches.

Other Resources

Where can I get more help or information about Gentoo/AMD64?

If any of your questions wasn't answered here, you can try other resources listed on our project homepage . You can also ask us at #gentoo-amd64 on chat.freenode.net, Gentoo/AMD64 Forums, or on the gentoo-amd64@lists.gentoo.org mailing list.
This article is based on a document formerly found on our main website gentoo.org.
The following people have contributed to the original document: Simon Stelling, Luis Medinas, Gerald J. Normandin Jr., Xavier Neys, nightmorph+
They are listed here as the Wiki history does not provide for any attribution. If you edit the Wiki article, please do not add yourself here, your contributions are recorded on the history page.