Bug 921375 - xorg server 1.13 is missing a number of extensions
Summary: xorg server 1.13 is missing a number of extensions
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: xorg-x11-server
Version: 18
Hardware: x86_64
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: X/OpenGL Maintenance List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-03-14 05:20 UTC by Peter Ajamian
Modified: 2013-03-27 13:06 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-03-27 11:14:00 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Xorg log from failure to boot with catalyst-legacy driver. (5.13 KB, text/x-log)
2013-03-14 05:20 UTC, Peter Ajamian
no flags Details

Description Peter Ajamian 2013-03-14 05:20:46 UTC
Created attachment 709873 [details]
Xorg log from failure to boot with catalyst-legacy driver.

Description of problem:
A number of extensions (dbe, dri, dri2, extmod, record) are not being built and packaged in the xorg binary rpms, they were packaged from xorg server 1.12 and earlier but now the only extension that seems to make it through is glx.  This affects 3rd party binary drivers (such as catalyst-legacy) which can't find the symbols they expect when loading and thus causing the driver to fail.

Version-Release number of selected component (if applicable):
xorg-x11-server-Xorg-1.13.2-4

How reproducible:
Always reproducible if you have the appropriate hardware and 3rd party driver.

Steps to Reproduce:
1. install 3rd party driver (such as catalyst-legacy from rpmforge)
2. reboot
  
Actual results:
X comes up to a blank screen due to driver failure (see attached xorg log file)

Expected results:
X should boot up and work with the 3rd party driver.

Additional info:
I've done quite a bit of experimentation and here's what I've tried and found:

If I rebuild xorg-x11-server (and dependant drivers), swapping out an older xorg server tarball (I used 1.11.4) and remove any patches that fail, then the package rebuilds fine and I am able to boot into X with the 3rd party catalyst-legacy driver and it appears to work just fine, so this has to do with a change from upstream xorg, and not due to a change in the packaging by Fedora.

The error that appears to prevent the driver from loading is:
[   327.309] (EE) Failed to load /usr/lib64/xorg/modules/drivers/fglrx_drv.so: /usr/lib64/xorg/modules/drivers/fglrx_drv.so: undefined symbol: noXFree86DRIExtension

I checked the git for xorg and found this commit which moves, but does not remove the above referenced symbol: http://cgit.freedesktop.org/xorg/xserver/commit/?id=a1d41e311c21eb6627caa0d168e070ceaf90806f

...in the above commit the symbol is moved from include/globals.h to hw/xfree86/common/xf86Extensions.h.

I think that the extensions are still a part of xorg server, but are simply not built by default, or somehow not getting built in another way.  I have tried and failed to get the dri extension to build (which is the one I really need for the catalyst-legacy driver).  I think that this can probably be resolved with a bit of spec file tweaking, though, to get the missing extensions to build and then the 3rd party drivers that rely on them will once again work.

This could just as easily be considered an xorg bug (that should be filed upstream), or a bug with the binary 3rd party drivers it affects, but the simplest best solution is likely to be a packaging fix in Fedora which is why I'm filing it here.

Comment 1 Dave Airlie 2013-03-27 11:14:00 UTC
these extensions are now built-in to the server and as such are always provided.

You should contact the 3rd party driver providers for updated drivers to work with the new X server.

Don't think we can fix this in Fedora.

Comment 2 Peter Ajamian 2013-03-27 13:06:40 UTC
(In reply to comment #1)
> these extensions are now built-in to the server and as such are always
> provided.

So why is at least one of the symbols missing, then?  Also why are there directories in the source presumably for building these extensions seperately (but they're not getting built, even when I run make in that particular directory)?

> You should contact the 3rd party driver providers for updated drivers to
> work with the new X server.

Not likely to happen with radeon legacy drivers, I think that multiple people have tried already.

> Don't think we can fix this in Fedora.

That may very well be true, and I'll try pushing this upstream to xorg, as I think it may be an issue that can be resolved there.

Peter


Note You need to log in before you can comment on or make changes to this bug.