tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: porting udl(4) from OpenBSD



hi,

I've heavily modified udl(4). I think it is faster than before :)
I made following patches,

- kernel driver and related changes to build kernel.
  http://www.naobsd.org/udl/kern.diff

- Xorg driver (xf86-video-wsudl).
  http://www.naobsd.org/udl/xsrc.diff

- changes for "build.sh -m evb{arm,ppc} -x"
  http://www.naobsd.org/udl/src.diff

these can be applied to netbsd-5. userland binaries for evb{arm,ppc} are
also available,

 http://www.naobsd.org/udl/netbsd-5/

Xorg log is attached. it runs on OpenBlockS266 with two udl(4)s.

I'm using DL-120 and DL-195, so any DL-1x0/1x5 devices should work.

----
some issues are still remains.

* text screen may be corrupted while scrolling

during rasops(9), such as putchar, udl(4) can not return any error, and
can not wait usb bulk transfer completion. if contiguous operations are
occurred, it may consume all command buffers.

in OpenBSD, it can return EAGAIN (they changed API). but I did not
follow their way. if command queue is full, just discard last command
buffer and reuse it for next operation.

any idea is welcome.

* panic when udl(4) is detached

wsdisplay(4) can not be detached, so udl(4) can not be detached, too ;)

* panic when start X

panic occurs under some machine/device combination. still investigating.

--
FUKAUMI Naoki

X.Org X Server 1.6.3
Release Date: 2009-7-7
X Protocol Version 11, Revision 0
Build Operating System: NetBSD/evbppc  - 
Current Operating System: NetBSD obs266.naobsd.org 5.0_STABLE NetBSD 5.0_STABLE 
(OBS266) #0: Wed Oct 28 21:50:42 JST 2009  
root%t105.naobsd.org@localhost:/usr/obj/evbppc/sys/arch/evbppc/compile/OBS266 
evbppc
Build Date: 09 July 2009  12:14:03AM
 
        Before reporting problems, check http://wiki.X.Org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Wed Oct 28 16:38:01 2009
(==) Using config file: "/etc/X11/xorg.conf"
(==) ServerLayout "X.org Configured"
(**) |-->Screen "Screen0" (0)
(**) |   |-->Monitor "Monitor0"
(**) |   |-->Device "Card0"
(**) |-->Screen "Screen1" (1)
(**) |   |-->Monitor "Monitor1"
(**) |   |-->Device "Card1"
(**) |-->Input Device "Mouse0"
(**) |-->Input Device "Keyboard0"
(**) Option "Xinerama" "True"
(==) Not automatically adding devices
(==) Not automatically enabling devices
(**) Xinerama: enabled
(**) FontPath set to:
        /usr/X11R7/lib/X11/fonts/misc/,
        /usr/X11R7/lib/X11/fonts/TTF/,
        /usr/X11R7/lib/X11/fonts/Type1/,
        /usr/X11R7/lib/X11/fonts/100dpi/,
        /usr/X11R7/lib/X11/fonts/75dpi/,
        /usr/X11R7/lib/X11/fonts/misc/,
        /usr/X11R7/lib/X11/fonts/TTF/,
        /usr/X11R7/lib/X11/fonts/Type1/,
        /usr/X11R7/lib/X11/fonts/75dpi/,
        /usr/X11R7/lib/X11/fonts/100dpi/,
        built-ins
(**) ModulePath set to "/usr/X11R7/lib/modules"
(II) Loader magic: 0x3878
(II) Module ABI versions:
        X.Org ANSI C Emulation: 0.4
        X.Org Video Driver: 5.0
        X.Org XInput driver : 4.0
        X.Org Server Extension : 2.0
(II) Loader running on netbsd
(--) Using wscons driver
(II) System resource ranges:
        [0] -1  0       0x000f0000 - 0x000fffff (0x10000) MX[B]
        [1] -1  0       0x000c0000 - 0x000effff (0x30000) MX[B]
        [2] -1  0       0x00000000 - 0x0009ffff (0xa0000) MX[B]
        [3] -1  0       0x0000ffff - 0x0000ffff (0x1) IX[B]
        [4] -1  0       0x00000000 - 0x000000ff (0x100) IX[B]
