the plugin mmap workarounds in /usr/src/linux/Documentation/sound/alsa/OSS- Emulation.txt seem to be necessary, yet when they're enabled the game has sound, but freezes as soon as the player joins a match. both the workaround requirement and freezing problem are new after updating about 200 packages to latest versions.. Reproducible: Always Steps to Reproduce: 1. enable sound using workaround 2. quake3 3. start any game Actual Results: game freezes as soon as player spawns Expected Results: normal gameplay emerge info Portage 2.0.51.22-r2 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r1, 2.6. 13-gentoo-r2 i686) ================================================================= System uname: 2.6.13-gentoo-r2 i686 AMD Athlon(tm) 64 Processor 3000+ Gentoo Base System version 1.6.13 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled] ccache version 2.3 [enabled] dev-lang/python: 2.3.5-r2 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -pipe -march=athlon64 -mtune=athlon64 -maccumulate-outgoing-args -mfpmath=sse - mmmx -msse2 -m32 -fexpensive- optimizations -fmove-all-movables -fomit-frame-pointer -fprefetch-loop-arrays -frerun-cse-after-loop -frerun- loop-opt -ftracer " CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/ X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -pipe -march=athlon64 -mtune=athlon64 -maccumulate-outgoing-args -mfpmath=sse - mmmx -msse2 -m32 -fexpensive- optimizations -fmove-all-movables -fomit-frame-pointer -fprefetch-loop-arrays -frerun-cse-after-loop -frerun- loop-opt -ftracer " DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distcc distlocks fixpackages sandbox sfperms strict" GENTOO_MIRRORS="http://mirror.aarnet.edu.au/pub/gentoo http://mirror.pacific. net.au/linux/Gentoo http://mirror.isp.net.au/pub/gentoo" MAKEOPTS="-j8" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 3dnow 3dnowext X X509 a52 aac acpi alsa apm avi bash-completion berkdb bitmap-fonts buttons bzip2 caps cdr crypt cups curl dga dts dv dvd dvdread eds emboss encode erandom escreen esd extensions fam ffmpeg fftw flac foomaticdb gd gdbm gif gnome gnutls gphoto2 gpm graphviz gstreamer gtk gtk2 hpn ieee1394 imagemagick imlib jack jpeg libg++ libwww linuxthreads-tls lirc mad mikmod mmap mmx mmxext motif mp3 mpeg ncurses network nfs nls nptl nvidia offensive ogg oggvorbis opengl oss pam pcre pdflib perl png python quicktime readline samba sdl slang socks5 spell sse sse2 ssl svg tcltk tcpd threads tiff truetype truetype-fonts type1-fonts v4l vorbis win32codecs xchatdccserver xine xml xml2 xmms xosd xv xvid xvmc zlib zvbi userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY
Holy crap! Have you tried recompiling with some sane CFLAGS? That combination of CFLAGS is like playing Russian roulette. Try using something like "-O2 -march=athlon64 -pipe" instead. Also, is -march=athlon64 even *valid* for 32-bit? Anyway, feel free to REOPEN this after recompiling your system with sane CFLAGS.
I haven't yet found a document that states which -march is correct for each cpu type, let alone one that says what the proper set with which to build a 32 bit system for a 64bit chip is.. -march=athlon64 -m32 was just a guess that most programs seem to like.. ut2004/ diablo 2 under wine/unreal tournament/xorg-x11/etc all seem fine with these flags, and quake3 runs fine without the plugin/mmap workaround.. So if you'd like to point me the way of a document that answers the question "is -march=athlon64 even *valid* for 32-bit?" by way of lookup table or better, i'd have a better idea whether the above guess was a bit wierd or just plain wrong.. Any idea *what* I should recompile with fewer cflags and/or different arch? And any idea which arch and/or flags are "recommended" for 32bit systems on a 64bit cpu?
seems to be the related to http://forums.gentoo.org/viewtopic-t-313030.html and http://forums.gentoo.org/viewtopic-t-310644-highlight-sigsegv+xine.html.. the solutions there fixed numerous programs, but not (yet) quake3 unfortunately .. any definition on what constitutes a 'sane' march yet, for this configuration? i've googled around, asked on the channel and poked at the forums, and it seems that no-one has any idea...
Sane to me would be this: -O2 -march=athlon64 -pipe Anything else, and you're going against the compiler's better judgement and forcing things on when they shouldn't be. A prime example is -mfpmath=sse... This forces the compiler to use SSE even where regular FPU might be more efficient. And no, -mfpmath=sse,387 isn't a good idea, either. From what I can tell from the GCC manual, athlon64 looks valid for 32-bit, also. You won't need -m32, either. In fact, strip *everything* but what I stated above, and you'll want to recompile at *least* your kernel and toolchain with the new flags.