[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,
>
>