(II) "extmod" will be loaded. This was enabled by default and also specified in 
the config file.
(II) "dbe" will be loaded. This was enabled by default and also specified in 
the config file.
(II) "glx" will be loaded. This was enabled by default and also specified in 
the config file.
(II) "record" will be loaded by default.
(II) "dri" will be loaded. This was enabled by default and also specified in 
the config file.
(II) "dri2" will be loaded. This was enabled by default and also specified in 
the config file.
(II) LoadModule: "dbe"
(II) Loading /usr/X11R7/lib/modules/extensions//libdbe.so
(II) Module dbe: vendor="X.Org Foundation"
        compiled for 1.6.3, module version = 1.0.0
        Module class: X.Org Server Extension
        ABI class: X.Org Server Extension, version 2.0
(II) Loading extension DOUBLE-BUFFER
(II) LoadModule: "dri"
(II) Loading /usr/X11R7/lib/modules/extensions//libdri.so
(II) Module dri: vendor="X.Org Foundation"
        compiled for 1.6.3, module version = 1.0.0
        ABI class: X.Org Server Extension, version 2.0
(II) Loading extension XFree86-DRI
(II) LoadModule: "dri2"
(II) Loading /usr/X11R7/lib/modules/extensions//libdri2.so
(II) Module dri2: vendor="X.Org Foundation"
        compiled for 1.6.3, module version = 1.1.0
        ABI class: X.Org Server Extension, version 2.0
(II) Loading extension DRI2
(II) LoadModule: "extmod"
(II) Loading /usr/X11R7/lib/modules/extensions//libextmod.so
(II) Module extmod: vendor="X.Org Foundation"
        compiled for 1.6.3, module version = 1.0.0
        Module class: X.Org Server Extension
        ABI class: X.Org Server Extension, version 2.0
(II) Loading extension MIT-SCREEN-SAVER
(II) Loading extension XFree86-VidModeExtension
(II) Loading extension XFree86-DGA
(II) Loading extension DPMS
(II) Loading extension XVideo
(II) Loading extension XVideo-MotionCompensation
(II) Loading extension X-Resource
(II) LoadModule: "glx"
(II) Loading /usr/X11R7/lib/modules/extensions//libglx.so
(II) Module glx: vendor="X.Org Foundation"
        compiled for 1.6.3, module version = 1.0.0
        ABI class: X.Org Server Extension, version 2.0
(==) AIGLX enabled
(II) Loading extension GLX
(II) LoadModule: "record"
(II) Loading /usr/X11R7/lib/modules/extensions//librecord.so
(II) Module record: vendor="X.Org Foundation"
        compiled for 1.6.3, module version = 1.13.0
        Module class: X.Org Server Extension
        ABI class: X.Org Server Extension, version 2.0
(II) Loading extension RECORD
(II) LoadModule: "wsudl"
(II) Loading /usr/X11R7/lib/modules/drivers//wsudl_drv.so
(II) Module wsudl: vendor="X.Org Foundation"
        compiled for 1.6.3, module version = 0.0.1
        ABI class: X.Org Video Driver, version 5.0
(II) LoadModule: "mouse"
(II) Loading /usr/X11R7/lib/modules/drivers//mouse_drv.so
(II) Module mouse: vendor="X.Org Foundation"
        compiled for 1.6.3, module version = 1.4.0
        Module class: X.Org XInput Driver
        ABI class: X.Org XInput driver, version 4.0
(II) LoadModule: "kbd"
(II) Loading /usr/X11R7/lib/modules/drivers//kbd_drv.so
(II) Module kbd: vendor="X.Org Foundation"
        compiled for 1.6.3, module version = 1.3.2
        Module class: X.Org XInput Driver
        ABI class: X.Org XInput driver, version 4.0
