Si je modifie le switch, rien ne se passe, que ce soit avec
tail -f /var/log/messages
ou
dmesg
.
Bon, alors refait les mêmes commandes après avoir démarré avec l'option "debug" à la fin de la ligne "kernel". Si t'as toujours rien, tu utilises l'artillerie lourde et tu mets "noapic acpi=off irqpoll" comme options (c'est pas dangereux, mais je pense que c'est peut-être une connerie de mettre irqpoll et nopic en même temps), et tu regardes si Linux désinitialise le switch à l'arrêt.
Yes, tu as trouvé l'os ! :-D

L'option "debug" ne me fournit rien. Lorsque je modifie le switch à l'exécution, ça ne fait rien, quelles que soient les options (debug, noacpi, noapic, acpi=off, irqpoll ...).

Par contre, si j'active le switch en passant par windows xp, puis que je redémarre sur linux en passant les options du noyau noacpi, noapic, acpi=off et irqpoll, rien de nouveau, si ce n'est qu'au redémarrage, linux n'a pas désinitialisé le switch qui est toujours allumé ! :-D
En fait, il me suffit d'utiliser l'option acpi=off pour que le switch ne soit pas désinitialisé.

Par contre, si je modifie la position du switch, au démarrage, le LED n'a pas changé. Et au final, la carte graphique n'a pas été modifiée (si j'étais sur nvidia, ça reste nvidia).
Donc ça permet de pouvoir passer indéfiniment sur linux sur la carte définie au redémarrage après win xp, mais il faut repasser sur windows pour changer la carte choisie... :-?

Au moins tu as vu juste. C'est l'ACPI qui cause la désinitialisation du switch. Mais est-ce embêtant d'utiliser acpi=off de manière courrante ? Que cela implique-t-il ?

Dans tous les cas, c'est toujours trop contraignant, il faudrait au moins pouvoir modifier la carte graphique au démarrage sans passer par windows xp.
Merci déjà, c'est un bon pas en avant. 🙂

Edit : si je force la fermeture via le bouton on/off, bas au redémarrage, le switch reste ok, mais il ne se modifie pas.
En même temps, c'était un peu prévisible que ce soit l'ACPI. Par contre, en mettant "acpi=off", tu perds tout ce qui est gestion de l'énergie, pas très cool sur un portable. De manière a avoir un effet un peu moins global sur le système, teste avec "pci=noacpi" ou "pnpacpi=off" à la place de "acpi=off"

Je pense plus ou moins avoir trouvé une solution grâce au site Less Watt (merci Intel). À partir cette page (tout à la fin), sans option relative à l'acpi au boot, tu effectues les 3 premières étapes de "How to Build a custom DSDT into the kernel" et tu colles ici le fichier "DSDT.dsl".
OK, pour les tests d'options, je ferait ça demain (ou plutôt aujourd'hui ...).
Pour le fichier DSDT.dsl, vu sa taille, je l'ai uploadé sur un serveur :

http://projects.wox-xion.ch/intern/vaio-z11/acpi/DSDT-02.01.2009_01.dsl

Edit : j'avoue ne pas comprendre ce qui est contenu dans ce fichier (va falloir que je lise les docs du site que tu as proposé), mais les passages tel que :
Name (_HID, EisaId ("PNP0A08"))
            Name (_CID, 0x030AD041)
            Name (_ADR, Zero)
            Method (_INI, 0, NotSerialized)
            {
                Store (One, GPO9)
                Store (0x07D0, OSYS)
                If (CondRefOf (_OSI, Local0))
                {
                    If (_OSI ("Linux"))
                    {
                        Store (0x03E8, OSYS)
                    }

                    If (_OSI ("Windows 2001"))
                    {
                        Store (0x07D1, OSYS)
                    }

                    If (_OSI ("Windows 2001 SP1"))
                    {
                        Store (0x07D1, OSYS)
                    }

                    If (_OSI ("Windows 2001 SP2"))
                    {
                        Store (0x07D2, OSYS)
                    }

                    If (_OSI ("Windows 2006"))
                    {
                        Store (0x07D6, OSYS)
                    }
                }

                HGWH (0x05)
            }
Je les aime bien. Ou plutôt, ça ressemble à des choses qui peuvent intéresser vu le contexte. 🙂

Edit 2 : ça vaut la peine que je fasse la manip pour chaque situation ? (switch nvidia, switch intel, switch off) pour faire un diff des versions et peut-être voir les données qui changent ? (todo, but tomorrow)
Resalut.
Pour information supplémentaire donc...
Ni pnpacpi=off ni pci=noacpi ne fonctionnent : le switch est quand même désinitialisé.

Ajout : j'ai refait la manipulation DSDT pour chaque cas (NVIDIA, INTEL et NOTHING) en vérifiant si ça se modifiait après un démarrage avec windows (1st ou 2nd).
Quelques exemples :
- nvidia (2nd) : http://projects.wox-xion.ch/intern/vaio-z11/acpi/nvidia/DSDT-02.01.2009_02.dsl (voir post précédent pour 1st)
- intel (1st) : http://projects.wox-xion.ch/intern/vaio-z11/acpi/intel/DSDT-02.01.2009_01.dsl
- nothing (1st) : http://projects.wox-xion.ch/intern/vaio-z11/acpi/nothing/DSDT-02.01.2009_01.dsl
- nothing (2nd) : http://projects.wox-xion.ch/intern/vaio-z11/acpi/nothing/DSDT-02.01.2009_02.dsl

Si on fait un diff, on remarque que - mis à part le header commenté où est inscrit la date - les seuls changements sont entre la version NVIDIA et celles INTEL/NOTHING.
Si on redémarre avec windows, ça ne change rien (nvidia 1 et nvidia 2 sont les mêmes à la date près).
Le diff (nvidia - intel) :
5c5
<  * Disassembly of DSDT.cat, Fri Jan  2 17:23:07 2009
---
>  * Disassembly of DSDT.cat, Fri Jan  2 17:35:02 2009
140c140
<     OperationRegion (MBOX, SystemMemory, 0xBBCBEC18, 0x000002BC)
---
>     OperationRegion (MBOX, SystemMemory, 0xBFEBEC18, 0x000002BC)
557c557
<     OperationRegion (NVST, SystemMemory, 0xBBCBEED4, 0x000000D8)
---
>     OperationRegion (NVST, SystemMemory, 0xBFEBEED4, 0x000000D8)
Les versions INTEL et NOTHING (aucun led) sont identiques (à la date près).
Bon, puisque ni pnpacpi=off ni pci=noacpi ne fonctionne, utilise acpi=ht, celui là devrait fonctionner.

Pour le fichier DSDT, ça peut être intéressant quand j'aurais trouvé l'équivalent d'un manuel :-D Le diff par contre donne des informations un peu mystérieuse ; peut-être l'activation de la mémoire de carte Nvidia où quelque chose dans le genre ...

Par contre, dans le même genre de diff, pourrais tu également le faire avec les commandes dmidecode et lspci -vv.
Pour acpi=ht, ça fonctionne : le switch n'est pas désinitialisé, mais je ne peux pas le modifier (si je le modifie, le led ne change pas, même après reboot).

Pour lspci -vv et dmidecode, voici les résultats respectifs :
- nvidia :
http://projects.wox-xion.ch/intern/vaio-z11/acpi/nvidia/lspcivv-02.01.2009_01
http://projects.wox-xion.ch/intern/vaio-z11/acpi/nvidia/dmidecode-02.01.2009_01
- intel :
http://projects.wox-xion.ch/intern/vaio-z11/acpi/intel/lspcivv-02.01.2009_01
http://projects.wox-xion.ch/intern/vaio-z11/acpi/intel/dmidecode-02.01.2009_01
- nothing :
http://projects.wox-xion.ch/intern/vaio-z11/acpi/nothing/lspcivv-02.01.2009_01
http://projects.wox-xion.ch/intern/vaio-z11/acpi/nothing/dmidecode-02.01.2009_01

Et le diff est plus verbeux :
# diff nvidia intel
diff nvidia/lspcivv-02.01.2009_01 intel/lspcivv-02.01.2009_01
6a7
>     Kernel driver in use: agpgart-intel
8c9,10
< 00:01.0 PCI bridge: Intel Corporation Cantiga PCI Express Graphics Port (rev 07) (prog-if 00 [Normal decode])
---
> 00:02.0 VGA compatible controller: Intel Corporation Cantiga Integrated Graphics Controller (rev 07) (prog-if 00 [VGA controller])
>     Subsystem: Sony Corporation Device 9025
10c12
<     Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
---
>     Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
12,22c14,17
<     Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
<     I/O behind bridge: 00007000-00007fff
<     Memory behind bridge: d2000000-d4ffffff
<     Prefetchable memory behind bridge: 00000000c0000000-00000000cfffffff
<     Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
<     BridgeCtl: Parity- SERR- NoISA- VGA+ MAbort- >Reset- FastB2B-
<         PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
<     Capabilities: [88] Subsystem: Sony Corporation Device 9025
<     Capabilities: [80] Power Management version 3
<         Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
<         Status: D0 PME-Enable- DSel=0 DScale=0 PME-
---
>     Interrupt: pin A routed to IRQ 16
>     Region 0: Memory at d4400000 (64-bit, non-prefetchable) [size=4M]
>     Region 2: Memory at c0000000 (64-bit, prefetchable) [size=256M]
>     Region 4: I/O ports at 7130 [size=8]
25,48c20,32
<     Capabilities: [a0] Express (v1) Root Port (Slot+), MSI 00
<         DevCap:    MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
<             ExtTag- RBE+ FLReset-
<         DevCtl:    Report errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+
<             RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
<             MaxPayload 128 bytes, MaxReadReq 128 bytes
<         DevSta:    CorrErr+ UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
<         LnkCap:    Port #2, Speed 2.5GT/s, Width x16, ASPM L0s L1, Latency L0 <256ns, L1 <4us
<             ClockPM- Suprise- LLActRep- BwNot-
<         LnkCtl:    ASPM L0s L1 Enabled; RCB 64 bytes Disabled- Retrain- CommClk+
<             ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
<         LnkSta:    Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
<         SltCap:    AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug+ Surpise-
<             Slot #  1, PowerLimit 75.000000; Interlock- NoCompl+
<         SltCtl:    Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-
<             Control: AttnInd Off, PwrInd On, Power- Interlock-
<         SltSta:    Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-
<             Changed: MRL- PresDet+ LinkState-
<         RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-
<         RootCap: CRSVisible-
<         RootSta: PME ReqID 0000, PMEStatus- PMEPending-
<     Capabilities: [100] Virtual Channel <?>
<     Capabilities: [140] Root Complex Link <?>
<     Kernel driver in use: pcieport-driver
---
>     Capabilities: [d0] Power Management version 3
>         Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
>         Status: D0 PME-Enable- DSel=0 DScale=0 PME-
> 
> 00:02.1 Display controller: Intel Corporation Cantiga Integrated Graphics Controller (rev 07)
>     Subsystem: Sony Corporation Device 9025
>     Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
>     Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
>     Latency: 0
>     Region 0: Memory at d7800000 (64-bit, non-prefetchable) [size=1M]
>     Capabilities: [d0] Power Management version 3
>         Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
>         Status: D0 PME-Enable- DSel=0 DScale=0 PME-
56,58c40,42
<     Region 0: Memory at de200000 (32-bit, non-prefetchable) [size=128K]
<     Region 1: Memory at de224000 (32-bit, non-prefetchable) [size=4K]
<     Region 2: I/O ports at 8100 [size=32]
---
>     Region 0: Memory at daa00000 (32-bit, non-prefetchable) [size=128K]
>     Region 1: Memory at daa24000 (32-bit, non-prefetchable) [size=4K]
>     Region 2: I/O ports at 7100 [size=32]
74c58
<     Region 4: I/O ports at 80e0 [size=32]
---
>     Region 4: I/O ports at 70e0 [size=32]
84c68
<     Region 4: I/O ports at 80c0 [size=32]
---
>     Region 4: I/O ports at 70c0 [size=32]
94c78
<     Region 4: I/O ports at 80a0 [size=32]
---
>     Region 4: I/O ports at 70a0 [size=32]
104c88
<     Region 0: Memory at de225c00 (32-bit, non-prefetchable) [size=1K]
---
>     Region 0: Memory at daa25c00 (32-bit, non-prefetchable) [size=1K]
118c102
<     Region 0: Memory at de220000 (64-bit, non-prefetchable) [size=16K]
---
>     Region 0: Memory at daa20000 (64-bit, non-prefetchable) [size=16K]
147,148c131,132
<     Memory behind bridge: dd200000-de1fffff
<     Prefetchable memory behind bridge: 00000000d8100000-00000000d90fffff
---
>     Memory behind bridge: d9a00000-da9fffff
>     Prefetchable memory behind bridge: 00000000d4800000-00000000d57fffff
189,190c173,174
<     Memory behind bridge: dc100000-dd1fffff
<     Prefetchable memory behind bridge: 00000000d9100000-00000000da0fffff
---
>     Memory behind bridge: d8900000-d99fffff
>     Prefetchable memory behind bridge: 00000000d5800000-00000000d67fffff
231,232c215,216
<     Memory behind bridge: db100000-dc0fffff
<     Prefetchable memory behind bridge: 00000000da100000-00000000db0fffff
---
>     Memory behind bridge: d7900000-d88fffff
>     Prefetchable memory behind bridge: 00000000d6800000-00000000d77fffff
273c257
<     Region 4: I/O ports at 8080 [size=32]
---
>     Region 4: I/O ports at 7080 [size=32]
283c267
<     Region 4: I/O ports at 8060 [size=32]
---
>     Region 4: I/O ports at 7060 [size=32]
293c277
<     Region 4: I/O ports at 8040 [size=32]
---
>     Region 4: I/O ports at 7040 [size=32]
303c287
<     Region 0: Memory at de225800 (32-bit, non-prefetchable) [size=1K]
---
>     Region 0: Memory at daa25800 (32-bit, non-prefetchable) [size=1K]
317c301
<     Memory behind bridge: d6000000-d80fffff
---
>     Memory behind bridge: d2000000-d40fffff
337,342c321,326
<     Region 0: I/O ports at 8128 [size=8]
<     Region 1: I/O ports at 8134 [size=4]
<     Region 2: I/O ports at 8120 [size=8]
<     Region 3: I/O ports at 8130 [size=4]
<     Region 4: I/O ports at 8020 [size=32]
<     Region 5: Memory at de225000 (32-bit, non-prefetchable) [size=2K]
---
>     Region 0: I/O ports at 7128 [size=8]
>     Region 1: I/O ports at 713c [size=4]
>     Region 2: I/O ports at 7120 [size=8]
>     Region 3: I/O ports at 7138 [size=4]
>     Region 4: I/O ports at 7020 [size=32]
>     Region 5: Memory at daa25000 (32-bit, non-prefetchable) [size=2K]
357,358c341,342
<     Region 0: Memory at de226000 (64-bit, non-prefetchable) [size=256]
<     Region 4: I/O ports at 8000 [size=32]
---
>     Region 0: Memory at daa26000 (64-bit, non-prefetchable) [size=256]
>     Region 4: I/O ports at 7000 [size=32]
362,400d345
< 01:00.0 VGA compatible controller: nVidia Corporation Device 06e5 (rev a1) (prog-if 00 [VGA controller])
<     Subsystem: Sony Corporation Device 9025
<     Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
<     Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
<     Latency: 0
<     Interrupt: pin A routed to IRQ 16
<     Region 0: Memory at d4000000 (32-bit, non-prefetchable) [size=16M]
<     Region 1: Memory at c0000000 (64-bit, prefetchable) [size=256M]
<     Region 3: Memory at d2000000 (64-bit, non-prefetchable) [size=32M]
<     Region 5: I/O ports at 7000 [size=128]
<     Capabilities: [60] Power Management version 3
<         Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
<         Status: D0 PME-Enable- DSel=0 DScale=0 PME-
<     Capabilities: [68] Message Signalled Interrupts: Mask- 64bit+ Count=1/1 Enable-
<         Address: 0000000000000000  Data: 0000
<     Capabilities: [78] Express (v2) Endpoint, MSI 00
<         DevCap:    MaxPayload 128 bytes, PhantFunc 0, Latency L0s <256ns, L1 <4us
<             ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
<         DevCtl:    Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
<             RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
<             MaxPayload 128 bytes, MaxReadReq 512 bytes
<         DevSta:    CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
<         LnkCap:    Port #0, Speed 5GT/s, Width x16, ASPM L0s L1, Latency L0 <256ns, L1 <1us
<             ClockPM- Suprise- LLActRep- BwNot-
<         LnkCtl:    ASPM L0s L1 Enabled; RCB 128 bytes Disabled- Retrain- CommClk+
<             ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
<         LnkSta:    Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
<         DevCap2: Completion Timeout: Not Supported, TimeoutDis+
<         DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-
<         LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB
<              Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
<              Compliance De-emphasis: -6dB
<         LnkSta2: Current De-emphasis Level: -6dB
<     Capabilities: [100] Virtual Channel <?>
<     Capabilities: [128] Power Budgeting <?>
<     Capabilities: [600] Vendor Specific Information <?>
<     Kernel driver in use: nvidia
<     Kernel modules: nvidiafb, nvidia
< 
407c352
<     Region 0: Memory at dc100000 (64-bit, non-prefetchable) [size=8K]
---
>     Region 0: Memory at d8900000 (64-bit, non-prefetchable) [size=8K]
442c387
<     Region 0: Memory at d8000000 (32-bit, non-prefetchable) [size=4K]
---
>     Region 0: Memory at d4000000 (32-bit, non-prefetchable) [size=4K]
444,445c389,390
<     Memory window 0: e0000000-e3fff000 (prefetchable)
<     Memory window 1: e4000000-e7fff000
---
>     Memory window 0: dc000000-dffff000 (prefetchable)
>     Memory window 1: e0000000-e3fff000
459c404
<     Region 0: Memory at d8001000 (32-bit, non-prefetchable) [size=2K]
---
>     Region 0: Memory at d4001000 (32-bit, non-prefetchable) [size=2K]
472c417
<     Region 0: Memory at d8001900 (32-bit, non-prefetchable) [size=256]
---
>     Region 0: Memory at d4001900 (32-bit, non-prefetchable) [size=256]
485c430
<     Region 0: Memory at d8001800 (32-bit, non-prefetchable) [size=256]
---
>     Region 0: Memory at d4001800 (32-bit, non-prefetchable) [size=256]
# diff intel nothing
diff intel/lspcivv-02.01.2009_01 nothing/lspcivv-02.01.2009_01
9,10c9
< 00:02.0 VGA compatible controller: Intel Corporation Cantiga Integrated Graphics Controller (rev 07) (prog-if 00 [VGA controller])
<     Subsystem: Sony Corporation Device 9025
---
> 00:01.0 PCI bridge: Intel Corporation Cantiga PCI Express Graphics Port (rev 07) (prog-if 00 [Normal decode])
12c11
<     Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
---
>     Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
14,17c13,23
<     Interrupt: pin A routed to IRQ 16
<     Region 0: Memory at d4400000 (64-bit, non-prefetchable) [size=4M]
<     Region 2: Memory at c0000000 (64-bit, prefetchable) [size=256M]
<     Region 4: I/O ports at 7130 [size=8]
---
>     Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
>     I/O behind bridge: 00007000-00007fff
>     Memory behind bridge: e2000000-e4ffffff
>     Prefetchable memory behind bridge: 00000000c0000000-00000000cfffffff
>     Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
>     BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
>         PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
>     Capabilities: [88] Subsystem: Sony Corporation Device 9025
>     Capabilities: [80] Power Management version 3
>         Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
>         Status: D0 PME-Enable- DSel=0 DScale=0 PME-
20,22c26,49
<     Capabilities: [d0] Power Management version 3
<         Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
<         Status: D0 PME-Enable- DSel=0 DScale=0 PME-
---
>     Capabilities: [a0] Express (v1) Root Port (Slot+), MSI 00
>         DevCap:    MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
>             ExtTag- RBE+ FLReset-
>         DevCtl:    Report errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+
>             RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
>             MaxPayload 128 bytes, MaxReadReq 128 bytes
>         DevSta:    CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
>         LnkCap:    Port #2, Speed 2.5GT/s, Width x16, ASPM L0s L1, Latency L0 <256ns, L1 <4us
>             ClockPM- Suprise- LLActRep- BwNot-
>         LnkCtl:    ASPM L0s L1 Enabled; RCB 64 bytes Disabled- Retrain- CommClk+
>             ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
>         LnkSta:    Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
>         SltCap:    AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug+ Surpise-
>             Slot #  1, PowerLimit 75.000000; Interlock- NoCompl+
>         SltCtl:    Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-
>             Control: AttnInd Off, PwrInd On, Power- Interlock-
>         SltSta:    Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-
>             Changed: MRL- PresDet+ LinkState-
>         RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-
>         RootCap: CRSVisible-
>         RootSta: PME ReqID 0000, PMEStatus- PMEPending-
>     Capabilities: [100] Virtual Channel <?>
>     Capabilities: [140] Root Complex Link <?>
>     Kernel driver in use: pcieport-driver
24c51
< 00:02.1 Display controller: Intel Corporation Cantiga Integrated Graphics Controller (rev 07)
---
> 00:02.0 VGA compatible controller: Intel Corporation Cantiga Integrated Graphics Controller (rev 07) (prog-if 00 [VGA controller])
29c56,61
<     Region 0: Memory at d7800000 (64-bit, non-prefetchable) [size=1M]
---
>     Interrupt: pin A routed to IRQ 10
>     Region 0: Memory at e8400000 (64-bit, non-prefetchable) [size=4M]
>     Region 2: Memory at d0000000 (64-bit, prefetchable) [size=256M]
>     Region 4: I/O ports at 8130 [size=8]
>     Capabilities: [90] Message Signalled Interrupts: Mask- 64bit- Count=1/1 Enable-
>         Address: 00000000  Data: 0000
40,42c72,74
<     Region 0: Memory at daa00000 (32-bit, non-prefetchable) [size=128K]
<     Region 1: Memory at daa24000 (32-bit, non-prefetchable) [size=4K]
<     Region 2: I/O ports at 7100 [size=32]
---
>     Region 0: Memory at ee900000 (32-bit, non-prefetchable) [size=128K]
>     Region 1: Memory at ee924000 (32-bit, non-prefetchable) [size=4K]
>     Region 2: I/O ports at 8100 [size=32]
58c90
<     Region 4: I/O ports at 70e0 [size=32]
---
>     Region 4: I/O ports at 80e0 [size=32]
68c100
<     Region 4: I/O ports at 70c0 [size=32]
---
>     Region 4: I/O ports at 80c0 [size=32]
78c110
<     Region 4: I/O ports at 70a0 [size=32]
---
>     Region 4: I/O ports at 80a0 [size=32]
88c120
<     Region 0: Memory at daa25c00 (32-bit, non-prefetchable) [size=1K]
---
>     Region 0: Memory at ee925c00 (32-bit, non-prefetchable) [size=1K]
102c134
<     Region 0: Memory at daa20000 (64-bit, non-prefetchable) [size=16K]
---
>     Region 0: Memory at ee920000 (64-bit, non-prefetchable) [size=16K]
131,132c163,164
<     Memory behind bridge: d9a00000-da9fffff
<     Prefetchable memory behind bridge: 00000000d4800000-00000000d57fffff
---
>     Memory behind bridge: ed900000-ee8fffff
>     Prefetchable memory behind bridge: 00000000e8800000-00000000e97fffff
173,174c205,206
<     Memory behind bridge: d8900000-d99fffff
<     Prefetchable memory behind bridge: 00000000d5800000-00000000d67fffff
---
>     Memory behind bridge: ec800000-ed8fffff
>     Prefetchable memory behind bridge: 00000000e9800000-00000000ea7fffff
215,216c247,248
<     Memory behind bridge: d7900000-d88fffff
<     Prefetchable memory behind bridge: 00000000d6800000-00000000d77fffff
---
>     Memory behind bridge: eb800000-ec7fffff
>     Prefetchable memory behind bridge: 00000000ea800000-00000000eb7fffff
257c289
<     Region 4: I/O ports at 7080 [size=32]
---
>     Region 4: I/O ports at 8080 [size=32]
267c299
<     Region 4: I/O ports at 7060 [size=32]
---
>     Region 4: I/O ports at 8060 [size=32]
277c309
<     Region 4: I/O ports at 7040 [size=32]
---
>     Region 4: I/O ports at 8040 [size=32]
287c319
<     Region 0: Memory at daa25800 (32-bit, non-prefetchable) [size=1K]
---
>     Region 0: Memory at ee925800 (32-bit, non-prefetchable) [size=1K]
301,302c333,334
<     Memory behind bridge: d2000000-d40fffff
<     Prefetchable memory behind bridge: 00000000d0000000-00000000d1ffffff
---
>     Memory behind bridge: e6000000-e80fffff
>     Prefetchable memory behind bridge: 00000000e0000000-00000000e1ffffff
321,326c353,358
<     Region 0: I/O ports at 7128 [size=8]
<     Region 1: I/O ports at 713c [size=4]
<     Region 2: I/O ports at 7120 [size=8]
<     Region 3: I/O ports at 7138 [size=4]
<     Region 4: I/O ports at 7020 [size=32]
<     Region 5: Memory at daa25000 (32-bit, non-prefetchable) [size=2K]
---
>     Region 0: I/O ports at 8128 [size=8]
>     Region 1: I/O ports at 813c [size=4]
>     Region 2: I/O ports at 8120 [size=8]
>     Region 3: I/O ports at 8138 [size=4]
>     Region 4: I/O ports at 8020 [size=32]
>     Region 5: Memory at ee925000 (32-bit, non-prefetchable) [size=2K]
341,342c373,374
<     Region 0: Memory at daa26000 (64-bit, non-prefetchable) [size=256]
<     Region 4: I/O ports at 7000 [size=32]
---
>     Region 0: Memory at ee926000 (64-bit, non-prefetchable) [size=256]
>     Region 4: I/O ports at 8000 [size=32]
345a378,417
> 01:00.0 VGA compatible controller: nVidia Corporation Device 06e5 (rev a1) (prog-if 00 [VGA controller])
>     Subsystem: Sony Corporation Device 9025
>     Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
>     Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
>     Latency: 0
>     Interrupt: pin A routed to IRQ 16
>     Region 0: Memory at e4000000 (32-bit, non-prefetchable) [size=16M]
>     Region 1: Memory at c0000000 (64-bit, prefetchable) [size=256M]
>     Region 3: Memory at e2000000 (64-bit, non-prefetchable) [size=32M]
>     Region 5: I/O ports at 7000 [size=128]
>     Expansion ROM at <ignored> [disabled]
>     Capabilities: [60] Power Management version 3
>         Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
>         Status: D0 PME-Enable- DSel=0 DScale=0 PME-
>     Capabilities: [68] Message Signalled Interrupts: Mask- 64bit+ Count=1/1 Enable-
>         Address: 0000000000000000  Data: 0000
>     Capabilities: [78] Express (v2) Endpoint, MSI 00
>         DevCap:    MaxPayload 128 bytes, PhantFunc 0, Latency L0s <512ns, L1 <4us
>             ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
>         DevCtl:    Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
>             RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
>             MaxPayload 128 bytes, MaxReadReq 512 bytes
>         DevSta:    CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
>         LnkCap:    Port #0, Speed 5GT/s, Width x16, ASPM L0s L1, Latency L0 <512ns, L1 <1us
>             ClockPM- Suprise- LLActRep- BwNot-
>         LnkCtl:    ASPM L0s L1 Enabled; RCB 128 bytes Disabled- Retrain- CommClk+
>             ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
>         LnkSta:    Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
>         DevCap2: Completion Timeout: Not Supported, TimeoutDis+
>         DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-
>         LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB
>              Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
>              Compliance De-emphasis: -6dB
>         LnkSta2: Current De-emphasis Level: -6dB
>     Capabilities: [100] Virtual Channel <?>
>     Capabilities: [128] Power Budgeting <?>
>     Capabilities: [600] Vendor Specific Information <?>
>     Kernel driver in use: nvidia
>     Kernel modules: nvidiafb, nvidia
> 
352c424
<     Region 0: Memory at d8900000 (64-bit, non-prefetchable) [size=8K]
---
>     Region 0: Memory at ec800000 (64-bit, non-prefetchable) [size=8K]
387c459
<     Region 0: Memory at d4000000 (32-bit, non-prefetchable) [size=4K]
---
>     Region 0: Memory at e8000000 (32-bit, non-prefetchable) [size=4K]
389,390c461,462
<     Memory window 0: dc000000-dffff000 (prefetchable)
<     Memory window 1: e0000000-e3fff000
---
>     Memory window 0: f0000000-f3fff000 (prefetchable)
>     Memory window 1: f4000000-f7fff000
404c476
<     Region 0: Memory at d4001000 (32-bit, non-prefetchable) [size=2K]
---
>     Region 0: Memory at e8001000 (32-bit, non-prefetchable) [size=2K]
417c489
<     Region 0: Memory at d4001900 (32-bit, non-prefetchable) [size=256]
---
>     Region 0: Memory at e8001900 (32-bit, non-prefetchable) [size=256]
430c502
<     Region 0: Memory at d4001800 (32-bit, non-prefetchable) [size=256]
---
>     Region 0: Memory at e8001800 (32-bit, non-prefetchable) [size=256]
Hum, il y a quelque chose qui m'intrigue. Si tu as installé Windows XP from scratch, tu n'avais donc aucun logiciel qui pourrait gérer le switch, c'est à dire que soit XP gère nativement le switch (ce que je crois guère) soit ça passe exclusivement par le BIOS. Donc à savoir si sous Linux c'est le BIOS qui bloque le switch ou si c'est le noyau qui intercepte (avec l'ACPI).

Donc, d'après "How to build a custom DSDT into an initrd" du site que je t'ai donné, est ce que tu pourrais tester de mettre un DSDT où tu changerais dans la partie que tu montres dans le message #13 le code héxadécimal de Linux en le passant de "Store (0x03E8, OSYS)" à "Store (0x07D2, OSYS)" et démarré avec ?
Ok, il paraît logique d'essayer. Par contre je n'ai jamais recompilé de kernel.
Est-ce que le tutorial http://doc.fedora-fr.org/wiki/Recompilation_du_noyau_Fedora suffit ?

Quelle différence entre construire le noyau de A à Z ou seulement construire le initrd ?
(http://doc.fedora-fr.org/wiki/Recompilation_du_noyau_Fedora#Etape_10_:_G.C3.A9n.C3.A9ration_du_RAM_Disk)

Pour construire le initrd, je dois faire tout ce qui précède de toute façon, non ?
Bon, j'ai plus ou moins réussi à recompiler le noyau avec les options pour le fichier DSDT.hex. (j'ai tout recompilé)
Cependant, je devais bien me résoudre à utiliser un des deux DSDT que j'ai (celui nvidia ou celui intel). J'ai choisi celui NVIDIA.

... la compilation du noyau est assez longue, mais ça passe. Au redémarrage par contre, surprise ! Le switch est on sur Nvidia. Quoi que je fasse, il reste sur nvidia tant que j'utilise le noyau que j'ai compilé avec le DSDT.hex pour nvidia. Je vais encore tester pour voir si c'est vraiment absolu et je vais tenter une recompilation avec le DSDT.hex pour la carte intel... qui sait, ça pourrait ne faire que fonctionner la carte intel. Auquel cas j'aurai juste à préciser le noyau choisi selon ... la carte à utiliser. (mais risque d'y avoir besoin d'un reboot linux) :-?

En passant, le kmod-nvidia n'est pas fait pour le noyau que j'ai recompilé et donc ça ne fonctionne pas tant. On fait comment pour que les éléments du kmod-nvidia soient chargés aussi pour le noyau personnalisé ?

Edit : mince, je ne suis pas tant sûr d'avoir pris le dsdt pour nvidia... plutôt celui pour intel... arghk.. je vais test les divers cas de toute façon. 😉

Ajout : c'est bien le dsdt d'intel... et ça a amené à des éléments nouveaux :
- en mode NOTHING, la carte intel est désormais fonctionnelle bien que les deux cartes soient visibles via lspci (par contre la carte nvidia est out)
- le switch ne se règle pas au boot !

En fait, la modification dans le DSDT.hex a permis de forcer la non-désinitialisation que fait linux (étrangement). Par contre, le résultat est donc le même que si j'utilisais l'option acpi=ht : le switch reste activé sur ce sur quoi il était activé... et je suis obligé de passé par windows pour modifier l'état du switch en redémarrant.
Ce qui voudrait dire que windows fait plus que juste informer l'os. (mais c'est déjà un bon début 😉 )

Et j'ai aussi trouvé un groupe réalisé autour du problème (mais sans solution pour l'instant) : https://launchpad.net/~z-series
xion.luhnis wrote:Ok, il paraît logique d'essayer. Par contre je n'ai jamais recompilé de kernel.
Est-ce que le tutorial http://doc.fedora-fr.org/wiki/Recompilation_du_noyau_Fedora suffit ?

Quelle différence entre construire le noyau de A à Z ou seulement construire le initrd ?
(http://doc.fedora-fr.org/wiki/Recompilation_du_noyau_Fedora#Etape_10_:_G.C3.A9n.C3.A9ration_du_RAM_Disk)

Pour construire le initrd, je dois faire tout ce qui précède de toute façon, non ?
Justement l'avantage de ne pas compiler, c'est que ça prend beaucoup moins de temps, surtout si on doit le refaire plusieurs fois 🙂

Bon, j'ai plus ou moins réussi à recompiler le noyau avec les options pour le fichier DSDT.hex. (j'ai tout recompilé)
Cependant, je devais bien me résoudre à utiliser un des deux DSDT que j'ai (celui nvidia ou celui intel). J'ai choisi celui NVIDIA.

... la compilation du noyau est assez longue, mais ça passe. Au redémarrage par contre, surprise ! Le switch est on sur Nvidia. Quoi que je fasse, il reste sur nvidia tant que j'utilise le noyau que j'ai compilé avec le DSDT.hex pour nvidia. Je vais encore tester pour voir si c'est vraiment absolu et je vais tenter une recompilation avec le DSDT.hex pour la carte intel... qui sait, ça pourrait ne faire que fonctionner la carte intel. Auquel cas j'aurai juste à préciser le noyau choisi selon ... la carte à utiliser. (mais risque d'y avoir besoin d'un reboot linux) hmm
C'est à quoi je veux arriver 🙂 Et ce serait déjà un exploit d'y arriver.
Ajout : c'est bien le dsdt d'intel... et ça a amené à des éléments nouveaux :
- en mode NOTHING, la carte intel est désormais fonctionnelle bien que les deux cartes soient visibles via lspci (par contre la carte nvidia est out)
- le switch ne se règle pas au boot !

En fait, la modification dans le DSDT.hex a permis de forcer la non-désinitialisation que fait linux (étrangement). Par contre, le résultat est donc le même que si j'utilisais l'option acpi=ht : le switch reste activé sur ce sur quoi il était activé... et je suis obligé de passé par windows pour modifier l'état du switch en redémarrant.
Ce qui voudrait dire que windows fait plus que juste informer l'os. (mais c'est déjà un bon début wink )
Intéressant ça 🙂 Si je comprend bien ça donne une gestion de l'ACPI différente, spécifique à Windows, qui doit répondre de manière générique aux demandes du BIOS. C'est vraiment du tatonnement, donc il faudrait voir si utiliser le code héxadécimal de "Windows Xp (2001)" ou "Windows Vista (2006)" change quelques choses au comportement de l'ordinateur.

Sinon, en faisant pas mal de recherche, j'ai vu qu'il y avait plein de fichier dans /proc qui était directement relié au BIOS (comme ioports, interrupts). Il faudrait voir si l'un de ces fichiers ne réagit pas lors de la modification du switch.

P.S.: Oh, élément intéressant ! En cherchant la valeur OSYS dans le fichier DSL, on voit qu'il y a pas mal de modification pour Vista (0x07D6). C'est à approfondir.
Bouska wrote:
xion.luhnis wrote:Ok, il paraît logique d'essayer. Par contre je n'ai jamais recompilé de kernel.
Est-ce que le tutorial http://doc.fedora-fr.org/wiki/Recompilation_du_noyau_Fedora suffit ?

Quelle différence entre construire le noyau de A à Z ou seulement construire le initrd ?
(http://doc.fedora-fr.org/wiki/Recompilation_du_noyau_Fedora#Etape_10_:_G.C3.A9n.C3.A9ration_du_RAM_Disk)

Pour construire le initrd, je dois faire tout ce qui précède de toute façon, non ?
Justement l'avantage de ne pas compiler, c'est que ça prend beaucoup moins de temps, surtout si on doit le refaire plusieurs fois 🙂
Ca veut dire que je peux générer le initrd sans avoir à compiler le kernel ? Donc l'action de génération du initrd ne dépend pas des opérations de compilation précédentes ?
Effectivement, si ça fonctionne, c'est d'autant mieux. 🙂
Bouska wrote:
Bon, j'ai plus ou moins réussi à recompiler le noyau avec les options pour le fichier DSDT.hex. (j'ai tout recompilé)
Cependant, je devais bien me résoudre à utiliser un des deux DSDT que j'ai (celui nvidia ou celui intel). J'ai choisi celui NVIDIA.

... la compilation du noyau est assez longue, mais ça passe. Au redémarrage par contre, surprise ! Le switch est on sur Nvidia. Quoi que je fasse, il reste sur nvidia tant que j'utilise le noyau que j'ai compilé avec le DSDT.hex pour nvidia. Je vais encore tester pour voir si c'est vraiment absolu et je vais tenter une recompilation avec le DSDT.hex pour la carte intel... qui sait, ça pourrait ne faire que fonctionner la carte intel. Auquel cas j'aurai juste à préciser le noyau choisi selon ... la carte à utiliser. (mais risque d'y avoir besoin d'un reboot linux) hmm
C'est à quoi je veux arriver 🙂 Et ce serait déjà un exploit d'y arriver.
Ouaip, de même. Etonnamment, le groupe de launchpad a directement des visions plus grandes : https://launchpad.net/~sony-vaio-z-series

Pour eux, l'idée c'est de réussir à faire fonctionner le switch sans reboot comme vista... sauf qu'on en est même pas encore à le faire fonctionner comme windows xp avec un reboot, alors je vois mal un telinit 3 - telinit 5 pour faire changer le switch... mais bon, s'ils arrivent à trouver quelque chose pour faire ça, personne ne s'en plaindra ! :-D
Bouska wrote:Intéressant ça 🙂 Si je comprend bien ça donne une gestion de l'ACPI différente, spécifique à Windows, qui doit répondre de manière générique aux demandes du BIOS. C'est vraiment du tatonnement, donc il faudrait voir si utiliser le code héxadécimal de "Windows Xp (2001)" ou "Windows Vista (2006)" change quelques choses au comportement de l'ordinateur.
Je vais tester les diverses possibilités dès que j'ai du temps (c'est-à-dire à la fin de la semaine prochaine vu que je suis en période d'examens).
2 mois plus tard
Rebonjour à tous. Ca faisait un petit moment.

Le problème du switch graphique est toujours d'actualité, mais il y a eu des tas d'avancements de divers côtés.
Une grande part de ces avancements est relatée sur la page suivante :
https://launchpad.net/~sony-vaio-z-series

A noter :
[1]. Un package sony-laptop réalisé pour désactiver le switch nvidia et faire fonctionner correctement la carte intel avec peu d'énergie

=> http://www.basyskom.org/~eva/log_installation_vaio_z21vnx.html

[2]. Si on boot avec linux DSL (Damn Small Linux) en livecd, à l'extinction, le switch est reinitialisé (ce que je cherche à faire avec fedora).
Il s'agit d'un noyau inférieure (2.4 je crois), mais j'espère qu'on peut en tirer quelque chose pour permettre la reinitialisation depuis fedora (au reboot au moins).

=> https://lists.launchpad.net/sony-vaio-z-series/msg00043.html

Y a-t-il eu un changement majeur spécifique à l'acpi entre le noyau 2.4 et le noyau 2.6 pour que cela fonctionne "avant" mais plus "maintenant" ?

[3]. A noter que si on démarre sur l'installation de winxp, après quelque étapes, on peut redémarrer et le switch aura été reinitialisé correctement :

=> https://lists.launchpad.net/sony-vaio-z-series/msg00004.html
un mois plus tard
Perso j'ai suivi ce tuto :

Positionnez le bouton sur "stamina" et le wifi sur "on"
Après avoir installé ubuntu Feisty Fawn un petit test que la carte intel :


# glxinfo | grep direct rendering

Normalement vous devriez avoir "Yes" sinon il faut réinstaller les pilotes intel (page)

faite une sauvegarde des fichier xorg.conf et les librairies GLX

en root :

# cp /etc/X11/xorg.conf /etc/X11/xorg.conf.stamina
# cp /usr/lib/xorg/modules/extensions/libglx.so /usr/lib/xorg/modules/extensions/libglx.so.stamina
# cp /usr/lib/libGL.so.1.2 /usr/lib/libGL.so.stamina


Ensuite il faut installer les driver NVIDIA

# apt-get install nvidia-glx-new
# nvidia-xconfig --composite --add-argb-glx-visuals -d 24


On ajoute quelques options dans le xorg.conf :

# gedit /ect/X11/xorg.conf

Section "Screen"
...
Option "TripleBuffer" "true"
Option "NoLogo" "true"
...
EndSection


On reboot et après redemarrage on vérifié l'acceleration 3D


# glxinfo | grep direct rendering

Normalement vous devriez avoir "Yes"

faite une sauvegarde des fichier xorg.conf et les librairies GLX de la carte geforce

# cp /etc/X11/xorg.conf /etc/X11/xorg.conf.speed
# cp /usr/lib/xorg/modules/libglx.so /usr/lib/xorg/modules/libglx.so.speed
# cp /usr/lib/libGL.so.1.2 /usr/lib/libGL.so.speed


ATTENTION !!!! les lib GLX intel et Geforce ne se trouvent pas au meme endroit !!!!!

"/usr/lib/xorg/modules/" pour la geforce
"/usr/lib/xorg/modules/extension" pour l'intel


Selecteur de carte graphique :

Maintenant que le plus dur est fait , il ne reste qu'a crée le petit script de switch speed / stamina mode

créer un fichier texte xorg-switcher et éditez le :

# switcher stamina / speed mode

VIDEO=`/usr/bin/lspci |grep -c nVidia`

if [ "$VIDEO" = 1 ]; then
cp -f /etc/X11/xorg.conf.speed /etc/X11/xorg.conf
modprobe drm
modprobe nvidia-agp
rm /usr/lib/xorg/modules/extensions/libglx.so /usr/lib/libGL.so.1 -f
ln -s /usr/lib/xorg/modules/libglx.so.speed /usr/lib/xorg/modules/libglx.so
ln -s /usr/lib/libGL.so.speed /usr/lib/libGL.so.1
else
cp -f /etc/X11/xorg.conf.stamina /etc/X11/xorg.conf
modprobe intel-agp
rm /usr/lib/xorg/modules/libglx.so /usr/lib/libGL.so.1 -f
ln -s /usr/lib/xorg/modules/extensions/libglx.so.stamina /usr/lib/xorg/modules/extensions/libglx.so
ln -s /usr/lib/libGL.so.stamina /usr/lib/libGL.so.1
fi


Copiez le dans /etc/init.d/xorg-switcher, rendez le executable et créer un lien symbolique (pour etre appelé à chaque démarrage:

# chmod +x /etc/init.d/xorg-switcher
# ln -s /etc/init.d/xorg-switcher /etc/rc2.d/S12xorg-switcher



Cependant ca a tout pété. Le libGL pour speed. Je ne l'avais pas dans modules mais /usr/lib/nvidia. Donc j'ai fini tout ce qu'il dit mais je n'arrive qu'à booter en speed. X ne se lance pas en stamina.

Une solution pour réparer mes conneries et faire marcher ce foutu switch?
Bon après avoir galéré tout l'aprem. petite mise à jour.

Il semblerait que le driver Intel soit incompatible avec le driver Nvidia !
En effet dès que kmod-nvidia est installé cela desactive le direct rendering au niveau de mon GMA.

Alors je me demande vraiment comme les possesseurs du SZ4 (voir la par ex : http://www.linux.it/~malattia/wiki/index.php/Vaio_VGN-SZ72B) ont réussi à installer un switch entre les deux cartes avec le direct rendering sur l'un ou sur l'autre.

Si vous avez une idée... En attendant je laisse désintallé le driver nvidia vu que je vais plus avoir besoin du mode stamina cette semaine.
J'ai modifié le script de veskit pour l'adapter aux nouveaux chemins (en me trompant surement). Mais toujours pas d'acceleration pour le gma tant qu'il y a le pilote nvidia... Veskit avait eu le meme probleme et c'est pour ca qu'il a fait ce script afin d'eviter que le driver nvidia empiette... Néanmoins je deconne toujours moi. Surement a cause des chemins qui doivent être toujours obselete genre le
ln -s /usr/lib/xorg/modules/extensions/libglx.so.stamina /usr/lib/xorg/modules/extensions/libglx.so
ln -s /usr/lib/libGL.so.stamina /usr/lib/libGL.so.1

Mon script :

VIDEO=`/sbin/lspci |grep -c nVidia`

if [ "$VIDEO" = 1 ]; then
cp -f /etc/X11/xorg.conf.speed /etc/X11/xorg.conf
modprobe drm
modprobe nvidia-agp
rm /usr/lib/xorg/modules/extensions/libglx.so /usr/lib/libGL.so.1 -f
ln -s /usr/lib/xorg/modules/libglx.so.speed /usr/lib/xorg/modules/extensions/nvidia/libglx.so
ln -s /usr/lib/libGL.so.speed /usr/lib/libGL.so.1
else
cp -f /etc/X11/xorg.conf.i810 /etc/X11/xorg.conf
rm /usr/lib/xorg/modules/extensions/nvidia/libglx.so /usr/lib/libGL.so.1 -f
ln -s /usr/lib/xorg/modules/extensions/libglx.so.stamina /usr/lib/xorg/modules/extensions/libglx.so
ln -s /usr/lib/libGL.so.stamina /usr/lib/libGL.so.1
fi
Salut.

Malheureusement, les SZs n'ont pas du tout la même technologie de switch que les Zs... :-?
SZ : switch matériel
Z : switch logiciel

Ayant un Z, c'est plus compliqué car le switch est géré par logiciel. Ainsi on pourrait potentiellement changer la carte en cours d'utilisation (ça fonctionne sur Vista, pas sur Xp, et encore moins sous linux malheureusement).
Avec les avancées de http://www.basyskom.org/~eva/log_installation_vaio_z21vnx.html, on arrive à faire le switch, mais on n'arrive pas encore à correctement gérer la carte Nvidia... ce qui est embêtant. 🙁

Actuellement, je désactive l'ACPI pour tenir sur une carte seulement, ou alors j'utilise DSL pour réinitialiser le switch après reboot. Ca fonctionne, mais ce n'est pas du tout satisfaisant à l'utilisation... (acpi=ht ou off est trop contraignant et DSL, c'est bien, mais c'est long)

Espérons qu'on aura des avancements intéressants sur le projet ci-dessus. 😉
Oui mais j'ai un SZ donc ca devrait etre plus simple mais en l'occurence ca ne l'est pas.... Car le pilote nvidia desactive l'acceleration du GMA... Je sais que pour le Z il n'y a pas encore vraiment de solution ; mais il est censé y en avoir pour le SZ... Néanmoins ca ne marche pas.....
un mois plus tard
Bon, je viens annoncer quelques bonnes nouvelles :

1. on peut utiliser le comportement de switch au reboot complet avec un petit paramètre au boot. Il s'agit du même procédé qu'utilisé dans le hack acpi, donc il s'agit de définir la valeur de la clé osi en ajoutant le paramètre :
acpi_osi="!Windows 2006"

Il faut l'ajouter à la ligne du kernel lors du boot (dans grub.conf, par exemple, ou en éditant la ligne en appuyant sur a / e dans le menu grub).
Ensuite, redémarrer une ou deux fois (selon l'état du switch au premier démarrage avec le paramètre) et on peut désormais switcher d'un mode à l'autre en redémarrant sans avoir besoin de passer par windows xp ni DSL ! :-D

Maintenant, il faut faire attention aux librairies graphiques partagées car il faut avoir un fichier de switching software installé dans son /etc/init.d. Il doit être appelé aux différents changements d'état.

Voici mon fichier, appelé hybrid_gfx_switch.sh :
#!/bin/bash

# on récupère la carte active
VIDEO=`/sbin/lspci | /bin/grep -i vga | /usr/bin/head -l | /usr/bin/awk {'print $5'}`

if [ $VIDEO = nVidia ]; then
echo "Nvidia X Configuration switch"
cp -f /etc/X11/xorg.conf.nvidia /etc/X11/xorg.conf
ln -sf /usr/lib/libGL.so.180.51 /usr/lib/libGL.so.1
ln -sf /usr/lib/xorg/modules/extensions/libglx.so.180.51 /usr/lib/xorg/modules/extensions/libglx.so
else
echo "Intel X Configuration switch"
cp -f /etc/X11/xorg.conf.intel /etc/X11/xorg.conf
ln -sf /usr/lib/libGL.so.intel /usr/lib/libGL.so.1
ln -sf /usr/lib/xorg/modules/extensions/libglx.so.intel /usr/lib/xorg/modules/extensions/libglx.so
fi
Ainsi, si la carte nvidia est disponible, on utilise les fichiers nvidia pour libGL.so.1 et libglx.so.
Sinon, on est sur la carte intel et on utilise les fichiers intel par défaut. A noter qu'il faut copier ces fichiers avant d'installer le driver nvidia. Si vous l'avez déjà installer, désinstallez-le, faite une copie protégée des fichiers libGL.so.1 et libglx.so (les fichiers réels, par les liens symboliques !), gardez-les bien protéger car l'installation du driver nvidia enlève les fichiers qui peuvent gêner (et ces deux fichiers particulièrement, il en fait une copie, je ne sais où pour les remettre lorsqu'on désinstalle, mais justement, je ne sais pas où...).
Dans mon cas, j'ai copié les deux fichiers, les ai placé dans un tar.gz, puis ai installé le driver nvidia. Puis j'ai récupérer mes fichiers par défaut et les ai renommé avec l'extension .intel.

Dans mon cas, ça marche impécablement. J'ai encore des problèmes, mais je peux utiliser les deux cartes (moyennant un reboot, mais c'est déjà bien mieux que de ne pas pouvoir utiliser les cartes... et qui plus est, l'acpi est fonctionnel ! donc c'est super :-D).
Les problèmes restants :

1. Carte intel :
- la résolution est même plus grande qu'avec la carte nvidia (allez comprendre), bien que ça m'affiche un screenSize max de 1024/768 alors que je devrais être en 1380/768 !
- compiz ne peut pas être utilisé ! Les effets de bureau ne fonctionnent pas ! Que faire pour installer correctement le driver intel ? C'est une carte Intel gma4500

2. Carte nvidia :
- l'applet gnome pour la luminosité ne fonctionne pas du tout... je suis contraint à utiliser l'utilitaire nvclock pour modifier en ligne de commande la luminosité de l'écran (nvclock -S value)
- system-config-display ne fonctionne pas, j'ai une erreur à l'utilisation, qui fait que rien ne s'affiche (que je n'ai pas avec la carte intel) :
Traceback (most recent call last):
File "/usr/share/system-config-display/xconf.py", line 312, in <module>
hardware_state = XF86HardwareState(xconfig)
File "/usr/lib/python2.5/site-packages/rhpxl/xhwstate.py", line 174, in __init__
self.init_from_xconfig(xconfig)
File "/usr/lib/python2.5/site-packages/rhpxl/xhwstate.py", line 260, in init_from_xconfig
if screen.device:
AttributeError: 'NoneType' object has no attribute 'device'
A la place, je peux utiliser le nvidia display panel, mais c'est bête d'utiliser vingt outils différents :-?

- la résolution est indiquée comme du 1380/768, mais je doute que ce soit vrai vu que sous intel, j'ai une plus grande résolution !

Edit : 1366/768 et non 1380/768 😉

Ajout : ENFIN ! suspend to ram et suspend to disk marchent les deux ! C'est la première fois que je peux l'utiliser correctement avec l'acpi activée. :-D
Le premier fonctionne très rapidement, superbe.
Le second est un peu plus lent, mais surtout, il faut redémarrer l'ordi, donc passer le screen du bios. Mais j'imagine que ça permet de ne pas utiliser du tout de courant et donc garder la batterie au chaud.