Bugfix for videocard Hercules Dynamite Power VL 2 MB based on Tseng ET4000/W32P for
X 3.1.1


Ceska verze zde


If you experience similar problem that is to be seen on the picture :

you should consider downloading my bugfix. It should be run once the X server is up and then refresh the screen.
Binary version is here fixw32p.gz (note it is gzipped)
It must also be executed when the resolution of the display changes (CTRL_ALT_+)(:-((

The application should look like this:


Installation procedure:

This bugfix must be SUID root, becouse of its direct access to the VGA's registers. It changes 1 bit in 1 register which has to do something with onboard memory timing.

I recommend you to download the source code:
source code for fixw32p.c
compile it with gcc:
gcc fixw32p.c -o fixw32p

the compiled executable fixw32p put into
/usr/X11R6/bin/
and SUID root (do all of this stuff as superuser(root))
chmod 4555 fixw32p

For automatic execution of this bugfix add one line to the file
/var/X11R6/lib/xinit/xinitrc.fvwm if you are using FVWM.

Here's my script xinitrc:

#!/bin/sh
# $XConsortium: xinitrc.cpp,v 1.4 91/08/22 11:41:34 rws Exp $

userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/usr/X11R6/lib/X11/xinit/.Xresources
sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap

# merge in defaults and keymaps

if [ -f $sysresources ]; then
    xrdb -merge $sysresources
fi

if [ -f $sysmodmap ]; then
    xmodmap $sysmodmap
fi

if [ -f $userresources ]; then
    xrdb -merge $userresources
fi

if [ -f $usermodmap ]; then
    xmodmap $usermodmap
fi

# start some nice programs
fixw32p 1 0 1 
xsetroot -solid SteelBlue
xload -hl red -nolabel -jumpscroll 1 -update 2 &
xsysinfo &
oclock &
fvwm


I've added the bugfix to my FVWM menu. It's on the first line, so whenewer I change resoulution, I just run it and then refresh the screen. It' pretty dumb and there may exist some more elegant solutions (automatic execution on res. change or even including it in the Xserver source).

If you want to have it in the system menu, just add it to /var/X11R6/lib/fvwm/system.fvwmrc (for fvwm users)

An example cut from system.fvwmrc:


# This menu will fire up some very common utilities
Popup "Utilities"
	Title 	"Utilities"
  	Exec	"Fix the W32 timing"	exec fixw32p 1 0 1  
        Exec    "Top"           exec rxvt  -geometry 120x85 -font 7x14 -T Top -n Top -e top &
	Exec	"Midnight Commander"	exec /usr/bin/X11/color_xterm -sb -sl 500 -j -ls -fn 7x14 -T "Midnight commander" -e xmc &
        Exec    "Color Midnight (usporny)" exec rxvt -geometry 80x25 -fg white -bg Black -font 10x20 -e bash xmc &
	Exec	"Large Midnight Commander"        exec /usr/bin/X11/color_xterm -geometry 100x40 -sb -sl 500 -j -ls -fn 10x20 -e bash xmc &
        Exec    "Xman"          exec xman -notopbox -pagesize 800x900 &
        Exec    "Xmag"          exec xmag &
        Exec    "Calculator"    exec xcalc &
        Exec    "Oclock"        exec oclock &
        Exec    "Calendar"      exec ical &
        Exec    "Clipboard"     exec xclipboard &
	Nop	""
        Popup   "Performance info"        Performance-info
	Nop	""
        Popup   "Shells"        Shells
        Nop     ""
	Popup	"Backgrounds"	Pixmaps
        Nop     ""
        Popup   "Applications"  Applications
        Nop     ""
        Popup   "Games"         Games
        Nop     ""
        Popup   "Sound"         Sound
        Nop     ""
	Popup	"Emulators"	Emulators
	Nop	""
        Popup   "Screensaver"   Screensaver
        Nop     ""
        Popup   "Lock Screen"   Screenlock
	Nop	""
	Popup	"Modules"	Module-Popup
	Nop	""
	Popup	"Exit Fvwm"	Quit-Verify
        Nop     ""
        Refresh "Refresh Screen"
EndPopup

And this is an example of it in action:

My bugfix is for rev_c PCB (VL-BUS, some program said rev_a). This is yet second release of the fix with parameters support. The source code contains information on how to setup it.


To the main page
To my Czech homepage (if you find it interesting (just by pictures) I may translate it.)