well looking at ATi's overall performance with Ogl and Linux, the end results could be because of hardware issues,
GL commands are formed from a name followed, depending on the particular
command, by up to 4 characters. The first character indicates the number of values
of the indicated type that must be presented to the command. The second character
or character pair indicates the specific type of the arguments: 8-bit integer, 16-bit
integer, 32-bit integer, single-precision floating-point, or double-precision floatingpoint.
From Opengl specs pdf
Floating point operations are done in either single precision which is 32 bit or double precision counter part which is 64 bit.
Now take bits are always in powers of 2s so 2, 4, 16, 32, 64
So ATi's cards under opengl might be coverting to 24 bit which would be very slow if they are.