|
|
Line 5: |
Line 5: |
| Hello! kcdffee interesting kcdffee site! I'm really like it! Very, very kcdffee good! | | Hello! kcdffee interesting kcdffee site! I'm really like it! Very, very kcdffee good! |
|
| |
|
| ==AMD installer script completes, fglrx X driver loads, fglrxinfo reports error==
| | Very nice site! |
| | |
| 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
| |
| | |
| http://phoronix.com/forums/showthread.php?68922-Patch-to-compile-fgrlx-module-on-Linux-3-3-rc4-with-x86-32-bit-arch
| |
| | |
| 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<BR>
| |
| dkms build fglrx/8.93<BR>
| |
| dkms install fglrx/8.93<BR>
| |
| | |
| 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)<BR>
| |
| {<BR>
| |
| <nowiki>#ifdef CONFIG_X86_64</nowiki>
| |
| kernel_fpu_begin();
| |
| <nowiki>#else</nowiki><BR>
| |
| <nowiki>#ifndef TS_USEDFPU</nowiki>
| |
| preempt_disable();
| |
| if (__thread_has_fpu(current))
| |
| __save_init_fpu(current);
| |
| <nowiki>#else</nowiki>
| |
| struct thread_info *cur_task = current_thread_info();
| |
| preempt_disable();
| |
| if (cur_task->status & TS_USEDFPU)
| |
| __save_init_fpu(cur_task->task);
| |
| <nowiki>#endif</nowiki>
| |
| else
| |
| clts();
| |
| <nowiki>#endif</nowiki>
| |
| }
| |
|
| |
|
| ==References== | | ==References== |