If necessary update the minix pkgsrc repository with the latest netbsd pkgsrc repository to get the latest Xorg package versions in the minix pkgsrc repository.
Server and client support: Port all software (server, libraries, drivers, clients, i.e. applications) from the xorg distribution, and port or implement any necessary dependencies. Also xterm. The current minix X port may be of assistance. This work must be based on the xorg package versions that are currently in pkgsrc. As noted in the introduction, these are older than the current latest Xorg release. Afterwards also the current Xorg trunk.
Provide a clean integration with pkgsrc: this means changing the Xorg server type in pkgsrc to 'modular' (i.e. X11_TYPE=modular
; that configuration switch was already done recently) and verifying that packages that depend on X pick up your port as a dependency cleanly.
The port must be submittable upstream and maintainable, and will therefore have to be clean - minimal changes to original code and neatly guarded by #if __minix
or similar if appropriate.
Hardware drivers: will require a clean minix interface for the libpciaccess in xorg.
For the video drivers, only the ones required to be tested and found working are the ones for nvidia cards, vmware, vbox and kvm, and the virtual framebuffer.
All extensions are expected to work too, unless they rely on hardware features not provided by the required video driver list above
For the input drivers, they will have to talk to the new /dev/kbdmux and /dev/mousemux. These provide USB codes. In contrast, the current minix !X11R6 port gets PC/AT codes from the (now removed) /dev/kbd and /dev/kbdaux.
All other Xorg software must build and work.
If threads are required, using devel/pth as a libpthread implementation is OK, if it works reliably.