Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 175637 - 3d (mesa) games cause Illegal Instruction (MMX) on AMD k6-3 w/ mach64 dri
Summary: 3d (mesa) games cause Illegal Instruction (MMX) on AMD k6-3 w/ mach64 dri
Status: RESOLVED NEEDINFO
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-04-23 01:19 UTC by Alex Cannon
Modified: 2007-08-02 05:19 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Cannon 2007-04-23 01:19:37 UTC
I have an AMD k6-3 CPU and an old ATI mach64 video card.  I compiled mesa-6.5.1-r1 and xorg-server-1.1.1-r5 with gcc-4.1.1-r3 with -march=k6-3.  I have the kernel mach64 driver loaded and glxgears works.

glxgears works, but when I try to run a game like tuxkart I get "Illegal Instruction" and the game aborts before it even loads.

Reproducible: Always




emerge --info
Portage 2.1.1-r2 (default-linux/x86/2006.1, gcc-4.1.1, glibc-2.5-r0, 2.6.17.7 i586)
=================================================================
System uname: 2.6.17.7 i586 AMD-K6(tm) 3D+ Processor
Gentoo Base System version 1.6.13
Last Sync: Wed, 18 Apr 2007 17:00:06 +0000
app-admin/eselect-compiler: [Not Present]
dev-java/java-config: 1.2.11
dev-lang/python:     2.3.5, 2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     [Not Present]
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.15-r1
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i586-pc-linux-gnu"
CFLAGS="-Os -march=k6-3 -fomit-frame-pointer"
CHOST="i586-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/terminfo"
CXXFLAGS="-Os -march=k6-3 -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://gentoo.osuosl.org/ ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo http://csociety-ftp.ecn.purdue.edu/pub/gentoo/ http://mirror.tucdemonic.org/gentoo/ http://gentoo.llarian.net/ http://mirror.datapipe.net/gentoo http://chod.cwru.edu/gentoo ftp://chod.cwru.edu/gentoo ftp://linux.cs.lewisu.edu/gentoo/ http://mirror.usu.edu/mirrors/gentoo/"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 3dnow alsa alsa_cards_ali5451 alsa_cards_als4000 alsa_cards_atiixp alsa_cards_atiixp-modem alsa_cards_bt87x alsa_cards_ca0106 alsa_cards_cmipci alsa_cards_emu10k1 alsa_cards_emu10k1x alsa_cards_ens1370 alsa_cards_ens1371 alsa_cards_es1938 alsa_cards_es1968 alsa_cards_fm801 alsa_cards_hda-intel alsa_cards_intel8x0 alsa_cards_intel8x0m alsa_cards_maestro3 alsa_cards_trident alsa_cards_usb-audio alsa_cards_via82xx alsa_cards_via82xx-modem alsa_cards_ymfpci alsa_pcm_plugins_adpcm alsa_pcm_plugins_alaw alsa_pcm_plugins_asym alsa_pcm_plugins_copy alsa_pcm_plugins_dmix alsa_pcm_plugins_dshare alsa_pcm_plugins_dsnoop alsa_pcm_plugins_empty alsa_pcm_plugins_extplug alsa_pcm_plugins_file alsa_pcm_plugins_hooks alsa_pcm_plugins_iec958 alsa_pcm_plugins_ioplug alsa_pcm_plugins_ladspa alsa_pcm_plugins_lfloat alsa_pcm_plugins_linear alsa_pcm_plugins_meter alsa_pcm_plugins_mulaw alsa_pcm_plugins_multi alsa_pcm_plugins_null alsa_pcm_plugins_plug alsa_pcm_plugins_rate alsa_pcm_plugins_route alsa_pcm_plugins_share alsa_pcm_plugins_shm alsa_pcm_plugins_softvol apache berkdb bitmap-fonts cdparanoia cli cracklib crypt cups divx4linux dri elibc_glibc encode esound foomaticdb fortran gdbm gimpprint gpm gtk iconv imagemagick input_devices_evdev input_devices_keyboard input_devices_mouse ipv6 isdnlog javascript kernel_linux lcd_devices_bayrad lcd_devices_cfontz lcd_devices_cfontz633 lcd_devices_glk lcd_devices_hd44780 lcd_devices_lb216 lcd_devices_lcdm001 lcd_devices_mtxorb lcd_devices_ncurses lcd_devices_text libg++ midi mmx motif mysql ncurses nls nptl nptlonly pam pam_console pcre perl ppds pppd readline reflection sasl scanner session softmmu spl sve tcpd truetype-fonts type1-fonts unicode usb userland_GNU video_cards_mach64 vorbis xft xorg zlib"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 1 Joshua Baergen (RETIRED) gentoo-dev 2007-04-23 22:40:52 UTC
Has this ever worked for you?

