Subject: Re: Creator3D support on Ultra2
To: Gert Doering <gert@greenie.muc.de>
From: john heasley <heas@shrubbery.net>
List: port-sparc64
Date: 11/05/2004 09:32:47
Mon, Nov 01, 2004 at 11:00:28AM +0100, Gert Doering:
> Hi John,
> 
> sorry for not writing back earlier - I was organizing a completely new
> test bed (new Ultra 10, dedicated monitor, working keyboard, ...) and
> then ran into some unexpected issues (-current on sparc64 crashing on
> heavy disk IO, so trying to "build world" took another week).
> 
> But anyway, XFree86 is working now (...mostly).  
> 
> This is what I needed to do (I'm sending this also to port-sparc64, so
> it's a bit more verbose):

I think you missed the cc, so i've added it.  these are good notes.  thanks.

>  - use a -current kernel.  2.0_RC4 doesn't have the necessary bits
>    (e.g. ioctl WSDISPLAYIO_LINEBYTES).
> 
>  - set up the kernel with these options:
> 
> # Creator3D
> ffb*           at mainbus0
> wsdisplay*     at ffb?
> # keyboard / mouse
> wskbd*          at kbd?                 # console ? 
> wsmouse*        at ms?
> 
> options         RASTERCONSOLE           # fast rasterop console
> options         RASOPS_CLIPPING
> options         FONT_GALLANT12x22       # the console font
> options         FFBDEBUG
> options         WSEMUL_SUN              # sun terminal emulation
> options         WSEMUL_VT100            # VT100 / VT220 emulation
> options         WS_KERNEL_FG=WSCOL_GREEN
> options         WS_KERNEL_BG=WSCOL_BLACK
> options         WSDISPLAY_COMPAT_SYSCONS# emulate some ioctls
> options         WSDISPLAY_COMPAT_RAWKBD # can get raw scancodes
> 
>  - patch the kernel with your "creator.diff" patch, otherwise the X server
>    won't find the keyboard
> 
>  - recompile the kernel, boot
> 
>  - setup wscons.conf and enable wscons in /etc/rc.conf, like this:
> 
> screen  0       -       vt100
> screen  1       -       vt100
> screen  2       -       vt100
> screen  3       -       vt100
> screen  4       -       -
> 
>    (nothing else but comments)
> 
>    it will set up screen #0 and #1, but complain about lack of memory
>    for screens 2-4.  But whatever.
> 
>  - setup /etc/ttys to present a login on virtual console and wscons:
> 
> console "/usr/libexec/getty suncons"    vt100   off secure
> # console -> ttyh0 (serial) / ttyE0 (video)
> ttyE0   "/usr/libexec/getty std.9600"   vt100   on secure
> ttyh0   "/usr/libexec/getty std.9600"   vt100   on secure
> 
>    (watch out! on Ultra10, the onboard serial port A isn't "ttya" but
>    "ttyh0" - man sabtty)
> 
>  - run XFree86 - I took the binary + XF86Config that you have provided,
>    but my compiled-it-myself binary should have worked as well.  I'm just
>    not fully sure here which "xsrc" tree I need to checkout to get all
>    the proper bits and pieces.  Most likely "xsrc-current".
> 
> 
>  - XFree86 is working for the wsfb/Creator3D now.  
>  
>  - The mouse isn't working yet, but this could be a defective mouse
>    (have no spare one to test yet).

look at the X log, /var/log/XFree86.0.log; make sure it was successful
in opening & detecting the mouse.  mine says:

(**) Option "Protocol" "wsmouse"
(**) commouse0: Protocol: wsmouse
(**) Option "CorePointer"
(**) commouse0: Core Pointer
(**) Option "Device" "/dev/wsmouse0"
(**) commouse0: Emulate3Buttons, Emulate3Timeout: 50
(==) commouse0: Buttons: 3
(II) Keyboard "Keyboard0" handled by legacy driver
(II) XINPUT: Adding extended input device "commouse0" (type: MOUSE)

>  - X is *slow*.  I'm running x11perf right now, and comparing its output
>    to something I did a while ago on a Pentium-133 with an elderly S3
>    card (anno 1998 or so), and the S3 outperforms the Creator by about
>    factor 3-20.   I assume that, as of today, the Creator X11 isn't
>    accellerated in any way, just having basic "set this pixel"
>    functionality.

it will be relatively slow; there is no acceleration with wsfb, the screen
is just mmap'd.  its not too bad (imo) on my ultra 60 450mhz.

I'm working on getting this all cleaned-up today (probably tomorrow too).