This page is a walk through on obtaining Direct Rendering on a mach64 graphics chipset

+

[[Category:Graphics]]

+

[[Category:X server]]

+

[[ja:Mach64]]

+

[[wikipedia:ATI_Mach#Mach_64|The Mach 64 chip]] is an old graphic accelerator developped by ATI. This board has basic 3D capabilites. Its support on Linux is poor but exists. This page is a walkthrough to setup Mach 64 graphics chipsets (including ATI Rage Pro) and obtain direct rendering on some of them.

−

==The Mach 64 Board==

+

== Installing the basic features ==

−

The Mach64 Chip is made by ATI, coming in several varieties. This page is targeted at the Rage Pro variant, which to my knowledge is the only 3D version of the mach64.

−

[http://en.wikipedia.org/wiki/ATI_Rage Wikipedia: Mach64/Rage Pro]

−

This board has basic 3D capabilites, but Arch's xf86-video-ati package, which contains open source ATI drivers does not contain support for it.

−

Most GNU/Linux 3D graphics drivers use the DRI/DRM system for direct rendering, which is what the Mach64 Driver uses this.

+

2D and Xv acceleration in X can be achieved [[installing]] {{AUR|xf86-video-mach64}} from the [[official repositories]].

−

==Packages and References==

+

== 3D acceleration and direct rendering ==

−

[http://dri.freedesktop.org/wiki/Building Reference Building DRI - Check this for link updates.]

xf86-video-ati - installs the ati kernel drm files. - If you have this installed, get rid of it with pacman (use ABS to recompile).

+

{{Warning|You may experience crashes if using the Mach 64 DRM module. Direct rendering on Mach 64 is not very reliable because it never got much support.}}

+

On Linux, the Mach 64 chip uses the DRI/DRM system for direct rendering. The DRI part is available in the official repositories, but the DRM module is not included in the mainline kernel. So we have to build it separately. A package in the [[AUR]] simplifies this task: {{AUR|mach64drm}}.

−

==Building the Kernel Drm Module - with makepkg goodness==

+

As soon as the DRM module is built and installed, make sure you installed the DRI part {{Pkg|mach64-dri}}.

−

You can either use this method, the pacman (bad) method, or recompile your kernel to include mach64.

−

*Head over to the AUR and search for mach64drm

−

*Download the tarball and untar it, then change directory into the resulting directory.

*Run the following to sync the ABS directory (/var/abs) with the repos.

+

* ForcePCIMode: boolean, disables AGP aperture. Set to True if you have a PCI card.

−

sudo abs

+

* AgpMode (AGP 1x or 2x): 1 or 2. If not set, defaults to agpgart's mode.

−

*Copy the xf86-video-ati folder to your local build directory.

+

* AgpSize: sets the AGP aperture in MB - The video card can access this amount of system memory using AGP and shared access in order to expand its memory capacity - enlarging this allows more textures to be stored here.

−

cp -r /var/abs/extra/xf86-video-ati <some place in your /home or somewhere...>

*Customize the PKGBUILD file inside the copied xf86-video-ati folder. You have to change dir_dirs to <code>"dri_dirs=mach64"</code>

+

* LocalTextures: boolean, by default, AGP cards will only use AGP memory for textures. To force using local card memory for textures in addition to AGP, you may set this option to true.

−

* Run this now to create a standard pacman package

+

The AgpSize option changes the amount of system memory used for the AGP aperture and is not limited by the size of the card's on-board video memory. This memory is used for the DMA buffers BufferSize option), and the remainder is allocated for AGP textures. Of course, the AgpMode/AgpSize options are ignored for PCI cards or if ForcePCIMode is enabled on an AGP card. However, the BufferSize option can be used to change the size of the DMA buffers in system memory for both PCI and AGP cards (but it's not recommended to reduce the buffer size unless you are short on system RAM).

Latest revision as of 07:46, 12 February 2017

The Mach 64 chip is an old graphic accelerator developped by ATI. This board has basic 3D capabilites. Its support on Linux is poor but exists. This page is a walkthrough to setup Mach 64 graphics chipsets (including ATI Rage Pro) and obtain direct rendering on some of them.

Installing the basic features

3D acceleration and direct rendering

Warning: You may experience crashes if using the Mach 64 DRM module. Direct rendering on Mach 64 is not very reliable because it never got much support.

On Linux, the Mach 64 chip uses the DRI/DRM system for direct rendering. The DRI part is available in the official repositories, but the DRM module is not included in the mainline kernel. So we have to build it separately. A package in the AUR simplifies this task: mach64drmAUR.

As soon as the DRM module is built and installed, make sure you installed the DRI part mach64-dri.

Configuration

Here is an example of X configuration for a Mach 64 chip (may not be mandatory in all cases):

ForcePCIMode: boolean, disables AGP aperture. Set to True if you have a PCI card.

AgpMode (AGP 1x or 2x): 1 or 2. If not set, defaults to agpgart's mode.

AgpSize: sets the AGP aperture in MB - The video card can access this amount of system memory using AGP and shared access in order to expand its memory capacity - enlarging this allows more textures to be stored here.

LocalTextures: boolean, by default, AGP cards will only use AGP memory for textures. To force using local card memory for textures in addition to AGP, you may set this option to true.

The AgpSize option changes the amount of system memory used for the AGP aperture and is not limited by the size of the card's on-board video memory. This memory is used for the DMA buffers BufferSize option), and the remainder is allocated for AGP textures. Of course, the AgpMode/AgpSize options are ignored for PCI cards or if ForcePCIMode is enabled on an AGP card. However, the BufferSize option can be used to change the size of the DMA buffers in system memory for both PCI and AGP cards (but it's not recommended to reduce the buffer size unless you are short on system RAM).