Linear addressing and 16bpp/24bpp/32bpp modes

Information for Tseng Chipset Users : Linear addressing and 16bpp/24bpp/32bpp modes
Previous: ET6000 memory bandwidth hype and the impact on video modes
Next: Trouble shooting with the SVGA Tseng driver

## 12. Linear addressing and 16bpp/24bpp/32bpp modes

Currently the 16-bit (32768 or 65536 colors), 24-bit (16M colors, packed pixel), and 32-bit (16M colors, sparse) pixel support in the SVGA server requires linear addressing. (This restriction may be removed in a future version, but with nearly all new cards using the PCI bus (where linear addressing poses no problem), removing the linear addressing requirement presently has a lower priority than other features.) Option "linear" can be specified in a depth-specific screen section to enable linear addressing; a MemBase setting (in the device section) is probably also required on non-PCI based systems, and optionally on PCI systems that have trouble finding out for themselves where the MemBase is.

Non-PCI cards are not (or not well) supported in linear memory mode at this moment. Some of them don't support it at all, and some of the ones that do have so many address decoding bugs that it isn't feasible to provide a working solution.

For the most part, many of the accelerated features in the 8bpp server have been implemented to support 16, 24, and 32 bpp modes for the W32p and the ET6000. So although there are now up to 4 times as many bits to display, the X server shouldn't feel overly sluggish. Note also that the 24bpp and 32bpp modes are only supported on a limited set of cards, and with at least 2Mb of memory.

An ET6000 with 2.25 MB MDRAM is cheap-and-sound, since it can support exactly 1024x768 at 24bpp (using all available video memory). On all other video cards, you need at least 4MB of video memory to do this. With only 2MB of (M)DRAM, 960x720 is the best you can hope for.

In the `XF86Config` `"Screen"` section, a `"Display"` subsection must be defined for each depth that you want to run, with separate Modes and virtual screen size. Example (2Mb of video memory):

> `

>     Section "screen"
>         SubSection "Display"
>             Depth 8
>             Virtual 1280 1024
>             ViewPort 0 0
>             Modes "640x480" "800x600" "1024x768"
>         EndSubSection
>         SubSection "Display"
>             Depth 16
>             Virtual 1024 992
>             ViewPort 0 0
>             Modes "640x480" "800x600" "1024x768"
>         EndSubSection
>         SubSection "Display"
>             Depth 24
>             Virtual 960 720
>             ViewPort 0 0
>             Modes "640x480" "800x600"
>         EndSubSection
>         SubSection "Display"
>             Depth 32
>             Virtual 832 600
>             ViewPort 0 0
>             Modes "640x480" "800x600"
>         EndSubSection
>     EndSection

> `

Information for Tseng Chipset Users : Linear addressing and 16bpp/24bpp/32bpp modes
Previous: ET6000 memory bandwidth hype and the impact on video modes
Next: Trouble shooting with the SVGA Tseng driver