diff --git src/via_swov.c src/via_swov.c
index 0f6bf95..2092bd5 100644
--- src/via_swov.c
+++ src/via_swov.c
@@ -286,6 +286,7 @@ VIAVidHWDiffInit(ScrnInfoPtr pScrn)
HWDiff->dwHQVInitPatch = VID_HWDIFF_FALSE;
HWDiff->dwHQVDisablePatch = VID_HWDIFF_TRUE;
HWDiff->dwNeedV1Prefetch = VID_HWDIFF_FALSE;
+ HWDiff->HQVCmeRegs = hqv_cme_regs;
break;
case VIA_K8M890:
HWDiff->dwThreeHQVBuffer = VID_HWDIFF_TRUE;
@@ -294,6 +295,7 @@ VIAVidHWDiffInit(ScrnInfoPtr pScrn)
HWDiff->dwHQVInitPatch = VID_HWDIFF_FALSE;
HWDiff->dwHQVDisablePatch = VID_HWDIFF_TRUE;
HWDiff->dwNeedV1Prefetch = VID_HWDIFF_TRUE;
+ HWDiff->HQVCmeRegs = hqv_cme_regs;
break;
case VIA_P4M890:
HWDiff->dwThreeHQVBuffer = VID_HWDIFF_TRUE;
@@ -302,6 +304,7 @@ VIAVidHWDiffInit(ScrnInfoPtr pScrn)
HWDiff->dwHQVInitPatch = VID_HWDIFF_FALSE;
HWDiff->dwHQVDisablePatch = VID_HWDIFF_TRUE;
HWDiff->dwNeedV1Prefetch = VID_HWDIFF_FALSE;
+ HWDiff->HQVCmeRegs = hqv_cme_regs;
break;
case VIA_CX700:
HWDiff->dwThreeHQVBuffer = VID_HWDIFF_TRUE;
@@ -310,6 +313,7 @@ VIAVidHWDiffInit(ScrnInfoPtr pScrn)
HWDiff->dwHQVInitPatch = VID_HWDIFF_FALSE;
HWDiff->dwHQVDisablePatch = VID_HWDIFF_FALSE;
HWDiff->dwNeedV1Prefetch = VID_HWDIFF_FALSE;
+ HWDiff->HQVCmeRegs = hqv_cme_regs;
break;
case VIA_VX800:
HWDiff->dwThreeHQVBuffer = VID_HWDIFF_TRUE;