Regression introduced in drm/i915 kernel modules for 965GM system
Richard Goedeken
SirRichard at fascinationsoftware.com
Wed Jan 30 09:35:27 PST 2008
Jesse Barnes wrote:
>> I ran my emulator and glxgears quite a few times and everything
>> worked ok. I thought the problem was fixed, because with the
>> unpatched code the system would slow down after running an opengl
>> program only once or twice. So I decided to test for the memory
>> leak, and I found that it is still present. I opened the system
>> monitor and started glxgears. Over about 5 minutes the memory usage
>> of the glxgears process steadily creeped up to about 1GB before I
>> killed it.
>
> Hm, ok. I'm not familiar with the memory leak problem, maybe you can
> bisect your Mesa tree to find which patch caused it?
I ran glxgears in valgrind and verified a huge memory leak. Then I rebuilt all
the drivers in order to run another valgrind test with debug symbols, and the
memory leak went away. It's like magic. :) I must have been installing one of
the components in the wrong place or something. At the same time, I stopped
seeing the "Failed to initialize TTM buffer manager" message; perhaps the two
were related.
Anyway, now I see another 3D rendering bug when running my emulator. Previously
I had seen this artifact in the 32-bit build (but not 64-bit), but now it's
present in both builds. I'll see if I can create a 'glean' test or something
similar to reproduce the issue.
Does anyone have a link to something that clearly explains how the whole display
system works, and the roles for and relationships between the various
components? In particular, it would be nice to have a better understanding of
how all of these things work together:
- drm.ko, i915.ko
- libdrm.so
- XOrg server
- libdri.so
- 2D driver (intel_drv.so)
- 3D driver (i965_dri.so)
- Mesa (libGL.so)
I found some good information on the DRI wiki, but it mostly explains the lower
level stuff (kernel modules). There's no explanation of the interactions
between the 2D and 3D drivers, and Mesa.
Richard
More information about the xorg
mailing list