Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!arris!rec From: rec@arris.com (Roger Critchlow) Newsgroups: comp.unix.sysv386 Subject: Roell X11R4 and paper white VGA Message-ID: <1990Dec13.165537.24759@arris.com> Date: 13 Dec 90 16:55:37 GMT Organization: ARRIS Pharmaceutical, Cambridge, MA Lines: 57 A progress report on bringing up X11R4 on a ViewSonic PV1M card (probably an STB ET4000 card) Fixed Frequency Paper White VGA Monitor 386/ix 2.0.2 with X11R3, TCP/IP, ... For some reason, 386/ix insists on programming my VGA in a monochrome mode. This maps the CRT controller and other registers to ports 0x3B?. For other reasons, Herr Roell insists on programming the VGA in color mode. This saves and restores the CRT controller and other registers from and to ports 0x3D?. The result is that the VGA is totally hosed by the server. On return to the console VT after xinit, the text on the screen is a cloud of snow and /bin/su -c 'init 0' is the only way to go. I have patches to X/mit/server/ddx/at386/vga/{vga.h,vgaHW.c,et4000/driver.c} which make it sensitive to the io port mapping of the VGA card and allow me to recover the VGA after xinit. I will post these soon. But here's a further puzzle which I would like some help with before I stay up all night again. If I run: xinit then the server comes up, but the monitor fails to achieve vertical sync and the X cursor doesn't seem to track correctly. However, if I run: sttymode VGAC80x25; xinit then the server comes up, the monitor achieves vertical sync, the X cursor tracks correctly, focus is given to the xterm window, the server pans, and everything works. sttymode simply issues an ioctl() to reset the video mode to a VGA 80x25 color text mode. In all other ways the machine and Xconfig are unchanged. Anyone have a bright idea about this? Finally, a point of clarification about the [+-][hv]sync flags in Xconfig. flag bit result ---------------------------------------------- +hsync 1 negative horizontal sync pulse -hsync 0 positive horizontal sync pulse +vsync 1 negative vertical sync pulse -vsync 0 positive vertical sync pulse The polarities of the sync pulses are used to signal the vertical resolution to the monitor. Roell's server automatically selects the correct sync polarities based on the vertical display size, but someone, namely me, who was trying to set the sync polarities explicitly found the results puzzling. -- rec --