tech-x11 archive

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

X11R7'fied Xsun servers



Hi,

Somehow I've managed to port ancient X11R6 based Xsun servers
(was in src/xfree/xc/programs/Xserver/hw/sun) to recent X11R7,
by mechanically adapting all MD sources to Xorg API changes
as I did for X68k server back in 2014:
 https://mail-index.netbsd.org/port-x68k/2014/02/27/msg000043.html


Sources and patches
-------------------

1) xsrc/external/mit/xorg-server.old/dist/hw/sun files
   ported from src/xfree/xc/programs/Xserver/hw/sun

 https://github.com/tsutsui/xorg-server-Xsun

 - See commit logs for every API change

2) build glue diffs in src/external/mit/xorg/server/xorg-server.old/hw etc.

 https://gist.github.com/tsutsui/2f2251b7999ab9a0f756662e401cae75

 - Xsun24 server it not enabled for sun3

3) xsrc mfb (monochriome server) fixes

 https://gist.github.com/tsutsui/6bcef41da9b2003ae33fdaea0286b000

 - Taken from X11R6 and this also fixes Xorg xf86-video-wsfb 1bpp server.
   (Xorg server on luna68k now works properly with -flipPixels option to
    invert all black and white pixels)

Current status
--------------

- Confired with bwtwo on 3/60, bwtwo on TME (3/160), and cgtwo on TME.
  https://twitter.com/tsutsuii/status/1283025130692636673
  https://twitter.com/tsutsuii/status/1283367442580819968
 - "Xsun -mono" options also works on cgtwo.
   (Note CG2 support was not enabled at least in X11R6 servers in netbsd-7)
  https://twitter.com/tsutsuii/status/1283799623551692808
 - cgfour on 3/60 should be confirmed.

- Currently use Xorg Server 1.18 (i.e. xorg-server.old as noted above)
  on netbsd-9 to make migration easier.
 - 1.20 server requires more API changes, especially mi input Events:
   https://cgit.freedesktop.org/xorg/xserver/commit?id=8670c46bdfdade64e63119d2ebbd5ef63b6fa2c3
  https://cgit.freedesktop.org/xorg/xserver/commit?id=20fb07f436f7d4a0f330b2067a93a5a4829fccf5
   I'll check them later.

Known problems
--------------

- XKB API changes for X11R7 (XkbRMLVOSet stuff) are a bit hard part to
  investigate, due to lack of docs for server side implementation:
  https://github.com/tsutsui/xorg-server-Xsun/blob/664e01b662b812ecc2efca12073ea9ba9fb13aa7/sunKbd.c#L362
 - Currently uses the way what Xnest does, but several modifier keys
   don't work prolery:
  - Shift is ignored on Shift-b,v
  - Ctrl is ignored on Ctrl-d,e,i,n,o,p,u

- Mouse doesn't work properly on TME
  (works fine on the real 3/60 with Type-4 ones).
  Not sure what's wrong.

- Color palette for cgtwo is not restored on exiting Xserver?
  (not sure if it's a design or not, even in old X11R4/5 days)

- GX (cgsix) support is currently disabled.
 - No easy workaround because it requires removed mfbDoBitblt() API etc.
   but NetBSD/sun3 doesn't support cgsix yet.
   (though I have the P4 cgsix for 3/80)

- Xsun24 server builds, but untested.
  (no cgeight/cgnine kernel support, maybe ~no real hardware available?)

- (Not Xserver related) recent netbsd-9 GENERIC kernel doesn't work?
  NetBSD-daily/netbsd-9/202007161930Z one hangs just after
  "enabling interrupts" message

Quick procedures to build binaries
----------------------------------

 cvs -d anoncvs%anoncvs.netbsd.org@localhost:/cvsroot checkout -rnetbsd-9 src xsrc
 (cd src && (ftp -o - https://gist.githubusercontent.com/tsutsui/2f2251b7999ab9a0f756662e401cae75/raw/f52fc972d7ea2fd85d96075cbfc80df8cfe3d909/xorg-server-Xsun_src.diff | patch -p0))
 (cd xsrc/external/mit && (ftp -o - https://gist.githubusercontent.com/tsutsui/6bcef41da9b2003ae33fdaea0286b000/raw/9ed806e3366eafd79a9cabf65e2029e52246c29b/xorg-server_mfb.diff | patch -p0 ))
 (cd xsrc/external/mit/xorg-server.old/dist/hw && git clone https://github.com/tsutsui/xorg-server-Xsun sun)
 (cd src && sh build.sh -U -m sun3 -x -X ../xsrc -j4 release)

xserver binary snapshot
-----------------------

I've also put an xserver.tgz set binary that including Xsun and XsunMono
server binaries for netbsd-9:
 https://ftp.netbsd.org/pub/NetBSD/arch/sun3/20200717_xserver/xserver.tgz
 (5653kB)

---

If there is no particular objection, I'll commit current sources
(as WIP, even with several remaining issue) into HEAD soon.

Have fun,
---
Izumi Tsutsui


Home | Main Index | Thread Index | Old Index