Sven Luther wrote:
On Tue, Dec 13, 2005 at 10:38:10AM +0100, Attilio Fiandrotti wrote:
This script should disable DFB's harware acceleration for those vesa
Those are no vesa drivers, but fbdev drivers :) Vesa is only vesafb, the
others are the real thing :)
ok, now it's clear to me: DFB's HW acceleration has to be disabled for
those specific fbdev entruies listed in BAD_FBDEV.
drivers whose accelerated modes are known to be broken.
I think this script should be named something like "Sxxdisable_dfbhw.sh"
and should be installed into /lib/debian-installer.d and provided by
rootskel-gtk package.
Since this is meant mainly for PPC systems, Sven could you please have a
look at it?
A more appropriate name for "DISABLE_FB_ACCELERATION" boot option i've
added may be needed too.
thanks
Attilio
#List of vesa drivers that require DFB's HW acceleration to be disabled
BAD_LIST="atyfb nvidiafb"
if [ -z "DISABLE_FB_ACCELERATION" ]; then
where is this one taken from ? Maybe a better name would be
dfb/hwaccel_disable or something such, i thought the all-cap names had been
dropped, but i could be wrong.
i was meaning that had to be a boot parameter, but only now i realize
the code was wrong for that purpose: see below modifications.
echo "no-hardware" >>/etc/directfbrc
else
for driver in $BAD_LIST; do
if [ $(dmesg|grep $driver |wc -w) -gt 0 ];then
I am not sure if dmesg + grep + wc is the best way to do this, but i also
don't know how to best map the /proc/fb entries to module names, but we have
this one, as well as :
/sys/bus/pci/drivers/adeonfb/0000\:00\:10.0/graphics\:fb0
Which needs a 2.6 kernel though, but i don't think we are building 2.4
graphical d-i anyway.
ok, so i suppose checking if /sys/bus/pci/drivers/<broken fbdev device>
exist is enough to tell if HW acceleration has to be disabled.
Below is the same script reworked after your and Geert Stappers's
corrections.
The user, to manually disable DFB HW acceleration, should boot with
something like "install NO_DFB_ACCELERATION=TRUE" and this should be
documented in the d-i manual and/or in the help screen that you see when
you press F2 at boot time.
Where this piece of code should be collocated? inside a new "Sxx.sh"
script or should be better appended to
/lib/debian-installer.d/S35framebuffer-linux or some other already
existing script?
Note that the list of bad fbdev deviced is hardcoded inside this script:
is this a good idea? but i have no idea of where else those could be
listed..
ciao
Attilio
#!/bin/sh -e
#List of fbdev that require DFB HW acceleration to be disabled to work
BAD_FBDEV="atyfb nvidiafb"
if [ $( set| grep "NO_DFB_ACCELERATION" ) ]; then
echo "no-hardware" >>/etc/directfbrc
else
for fbdev in $BAD_FBDEV; do
if [ $(ls /sys/bus/pci/drivers |grep $fbdev) ]; then
echo "no-hardware" >>/etc/directfbrc
break
fi
done
fi
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]