## Changes done for each driverversion:

# via_driver (Haiku repository 0.19, Rudolf)

- Initial setup based on nVidia driver 0.30;
- Kerneldriver uses MTR-WC mapping where available;
- Accelerant uses AGP busmanager to enable AGP FW where available;
- Added hardware cursor;
- Added RAM size autodetection, as preset by the system BIOS;
- Added support for virtualscreens (CRTC startadress and memory pitch programming);
- Added CRTC1 timing programming and updated constraints, including GET_TIMING_CONSTRAINTS hook;
- Added mode colordepth programming;
- Added CRTC FIFO fetch limit programming (seems specific to VIA);
- Added colorpalette programming;
- Added DPMS support;
- Added primary head pixelPLL programming (refreshrate is now set);
- Added switch to 'enhanced mode' making the driver independant from a preset VESA mode;
- Added video overlay support;
- Finalized virtualscreen panning granularity constraints programming;
- Added returning correct information in GET_ACCELERANT_DEVICE_INFO (displayed in Haiku screenprefs panel);
- Fixed wrong PLL registerdefines for K8M800 and added seperate pixelPLL calculation routine: K8M800 now works correctly whereas previously you'd have a black screen (tested different resolutions, refreshrates and colordepths);
- Fixed blocking overlay hooks if current videomode is not supported (before overlay could kick in while it should not, resulting in bad video or desktop pictures);
- Fixed K8M800 video overlay: apparantly the engine was modified for this revision of the Unichrome video chipset: at least the 'V1' engine doesn't work here, while ' V3' does (using V3 now on K8M800);
- Added overlay support on system memory types DDR 166 and DDR 200. Before on these memory types overlay would block.

# Still todo:

- 2D acceleration;
- And yet more could be done.

Rudolf Cornelissen.

(Page last updated on February 7, 2016)