X11 CURRENT and non-altivec based macs

Nathan Whitehorn nwhitehorn at freebsd.org
Sat Apr 18 21:25:44 UTC 2009


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.
-Nathan


More information about the freebsd-ppc mailing list