X11 CURRENT and non-altivec based macs
Nathan Whitehorn
nwhitehorn at freebsd.org
Sun Apr 19 04:28:39 UTC 2009
Nathan Whitehorn wrote:
> Andreas Tobler wrote:
>> Hi all,
>>
>> I discovered a nasty issue which hits all non-altivec based ppc
>> systems, mostly G3, there are some 7400 w/o altivec, which want to
>> use X11.
>>
>> When you upgraded to -CURRENT and latest Xorg stuff including
>> pixman-0.15.2 you'll hit a coredump when starting X with a
>> recent/decent wm.
>>
>> Analyzing the coredump of Xorg led me to this:
>>
>> #0 0x21b9e494 in pixman_have_vmx () from
>> /usr/local/lib/libpixman-1.so.9 Cannot find new threads: generic error
>>
>> A closer look into the build of pixman showed me that it was built
>> with altivec support. No go on my G3.
>>
>> I helped myself with the below patch in the ports Makefile. But I do
>> not know if the other ppc users 'have' real working Altivec support.
>> We have Altivec support since a few moons in the kernel. Thanks Nathan!
>> I know we build the kernel w/o Altivec. How do we want to build user
>> applications/packages? Also w/o altivec or with?
>>
>> We can either adjust the ports Makefile or try to fixup the pixman
>> sources. They are currently 'fixed' for apple and linux only. Fixed
>> in terms of runtime detection of Altivec capability. (see
>> pixman/pixman-pict.c)
>>
>> Do we have already a sysctl telling us we have altivec, I do not see
>> such a sysctl?
>>
>> Suggestions?
>> In case of disabling vmx on all ppc based systems, who do I need to
>> ping, x11 at freebsd.org?
> Could you provide some more information than this (versions of X11,
> pixman and name/version of the window manager)? I just tested the
> non-Apple/non-Linux VMX detection code in pixman and it appears to
> work properly.
>
> Providing a sysctl turned out to be problematic since PowerPC CPUs,
> unlike x86, do not provide a features mask. You either have to have a
> table of CPUs and capabilities, or try the instructions you want to
> know about and see if you get SIGILL. We could do this in the kernel
> and provide a sysctl, but you can do the more-portable SIGILL just as
> easily from userspace, and this is what pixman currently does.
I managed to reproduce this. There's something weird going on that I'll
look into. Thanks for investigating!
-Nathan
More information about the freebsd-ppc
mailing list