Bug#342053: Boot-time script to disable DFB's HW acceleration

2005-12-13 Thread Attilio Fiandrotti
This script should disable DFB's harware acceleration for those vesa 
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
echo no-hardware /etc/directfbrc
else
for driver in $BAD_LIST; do
if [ $(dmesg|grep $driver |wc -w) -gt 0 ];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]



Bug#342053: Boot-time script to disable DFB's HW acceleration

2005-12-13 Thread Sven Luther
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 :)

 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.

   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/radeonfb/\: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.

Friendly,

Sven Luther



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#342053: Boot-time script to disable DFB's HW acceleration

2005-12-13 Thread Geert Stappers
On Tue, Dec 13, 2005 at 10:38:10AM +0100, Attilio Fiandrotti wrote:
 
 

  #!/path/to/interpreter

 #List of vesa drivers that require DFB's HW acceleration to be disabled
 BAD_LIST=atyfb nvidiafb
 
 if [ -z DISABLE_FB_ACCELERATION ]; then
   echo no-hardware /etc/directfbrc
 else
   for driver in $BAD_LIST; do
   if [ $(dmesg|grep $driver |wc -w) -gt 0 ];then
   echo no-hardware /etc/directfbrc
   break;
   fi
   done
 fi

When _no_ 'DISABLE_FB_ACCELERATION' is provided,
it still does disable drivers from the BAD_LIST


GSt


signature.asc
Description: Digital signature


Bug#342053: Boot-time script to disable DFB's HW acceleration

2005-12-13 Thread Attilio Fiandrotti

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/\: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]



Bug#342053: Boot-time script to disable DFB's HW acceleration

2005-12-13 Thread Sven Luther
On Tue, Dec 13, 2005 at 01:02:04PM +0100, Attilio Fiandrotti wrote:
 Sven Luther wrote:
 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/\: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 

Yep, in the general case, it should be possible to have multiple graphic
cards, and the broken one not being the one used for booting d-i.

Also, of interest is : 

/sys/class/graphics/fb0, which has a device/driver symlink to the above path
you suggest, but i don't know how to find the radeonfb driver name information
from this one, which sucks.

 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.

Yeah, altough i prefer the lower-case new option format thingy, but maybe they
are reserved for debconf variables ? dfb/no_accel=true ? Do we have access to
debconf already at this early stage ?

 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?

Not sure, it has to run early enough (before gtkdi is launched) and late
enough (after the framebuffer drivers have been loaded.

Maybe adding ti to S35framebuffer-linux is a good thing.

 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..

It should be a preseedable debconf value maybe, not sure, see my above
comment, dfb/bad_fbdevs=nvidiafb atyfb would be a good idea. Maybe we could
reverse the script and whitelist the known good graphic cards though, with :
dfb/good_fbdevs=radeonfb vesafb ?

Friendly,

Sven Luther



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]