[pkg-nvidia-devel] Bug#462429: Workaround does not work

David Fox dfox94085 at gmail.com
Sat May 3 19:56:50 UTC 2008

I'm on lenny, and just upgraded to version 169.12 of nvidia-glx, which
still contains SSE code linked in, and I
have an Athlon Thunderbird (pre-palomino) processor, which lacks
movups and other SSE instructions.

After looking in the README file in /usr/share/doc/nvidia-glx, and
having been clued in that I should set an environment variable in
order to disable the extra CPU features that are in nvidia-glx, I
tried doing so and still the GL programs I have refuse to run
(glxgears etc), dying early with an illegal instruction, even if I run
them from the same controlling terminal that I did the export on. I
tried also doing the export prior to starting X, but that doesn't seem
to help.

I didn't have to do this workaround on 100.14.12, which was the
previous version I ran up until today's dist-upgrade. And I really
shouldn't have to.

dfox at m206-157:~$ uname -r

dfox at m206-157:~$ apt-cache policy nvidia-glx
  Installed: 169.12-1
  Candidate: 169.12-1
  Version table:
 *** 169.12-1 0
        500 http://ftp.us.debian.org sid/non-free Packages
        100 /var/lib/dpkg/status

(using stellarium for the moment, my favorite GL app) :)

dfox at m206-157:~$ export __GL_FORCE_GENERIC_CPU=1
dfox at m206-157:~$ cd /usr/local/stellarium/builds/unix/src
dfox at m206-157:/usr/local/stellarium/builds/unix/src$ gdb ./stellarium
GNU gdb 6.7.1-debian
Copyright (C) 2007 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...
Using host libthread_db library "/lib/i686/cmov/libthread_db.so.1".
(gdb) run
Starting program: /usr/local/stellarium/builds/unix/src/stellarium
[Thread debugging using libthread_db enabled]
[New Thread 0xb5f24740 (LWP 7615)]
[ This is Stellarium 0.10.0 - http://www.stellarium.org ]
[ Copyright (C) 2000-2008 Fabien Chereau et al          ]
File search paths:
  0 .  "/home/dfox/.stellarium"
  1 .  "/usr/local/share/stellarium"
Config file is:  "/home/dfox/.stellarium/config.ini"
Attempting to use an existing older config file.
Sky language is  "en"
Application language is  "en"
Loading Solar System data ...

Program received signal SIGILL, Illegal instruction.
[Switching to Thread 0xb5f24740 (LWP 7615)]
0xb6753300 in ?? () from /usr/lib/libGLcore.so.1
(gdb) where
#0  0xb6753300 in ?? () from /usr/lib/libGLcore.so.1
#1  0xb5494040 in ?? ()
#2  0x00000000 in ?? ()
(gdb) disass $pc-32 $pc+32
Dump of assembler code from 0xb67532e0 to 0xb6753320:
0xb67532e0:	movaps (%ecx),%xmm0
0xb67532e3:	add    $0x10,%ecx
0xb67532e6:	movups %xmm0,(%edx)
0xb67532e9:	add    $0x10,%edx
0xb67532ec:	dec    %eax
0xb67532ed:	jne    0xb67532e0
0xb67532ef:	jmp    0xb675318f
0xb67532f4:	mov    %esi,%ecx
0xb67532f6:	mov    %edi,%edx
0xb67532f8:	nop
0xb67532f9:	lea    0x0(%esi),%esi
0xb6753300:	movups (%ecx),%xmm0
0xb6753303:	movups 0x10(%ecx),%xmm1
0xb6753307:	movups 0x20(%ecx),%xmm2
0xb675330b:	movups 0x30(%ecx),%xmm3
0xb675330f:	add    $0x40,%ecx
0xb6753312:	movaps %xmm0,(%edx)
0xb6753315:	movaps %xmm1,0x10(%edx)
0xb6753319:	movaps %xmm2,0x20(%edx)
0xb675331d:	movaps %xmm3,0x30(%edx)
End of assembler dump.

More information about the Pkg-nvidia-devel mailing list