diff options
Diffstat (limited to 'x11-misc/afbinit/files/rc.afb-1.0.1-r5.patch')
-rw-r--r-- | x11-misc/afbinit/files/rc.afb-1.0.1-r5.patch | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/x11-misc/afbinit/files/rc.afb-1.0.1-r5.patch b/x11-misc/afbinit/files/rc.afb-1.0.1-r5.patch new file mode 100644 index 000000000000..33d8f5b4c420 --- /dev/null +++ b/x11-misc/afbinit/files/rc.afb-1.0.1-r5.patch @@ -0,0 +1,60 @@ +--- rc.afb- 2004-05-27 17:59:23.549406000 +0000 ++++ rc.afb 2004-05-27 18:32:34.709406000 +0000 +@@ -10,25 +10,44 @@ + exit 0 + fi + +-if [ `/bin/dmesg | /bin/grep -c "Elite 3D"` -eq 0 ] ++# The microcode loader binary and the microcode ++# itself must exist. ++if [ ! -x /usr/sbin/afbinit -o ! -f /usr/lib/afb.ucode ] + then + exit 0 + fi + +-# The microcode loader binary and the microcode +-# itself must exist. +-if [ ! -x /usr/sbin/afbinit -o ! -f /usr/lib/afb.ucode ] ++# Make FB device list, depending on which kind of kernel we have. ++# First, try kernel 2.4.x ++ ++if [ `/bin/dmesg | /bin/grep -c "Elite 3D"` -gt 0 ] + then ++ ++ afb_devs=`/bin/dmesg | /bin/egrep -i "Elite 3D" | /bin/sed 's/\:.*//'` ++ ++ # Load microcode onto each card. ++ for AFB in ${afb_devs} ++ do ++ echo -n "${AFB}: Loading Elite3D microcode... " ++ /usr/sbin/afbinit /dev/${AFB} /usr/lib/afb.ucode ++ echo "done." ++ done + exit 0 + fi ++## ++# OK, we're not kernel 2.4.x ++# try kernel 2.6.x + +-# Make FB device list. +-afb_devs=`/bin/dmesg | /bin/egrep -i "Elite 3D" | /bin/sed 's/\:.*//'` ++if [ `/bin/dmesg | /bin/grep -c "ffb: AFB"` -gt 0 ] ++then + +-# Load microcode onto each card. +-for AFB in ${afb_devs} +-do +- echo -n "${AFB}: Loading Elite3D microcode... " +- /usr/sbin/afbinit /dev/${AFB} /usr/lib/afb.ucode +- echo "done." +-done ++ afb_devs=`/bin/more -s /proc/fb | /bin/egrep -i "Elite 3D" | /bin/sed 's/\ .*//'` ++ # Load microcode onto each card. ++ for AFB in ${afb_devs} ++ do ++ echo -n "/dev/fb${AFB}: Loading Elite3D microcode... " ++ /usr/sbin/afbinit /dev/fb${AFB} /usr/lib/afb.ucode ++ echo "done." ++ done ++ exit 0 ++fi |