Fedora Linux Support Community & Resources Center
  #31  
Old 26th September 2010, 06:44 PM
fedcb22 Offline
Registered User
 
Join Date: Sep 2010
Posts: 4
linuxopera
Re: Alienware M11X Thread

Quote:
Originally Posted by docdrow View Post
Here's the latest.. I discovered that in fact there are ACPI Methods for control of the GPUs, however, they are not in the main DSDT table. I posted a dump of the SSDT table for the NVidia rom here:

Hybrid Graphics Linux mailing list

It's gonna take someone who knows Linux and ACPI better than I to integrate support for the R2. But, I think I'm barkin' up the right tree.

I believe that vga_switcherroo would work for us if the method were defined in the main DSDT. If someone updated the code to look in the SSDT, maybe it would work?

Beyond my skill level or time to learn the skill at this point. But.. as I get time I continue to tinker
I'm wondering if you've seen the post at http://linux-hybrid-graphics.blogspo...sus-u43jc.html

It looks like we may have a similar "problem" with the line
Code:
If (LEqual (\_SB.PCI0.P0P2.PEGP.OMPR, 0x03))
Although I'm not entirely sure. Busy recompiling my kernel with ACPI debug support, and hopefully messing about with the SSDT will yield some results
Reply With Quote
  #32  
Old 27th September 2010, 02:41 PM
fedcb22 Offline
Registered User
 
Join Date: Sep 2010
Posts: 4
linuxopera
Re: Alienware M11X Thread

Good news everyone! It looks like I've gotten disabling that power-gobbling Nvidia card to work

Code:
# cat /proc/acpi/battery/BAT1/state
present:                 yes
capacity state:          ok
charging state:          discharging
present rate:            21925 mW
remaining capacity:      65930 mWh
present voltage:         16473 mV
# cat dd/test.aml >> /sys/kernel/debug/acpi/custom_method 
# insmod acpi_call/acpi_call.ko
# echo '\_SB.PCI0.P0P2.PEGP._PS3' > /proc/acpi/call
<Wait a bit for the results to settle>
# cat /proc/acpi/battery/BAT1/state
present:                 yes
capacity state:          ok
charging state:          discharging
present rate:            15459 mW
remaining capacity:      64790 mWh
present voltage:         16446 mV
Looks like a ~6500mW decrease in power consumption to me
I'll post a howto in a sec.

---------- Post added at 03:41 PM CDT ---------- Previous post was at 03:35 PM CDT ----------

And the how-to:
Create a file called override.asl with the following contents:
Code:
DefinitionBlock ("", "SSDT", 1, "", "", 0x20080715)
{
External (P80H)
External (SETF)
External (LNKD)
External (RLNK)
External (\_SB.PCI0.P0P2.PEGP.OMPR)
External (\_SB.PCI0.P0P2.PEGP.VGAB)
External (\_SB.PCI0.P0P2.PEGP.PO16)
External (\_SB.PCI0.P0P2.PEGP.PO36)
External (DGOS)
External (_PSC)
External (\_SB.PCI0.P0P2.VGAR)

        Method (\_SB.PCI0.P0P2.PEGP._PS3, 0, NotSerialized)
        {
            Store (0x03, P80H)
            Store ("NVGA_PS3_STR", Debug)
            //If (LEqual (\_SB.PCI0.P0P2.PEGP.OMPR, 0x03))
            //{
                Store (\_SB.PCI0.P0P2.VGAR, \_SB.PCI0.P0P2.PEGP.VGAB)
                Store (One, SETF)
                Store (One, LNKD)
                Store (One, RLNK)
                If (Ones)
                {
                    Store (Zero, \_SB.PCI0.P0P2.PEGP.PO16)
                }
                Else
                {
                    Store (One, \_SB.PCI0.P0P2.PEGP.PO16)
                }

                If (Ones)
                {
                    Store (Zero, \_SB.PCI0.P0P2.PEGP.PO36)
                }
                Else
                {
                    Store (One, \_SB.PCI0.P0P2.PEGP.PO36)
                }

                Store (One, DGOS)
                Store (0x02, \_SB.PCI0.P0P2.PEGP.OMPR)
            //}

            Store (0x03, _PSC)
        }
}
Use iasl to compile this down to bytecode
Code:
# iasl override.asl
This will give you override.aml. Mount debugfs
Code:
# mount -t debugfs none /sys/kernel/debugfs
And insert out custom method
Code:
# override.aml >> /sys/kernel/debug/acpi/custom_method
Finally make sure acpi_call is loaded, and call the _PS3 function
Code:
# echo '\_SB.PCI0.P0P2.PEGP._PS3' > /proc/acpi/call
I've gone by memory here, so let me know if any of the steps don't work...
Reply With Quote
  #33  
Old 27th September 2010, 06:43 PM
erroneus Offline
Registered User
 
Join Date: Apr 2004
Posts: 595
linuxfedorafirefox
Re: Alienware M11X Thread

Most impressive. Just about all of that went way over my head. Is it possible to package up things that we can just "download this" and then "put this here, that there and change this file here"?

You really seem to know a lot more than most of us. Any chance you could figure out a way to get access to certain sensor data?

---

I am unable to follow along. The part where I try to mount /sys/kernel/debugfs was wrong. It seemed to work when I changed that to /sys/kernel/debug but there was no acpi in the /sys/kernel/debug folder.

Following that, I am uncertain about the whole override.aml >> command line

Last edited by erroneus; 27th September 2010 at 07:04 PM.
Reply With Quote
  #34  
Old 27th September 2010, 07:14 PM
fedcb22 Offline
Registered User
 
Join Date: Sep 2010
Posts: 4
linuxopera
Re: Alienware M11X Thread

Quote:
Originally Posted by erroneus View Post
Most impressive. Just about all of that went way over my head. Is it possible to package up things that we can just "download this" and then "put this here, that there and change this file here"?

You really seem to know a lot more than most of us. Any chance you could figure out a way to get access to certain sensor data?

---

I am unable to follow along. The part where I try to mount /sys/kernel/debugfs was wrong. It seemed to work when I changed that to /sys/kernel/debug but there was no acpi in the /sys/kernel/debug folder.

Following that, I am uncertain about the whole override.aml >> command line
Hmm, truth be told, I don't actually run Fedora - I'm an ArchLinux user (hope I don't get banned :P ), but I think it was your post about the SSDT that gave me the idea about where to look.

Oops, that was a typo on my part, it was meant to be /sys/kernel/debug. Which kernel are you running, and what do you see in that folder?

What sensor data are you speaking of?

On a side note, my power consumption under Linux, backlight low with WiFi on and browsing the web is round about 12-13W, which beats Windows in my case
Reply With Quote
  #35  
Old 27th September 2010, 07:24 PM
erroneus Offline
Registered User
 
Join Date: Apr 2004
Posts: 595
linuxfedorafirefox
Re: Alienware M11X Thread

Contributions of information and research are all good no matter where they come from.

Yeah, got the /sys/kernel/debug mounted and new things appear, just not acpi. What appears is:

bdi, bluetooth, boot_params, dri, dynamic_debug, hid, ieee80211, kprobes, mmc0, sched_features, slow_work, tracing, usb, x86, xen

All are directories except sched_features.

uname reveals: 2.6.34.7-56.fc13.x86_64 as the kernel.

The sensor data I speak of is that which tells the temperature of the video and other chips on the system board. The only temperature I can get is from the hard drive.
Reply With Quote
  #36  
Old 27th September 2010, 08:54 PM
docdrow Offline
Registered User
 
Join Date: Apr 2007
Location: Cincinnati
Age: 42
Posts: 59
linuxchrome
Re: Alienware M11X Thread

Excellent find! I missed that thread. It looks like this is a 'hack' rather than a problem to get past 0x03 being stored at that location.

There's reference to that in the NVOP method, so I'm guessing that NVOP could still be used prior or is some combination with calling PS3 to achieve this without avoiding that if().

Hmm..

erroneus, you'll need to do: yum -y install kernel-debug

And reboot on the debug enabled kernel. With debug options enabled, however, your system may run significantly slower.

So.. we may have to build a custom kernel with just ACPI DEBUG enabled for Fedora. *sigh*

-G
Reply With Quote
  #37  
Old 27th September 2010, 09:07 PM
erroneus Offline
Registered User
 
Join Date: Apr 2004
Posts: 595
linuxfedorafirefox
Re: Alienware M11X Thread

Yuk. I don't like either suggestion. Couldn't the acpi_call.ko get modified to accommodate this?

On an unrelated note, I found another problem. Moments ago, I unplugged my machine from wired network and power to move to another desk. When I came back and plugged back in, I could not connect to the network. The light would not return on the network connection and the machine just thought the network cable was unplugged.

What would cause this?

The problem is consistent. Unplugging the network cable and plugging it back in results in loss of networking. This is really bad.

#rmmod atl1c
#insmod atl1c.ko

fixes it... but sheesh. This kernel module can't handle being unplugged? Did I just find a bug? Does anyone else have this?

Last edited by erroneus; 27th September 2010 at 09:30 PM.
Reply With Quote
  #38  
Old 27th September 2010, 11:13 PM
docdrow Offline
Registered User
 
Join Date: Apr 2007
Location: Cincinnati
Age: 42
Posts: 59
linuxchrome
Re: Alienware M11X Thread

I'm toying with a hacked acpi_call.c rigtht now Stay tuned...
Reply With Quote
  #39  
Old 28th September 2010, 05:52 AM
docdrow Offline
Registered User
 
Join Date: Apr 2007
Location: Cincinnati
Age: 42
Posts: 59
linuxchrome
Re: Alienware M11X Thread

Experiment with this for me guys.. I took acpi_call.c and made a test/hack to call NVOP ACPI method first, then PS3 second. I spent more time than I care to admit looking at the ACPI Spec (section 18), and trying to understand what options to pass to NVOP.

Looks like I got lucky

Just take this m11xr2hack.c and replace your acpi_call.c (or add m11xr2hack.c to the Makefile)

build it, and insmod it.. Thats it.. My battery usage dropped from 17000 mW to about 13000 mW.

Let em know if you have any luck. I'm going to experiment with NVOP and turning the GPU on, and see if I can get nouveau working.

_G
Attached Files
File Type: txt m11xr2hack.txt (2.7 KB, 275 views)
Reply With Quote
  #40  
Old 28th September 2010, 08:15 AM
erroneus Offline
Registered User
 
Join Date: Apr 2004
Posts: 595
linuxfedorafirefox
Re: Alienware M11X Thread

I will get to this first thing when I get into the office this morning. You, sir, are a god compared to me. I am humbled and humiliated in your presence. Now let's see if I can figure out how to add this to the make file on my own. Could this be an exception for once where a Fedora user will win the race before an Ubuntu user?
Reply With Quote
  #41  
Old 28th September 2010, 10:44 AM
fedcb22 Offline
Registered User
 
Join Date: Sep 2010
Posts: 4
linuxepiphany
Re: Alienware M11X Thread

Quote:
Originally Posted by docdrow View Post
Experiment with this for me guys.. I took acpi_call.c and made a test/hack to call NVOP ACPI method first, then PS3 second. I spent more time than I care to admit looking at the ACPI Spec (section 18), and trying to understand what options to pass to NVOP.

Looks like I got lucky

Just take this m11xr2hack.c and replace your acpi_call.c (or add m11xr2hack.c to the Makefile)

build it, and insmod it.. Thats it.. My battery usage dropped from 17000 mW to about 13000 mW.

Let em know if you have any luck. I'm going to experiment with NVOP and turning the GPU on, and see if I can get nouveau working.

_G
Great work! This is far more elegant than my hacked up override method. As for using the Nvidia, I'm not sure how easy that's going to be. The Nvidia card is connected to the Intel GPU, not to the screen directly. AFAIK some work was being done on this (See the PRIME project), but that was to do with an ATI card.

On the other hand, I don't see why it wouldn't be possible to use the Nvidia card for CUDA and the like.
Reply With Quote
  #42  
Old 28th September 2010, 10:49 AM
evad Offline
Registered User
 
Join Date: Dec 2004
Location: London, UK / Zielona Góra, PL
Age: 33
Posts: 47
linuxchrome
Re: Alienware M11X Thread

Quote:
Originally Posted by docdrow View Post
Experiment with this for me guys.. I took acpi_call.c and made a test/hack to call NVOP ACPI method first, then PS3 second. I spent more time than I care to admit looking at the ACPI Spec (section 18), and trying to understand what options to pass to NVOP.

Looks like I got lucky :)

Just take this m11xr2hack.c and replace your acpi_call.c (or add m11xr2hack.c to the Makefile)

build it, and insmod it.. Thats it.. My battery usage dropped from 17000 mW to about 13000 mW.
Hmm, make fails for me (after replacing original acpi_call.c from linux-hybrid-graphics with your file):

