Skip to contentSkip to conversation

New insights about video module! Need help,please.

DISCUSSION Tommy Ch. 3 participants 7 messages Feb 28, 2005 – Mar 7, 2005 4 messages not in the archive ACPI

lore
Share & tools
lore

Tommy Ch.

author
#0 lore raw

Hi,

I'm still trying to get tv-out and crt working on my Toshiba M30 not using TwinView. It's a long time ago when John Belmonte told me to experiment with the toshiba_acpi driver (?) like this:

------snip---------

Other than that, you can experiment with the driver as follows. This was given to me by one Jonny Robertson.

    write_acpi_int("\\_SB_.PCI0.PCI1.VGA_.LCD_._DSS", 0x1);
    write_acpi_int("\\_SB_.PCI0.PCI1.VGA_.CRT_._DSS", 0x0);
    write_acpi_int("\\_SB_.PCI0.PCI1.VGA_.TV__._DSS", 0x80000001L);

The path to the _DSS methods might be different on your machine. In this example, we enable the LCD and TV. The 0x80000000 bit causes pending changes to be executed, so that all outputs can be set simultaneously.

------snipend-----------

I tried to modify toshiba_acpi.c at line 377 and made these changes:

-------snip------

if (new_video_out != video_out)

    // original line
    // write_acpi_int(METHOD_VIDEO_OUT, new_video_out);

    // new:
    write_acpi_int("\\_SB_.PCI0.PCI1.VGA_.LCD_._DSS", 0x1);
        write_acpi_int("\\_SB_.PCI0.PCI1.VGA_.CRT_._DSS", 0x0);
        write_acpi_int("\\_SB_.PCI0.PCI1.VGA_.TV__._DSS", 0x80000001L);

------snipend-----------

Is this correct? If yes, a
echo "tv_out:1" > /proc/acpi/toshiba/video
had no effect.

Of course I also tried the new video module in kernel 2.6.10. I tried to set TVout like this echo 0x80000000 > /proc/acpi/video/VGA/TV/state
and also like this:
echo "state:0x0f" > /proc/acpi/video/VGA/TV/state

with no effect. But I just made discovery that might be important! When running the modified toshiba_acpi and using
echo "tv_out:1" > /proc/acpi/toshiba/video
suddenly I get

cat /proc/acpi/video/VGA/TV/state

state:     0x0d
query:     0x01

"query" is 0x01 instead of 0x00. I don't know if this is important or helps you to help me to get the stuff working.

If it helps you, my dsdt is located at http://www.uni-koblenz.de/~tenshi/toshm30dsdt.tar.gz

Any help is greatly appreciated!

Bye,
Tommy

-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click

#2 lore raw
In reply to a message not in the archive
Quoted 11 lines · Tommy Ch.

Hi,

I'm still trying to get tv-out and crt working on my Toshiba M30 not using TwinView. It's a long time ago when John Belmonte told me to experiment with the toshiba_acpi driver (?) like this:

------snip---------

Other than that, you can experiment with the driver as follows. This was given to me by one Jonny Robertson.

Quoted 9 lines
    write_acpi_int("\\_SB_.PCI0.PCI1.VGA_.LCD_._DSS", 0x1);
    write_acpi_int("\\_SB_.PCI0.PCI1.VGA_.CRT_._DSS", 0x0);
    write_acpi_int("\\_SB_.PCI0.PCI1.VGA_.TV__._DSS", 0x80000001L);

The path to the _DSS methods might be different on your machine. In this example, we enable the LCD and TV. The 0x80000000 bit causes pending changes to be executed, so that all outputs can be set simultaneously.

There are _PS0, _PS3 and _PCS methods. I'm not sure if those methods are supported under linux-2.6.10 (or any other version of Linux, btw).

I think you should try to call the \_SB_.PCI0.PCI1.VGA_._PS0 method somewhere.

Add a line like this one:

	acpi_evaluate_object(NULL, "\\_SB_.PCI0.PCI1.VGA_._PS0", NULL, NULL);

in function acpi_video_bus_add()

Something like this:

before:

        if (!device)
		return_VALUE(-EINVAL);

	video = kmalloc(sizeof(struct acpi_video_bus), GFP_KERNEL);

after:

        if (!device)
		return_VALUE(-EINVAL);

	acpi_evaluate_object(NULL, "\\_SB_.PCI0.PCI1.VGA_._PS0", NULL, NULL);
	video = kmalloc(sizeof(struct acpi_video_bus), GFP_KERNEL);

Of course, its ugly, but its only to test if _PS0 is supported or not by linux.

Hope this help,

Signature · 11 lines
Bruno Ducrot

--  Which is worse:  ignorance or apathy?
--  Don't know.  Don't care.


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
#7 lore raw
In reply to a message not in the archive
Quoted 3 lines · Tommy Ch.

Is this correct? If yes, a
echo "tv_out:1" > /proc/acpi/toshiba/video
had no effect.

To switch to tv-out I used keys Fn+F2 or Fn+F3 (don't remember exactly), which just begging to work when I put ACPI on kernel.
The keys to switch to tv-out on Windows should work on Linux (with ACPI enabled of course).

Regards,

Signature · 9 lines
Sérgio M.B.



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
author
#8 lore raw
Quoted 8 lines · Sergio Monteiro Basto
Quoted 3 lines · Tommy Ch.

Is this correct? If yes, a
echo "tv_out:1" > /proc/acpi/toshiba/video
had no effect.

Quoted 4 lines

To switch to tv-out I used keys Fn+F2 or Fn+F3 (don't remember exactly), which just begging to work when I put ACPI on kernel.
The keys to switch to tv-out on Windows should work on Linux (with ACPI enabled of course).

Unfortunately my Toshiba notebook needs a tool for FN-Keys on windows, too. So no way. I know that there are notebooks where FN-Keys somehow bypass ACPI and BIOS takes care of all the stuff (?).

Bye

-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click

#10 lore raw
In reply to a message not in the archive
Quoted 9 lines · Tommy Ch.
Quoted 8 lines · Sergio Monteiro Basto
Quoted 3 lines · Tommy Ch.

Is this correct? If yes, a
echo "tv_out:1" > /proc/acpi/toshiba/video
had no effect.

Quoted 8 lines
Quoted 4 lines

To switch to tv-out I used keys Fn+F2 or Fn+F3 (don't remember exactly), which just begging to work when I put ACPI on kernel.
The keys to switch to tv-out on Windows should work on Linux (with ACPI enabled of course).

Unfortunately my Toshiba notebook needs a tool for FN-Keys on windows, too. So no way. I know that there are notebooks where FN-Keys somehow bypass ACPI and BIOS takes care of all the stuff (?).

Hi,
The other way, that I had to switch the video output, is with one small utility for my specific video card (S3 savage), called s3switch.

Regards,

Signature · 9 lines
Sérgio M.B.



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
author
#4 lore raw
In reply to a message not in the archive
Quoted 20 lines · Bruno Ducrot

There are _PS0, _PS3 and _PCS methods. I'm not sure if those methods are supported under linux-2.6.10 (or any other version of Linux, btw).

I think you should try to call the \_SB_.PCI0.PCI1.VGA_._PS0 method somewhere.

Add a line like this one:

	acpi_evaluate_object(NULL, "\\_SB_.PCI0.PCI1.VGA_._PS0", NULL, NULL);

in function acpi_video_bus_add()

Something like this:

before:

        if (!device)
		return_VALUE(-EINVAL);

	video = kmalloc(sizeof(struct acpi_video_bus), GFP_KERNEL);

after:

Quoted 8 lines
        if (!device)
		return_VALUE(-EINVAL);

	acpi_evaluate_object(NULL, "\\_SB_.PCI0.PCI1.VGA_._PS0", NULL, NULL);
	video = kmalloc(sizeof(struct acpi_video_bus), GFP_KERNEL);

Of course, its ugly, but its only to test if _PS0 is supported or not by linux.

OK, it compiled cleanly. After loading the module dmesg said:
ACPI: Video Device [VGA] (multi-head: yes rom: yes post: no)

Nothing else I could observe. Should I do any other tests?

Bye

-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click

#6 lore raw
In reply to a message not in the archive
Quoted 27 lines · Tommy Ch.
Quoted 26 lines · Bruno Ducrot

There are _PS0, _PS3 and _PCS methods. I'm not sure if those methods are supported under linux-2.6.10 (or any other version of Linux, btw).

I think you should try to call the \_SB_.PCI0.PCI1.VGA_._PS0 method somewhere.

Add a line like this one:

	acpi_evaluate_object(NULL, "\\_SB_.PCI0.PCI1.VGA_._PS0", NULL, NULL);

in function acpi_video_bus_add()

Something like this:

before:

       if (!device)
		return_VALUE(-EINVAL);

	video = kmalloc(sizeof(struct acpi_video_bus), GFP_KERNEL);

after:

       if (!device)
		return_VALUE(-EINVAL);

	acpi_evaluate_object(NULL, "\\_SB_.PCI0.PCI1.VGA_._PS0", NULL, NULL);
	video = kmalloc(sizeof(struct acpi_video_bus), GFP_KERNEL);
Quoted 8 lines
Quoted 2 lines

Of course, its ugly, but its only to test if _PS0 is supported or not by linux.

OK, it compiled cleanly. After loading the module dmesg said:
ACPI: Video Device [VGA] (multi-head: yes rom: yes post: no)

Nothing else I could observe. Should I do any other tests?

You are sure that
echo 0x80000001 > /proc/acpi/video/VGA/TV/state
still dont work even with that hack?

Well, I don't have other ideas. I'm sorry.

Signature · 11 lines
Bruno Ducrot

--  Which is worse:  ignorance or apathy?
--  Don't know.  Don't care.


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click