← Back to team overview

hybrid-graphics-linux team mailing list archive

Re: Possibility for switching Hardware MUX

 

Hi Michael,

On Sunday 07 October 2012 15:00:36 Michael wrote:
> Attached you can find the acpi dump raw files for switchable and 
> discrete mode.
The tables are very similar except for some addresses. The attachment was 
created with:
diff -NurI Disassembly dis swi > tables.diff

> There are only those two modes available on this 
> notebook. Disabling the nvidia card in bios seems impossible, however, I 
> succeeded doing that using ACPI \_SB.PCI0.PEG0.PEGP._OFF, which leads to 
> a reduction of measured AC input power of approx. 15 Watts. Seems to 
> cause no serious issues so far. Reenabling also works.
When using Optimus, you can use bbswitch [1] in order to turn the device off. 
This will also work after suspend/resume.

> It would really be great to just find out how to switch this 
> multiplexer. I need that, because I have two different working purposes 
> for the notebook
I cannot find an easy way to switch at first sight. Besides, I do not know how 
the mux is actually implemented. For now you need to switch it in the BIOS I 
am afraid for an optimal experience. A possible alternative is setting it to 
use Optimus mode and start an X server on the nvidia GPU to allow for using 
the external monitors.

Regards,
Peter

 [1]: https://github.com/Bumblebee-Project/bbswitch
Binary files dis/dsdt.dat and swi/dsdt.dat differ
diff -NurI Disassembly dis/dsdt.dsl swi/dsdt.dsl
--- dis/dsdt.dsl	2012-10-07 23:12:15.851413438 +0200
+++ swi/dsdt.dsl	2012-10-07 23:12:57.763951676 +0200
@@ -9,7 +9,7 @@
  *     Signature        "DSDT"
  *     Length           0x0000F6BB (63163)
  *     Revision         0x02
- *     Checksum         0x28
+ *     Checksum         0x8C
  *     OEM ID           "ACRSYS"
  *     OEM Table ID     "IVB-CPT"
  *     OEM Revision     0x00000000 (0)
@@ -151,7 +151,7 @@
     Name (PDBR, 0x4D)
     Name (DPPB, 0xFED98000)
     Name (DPPL, 0x8000)
-    OperationRegion (GNVS, SystemMemory, 0xDF77DE18, 0x01C8)
+    OperationRegion (GNVS, SystemMemory, 0xC6F7DE18, 0x01C8)
     Field (GNVS, AnyAcc, Lock, Preserve)
     {
         OSYS,   16, 
@@ -3396,7 +3396,7 @@
                     }
                 }
 
-                OperationRegion (TPMF, SystemMemory, 0xDF76BF98, 0x0004)
+                OperationRegion (TPMF, SystemMemory, 0xC6F6BF98, 0x0004)
                 Field (TPMF, AnyAcc, Lock, Preserve)
                 {
                     PPIP,   8, 
@@ -8252,7 +8252,7 @@
 
     Scope (\)
     {
-        OperationRegion (CNVS, SystemMemory, 0xDF79E018, 0x00000800)
+        OperationRegion (CNVS, SystemMemory, 0xC6F9E018, 0x00000800)
         Field (CNVS, AnyAcc, Lock, Preserve)
         {
             SFUN,   8, 
@@ -8365,7 +8365,7 @@
             Return (Local0)
         }
 
-        OperationRegion (PNVS, SystemMemory, 0xDF765A98, 0x030F)
+        OperationRegion (PNVS, SystemMemory, 0xC6F65A98, 0x030F)
         Field (PNVS, AnyAcc, Lock, Preserve)
         {
             WCMD,   8, 
Binary files dis/ssdt3.dat and swi/ssdt3.dat differ
diff -NurI Disassembly dis/ssdt3.dsl swi/ssdt3.dsl
--- dis/ssdt3.dsl	2012-10-07 23:12:15.859413541 +0200
+++ swi/ssdt3.dsl	2012-10-07 23:12:57.771951780 +0200
@@ -9,7 +9,7 @@
  *     Signature        "SSDT"
  *     Length           0x00000A92 (2706)
  *     Revision         0x01
- *     Checksum         0xD0
+ *     Checksum         0xCC
  *     OEM ID           "PmRef"
  *     OEM Table ID     "CpuPm"
  *     OEM Revision     0x00003000 (12288)
@@ -34,16 +34,16 @@
         Name (SSDT, Package (0x0C)
         {
             "CPU0IST ", 
-            0xCFE7E018, 
+            0xB767E018, 
             0x00000860, 
             "APIST   ", 
-            0xDF65BA98, 
+            0xC6E5BA98, 
             0x00000303, 
             "CPU0CST ", 
-            0xDF65A018, 
+            0xC6E5A018, 
             0x0000083B, 
             "APCST   ", 
-            0xDF659D98, 
+            0xC6E59D98, 
             0x00000119
         })
         Name (CFGD, 0x0066F6FF)
@@ -60,7 +60,7 @@
 
     Scope (\_PR)
     {
-        OperationRegion (PPMT, SystemMemory, 0xDF76BF18, 0x0029)
+        OperationRegion (PPMT, SystemMemory, 0xC6F6BF18, 0x0029)
         Field (PPMT, AnyAcc, Lock, Preserve)
         {
             PGRV,   8, 

References