|
From: Jorrit T. <Jor...@uz...> - 2003-09-11 11:04:14
|
Hi all, I'm using the closed source ATI drivers for my Radeon 9000 and I want to use valgrind. But apparently there are similar problems as with Valgrind and nVidia cards. Does anyone know if there is a similar solution too? Greetings and thanks in advance, |
|
From: Dimitri Papadopoulos-O. <pap...@sh...> - 2003-09-11 12:02:31
|
Hi, > I'm using the closed source ATI drivers for my Radeon 9000 and I want to > use > valgrind. But apparently there are similar problems as with Valgrind and > nVidia > cards. Does anyone know if there is a similar solution too? What sort of problems? It seems there are two sort of problems with nVidia drivers: * They use MMX/SSE instructions which are not supported by valgrind. This can be disabled by setting __GL_FORCE_GENERIC_CPU. Maybe ATI support a similar environment variable. Do they have some sort of mailing list you could ask to? Otherwise you'll have to revert to some other driver to run valgrind. On the other hand other drivers such as the XFree86 Matrox driver also contains MMX or SSE instructions. This leads me to think that valgrind is most often incompatible with OpenGL programs on Linux, because many OpenGL drivers use MMX instructions that can't be disabled. * They use NPTL on Red Hat 9, which is not supported by valgrind. This seems to be specific to nVidia and shouldn't affect you. Which Linux distribution are you running? -- Dimitri |
|
From: Jorrit T. <Jor...@uz...> - 2003-09-12 06:08:52
|
Dimitri Papadopoulos-Orfanos wrote: > Hi, > >> I'm using the closed source ATI drivers for my Radeon 9000 and I want >> to use >> valgrind. But apparently there are similar problems as with Valgrind >> and nVidia >> cards. Does anyone know if there is a similar solution too? > > > What sort of problems? I got a crash inside the fglrx driver itself (the program without valgrind doesn't crash). I can give you more details later but at this moment I'm not at my linux machine. > > > It seems there are two sort of problems with nVidia drivers: > > * They use MMX/SSE instructions which are not supported by valgrind. > This can be disabled by setting __GL_FORCE_GENERIC_CPU. > Maybe ATI support a similar environment variable. Do they have some > sort of mailing list you could ask to? Otherwise you'll have to > revert to some other driver to run valgrind. On the other hand other > drivers such as the XFree86 Matrox driver also contains MMX or SSE > instructions. > This leads me to think that valgrind is most often incompatible > with OpenGL programs on Linux, because many OpenGL drivers use MMX > instructions that can't be disabled. How hard would it be for valgrind to support MMX? > > > * They use NPTL on Red Hat 9, which is not supported by valgrind. > This seems to be specific to nVidia and shouldn't affect you. > Which Linux distribution are you running? I'm using RedHat 9 but I have no problems using valgrind on programs that don't use OpenGL. Greetings, |
|
From: Jorrit T. <Jor...@uz...> - 2003-09-15 06:50:52
|
Jorrit Tyberghein wrote: > > I got a crash inside the fglrx driver itself (the program without > valgrind doesn't > crash). I can give you more details later but at this moment I'm not > at my linux > machine. Ok, here is more information: Running valgrind with my program that uses the ATI drivers gives: ==3489== Warning: segment-override prefix encountered, but thread has no LDT ==3489== Warning: segment access: virtual addr 0 exceeds segment limit of 0 ==3489== ==3489== Invalid read of size 4 ==3489== at 0x43CA26F5: s14065 (in /usr/X11R6/lib/modules/dri/fglrx_dri.so) ==3489== Address 0x0 is not stack'd, malloc'd or free'd Segmentation fault The program runs fine outside valgrind. Greetings, |
|
From: Nicholas N. <nj...@ca...> - 2003-09-15 07:28:57
|
On Fri, 12 Sep 2003, Jorrit Tyberghein wrote: > > It seems there are two sort of problems with nVidia drivers: > > > > * They use MMX/SSE instructions which are not supported by valgrind. > > How hard would it be for valgrind to support MMX? Not very. It already supports (I think) all the MMX instructions and some/most of the SSE/SSE2 ones. The remaining SSE ones are being added slowly. N |