Thursday, October 16, 2008

Radeon 3100HD RS780MC drama

On install, Zenwalk loaded a stock vesa driver in /etc/xorg.conf, providing resolutions of 800x600. Common sense and the command # gtf seemed to indicate higher resolutions were available. In /etc/xorg.conf, I replaced "vesa" with, alternately, "ati", "radeon", and "radeonhd"; these did nothing but break X. I then relented for the proprietary driver "fglrx" described on most blogs as bloaty and slow, but operational. The driver was avialable here by selecting the Linux x86_64 -> Radeon -> ATI Radeon HD 3xxx Series and pressing "go". One note about installing this - I received checksum errors when I attemped to install it with # ati*; I had to explicitly invoke bash #bash ati*. However, following this installation, I simply replaced "vesa" with "fglrx" in the Device section of /etc/X11/xorg.conf, rebooted, and everything worked. With the vesa-fglrx swap, the /etc/X11/xorg.conf file looks like this:
Section "Device"
Identifier "Videocard1"
VendorName "ATI Technologies Inc"
BoardName "Video device"
Driver "fglrx"
BusID "PCI:1:5:0"
Option "RenderAccel" "true"
EndSection
Adjustments to the fglrx module "Options" can come some other weekend; resolution and display appear sharp currently.

software rendering


It appears the problem with slow, boggy rendering continued after installation and a few different option tweaks. The card appears to default to software rendering instead of rendering with the considerable hardware memory available. The test program glxgears crashed, and the information tool glxinfo noted direct rendering is currently not enabled. The best post I could find about this was here at phoronix. Accordingly, I changed xorg.conf to the following:
Option "KernelModuleParm" "string"
Option "KernelModuleParm" "agplock=0"
Option "KernelModuleParm" "agp_try_unsupported=1"
Option "KernelModuleParm" "debug=1"
Option "KernelModuleParm" "maxlockedmem=256"
where 256 represents the memory size in mb.
Unfortunately, this had no visible effect. Snooping with lsmod yielded nothing like "fglrx" or "glx", etc. Following with a find -name fglrx* however revealed two modules: fglrx_drv.so and fglrx_dri.so, that is two "shared object"(so) modules, but no "kernel object"(ko) modules. That explained the lsmod blank, and also rules-out kernel object loaders such as modprobe, which could have been handy in rc.local. So what next? Is a kernel module available and preferable? Why the "so"'s? Checking dependencies with ldd glxgears does not yield much either, and I'm unclear if it's possible to depmod .so's to check their dependencies.

radeonhd


As noted above, the open-source radeonhd driver, which appears to be a .ko, is improving. The radeon site has information about this driver as well as some useful "phoronix forums" to assist. The source code for the radeonhd is available by looking under item 6 on the wiki. The source was most recently updated on Oct. 13,2008.

more fglrx considerations


The fglrx driver, although supplied by Radeon, does appear to have significant Googleland complaints for slowness. For me, it renders well, but very slowly: I'm experience update lines even scrolling through a simple text page on Mousepad, etc. So, it appears something either a)very inefficient, or b)very underpowered, is taking place in terms of memory usage with the fglrx driver. From Google, it appears there are a few things to investigate: 1) does flglrx load as a module? (lsmod |grep fglrx). Mine does not appear in lsmod, and this apparently means xorg.conf loads a substandard fglrx_drv.ko module. Lsmod failed to locate this module either. Odd. 2) Settings in /etc/X11/xorg.conf for the fglrx driver, under "Options" may be important. 3)Settings (don't know syntax or location) for whether the ATI card uses SIDEPORT mode (card uses its own memory),UMA mode (card shares system memory), or another unnamed mode where it uses a mix of SIDEPORT and UMA. One thing for sure, a lifesaver in these forum boards is fglrxinfo or fglrxinfo -v:
# fglrxinfo
display: :0.0 screen: 0
OpenGL vendor string: Mesa project: www.mesa3d.org
OpenGL renderer string: Mesa GLX Indirect
OpenGL version string: 1.4 (2.1 Mesa 7.0.3)

glxinfo is also important. On my system, glx is not enabled, though this may be a different problem than the overall slowness of screen panning and scrolling that I'm experiencing. A good forum thread for these issues is here, not for solutions but for the many aspects of the problem. I located a Zenwalk specific ATI installation wiki which informed me of the aticonfig command. This command didn't seem to change much, other than append an "Extensions" section to the end of /etc/X11/xorg.conf. That is, following the use of aticonfig, lsmod continues not to show any fglrx module.

No comments: