ATI Mobility Radeon X1400

From ThinkWiki
Revision as of 10:19, 13 April 2007 by C167 (Talk | contribs) (External VGA port)

Jump to: navigation, search

ATI Mobility Radeon X1400

This is an ATI video adapter.

Features

  • Chipset: ATI M54
  • PCI ID: 1002:7145
  • PCI Express x16
  • 128MB GDDR1 video memory
  • Up to 512Mb HyperMemory - ATI's name for their GPUs that utilise shared and dedicated memory.

Linux X.Org driver

Not Supported

ThinkPad LCD

Display on the internal LCD works as long as you set the monitor settings correct.

External VGA port

Works, but only if the X-server detects something plugged in here, eg. before X started or after a restart.

SVideo port

??

DVI port

??

Proprietary ATI driver

Proprietary fglrx driver version 8.24.8 adds support for the x1400 chipset (according to ATI changelog). It works, including dualhead, 3d and video (XV) acceleration, when using the fglrx kernel module. (Without it, you get screen corruption including underlined mouse pointers.)

Sample "Device" section for xorg.conf:

Section "Device"
       Identifier  "ATI Graphics Adapter 0"
       Driver      "fglrx"
       Option      "ForceMonitors" "lvds,crt1"
       Option      "Centermode" "off"
       Option      "VideoOverlay" "on"
       Option      "OpenGLOverlay" "off"
       Option      "OverlayOnCRTC2" "0"
       Option      "PseudoColorVisuals" "off"
       Option      "HSync2" "31-64"
       Option      "VRefresh2" "56-75"
       Option      "UseFastTLS" "off"
       Option      "Mode2" "1280x1024,1024x768,800x600,640x480"
       BusID       "PCI:1:0:0"
EndSection

The kernel module doesn't work out of the box with the 2.6.16 kernel, you get undefined symbols such as module_get_request when inserting the module. The following patch to firegl_public.c fixes it (from http://www.stanchina.net/~flavio/debian/fglrx-archive/msg01158.html ):

--- firegl_public.c-orig        2006-02-23 14:54:16.386740016 -0600
+++ firegl_public.c     2006-02-23 14:56:38.054203288 -0600
@@ -361,13 +361,15 @@
 } firegl_drm_stub_info_t;
 static firegl_drm_stub_info_t firegl_stub_info;

-#if LINUX_VERSION_CODE < 0x020400
+#if LINUX_VERSION_CODE > 0x02060F
 struct firegl_drm_stub_info_t *firegl_stub_pointer = NULL;
 #define inter_module_put(x)
 #define inter_module_unregister(x)
 #define inter_module_get_request(x,y)   firegl_stub_pointer
 #define inter_module_register(x,y,z)    do { firegl_stub_pointer = z; } while (0)
+#endif
 /* This is a kludge for backward compatibility that is only useful in DRM(stub_open) */
+#if LINUX_VERSION_CODE < 0x020400
 #define fops_put(fops)      MOD_DEC_USE_COUNT
 #define fops_get(fops)      (fops); MOD_INC_USE_COUNT
 #endif // LINUX_VERSION_CODE < 0x020400


XVideo support using the VideoOverlay option may not work with recent drivers. With version 8.29.6 of the fglrx driver, you can instead use

       Option          "TexturedVideo" "on"

Use the xvinfo utility to verify if XVideo support is available.

Linux kernel Framebuffer driver

Works with the VESA driver at 1280x1024 (you have to append vga=794 to the kernel boot parameters)

ThinkPads this chip may be found in