Troubleshooting: Difference between revisions
Line 3: | Line 3: | ||
Very nice site! | Very nice site! | ||
Hello! bddcdcg interesting bddcdcg site! I'm really like it! Very, very bddcdcg good! | |||
==AMD installer script completes, fglrx X driver loads, fglrxinfo reports error== | ==AMD installer script completes, fglrx X driver loads, fglrxinfo reports error== |
Revision as of 22:50, 31 May 2012
Hello! kgdcake interesting kgdcake site! I'm really like it! Very, very kgdcake good!
Very nice site!
Hello! bddcdcg interesting bddcdcg site! I'm really like it! Very, very bddcdcg good!
AMD installer script completes, fglrx X driver loads, fglrxinfo reports error
Xorg.log reports 2d/3d acceleration disabled, DRI disabled and uki errors related to /proc/ati files. AMD control panel works.
This can happen if there is a problem w/ the AMD installer compiling the fglrx.ko kernel module. The installation completes anyway with the fglrx Xorg driver in place. As per 2.6.42.9 and the 12.1 AMD driver there was a compile error in/usr/src/fglrx-8.93/firegl_public.c, due to TS_USEDFPU macro not being defined. Other compile-time errors will produce a similar problem. Check the contents of /usr/share/ati/fglrx-install.log, note if there was a compile error. If so, re-running the AMD installer will not fix the problem since the compile error will just recur. Likewise, patching the bug ie
and then reinstalling won't help either since the installer re-extracts the source from the archive. To fix, apply whatever fix is required to the sourcecode that the installer leaves in /usr/src/fglrx-xxx and use dkms to compile and install the driver.
dkms add fglrx/8.93 /usr/src/fglrx-8.93
dkms build fglrx/8.93
dkms install fglrx/8.93
Apply fixes to the fglrx source and repeat the dkms build step until the build completes, then install & reboot. Check lsmod output to see if fglrx.ko is loaded, confirm DRI and proc stuff in Xorg.log is working.
In the 2.6.42.9 w/ 12.1 bug case, the fix is to add the TS_USEDFPU ifdef in firegl_public.c as below;
void ATI_API_CALL KCL_fpu_begin(void)
{
#ifdef CONFIG_X86_64
kernel_fpu_begin();
#else
#ifndef TS_USEDFPU
preempt_disable(); if (__thread_has_fpu(current)) __save_init_fpu(current);
#else
struct thread_info *cur_task = current_thread_info(); preempt_disable(); if (cur_task->status & TS_USEDFPU) __save_init_fpu(cur_task->task);
#endif
else clts();
#endif }
References
Distribution Neutral Steps |