LFS: Difference between revisions

From cchtml.com
No edit summary
 
No edit summary
Line 2: Line 2:
== Getting 3D for your ATI Radeon card in LFS [http://www.linuxfromscratch.org/] ==
== Getting 3D for your ATI Radeon card in LFS [http://www.linuxfromscratch.org/] ==


Required
Used here
* Kernel with agp and DRM
* Kernel 2.6.15 (with agp and DRM configured)
* Fresh LFS install
* Fresh LFS install
* Xorg 6.8.2 (By BLFS)
* Xorg 6.8.2 (By BLFS)
Line 9: Line 9:


Probably not needed (and might even interfere!) Please verify and edit if possible.
Probably not needed (and might even interfere!) Please verify and edit if possible.
* Mesa-6.4.1 (leftovers after failed attempt at installing r300_dri)   
* Mesa-6.4.1 (leftovers after failed attempt at installing r300_dri)
   
----
----


Line 17: Line 18:


<code>
<code>
mkdir /root/old_libGL
mkdir /root/old_libGL <br>
mv /usr/X11R6/lib/libGL.so* /root/old_libGL
mv /usr/X11R6/lib/libGL.so* /root/old_libGL
</code>
</code>
Line 24: Line 25:


After the installer exits you should have a directory /lib/modules/fglrx/build_mod
After the installer exits you should have a directory /lib/modules/fglrx/build_mod
with a script "make.sh" to re-build the fglrx driver. If the script complains about not being run from a real console, you could try to hack it a bit to go on anyway.
with a script "make.sh" to re-build the fglrx driver. Now for kernel 2.6.15 with fglrx 8.20.8 you'll need to apply a patch for avoiding errors of:
 
Bad page state at free_hot_cold_page
 
If the script complains about not being run from a real console, you could try to hack it a bit to go on anyway.


<code>
<code>
cd /lib/modules/fglrx/build_mod
cd /lib/modules/fglrx/build_mod <br>
vi make.sh
vi make.sh
</code>
</code>
Line 41: Line 46:
   fi
   fi


and delete the line with 'exit 1' to get past that annoyance.
and delete the line with 'exit 1' to get past that annoyance. Run it to build the modules. Then change to the parent directory and run "make_install.sh", hack as needed. This installs the kernel module and it's conterpart in /lib/X11R6/modules/
 
 
Finally, when all of this is done, you might need an old version of libstdc++
check it by typing:
ldd /usr/X11R6/lib/modules/dri/fglrx_dri.so
 
ldd /mnt/hdd1/usr/X11R6/lib/modules/dri/fglrx_dri.so
       linux-gate.so.1 =>  (0xffffe000)
       libm.so.6 => /lib/libm.so.6 (0x408a5000)
       libstdc++.so.5 => /usr//lib/libstdc++.so.5 (0x408c7000)
 
Since I had only version 6 on my system I also installed version 5 to make fglrx happy. (was actually able to copy it from an older system ^_^)
 
Alternatively, setting LIBGL_DEBUG might also reveal old libstdc++ dependencies.
 
run fglrxconfig, answer a lot of questions, start X and pray.
 
Good luck!
/Jeol
 
(...think I forgot somthing, hm.)
 
== Troubleshooting tips ==
Read the log, look for errors (EE)


cat /var/log/Xorg.0.log | grep EE


-Had to quit, finish later
LIBGL_DEBUG=verbose glxinfo

Revision as of 23:32, 7 January 2006

For all of you that like to do things the hard way:

Getting 3D for your ATI Radeon card in LFS [1]

Used here

  • Kernel 2.6.15 (with agp and DRM configured)
  • Fresh LFS install
  • Xorg 6.8.2 (By BLFS)
  • Driver (either proprietary fglrx or r300_dri)

Probably not needed (and might even interfere!) Please verify and edit if possible.

  • Mesa-6.4.1 (leftovers after failed attempt at installing r300_dri)

After browsing ATI's homepage for drivers I decided to use the installer-package (version 8.20.8), as I didn't have any easy way to convert rpms into tarballs.

If you decide to use the installer provided by ATI, make sure you don't have any libGL.so.* lying around in /usr/X11R6/lib before running the installer binary. It appears to rename installed files rather than overwriting old. Move any existing just to be safe:

mkdir /root/old_libGL
mv /usr/X11R6/lib/libGL.so* /root/old_libGL

Run the installer, it does some checks and then opens a graphical point-and-clickety install window. Follow instructions and install the correct driver. Maybe it works now already? Never has for me, so I'll continue..

After the installer exits you should have a directory /lib/modules/fglrx/build_mod with a script "make.sh" to re-build the fglrx driver. Now for kernel 2.6.15 with fglrx 8.20.8 you'll need to apply a patch for avoiding errors of:

Bad page state at free_hot_cold_page

If the script complains about not being run from a real console, you could try to hack it a bit to go on anyway.

cd /lib/modules/fglrx/build_mod
vi make.sh

search for:

if [ $? -ne 0 ];
 then
   echo "You arent running in a 'login shell'."
   echo "Please login directly from a console"
   echo "or use 'su -l' to get the same result."
   exit 1
 fi

and delete the line with 'exit 1' to get past that annoyance. Run it to build the modules. Then change to the parent directory and run "make_install.sh", hack as needed. This installs the kernel module and it's conterpart in /lib/X11R6/modules/


Finally, when all of this is done, you might need an old version of libstdc++ check it by typing:

ldd /usr/X11R6/lib/modules/dri/fglrx_dri.so

ldd /mnt/hdd1/usr/X11R6/lib/modules/dri/fglrx_dri.so        linux-gate.so.1 =>  (0xffffe000)        libm.so.6 => /lib/libm.so.6 (0x408a5000)        libstdc++.so.5 => /usr//lib/libstdc++.so.5 (0x408c7000)

Since I had only version 6 on my system I also installed version 5 to make fglrx happy. (was actually able to copy it from an older system ^_^)

Alternatively, setting LIBGL_DEBUG might also reveal old libstdc++ dependencies.

run fglrxconfig, answer a lot of questions, start X and pray.

Good luck! /Jeol

(...think I forgot somthing, hm.)

Troubleshooting tips

Read the log, look for errors (EE)

cat /var/log/Xorg.0.log | grep EE

LIBGL_DEBUG=verbose glxinfo