| Summary: | DRI with r300 doesn't work with Crystal Space | ||||||
|---|---|---|---|---|---|---|---|
| Product: | DRI | Reporter: | Ethan Glasser-Camp <glasse> | ||||
| Component: | libGL | Assignee: | Default DRI bug account <dri-devel> | ||||
| Status: | RESOLVED NOTABUG | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | high | ||||||
| Version: | XOrg git | ||||||
| Hardware: | x86 (IA32) | ||||||
| OS: | Linux (All) | ||||||
| Whiteboard: | |||||||
| i915 platform: | i915 features: | ||||||
| Attachments: |
|
||||||
|
Description
Ethan Glasser-Camp
2005-03-24 11:32:43 UTC
Created attachment 2259 [details] [review] patch to link r300_dri.so against libGL I fixed the problem by linking r300_dri.so against libGL. I have no idea if this is the Right Thing or not, though. it's wrong. DRI drivers should be loadable by the server as well, which is not linked against libGL. this is the same issue doom3 had when it first came out. as a workaround try running walktest with LD_PRELOAD=/usr/lib/libGL.so (or wherever you put your libGL). (In reply to comment #2) > it's wrong. DRI drivers should be loadable by the server as well, which is not > linked against libGL. > > this is the same issue doom3 had when it first came out. as a workaround try > running walktest with LD_PRELOAD=/usr/lib/libGL.so (or wherever you put your libGL). That works too. But wait, if the DRI drivers are supposed to be loadable by the server by itself, and if the server isn't linked against libGL, then wouldn't the server trying to load the DRI driver get an undefined symbol the same way Crystal Space does? (In reply to comment #3) > That works too. But wait, if the DRI drivers are supposed to be loadable by the > server by itself, and if the server isn't linked against libGL, then wouldn't > the server trying to load the DRI driver get an undefined symbol the same way > Crystal Space does? Treading into the realm of the theoretical here, since the server doesn't support loading DRI drivers yet... But the answer is that the server would define these symbols itself. When the dynamic linker goes to resolve them it looks first in the local object and then widens the search outward according to some fairly complicated rules. Since the server would define glXGetProcAddress itself, the driver would use that one. OK, great. Thanks for the workaround! |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.