[ltp] Re: Fglrx 8.28.8 promises Fn-F7 toggling. Anyone got it working?

Alfredo Matos linux-thinkpad@linux-thinkpad.org
Tue, 29 Aug 2006 23:47:50 +0100


Really amazing,

for the first time it works.
Utter success in a Thinkpad T60. How i missed this function. Just
installed everything you mentioned, and voila, FN+F7 working.

Best regards,

Alfredo Matos

David Abrahams wrote:
> TNKS <0osz0s302@sneakemail.com> writes:
>
>   
>> David Abrahams wrote:
>>
>>     
>>>> Does the fglrx driver only support Fn-F7 video toggling if it's supported
>>>> by ibm_acpi?
>>>>         
>>>   echo 0xffff > /proc/acpi/ibm/hotkey
>>>
>>> will help you.  I just made a long post about my experiences with
>>> video toggling on this list with lots more info in it.
>>>
>>>       
>> David,
>>
>> So  I think the hotkey setting might be independent of the more important
>> issue -- does the /proc/acpi/ibm/video interface work for you?  Because the
>> hotkey stuff just handles Fn-F7.  Does 
>>
>>     echo video_switch > /proc/acpi/ibm video
>>
>> do the toggling for you?
>>     
>
> Oh.  No it doesn't, (not even after I add the missing slash) but I
> thought that was just because I have fglrx installed, which takes over
> the video switching functionality.
>
>   $ cat /proc/acpi/ibm/video
>   status:		supported
>   lcd:		enabled
>   crt:		enabled
>   dvi:		disabled
>   auto:		enabled
>   commands:	lcd_enable, lcd_disable
>   commands:	crt_enable, crt_disable
>   commands:	dvi_enable, dvi_disable
>   commands:	auto_enable, auto_disable
>   commands:	video_switch, expand_toggle
>
> Interestingly, that blanks the crt briefly, but then everything is
> back to the way it was before.  Same for
>
>   # sudo echo crt_disable > /proc/acpi/ibm/video
>
>   
>> I'm thinking that the Fn-F7 promises of the latest fglrx driver only hold
>> true on systems that had /proc/acpi/ibm/video working in the first place. 
>> But I'm not sure.  Maybe someone else can support or refute this claim.
>>     
>
> I think I basically am refuting it, but I also don't think we can tell
> much about it when fglrx is installed.  If /proc/acpi/ibm/video is
> going to work, it'll do so independently of special third-party
> software, no?
>
> Ooooh, duh!  There are a number of special things I did that might be
> making this work.
>
> 1. Give acpid permission to adjust display-related parameters:
>
>      xhost +local:acpid
>
>    
>    If that doesn't make it work for you I suggest skipping on to stpe
>    2.
>
>    I actually do it when X starts with the following two files:
>
>
>    --- /etc/X11/Xsession.d/98local-xsession ---
>   
> ------------------------------------------------------------------------
>
> # /etc/X11/Xsession.d/98local-xsession
> # This file is sourced by Xsession(5), not executed.
>
> if [ -x /usr/local/etc/X11/Xsession ]; then
>    . /usr/local/etc/X11/Xsession;
> fi
>
> # vim:set ai et sts=2 sw=2 tw=80:
>   
> ------------------------------------------------------------------------
>
>
>
>    --- /usr/local/etc/X11/Xsession ---
>   
> ------------------------------------------------------------------------
>
> #!/bin/sh
> # /usr/local/etc/X11/Xsession
> xhost +local:acpid  # allow acpid to reconfigure screens for hotdocking
> aticonfig --set-powerstate=1
>
>   
> ------------------------------------------------------------------------
>
>
> 2. Set up the ibm-videobtn event, which I do with the following two
>    files:
>
>    --- /etc/acpi/events/ibm-videobtn ---
>   
> ------------------------------------------------------------------------
>
> # /etc/acpi/events/ibmvideobtn
> # This is called when the user presses the video button. It is currently
> # a placeholder.
>
> event=ibm/hotkey HKEY 00000080 00001007
> action=/usr/local/etc/acpi/videobtn.sh
> # action=/bin/true
>   
> ------------------------------------------------------------------------
>
>
>    --- /usr/local/etc/acpi/videobtn.sh ---
>   
> ------------------------------------------------------------------------
>
> #!/bin/bash
> #!/bin/sh
>
>  . /etc/default/acpi-support
>  . /usr/share/acpi-support/power-funcs
>
> getXconsole;
>
> change_resolution() {
>     if [ x"$XAUTHORITY" != x"" ]; then
>         if [ x"`xrandr -q | grep $1[[:space:]]x[[:space:]]$2 | cut -b -1`" != x"*" ]; then
>             xrandr -d $DISPLAY -s $1x$2
>         fi
>     fi
> }
>
> if [ x"$XAUTHORITY" != x"" ]; then
>     CURRENT=`aticonfig --query-monitor | grep Enabled | cut -b 21-`
>     DUAL=`echo $CURRENT | sed -e 's/.*,.*/dual/g'`
>     if [ x"$DUAL" == x"dual" ]; then
>         change_resolution 3200 1200
>     else
>         su $user -c "aticonfig --set-powerstate=1 --effective=now" &>/dev/null
>     fi
> fi
>   
> ------------------------------------------------------------------------
>
>
>
> 3. Restart acpid so it will find your new event hooks
>    
>    TNKS@foo:~$ sudo /etc/init.d/acpid restart
>
> In fact, I started with http://www.thinkwiki.org/wiki/Talk:Fglrx and
> when I realized it was switching video before the zenity dialog came
> up (really bad idea anyway because zenity puts it in an arbitrary
> workspace that might not be visible), I ripped all that stuff out.
>
> HTH,
>
>