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]

Reply via email to