VHMapVRAM must be used instead of VHPhysToVirt() and VHMap() for the frame buffer so that the ring 0 address is available for SoftDraw. For other physical memory areas needed by GRADD at interrupt time, use VHPhysToVirt() and VHMap().
The ulPhysAddr and ulLength parameters for VHMapVRAM() and VHPhysToVirt() are usually obtained from the VIDEOPMI function PMIREQUEST_SETMODE.