(II) wsudl: driver for: DisplayLink
(WW) Falling back to old probe method for wsudl
(II) wsudl(0): using /dev/ttyE0
(II) wsudl(1): using /dev/wsdisplay1
(II) Running in FRAMEBUFFER Mode
(**) wsudl(0): Depth 16, (--) framebuffer bpp 16
(==) wsudl(0): RGB weight 565
(==) wsudl(0): Default visual is TrueColor
(==) wsudl(0): Using gamma correction (1.0, 1.0, 1.0)
(II) wsudl(0): Vidmem: 750k
(==) wsudl(0): DPI set to (96, 96)
(II) Loading sub module "fb"
(II) LoadModule: "fb"
(II) Loading /usr/X11R7/lib/modules//libfb.so
(II) Module fb: vendor="X.Org Foundation"
        compiled for 1.6.3, module version = 1.0.0
        ABI class: X.Org ANSI C Emulation, version 0.4
(**) wsudl(1): Depth 16, (--) framebuffer bpp 16
(==) wsudl(1): RGB weight 565
(==) wsudl(1): Default visual is TrueColor
(==) wsudl(1): Using gamma correction (1.0, 1.0, 1.0)
(II) wsudl(1): Vidmem: 2871k
(==) wsudl(1): DPI set to (96, 96)
(II) Loading sub module "fb"
(II) LoadModule: "fb"
(II) Reloading /usr/X11R7/lib/modules//libfb.so
(==) wsudl(0): Backing store disabled
(==) RandR enabled
(==) wsudl(1): Backing store disabled
(==) RandR enabled
(II) Initializing built-in extension Generic Event Extension
(II) Initializing built-in extension SHAPE
(II) Initializing built-in extension MIT-SHM
(II) Initializing built-in extension XInputExtension
(II) Initializing built-in extension XTEST
(II) Initializing built-in extension BIG-REQUESTS
(II) Initializing built-in extension SYNC
(II) Initializing built-in extension XKEYBOARD
(II) Initializing built-in extension XC-MISC
(II) Initializing built-in extension SECURITY
(II) Initializing built-in extension XINERAMA
(II) Initializing built-in extension XFIXES
(II) Initializing built-in extension XFree86-Bigfont
(II) Initializing built-in extension RENDER
(II) Initializing built-in extension RANDR
(II) Initializing built-in extension COMPOSITE
(II) Initializing built-in extension DAMAGE
(II) AIGLX: Screen 0 is not DRI capable
(II) AIGLX: Loaded and initialized /usr/X11R7/lib/modules/dri/swrast_dri.so
(II) GLX: Initialized DRISWRAST GL provider for screen 0
(II) AIGLX: Screen 1 is not DRI capable
(II) AIGLX: Loaded and initialized /usr/X11R7/lib/modules/dri/swrast_dri.so
(II) GLX: Initialized DRISWRAST GL provider for screen 1
(**) Option "Protocol" "wsmouse"
(**) Mouse0: Protocol: wsmouse
(**) Option "CorePointer"
(**) Mouse0: always reports core events
(**) Option "Device" "/dev/wsmouse"
(==) Mouse0: Emulate3Buttons, Emulate3Timeout: 50
(**) Mouse0: ZAxisMapping: buttons 4 and 5
(**) Mouse0: Buttons: 9
(II) XINPUT: Adding extended input device "Mouse0" (type: MOUSE)
(**) Mouse0: (accel) keeping acceleration scheme 1
(**) Mouse0: (accel) filter chain progression: 2.00
(**) Mouse0: (accel) filter stage 0: 0.08 ms
(**) Mouse0: (accel) set acceleration profile 0
(**) Option "CoreKeyboard"
(**) Keyboard0: always reports core events
(**) Option "Protocol" "wskbd"
(**) Keyboard0: Protocol: wskbd
(**) Option "Device" "/dev/wskbd"
(EE) Keyboard0: Unsupported wskbd type "0"(EE) PreInit failed for input device 
"Keyboard0"
(II) UnloadModule: "kbd"


Home | Main Index | Thread Index | Old Index