Try rebuilding mesa, xorg-server and your video driver with -O2 instead of -Os and see if that helps.
Comment 2 Alex Cannon 2007-04-25 00:37:01 UTC
This game hasn't worked for me on that system yet, until now with mmx disabled.

I recompiled with -O2 -g, debug and nostrip.

I found that the game starts up if I $ export MESA_NO_MMX= .  If I don't it gives me illegal instruction.

With the default settings, here is what gdb says when it crases:

Program received signal SIGILL, Illegal instruction.
[Switching to Thread -1212761632 (LWP 8422)]
0xb7a82b61 in _generic_read_RGBA_span_RGB565_MMX ()
   from /usr/lib/dri/mach64_dri.so
(gdb) backtrace
#0  0xb7a82b61 in _generic_read_RGBA_span_RGB565_MMX ()
   from /usr/lib/dri/mach64_dri.so
#1  0xb79497a5 in mach64ReadRGBASpan_RGB565_MMX ()
   from /usr/lib/dri/mach64_dri.so
#2  0xb7a47048 in _swrast_read_rgba_span () from /usr/lib/dri/mach64_dri.so
#3  0xb7ad49ec in _swrast_blend_span () from /usr/lib/dri/mach64_dri.so
#4  0xb7a479e0 in _swrast_write_rgba_span () from /usr/lib/dri/mach64_dri.so
#5  0xb7a600e1 in general_textured_triangle () from /usr/lib/dri/mach64_dri.so
#6  0xb7a39d8f in _swrast_validate_triangle () from /usr/lib/dri/mach64_dri.so
#7  0xb7a3905c in _swrast_Triangle () from /usr/lib/dri/mach64_dri.so
#8  0xb7a725c4 in triangle_rgba () from /usr/lib/dri/mach64_dri.so
#9  0xb7a03518 in _tnl_render_tri_strip_verts ()
   from /usr/lib/dri/mach64_dri.so
#10 0xb7a0474b in run_render () from /usr/lib/dri/mach64_dri.so
#11 0xb79f0401 in _tnl_run_pipeline () from /usr/lib/dri/mach64_dri.so
#12 0xb795ee1b in mach64RunPipeline () from /usr/lib/dri/mach64_dri.so
#13 0xb7a20733 in _tnl_flush_vtx () from /usr/lib/dri/mach64_dri.so
#14 0xb7a1802d in _tnl_FlushVertices () from /usr/lib/dri/mach64_dri.so
#15 0xb79b5456 in _mesa_PopMatrix () from /usr/lib/dri/mach64_dri.so
#16 0x0806b01a in std::operator+<char, std::char_traits<char>, std::allocator<char> > ()
#17 0x0806af74 in std::operator+<char, std::char_traits<char>, std::allocator<char> > ()#18 0x0807436c in std::operator+<char, std::char_traits<char>, std::allocator<char> > ()
#19 0x08067f2f in std::operator+<char, std::char_traits<char>, std::allocator<char> > ()
#20 0x080699e9 in std::operator+<char, std::char_traits<char>, std::allocator<char> > ()
#21 0x08050082 in ?? ()
#22 0xb7c8f869 in __libc_start_main () from /lib/libc.so.6
#23 0x0804f361 in ?? ()
Comment 3 Donnie Berkholz (RETIRED) gentoo-dev 2007-08-02 05:19:55 UTC
Can you try mesa 6.5.3 and report back? Please reopen when you reply.