Skip to contentSkip to conversation

Toggling VGA out on Eee 901

DISCUSSION Phil Endecott 2 participants 4 messages Sep 16, 2008 – Sep 18, 2008 ACPI

lore
Share & tools
lore
#0 lore raw

Dear Experts,

I'm trying to work out how to get console video out toggling working on my ASUS EEE 901 (running Debian). I get the feeling that I may be the first person to try to do this, and I knew almost nothing about ACPI until a couple of hours ago. Can anyone help?

Output toggling for X works fine, but that doesn't use ACPI. If the machine is booted with an external monitor connected, console VGA out is enabled; if the monitor is not connected it's not enabled. Looking in /proc/acpi/video/VGA/CRTD/state I see

state: 0x1f
query: 0x01

when the machine was booted with the monitor connected and

state: 0x0d
query: 0x00

when the machine was booted without the monitor. Following the advice of an old ACPI HOWTO I tried to store 0x80000001 in that file:

# /bin/echo 0x80000001 > /proc/acpi/video/VGA/CRTD/state
/bin/echo: write error: Bad address

I had a look at my iasl-disassembled /proc/dsdt and found this:

Device (VGA)

{
    .....
    Name (DONE, Zero)
    .....

    Device (CRTD)
    {
        .....
        Method (_DSS, 1, NotSerialized)
        {
            If (And (Arg0, 0x40000000))
            {
                If (And (Arg0, 0x80000000))
                {
                    Store (One, DONE)
                }
            }
        }
    }
}

I have never looked at this stuff before, but I don't get the impression that it's actually going to do anything to the hardware registers, is it? Am I looking in the wrong place? Based on that I did try to store 0xC0000000 and 0xC0000001, and in this case there was no "Bad address" error - but no output change either.

Can someone point me in the right direction?
I have put the complete dsdt.dsl here: http://chezphil.org/tmp/eee_901_dsdt.dsl

Many thanks, Phil.

(Please cc: me in any replies)

#1 lore raw

Hi, phil,

Quoted 7 lines · Phil Endecott

Dear Experts,

I'm trying to work out how to get console video out toggling working on my ASUS EEE 901 (running Debian). I get the feeling that I may be the first person to try to do this, and I knew almost nothing about ACPI until a couple of hours ago. Can anyone help?
Output toggling for X works fine, but that doesn't use ACPI.

well, ACPI control method for video output switching seldom works. And we use xrandr to switch the display in X.
I'm not sure but I'm afraid we don't have the plan to support video output switch in console mode.

thanks,
rui

Quoted 55 lines

If the
machine is booted with an external monitor connected, console VGA out is enabled; if the monitor is not connected it's not enabled. Looking in /proc/acpi/video/VGA/CRTD/state I see

state: 0x1f
query: 0x01

when the machine was booted with the monitor connected and

state: 0x0d
query: 0x00

when the machine was booted without the monitor. Following the advice of an old ACPI HOWTO I tried to store 0x80000001 in that file:

# /bin/echo 0x80000001 > /proc/acpi/video/VGA/CRTD/state
/bin/echo: write error: Bad address

I had a look at my iasl-disassembled /proc/dsdt and found this:

Device (VGA)

{
     .....
     Name (DONE, Zero)
     .....

     Device (CRTD)
     {
         .....
         Method (_DSS, 1, NotSerialized)
         {
             If (And (Arg0, 0x40000000))
             {
                 If (And (Arg0, 0x80000000))
                 {
                     Store (One, DONE)
                 }
             }
         }
     }
}

I have never looked at this stuff before, but I don't get the impression that it's actually going to do anything to the hardware registers, is it? Am I looking in the wrong place? Based on that I did try to store 0xC0000000 and 0xC0000001, and in this case there was no "Bad address" error - but no output change either.

Can someone point me in the right direction?
I have put the complete dsdt.dsl here: http://chezphil.org/tmp/eee_901_dsdt.dsl

Many thanks, Phil.

Quoted 8 lines

(Please cc: me in any replies)

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

#2 lore raw

Hi Rui,

Quoted 5 lines · Zhang Rui

Hi, phil,

Quoted 2 lines · Phil Endecott

Dear Experts,

Quoted 7 lines
Quoted 2 lines

I'm trying to work out how to get console video out toggling working on my ASUS EEE 901 (running Debian). I get the feeling that I may be the first person to try to do this, and I knew almost nothing about ACPI until a couple of hours ago. Can anyone help? Output toggling for X works fine, but that doesn't use ACPI.

well, ACPI control method for video output switching seldom works. And we use xrandr to switch the display in X.
I'm not sure but I'm afraid we don't have the plan to support video output switch in console mode.

As far as I can see, the code already exists in the kernel to support this. The problem is that this BIOS doesn't define the necessary methods (unless I've misunderstood something). When you say "don't plan to support", do you mean that the existing kernel functionality is now deprecated, or something?

Thanks, Phil.

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

#3 lore raw
Quoted 17 lines · Phil Endecott

Hi Rui,

Quoted 6 lines · Zhang Rui

Hi, phil,

Quoted 3 lines · Phil Endecott

Dear Experts,

I'm trying to work out how to get console video out toggling

working on

Quoted 1 line
Quoted 1 line

my ASUS EEE 901 (running Debian). I get the feeling that I may be

the

Quoted 1 line
Quoted 1 line

first person to try to do this, and I knew almost nothing about

ACPI

Quoted 2 lines
Quoted 2 lines

until a couple of hours ago. Can anyone help? Output toggling for X works fine, but that doesn't use ACPI.

Quoted 8 lines
Quoted 4 lines

well, ACPI control method for video output switching seldom works. And we use xrandr to switch the display in X.
I'm not sure but I'm afraid we don't have the plan to support video output switch in console mode.

As far as I can see, the code already exists in the kernel to support this. The problem is that this BIOS doesn't define the necessary methods (unless I've misunderstood something).

it's true that there is some code that is used for display switch in ACPI video driver.
It evaluates the ACPI control methods to switch the display, but unfortunately we don't have any BIOSes that these methods actually work...

Quoted 3 lines

When you say "don't plan
to support", do you mean that the existing kernel functionality is now deprecated,

right.
I've sent a patch to remove this piece of code sometime before...

BTW: forgot to mention, the platform drivers may have the ability to switch the display via some platform specific methods, but that depends. and it's beyond my scope. :).
I can only say that display switching via the predefined ACPI control methods doesn't work.

thanks,
rui

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html