Summary: | quake3 has no sound without oss workaround, but freezes at start of match with | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Triffid Hunter <triffid_hunter> |
Component: | [OLD] Games | Assignee: | Gentoo Games <games> |
Status: | RESOLVED INVALID | ||
Severity: | normal | ||
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Triffid Hunter
2005-09-23 10:35:58 UTC
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. |