summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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.patch60
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