Difference between revisions of "64-bit FAQ"

From ArchWiki
Jump to navigation Jump to search
(What will I miss in Arch64?: skype is now available in [multilib])
(97 intermediate revisions by 43 users not shown)
Line 1: Line 1:
[[Category:Arch64 (English)]]
#REDIRECT: [[Frequently asked questions#64-bit]]
[[Category:FAQs (English)]]
{{i18n|Arch64 FAQ}}
Below is a list of frequently asked questions about Arch64.
== How do I determine if my processor is x86_64 compatible? ==
Run the following command:
$ less /proc/cpuinfo
Look for the "flags" entry. If you see the "lm" flag then your processor is x86_64 compatible.
Or you can run this command:
$ grep "^flags.*\blm\b" /proc/cpuinfo
== Should I use the 32 or 64 bit version of Arch? ==
If your processor is [http://en.wikipedia.org/wiki/X86-64 x86_64] compatible, you should use Arch64 unless you plan to use [[#What_will_I_miss_in_Arch64.3F|unsupported]] software. Note that Arch32 does not support more than 3GB of RAM by default: you have to turn to Arch64 if you have more.
==How can I install Arch64?==
Just use our [http://www.archlinux.org/download/ official install ISO CD].
==How complete is the port?==
The port is ready for daily use in a desktop or server environment.
==Will I have all the packages from my 32-bit Arch I am used to?==
The Core and Extra repositories are ported and almost everything is up to date. At most, the x86_64 versions are only hours or a few days behind the i686 ones.
Occasionally, a package in AUR will only have 'i686' listed, but often they work for 64-bit too, just try adding 'x86_64'.
==Does 64-bit mean a great speed improvement?==
For applications using the 64-bit CPU registers (large databases and such) this is true in most cases. Some multimedia applications will also run noticeably faster. If you know an application which is known to be much faster when using SSE3 extensions you can rebuild the package yourself. We ''only'' compile with SSE2 support (from march=x86_64) and -O2 optimizations.
For more read http://forums.gentoo.org/viewtopic.php?t=221045 or http://www.thejemreport.com/mambo/content/view/74/74/ .
For the rest of the system: It doesn't make any difference if the keyboard waits.
For further details watch our [[Arch64_ToDoS]]. There you will find a list comparing arch32/arch64 package versions.
For certain boot problems try these special kernel boot flags: http://www.x86-64.org/lists/discuss/msg03747.html (dead link)
==How can I file bugs?==
Simply use Arch's [http://bugs.archlinux.org/ flyspray] but select x86_64 in the Architecture field if you think it's a port-related problem!
==What repos should I set up for pacman to use?==
All repos are supported for the port.
==How can I patch existing PKGBUILDs for use with Arch64?==
We add to all ported packages this variable:
arch=('i686' 'x86_64')
Add small patches directly to the sources and md5sums area but use for complete different sources:
[ "$CARCH" = "x86_64" ] && source=(${source[@]} 'other source')
[ "$CARCH" = "x86_64" ] && md5sums=(${md5sums[@]} 'other md5sum')
For any small fix use this in the build area:
[ "$CARCH" = "x86_64" ] && (patch -Np0 -i ../foo_x86_64.patch || return 1)
Or when you need more changes:
if [ "$CARCH" = "x86_64" ]; then
    configure/patch/sed      # for x86_64
  else configure/patch/sed  # for i686
==What will I miss in Arch64?==
Nothing, really. Almost all applications support 64-bit by now or are in the transition to become 64-bit compatible.
The biggest problem are packages that are either <strong>closed source</strong> or contains x86-specific assembly that is cumbersome to port to 64-bit (typical for emulators).
These applications were previously problematic, but are now available in the [[AUR]] and work fine:
* [[Zsnes]] as bin32-zsnes
* Acrobat Reader plugin is not available in 64-bit, but you can run the 32-bit version in compatibility mode. There are also many other open source alternatives that can be used to read PDF files.
Everything else should work perfectly fine. If you miss any Arch32 package in our port and you know that it will compile on x86_64 (perhaps you have found it as native packages in another 64-bit distribution), just contact the devs or request a new package in the forums.
==Can I run 32-bit apps inside Arch64?==
# You can install lib32-* libs from comunity repository for a Multilib system.
# Or you can create another chroot with 32bit system (refer to [[Arch64 Install bundled 32bit system]]):
Boot into Arch64, startx, open a term.
$ xhost +local:
$ su
# mount /dev/sda1 /mnt/arch32
# mount --bind /proc /mnt/arch32/proc
# chroot /mnt/arch32
# su your32bitusername
$ /usr/bin/command-you want # or eg: /opt/mozilla/bin/firefox
Some 32-bit apps (like OpenOffice) may require additional bindings. The following lines can be placed in rc.local to ensure you get all you need for the 32-bit apps (assuming /mnt/arch32 is mounted in fstab):
mount --bind /dev /mnt/arch32/dev
mount --bind /dev/pts /mnt/arch32/dev/pts
mount --bind /dev/shm /mnt/arch32/dev/shm
mount --bind /proc /mnt/arch32/proc
mount --bind /proc/bus/usb /mnt/arch32/proc/bus/usb
mount --bind /sys /mnt/arch32/sys
mount --bind /tmp /mnt/arch32/tmp
#comment the following line if you do not use the same home folder
mount --bind /home /mnt/arch32/home
You can then type in a term:
$ xhost +localhost
$ sudo chroot /mnt/arch32 su your32bitusername /opt/openoffice/program/soffice
==Can I build 32-bit packages for i686 inside Arch64?==
Yes. You can either use
*the multilib versions of the relevant packages from the multilib repository or
*a i686 chroot.
=== Multilib Repository - [[Multilib_Project]] ===
To use the multilib repository, edit your pacman.conf and add the following to it:
Include = /etc/pacman.d/mirrorlist
update your database:
pacman -Sy
and install gcc-multilib and its dependencies
pacman -S gcc-multilib gcc-libs-multilib binutils-multilib libtool-multilib lib32-glibc
=== Chroot ===
To use a i686 chroot (installation with i686 iso "quickinstall" is recommended for the quick way to install it inside Arch64 or see [[Arch64 Install bundled 32bit system]]), install "linux32" wrapper pkg from current to make the chroot behave like a real i686 system. Then use this script to login into the chroot environment as root:
mount --bind /dev /path-to-your-chroot/dev
mount --bind /dev/pts /path-to-your-chroot/dev/pts
mount --bind /dev/shm /path-to-your-chroot/dev/shm
mount -t proc none /path-to-your-chroot/proc
mount -t sysfs none /path-to-your-chroot/sys
linux32 chroot /path-to-your-chroot
If you keep the sources on the x86_64 host system you can add
"mount --bind /path-to-your-stored-sources /path-to-your-chroot/path-to-your-stored-sources"
to share sources from host to chroot system for pkg building used in /etc/makepkg.conf.
==Can I upgrade/switch my system from i686 to x86_64 without reinstalling?==
Yes. A forum thread has been created [http://bbs.archlinux.org/viewtopic.php?id=64485 here] which outlines steps taken to successfully migrate an install from 32 to 64 bit without losing any configs/settings/data.  Note: A large external drive was used for the transfer.
However, you can also start the system with the Arch64 install CD, mount the disk, backup anything you may want to keep that isn't a 32-bit binary (e.g: /home & /etc), and install.

Latest revision as of 05:19, 6 March 2016