Subject: getting XFree86 to run on personal workstation au600
To: None <port-alpha@netbsd.org>
From: None <zephyr@netbsd.anyware.com.cn>
List: port-alpha
Date: 10/30/2002 10:58:19
Thank mel kravitz,I get X to run on personal workstation au600 with
his help. I wish everyone can share the experience.Please excuse me for my
poor english and prolixity,I try my best to say detailedly.

My digital personal workstation au600 is:
Alpha CPU: 598MHZ
Display card:Elsa Gloria Synergy 6M mem

I install NetBSD1.6/Alpha on it,then I rebuild -current.If you only want X
to run,you need not to rebuild.
uname -a
NetBSD netbsd.anyware.com.cn 1.6J NetBSD 1.6J (ALPHA-$Revision: 1.218 $)
#0: Thu
 Oct 24 20:29:17 GMT+8 2002
root@netbsd.anyware.com.cn:/home/backup/build/src/sys/arch/alpha/compile/WONDER alpha

First step:build the new kernel for X,I do it as
http://www.caseydoodle.com says
and ray's article in port-alpha
http://mail-index.netbsd.org/port-alpha/2002/06/27/0000.html

cd /usr/src/sys/arch/alpha/conf
cp GENERIC WONDER
vi WONDER
add or change:
#######################################################
# Disable kernel security.
options         INSECURE
pseudo-device wsmux 2
options         WSDISPLAY_COMPAT_PCVT
options         WSDISPLAY_COMPAT_SYSCONS
options         WSDISPLAY_COMPAT_USL
options         WSDISPLAY_COMPAT_RAWKBD
# Workstation Console attachments
pckbc0          at      isa?
pms*            at      pckbc?
wsdisplay*      at      vga?
wskbd*          at      pckbd? console ?
wsmouse*        at      pms?
##############################################
config WONDER
cd ../compile/WONDER
make dep;make
if no problem,cp netbsd /,

Second step:make console support multiple screen
edit /etc/defaults/rc.conf,change wscons=NO to wscons=YES
# Configuration of "wscons" console driver virtual screens.
#
wscons=YES              wscons_flags=""         # setup wscons from wscons.conf

edit /etc/ttys,add new tty in it
# console pseudo-device
#console        "/usr/libexec/getty std.9600"   vt100 on secure

# Workstation console (framebuffer) ttys
ttyE0   "/usr/libexec/getty std.9600"   vt100 on secure
ttyE1   "/usr/libexec/getty std.9600"   vt100 on secure
ttyE2   "/usr/libexec/getty std.9600"   vt100 on secure
ttyE3   "/usr/libexec/getty std.9600"   vt100 on secure
ttyE4   "/usr/libexec/getty std.9600"   vt100 on secure
ttyE5   "/usr/libexec/getty std.9600"   vt100 on secure


edit /etc/wscons.conf,add new screen in it
# screens to create
#       idx     screen  emul
# Screen 0 is already configured as console in most cases.
#  Uncomment if a serial console is used.
#screen 0       -       vt100
screen  1       -       vt100
screen  2       -       vt100
screen  3       -       vt100
screen  4       -       vt100
screen  5       -       vt100
screen  6       -       vt100

reboot.

Third step:get X src and compile it.
get X src from http://www.caseydoodle.com,don't use the source on
netbsd.org,it can't run correctly on au600 with Elsa Gloria Synergy card.
you need to get xsrc.tar.gz and vm.tar.gz,decompress vm.tar.gz to
/usr/include,decompress xsrc.tar.gz to any directory.
cd xsrc/xfree/xc
make clean
make includes
make
make install

Fourth step:config X and run it.
use xf86config to generate /etc/X11/XF86Config.Perhaps after make install,
/usr/X11R6/bin doesn't include xf86config, it happens when I compile X.
cd xsrc/xfree/xc/programs/Xserver/hw/xfree86/xf86config
if file xf86config exists,copy it to /usr/X11R6/bin,if no,make it.
or
you can run xf86config in another linux,then cp XF86Config to /etc/X11
select display card:ELSA GLoria Synergy
when finish xf86config,then edit /etc/X11/XF86config,change these options:
# Identifier and driver

    Identifier  "Mouse1"
    Driver      "mouse"
    Option "Protocol"    "wsmouse"
    Option "Device"      "/dev/wsmouse0"

# Device configured by xf86config:
Section "Device"
Identifier  "ELSA GLoria Synergy"
Driver      "glint"
#VideoRam    8192
Option "no_accel"
Option "ShadowFB"
# Insert Clocks lines here if appropriate
EndSection

Section "Screen"
    Identifier  "Screen 1"
    Device      "ELSA GLoria Synergy"
    Monitor     "My Monitor"
    DefaultDepth 16

#    Subsection "Display"
#        Depth       8
#        Modes       "640x480" "800x600" "1024x768" "1280x1024"
#        ViewPort    0 0
#    EndSubsection
    Subsection "Display"
        Depth       16
        Modes       "1024x768"
        ViewPort    0 0
    EndSubsection
#    Subsection "Display"
#        Depth       24
#        Modes       "1024x768"
#        ViewPort    0 0
#    EndSubsection
EndSection

don't select "Depth	24",card doesn't support it.
now,you can start X.perhaps you can't use startx to start X,because startx
is 0 size,I don't know why.I start X with "xinit /usr/X11R6/bin/twm"
if all is ok,the screen will become red then to black then to twm.
Perhaps when you move mouse,the screen dies.It happens when I install X.
I read the error message,this is a "PTL" error.You can solve it as the
following:
edit xsrc/xfree/xc/config/cf/host.def,add:
#define ExtraLoadFlags -Wl,-E,-rpath,$(USRLIBDIRPATH)
-Wl,-E,-rpath-link,$(BUILDLIBDIR)

then compile and install.

Fifth step:install wmaker and gnome
If you want to use gnome,you need to install it.
My original idea is installing it from current pkg source,but I found some
errors during I compile the packages,such as imlib.Mel kravitz give me his
imlib.tar.gz,I compile correctly.But when I run xinit
/usr/X11R6/bin/gnome-session,
gnome starts,but the screen is blank.the Xfree86.log.0 says
Gnome-Message: res is -1 instead of 4
Gnome-Message: gnome_execute_async_with_env_fds: returning -1

I try many way to solve this problem,but I fail.Mel help me to solve it
too,finally,he tar his X11R6 and pkg directories and send it to me.I
decompress it to my /usr, all is ok,X and gnome run correctly.

Sixth step:improve X performance
When I install NetBSD1.6/alpha from ISO getting from ftp.netbsd.org,
mozilla runs very slowly.Mel tell me I need update netbsd to 1.6H.
I rebuild current netbsd,mozilla run faster.


Notes:
Thanks a lot to Mel,he give me a lot of help.He suggest writing experience
and posting it to port-alpha@netbsd.org,I wish it can help someone.