Subject: X on NetBSD-current
To: None <>
From: Lars Nordlund <>
List: port-alpha
Date: 01/28/2006 17:27:14

After a question on a nearby IRC channel I started investigating the
current status of X on NetBSD/alpha.

Some other background noise. Early 2005 I set up my alpha (cpu0 at
mainbus0: ID 0 (primary), 21164A-2) using a PCI radeon 9200 with NetBSD
and X. I chose xfree86-current from cvs. Built it myself and it just 
works (TM). After that I just ran the same X distribution while 
constantly upgrading the normal netbsd userland and kernel. Everything 
has worked like a charm.

It seems the default NetBSD distribution do not build the necessary
servers for normal PC-type graphics cards. Why is that?

Yesterday I tried XFree86 from pkgsrc (still at 4.4.0, for some
reason). It did not build. I then tried from pkgsrc. Still no
luck. So I tried /usr/xsrc (the NetBSD xsrc tree). Neither that was
buildable. So I went directly on XFree86 cvs. Checked out xfree-current
and still problems..

(from xfree86-current build log)
cd ./config/imake && make -f Makefile.proto imakeonly
gcc -O2 -fno-strict-aliasing -ansi -Dasm=__asm -Wall -Wpointer-arith -Wundef   -I. -I../../include  -I../../exports/include  -DCSRG_BASED  -DFUNCPROTO=15 -DNARROWPROTO     -DCPP_PROGRAM="\"cpp\"" -DHAS_MERGE_CONSTANTS=`if gcc -fmerge-constants -xc /dev/null -S -o /dev/null 2> /dev/null 1> /dev/null; then echo 1; else echo 0; fi`         -c imake.c
In file included from /usr/include/machine/cpu.h:128,
                 from /usr/include/machine/param.h:88,
                 from /usr/include/sys/param.h:145,
                 from imake.c:149:
/usr/include/machine/alpha_cpu.h:338: error: syntax error before "unsigned"
imake.c: In function `isempty':
imake.c:1818: warning: subscript has type `char'
imake.c:1821: warning: subscript has type `char'
imake.c: In function `ReadLine':
imake.c:1925: warning: subscript has type `char'
*** Error code 1

Looking in the file /usr/include/machine/alpha_cpu.h I found a number 
of uses of 'inline'. What is this? Why does it not work? Looking in the
cvs log I found that __inline had been changed to just inline:

revision 1.47
date: 2005/12/24 20:06:46;  author: perry;  state: Exp;  lines: +37 -37
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.

I reverted that change and X built and installed just fine. I am running
it now and it seems to work just as good as the last version I had. My
/var/log/XFree86.0.log now says:

XFree86 Version
Release Date: 23 January 2006
X Protocol Version 11, Revision 0
Build Operating System: NetBSD/alpha 3.99.15 [ELF] The NetBSD Foundation, Inc.

I have not tried pkgsrc-xfree86/pkgsrc-xorg or /usr/xsrc after the change
in the alpha_cpu.h file.

Best regards,
	Lars Nordlund