Code:
[root@v3300 acpi_call]# make
make -C /lib/modules/2.6.34.7-56.fc13.i686.PAE/build M=/home/adl/Downloads/acpi_call modules
make[1]: Entering directory `/usr/src/kernels/2.6.34.7-56.fc13.i686.PAE'
  CC [M]  /home/adl/Downloads/acpi_call/acpi_call.o
/home/adl/Downloads/acpi_call/acpi_call.c: In function ‘do_acpi_call’:
/home/adl/Downloads/acpi_call/acpi_call.c:48: error: ‘meh’ undeclared (first use in this function)
/home/adl/Downloads/acpi_call/acpi_call.c:48: error: (Each undeclared identifier is reported only once
/home/adl/Downloads/acpi_call/acpi_call.c:48: error: for each function it appears in.)
/home/adl/Downloads/acpi_call/acpi_call.c:20: warning: unused variable ‘hack’
make[2]: *** [/home/adl/Downloads/acpi_call/acpi_call.o] Error 1
make[1]: *** [_module_/home/adl/Downloads/acpi_call] Error 2
make[1]: Leaving directory `/usr/src/kernels/2.6.34.7-56.fc13.i686.PAE'
make: *** [default] Error 2
Btw, I have Dell Vostro 3300 with Optimus Intel+nVidia combo, whereas I'm very interested to get only nVidia running, so I greatly appreciate your effort and findings, and waiting for the case to evolve! :)
__________________
Dawid 'evad' Lorenz
Reply With Quote
  #43  
Old 28th September 2010, 10:59 AM
erroneus Offline
Registered User
 
Join Date: Apr 2004
Posts: 595
linuxfedorafirefox
Re: Alienware M11X Thread

Quote:
Originally Posted by evad View Post
Btw, I have Dell Vostro 3300 with Optimus Intel+nVidia combo, whereas I'm very interested to get only nVidia running, so I greatly appreciate your effort and findings, and waiting for the case to evolve!
As I understand it, the Intel part is the one with the direct connection to video. So at the very least, the Intel part needs to be set up to do some sort of pass-through mode. I may need to pay closer attention to what is going on but from what I have heard, even on the Windows side making full use of the nVidia GPU is not easily done. One person with a machine similar to mine (M11x R2) says he was playing one of the games he plays and didn't get much improvement in game play performance at all that he could tell. I think part of the problem was that he is running 64 bit Windows while running a 32 bit game. But as you can see, challenges are all around.

Ultimately what will need to happen is that Intel needs to share with the world what it has done. It will be an Intel driver update that will enable all other things to happen I think.
Reply With Quote
  #44  
Old 28th September 2010, 11:05 AM
MrMEEE Offline
Registered User
 
Join Date: Sep 2010
Posts: 1
linuxubuntufirefox
Re: Alienware M11X Thread

Quote:
Originally Posted by fedcb22 View Post
Good news everyone! It looks like I've gotten disabling that power-gobbling Nvidia card to work

Code:
# cat /proc/acpi/battery/BAT1/state
present:                 yes
capacity state:          ok
charging state:          discharging
present rate:            21925 mW
remaining capacity:      65930 mWh
present voltage:         16473 mV
# cat dd/test.aml >> /sys/kernel/debug/acpi/custom_method 
# insmod acpi_call/acpi_call.ko
# echo '\_SB.PCI0.P0P2.PEGP._PS3' > /proc/acpi/call
<Wait a bit for the results to settle>
# cat /proc/acpi/battery/BAT1/state
present:                 yes
capacity state:          ok
charging state:          discharging
present rate:            15459 mW
remaining capacity:      64790 mWh
present voltage:         16446 mV
Looks like a ~6500mW decrease in power consumption to me
I'll post a howto in a sec.

---------- Post added at 03:41 PM CDT ---------- Previous post was at 03:35 PM CDT ----------

And the how-to:
Create a file called override.asl with the following contents:
Code:
DefinitionBlock ("", "SSDT", 1, "", "", 0x20080715)
{
External (P80H)
External (SETF)
External (LNKD)
External (RLNK)
External (\_SB.PCI0.P0P2.PEGP.OMPR)
External (\_SB.PCI0.P0P2.PEGP.VGAB)
External (\_SB.PCI0.P0P2.PEGP.PO16)
External (\_SB.PCI0.P0P2.PEGP.PO36)
External (DGOS)
External (_PSC)
External (\_SB.PCI0.P0P2.VGAR)

        Method (\_SB.PCI0.P0P2.PEGP._PS3, 0, NotSerialized)
        {
            Store (0x03, P80H)
            Store ("NVGA_PS3_STR", Debug)
            //If (LEqual (\_SB.PCI0.P0P2.PEGP.OMPR, 0x03))
            //{
                Store (\_SB.PCI0.P0P2.VGAR, \_SB.PCI0.P0P2.PEGP.VGAB)
                Store (One, SETF)
                Store (One, LNKD)
                Store (One, RLNK)
                If (Ones)
                {
                    Store (Zero, \_SB.PCI0.P0P2.PEGP.PO16)
                }
                Else
                {
                    Store (One, \_SB.PCI0.P0P2.PEGP.PO16)
                }

                If (Ones)
                {
                    Store (Zero, \_SB.PCI0.P0P2.PEGP.PO36)
                }
                Else
                {
                    Store (One, \_SB.PCI0.P0P2.PEGP.PO36)
                }

                Store (One, DGOS)
                Store (0x02, \_SB.PCI0.P0P2.PEGP.OMPR)
            //}

            Store (0x03, _PSC)
        }
}
Use iasl to compile this down to bytecode
Code:
# iasl override.asl
This will give you override.aml. Mount debugfs
Code:
# mount -t debugfs none /sys/kernel/debugfs
And insert out custom method
Code:
# override.aml >> /sys/kernel/debug/acpi/custom_method
Finally make sure acpi_call is loaded, and call the _PS3 function
Code:
# echo '\_SB.PCI0.P0P2.PEGP._PS3' > /proc/acpi/call
I've gone by memory here, so let me know if any of the steps don't work...

Hi..

# mount -t debugfs none /sys/kernel/debugfs

should be changed to:

# mount -t debugfs none /sys/kernel/debug

and

# override.aml >> /sys/kernel/debug/acpi/custom_method

to

# cat override.aml >> /sys/kernel/debug/acpi/custom_method


Also.. the standard acpi_call module should be installed:

<code>
git clone http://github.com/mkottman/acpi_call.git

cd acpi_call

make

sudo insmod acpi_call.ko
</code>
Reply With Quote
  #45  
Old 28th September 2010, 03:48 PM
docdrow Offline
Registered User
 
Join Date: Apr 2007
Location: Cincinnati
Age: 42
Posts: 59
linuxchrome
Re: Alienware M11X Thread

Sorry, I had a typo in mine. No need for that debug kernel now guys! Here ya go.

In /etc/rc.d/rc.local put:
Code:
echo 0 >/sys/bus/pci/devices/0000:01:00.0/enable
echo 1 >/sys/bus/pci/devices/0000:01:00.0/remove
/sbin/insmod /usr/local/lib/m11xr2hack.ko
/sbin/rmmod /usr/local/lib/m11xr2hack.ko
Make sure you blacklist nouveau:

Code:
echo blacklist nouveau >/etc/modprobe.d/blacklist-nouveau.conf
And rebuild your initrd after placing that blacklist file in modprobe.d:

Code:
/sbin/new-kernel-pkg --package kernel --mkinitrd --dracut --depmod --install $(uname -r)
And finally, build this hack module You'll have to do this everytime you update your kernel:

Code:
make clean
make
mv m11xr2hack.ko /usr/local/lib
chmod 0400 /usr/local/lib/m11xr2hack.ko
See attached Makefile and m11xr2hack.c

-George
Attached Files
File Type: txt m11xr2hack-dot-c.txt (2.8 KB, 2138 views)
File Type: txt Makefile.txt (178 Bytes, 1295 views)

Last edited by docdrow; 28th September 2010 at 10:20 PM.
Reply With Quote
Reply

Tags
alienware, m11x, thread

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
AlienWare M17x problems on fedora 11 osaka kawazaki Hardware & Laptops 11 14th January 2011 07:04 AM
Can't change brigthness on M11X laptop BinStar Hardware & Laptops 5 4th October 2010 12:10 PM
No sound post install on Alienware M11x. nubsquad Hardware & Laptops 1 7th September 2010 08:30 PM
FC5 on Alienware 7700 Odogg Hardware & Laptops 1 25th April 2006 04:52 AM
Alienware de4dboy Hardware & Laptops 13 7th December 2005 04:52 PM


Current GMT-time: 12:02 (Tuesday, 21-10-2014)

TopSubscribe to XML RSS for all Threads in all ForumsFedoraForumDotOrg Archive
logo

All trademarks, and forum posts in this site are property of their respective owner(s).
FedoraForum.org is privately owned and is not directly sponsored by the Fedora Project or Red Hat, Inc.

Privacy Policy | Term of Use | Posting Guidelines | Archive | Contact Us | Founding Members

Powered by vBulletin® Copyright ©2000 - 2012, vBulletin Solutions, Inc.

FedoraForum is Powered by RedHat
Smila Instagram Photos - Sanawad - Kuje Travel Photos