|
Bugzilla – Full Text Bug Listing |
| Summary: | xsload cannot load load _drv.so drivers | ||
|---|---|---|---|
| Product: | [openSUSE] SUSE Linux 10.1 | Reporter: | Marcus Schaefer <ms> |
| Component: | X.Org | Assignee: | Stefan Dirsch <sndirsch> |
| Status: | RESOLVED FIXED | QA Contact: | Stefan Dirsch <sndirsch> |
| Severity: | Critical | ||
| Priority: | P5 - None | CC: | eich |
| Version: | Alpha 3plus | ||
| Target Milestone: | --- | ||
| Hardware: | Other | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Found By: | Development | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
| Attachments: |
Xorg dif
Currently used patch by Marcus. |
||
|
Description
Marcus Schaefer
2005-12-07 14:21:24 UTC
We also use xsload to extract the driver options. Egbert, xsload is a fork of xf86cfg to load driver modules and extract some information from the module like options and vendor. How to build xsload
-------------------
... works only during "make World". :-(
- extract /work/SRC/all/BASE/xorg-x11/xsload.tar.gz
- apply the following patch
--- programs/Xserver/hw/xfree86/Imakefile.suse
+++ programs/Xserver/hw/xfree86/Imakefile
@@ -88,12 +88,16 @@
XF86CFGDIRS = xf86cfg xf86config
#endif
+#if DoLoadableServer
+XSLOAD = xsload
+#endif
+
SUBDIRS = os-support common $(I2CDIR) $(XAADIR) $(EXADIR) $(XF1BPPDIR) $(XF4BPP
DIR) \
$(XF8_32BPPDIR) $(XF8_16BPPDIR) $(SHADOWFBDIR) drivers \
$(LOADERDIR) $(VGAHWDIR) $(FBDEVHWDIR) $(RAMDACDIR) $(RACDIR) \
$(DDCDIR) $(INPUTDIR) $(INT10DIR) $(VBEDIR) parser scanpci doc \
dummylib $(XF86CFGDIRS) etc $(DRIVERSDK) $(XF8_32WIDDIR) \
- getconfig
+ getconfig $(XSLOAD)
#if !defined(OS2Architecture) && !defined(cygwinArchitecture)
XORGCONFIG = XConfigFile
See also shannon:/abuild/buildsystem.shannon.ms /usr/src/packages/BUILD/xc/programs/Xserver/hw/xfree86/xsload.old /usr/src/packages/BUILD/xc/programs/Xserver/hw/xfree86/xsload for first tries to fix this issue. Could we live with a workaround for Alpha4 for the nvidia driver detection? Something like this? libdir="lib" test "$(arch)" == "x86_64" && libdir="lib64" strings /usr/X11R6/$libdir/modules/drivers/nvidia_drv.so | \ grep -q "NVIDIA dlloader X Driver" if [ $? -eq 0 ]; then <code for proprietary driver> else <code for dummy driver> fi Of course we should try to fix this for Beta1. Hmm, I don't like such an approach because I assume nobody will have a look at xsload in that case Marcus, you're allowed to remove the workaround right after Alpha4 release. :-) Why do I always have to fix my own reports *grr* I added the
following workaround:
Index: sysp/script/vendor.pl
===================================================================
--- sysp/script/vendor.pl (revision 971)
+++ sysp/script/vendor.pl (working copy)
@@ -21,6 +21,11 @@
# return <none>
#
my $driver = $_[0];
+ # FIXME
+ # workaround for Bug: #137374, to be removed ASAP
+ if ($driver eq "nvidia") {
+ return "NVIDIA Corporation";
+ }
my $xsload = "/usr/X11R6/bin/xsload";
if (! -f $xsload) {
return ("<none>");
Thanks! The bugreport remains open until we have a real fix. I've filed a bugreport against xorgcfg (which is affected as well) upstream on fd.o. https://bugs.freedesktop.org/show_bug.cgi?id=5502 Real fix looks difficult. dlopen() needs to resolve those symbols despite RTLD_LAZY or will fail. All offending symbols I saw are provided by core server. You need to add dummys. NOTE: dlopen fails right after first missing symbol. more -> schwab. Egbert, thanks for investigating this. I tried to compile an example but there are lots of function I have to write a dummy for to get that compiled. I think it doesn't make sense to use that xsload system any longer Thanks again for looking at it too This seems to be a *long* pending bug in libdl. However, this is just a rough guess from the documents I scanned and the discussions I had. Hopefully Andres can bring some light into this issue when he's back from holidays. Grr. One may use the dixsym.c, fontsym.c, misym.c and extsym.c to create dummies for these. This may be a wrokable solution that will help resurrect xorgcfg, too. It will be ugly - but will render xorgcfg and friends only slightly uglier than they already are. I made a patch for the loader to be able to call X -showopts Please have a look Created attachment 62179 [details]
Xorg dif
Created attachment 62425 [details]
Currently used patch by Marcus.
New xorg-x11 package with the patch applied above. |