[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: GMA 500 Drivers in Debian and Deprecated Symbols in Xorg



On 01/19/2011 04:08 AM, Michel Dänzer wrote:
> On Die, 2011-01-18 at 17:25 -0500, P. J. McDermott wrote: 
>>
>>     Xorg: symbol lookup error: /usr/lib/xorg/modules/drivers/psb_drv.so:
>>   \ undefined symbol: LoaderRefSymLists
>> With research I found that this is due to the removal of the XFree86
>> loader and all of its long deprecated symbols. I'm currently working on
>> a patch to remove all references to this and a similar deprecated
>> symbol, along with hopefully some now useless symbol lists (see line 159
>> and below). Note however the use of the "XFree86LOADER" macro in the
>> middle of those symbol lists; what is the purpose of this? Is it to
>> identify newer versions of Xorg? Is it deprecated and to be removed?
>> This is an issue because it is used to conditionally compile some code
>> (including the psbSetup function, which I know is used by Xorg)
>> following the symbols I'd like to conditionally compile (or simply
>> patch) out of the driver. What would be the best way to proceed here?
>> Should I leave in or remove the XFree86LOADER macro check? Should I
>> simply patch out the old symbol lists completely (possibly breaking the
>> driver for older Xorg versions) or conditionally compile out the symbol
>> lists?
> 
> You can probably just remove this stuff (I doubt the psb driver will
> work or even build against an xserver which requires it), that's what we
> did in the radeon driver, which tends to be backwards compatible more
> than most other free drivers.

Okay thanks, I'll do that then. I assume you meant remove the
XFree86LOADER macro (which I've read may be on its way out of Xorg)
check as well.

On 01/19/2011 06:07 AM, Mattia Dongili wrote:
> On Tue, Jan 18, 2011 at 05:25:17PM -0500, P. J. McDermott wrote:
> ...
>> an orig.tar.gz from the gma500 PPA on Launchpad, as I have yet to find
>> upstream development for this stuff). After I patch it to build against
> 
> I doubt there is any upstream development at all. Those git repositories
> I have linked on my website were cloned from a Mobilin repository where
> the psb driver was relegated to an "obsolete" subdirectory.
> Now with Meego all development seems to be focused towards the EMGD
> driver instead. The kernel part has sources available, the userspace
> part is mostly binary blobs afaics.
> 
> To be honest I gave up trying to make psb work as anyway it needs the 3D
> blob to work on the laptop I have and there is no way whatsoever that
> that will load on any recent Xorg version.

Yeah, I saw that on the Moblin repository. Eventually I'll contact the
gma500 team on Launchpad about it, as they seem to be getting (albeit
rather stale) updates from somewhere... I'm more focused on just getting
this to work for now though.

I know Intel is pushing IEGD or EMGD or whatever new set of
mixed-license drivers they're adding to the fray, but no one seems to
have much faith in those efforts (and it sounds like they're even less
free). And apparently maintainers have gotten the existing drivers
working with Xorg 1.{7,8,9} in at least Ubuntu, Fedora, Mandriva, and
Arch Linux. As you said, there may be problems getting the binary Xpsb
GLX sub-module to load in Xorg >= 1.7, but it appears that people have
made it work (or are at least packaging it for their distributions
regardless). Though personally I'd be happy just with framebuffer-less
rendering and backlight control, just to save my battery.

Also, xserver-xorg-video-psb *shouldn't* need the firmware or Xpsb
binaries. I noticed that it does probe for the Xpsb sub-module, but when
it doesn't find it it'll continue on without it and let you know that 3D
and video acceleration won't work. The metapackages on the gma500 PPA
seem to verify this, letting users install only the free drivers to at
least get 2D acceleration. A commenter on the blog of Adam Williamson
(who's gotten these drivers working in Fedora) also reported success
with only the free drivers. I haven't gotten to the point to be able to
try this myself though, and I'm not sure what specific requirements your
system might have to require Xpsb.

I'm slowly getting xserver-xorg-video-psb to load in Xorg 1.7, and I'm
tweaking a configuration file to work around issues like the
LVDS-connected monitor of my Acer Aspire One AO751h not being detected
with ACPI. But Xorg is now aborting on a segmentation fault "at address
(nil)" and I can't seem to get debugging symbols in the backtrace. The
fault is probably caused by a mangled pointer bug that's fixed by some
patch that I haven't applied to my driver. I'll probably install drivers
from the gma500 PPA on a test installation of Squeeze to see that
everything works. If it does, then I can start from scratch and be less
conservative in my patchwork, referring to the work in other
distributions to fix any bugs there may be.

Thanks,
P. J.


Reply to: