Question Hybrid Graphics sur Ubuntu 12.04 passage au discret


J'ai un Sony Vaio VPCCB-27FX avec des graphismes hybrides. L'utilisation de vgaswitcheroo me permet de désactiver ma carte discrète pour économiser de l'énergie. Maintenant, quand je veux passer à la carte discrète pour la performance, mon système se bloque.

J'ai déjà essayé de me déconnecter et de tuer x avec service lightdm stop, mais quand même, ça gèle dès que je echo DIS > switch. taper à l'aveuglette, echo IGD > switch me renvoie à ma console où il lit [ 179.555171] i915: switched off, mais il semble que la carte discrète ne soit jamais allumée ... fonctionnement echo DDIS > switch me donne ce qui suit:

[540....] [drm:atop_op_jump] *ERROR* atombios stuck in loop for more than 5secs aborting
[540....] [drm:atom_execute_table_locked] *ERROR* atombios stuck executing CEE2 (len 62, WS 0, PS 0) @ 0xCEFE
[540....] [drm:atom_execute_table_locked] *ERROR* atombios stuck executing BBF6 (len 1036, WS 4, PS 0) @ 0xBCF3
[540....] [drm:atom_execute_table_locked] *ERROR* atombios stuck executing BB8C (len 76, WS 0, PS 0) @ 0xBB94
[541....] [drm:r600_RING_TEST] *ERROR* radeon: ring test failed (scratch(0x8504)=0xFFFFFFFF)
[541....] [drm:evergreen_resume] *ERROR* evergreen startup failed on resume

après cela, la partie atombios se répète plusieurs fois.

de plus, le terminal se verrouille à nouveau et sysrq + REISUB est mon seul secours.

Quelqu'un a-t-il une idée de la manière dont je peux basculer sur ma carte discrète sans que le système se verrouille?

#uname -srvmpio
Linux 3.2.0-24-generic #39-Ubuntu SMP Mon May 21 16:52:17 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
#lsb_release -r
Description: Ubuntu 12.04 LTS

2
2018-05-26 14:58


origine


Je suis confronté exactement au même problème. Avez-vous fait des progrès à ce sujet? - W. Goeman
non, mais j'ai reçu de nouvelles informations de débogage à partir de dmesg: - cfstras
fbcon: remapping primary device, fb0, to tty 1-63  ACPI Error: [SSEL] namespace lookup failure, AE_NOT_FOUND (20110623/psargs-359)  ACPI Error: Method parse/execution failed [\_SB_.PCI0.GFX0.ATPX] (Node fff880222075dc0), AE_NOT_FOUND (20110623/psparse-536)  radeon_atpx_execute: failed to call ATPX: AE_NOT_FOUND  i915: switched off  <blocage de la console> <type de blind echo IGD> switch> <la console fonctionne à nouveau> - cfstras
i915: switched on  fbcon: Remapping primary device, fb1, to tty1-63  radeon: switched off  je n'ai aucune idée de ce que ATPX: AE_NOT_FOUND signifie, mais il semble être le principal problème s'exécutant sur x86_64 générique 3.2.0-30 - cfstras
A fait quelques recherches supplémentaires. J'ai trouvé la cause du problème. Voir ma réponse pour les détails sur les systèmes sans mux. - W. Goeman


Réponses:


J'ai un HP Pavilion dm4t avec ATI 5470 et utilise Xubuntu 12.04. La commutation fonctionne pour moi avec la procédure suivante. Je devrais noter que j'ai le dernier noyau 3.4 d'ici https://launchpad.net/~francisbrwn9/+archive/kernels

Voici comment je fais la commutation:

  • Connectez - Out
  • CTRL + ALT + F1 pour arriver à la console
  • service lightdm stop

Les deux cartes doivent être allumées avant de passer à l’étape suivante:

  • echo ON> switch

Si je veux utiliser Intel, permettez-lui de démarrer au prochain démarrage X:

  • echo DIGD> switch

Si je veux utiliser Radeon, alors permettez-lui de démarrer au prochain démarrage X:

  • echo DDIS> switch

Alors:

  • service lightdm start
  • CTRL + ALT + F1 pour revenir à la console et se déconnecter
  • ALT + F7 ou F8 pour revenir à la connexion lightdm et continuer en utilisant la carte sélectionnée

3
2018-05-27 11:26



La seule raison pour laquelle je suis passé à la précision était le noyau 3.2 - je voulais le construire avec le support ureadahead et le correctif i915 deep-sleep tous ceux de kernel.ubuntu.com n'avaient pas tout, mais ceux de vanilla - meurent le dépôt vous avez lié pour avoir ceux intégrés? btw: la procédure que vous décrivez ne semble pas fonctionner pour moi ... peut-être avec 3.4 ... - cfstras
Ureadahead s'exécute ici, je viens de supprimer les fichiers pack et il les a régénérés. Aussi, j'ai juste essayé l'hibernation et pas de problème avec ça (je n'ai jamais eu besoin de ça l'année dernière ou à peu près). - Vangel Ajanovski
Même chose ici, FYI, lors du passage à la carte intégrée, vous devez également sudo killall pulseaudio. - Treviño
J'ai eu un problème similaire avec le noyau Ubuntu 13.10 3.11. La même solution a fonctionné. Très bonne réponse. - kapad


Le problème est lié au fait que (y) notre système utilise des graphiques hybrides «sans mux». Apparemment, il n'y a aucun moyen de travailler avec le xserver actuel.

D'après ce que j'ai compris des informations que j'ai trouvées, les systèmes sans culot sont ceux où la puce intégrée est toujours connectée à l'écran. Dans ce cas, la puce graphique discrète est uniquement utilisée pour restituer les images, mais les envoie à l'image intégrée afin de les afficher sur l'écran.

La contrepartie de ceci est bien sûr multiplexée. Dans ce cas, les deux puces (intégrées et discrètes) sont connectées à une "chose" distincte (le mux) et l'affichage peut être commuté d'une puce à l'autre en utilisant ceci. C'est la configuration pour laquelle vgaswitcheroo fait le tour

Conclusion: J'ai l'impression que tout ce que nous pouvons faire pour l'instant est d'attendre que x prenne en charge ces systèmes sans multiplex, ou peut-être que Wayland ...


3
2017-09-17 20:36



Autant que je sache, les systèmes combinés sont ceux qui peuvent afficher côte à côte des fenêtres à rendu discret avec des fenêtres intégrées. mon pc a un mux (sur Windows, le changement prend du temps et l'affichage clignote, donc je suppose que je ne peux pas avoir les deux en même temps), mon système devrait donc pouvoir fonctionner avec vgaswitcheroo pour l'autre système: bumblebee fonctionne pour activer et dessiner dynamiquement des fenêtres uniques avec la carte discrète (systèmes comme nvidia optimus), mais je ne suis pas sûr de la terminologie avec muxless / muxed, bien que - cfstras
@cfstras bumblebee est de ce que j'ai compris avoir une configuration sans mux, mais ne fonctionne que pour intel / nvidia, et non pour intel / radeon. Si vous êtes certain d’avoir le mux, vous pouvez avoir un commutateur dans le BIOS pour choisir les graphiques avec lesquels vous voulez démarrer. - W. Goeman
malheureusement, mon bios a été édité par un membre de vaio, il n’a que deux réglages: minuteur HPE 64 bits et heure :( quand j’ai du temps libre, je vais essayer de changer le gpu avec un script init, pourrait être plus efficace. - cfstras


J'utilise Ubuntu 12.10

Le workaroud ci-dessus fonctionne bien pour moi lorsque je veux passer de IGD (qui est défini après un ubuntu-boot normal) à DIS. Tout va bien alors, je peux utiliser mon moniteur via HDMI et même une sortie audio HDMI.

Mais si je veux revenir de DIS à IGD, cela ne fonctionne pas.

Soit je reçois le message

 client 101 refused switch

ou même

 [drm:atom_op_jump] *ERROR* atombios stuck in loop for more than 1sec aborting

Cela n'aide que de redémarrer avec ALT + PRINT + REISUB.

Des idées? : - /


2
2017-10-21 18:26



avec 12.10, le noyau 3.5.0-26-generic, je reçois client 101 refused switch aussi. - cfstras
c'est censé être une réponse ... voir askubuntu.com/questions/87489/… pour des solutions possibles. - Petr Gladkikh