VGAswitcheroo – Tópico Definitivo

Iniciado por Kriptolix, 24 de Junho de 2011, 16:25

tópico anterior - próximo tópico

Kriptolix

"não fiz outra configuração a não ser colocar radeon na blacklist"

certo, mas ao clocar na blacklist é preciso que, apos o boot, voce suba o modulo de alguma forma, sena o arquivo switch realmente nao aparece, os scripts acima tem uma linha pra subri o modulo caso o mesmo esteja down quando o script for ativado, tente subir o modulo manualmente pra teste.
Ubuntu Linux 10.10

juliofilho

Olá kriador.
Muito obrigado por responder.

Sim, era isso mesmo! Executando
modprob radeon
vejo que imediatamente o diretório switcheroo e o arquivo switch aparecem
porém ao executar o script, quando ao final informa que vai reiniciar a interface gráfica, vai para a tela preta onde mostra algumas mensagens do sistema e ali mesmo o computador trava, sem chegar a iniciar a interface gráfica novamente

estou executando o script 2 pois meu arquivo switch é
0:IGD:+:Pwr:0000:00:02.0
1:DIS: :Pwr:0000:01:00.0


alguma idéia do que pode estar causando o erro?
desde já agradeço.
Abraço.

Kriptolix

Julio, isso pode ser causado por varias coisas, mas se voce quiser pode fazer um teste manual (eu me acostumei a fazer essa mudança manualmente, ja faz algum tempo que nem uso o script), ai agente analisa se funciona ou nao e depois ve o que fazer.

para mudar pra gpu discreta manualmente faça o seguinte:

1 - ainda na tela de login aperte crtl+alt+f1, isso deve lhe levar a um terminal
2 - faça login
3 - suba o modulo radeon (eu subo ele colocando o comando no rc.local, que é um script executado apos o gdm em cada boot, recomendo fazer o mesmo.
4 - mude pro usuario root (sudo su)
5 - de um echo DIGD > /sys/kernel/debug/vgaswitcheroo/switch
6 - de um pgrep X (X maisculo memso)
7- pegue o numero que apareceu e de um kill 'numeroqueapareceu'

isso devera reiniciar o servidor X (voltando pra tela de login ja na gpu discreta), se travar novamente ai o problema pode ser mais complicado e teremos que analisar mais a fundo, caso nao trave o problema pode ser de no script, ai veremos o que fazer.
Ubuntu Linux 10.10

juliofilho

Olá Kriador,

fiz como você disse, mas ao executar: echo DIGD > /sys/kernel/debug/vgaswitcheroo/switch
a seguinte mensagem de erro aparece:

vga_switcheroo: client 0 refused switch

e se eu continuar, e matar o Xorg como segue a sua lista de passos, aí é que trava o computador

No aguardo.
Abraço.

Kriptolix

esse erro é normal, ele recusa por que o X esta rodando, mas apos matar ele deveria reiniciar o X, se nao esta acontecendo isso o problema pode ser um pouco mais complexo, qual tua distro, versao e kernel?
Ubuntu Linux 10.10

juliofilho


DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=11.04
DISTRIB_CODENAME=natty
DISTRIB_DESCRIPTION="Ubuntu 11.04"
kernel: 2.6.38-10-generic


Obrigado Kriador, por toda a assistência.
Mas então eu resolvi fazer assim:
Criei um script pra desligar a ATI Radeon discreta assim que faço o login através do switcheroo, já que não posso usá-la pelo menos poupo bateria (e como poupa!).
A Intel integrada é suficiente para rodar todos os efeitos gráficos do Compiz, e como meu uso do notebook é só para web, programas de escritório e programação, é mais do que suficiente.
Resolvi deixar a Radeon somente para o Ruindows quando eventualmente for jogar alguma coisa.

De qualquer forma, muito obrigado por toda a ajuda.
Acredito que em breve essa tecnologia de Gráficos Híbridos estará mais funcional no linux.

Abraço.

brunnux

juliofilho, vc está subindo o modulo radeon?

sudo modprobe radeon

juliofilho

CitarEnviado por: brunnux
juliofilho, vc está subindo o modulo radeon?
sudo modprobe radeon

Sim. Tenho que fazer isso para o diretório /sys/kernel/debug/vgaswitcheroo aparecer.

Uma informação a mais para a comunidade a respeito desse problema: Um amigo meu comprou esse mesmo notebook Dell Vostro 3550 com a radeon e a intel integrada e tentamos ontem esse mesmo procedimento no Fedora 15 e aconteceu o mesmo problema.

Kriptolix

No fedora 15 eu nao consegui fazer funcionar aqui de jeito algum, tinha alguma coisa nele que impedia que o diretorio aparecesse, e quando eu tentava remover os parametros de inicializaçao do kernel acaba com outros problemas.
Ubuntu Linux 10.10

igormaneschy

Olá Pessoal , alguém já tentou esse tutoria , em uma máquina com Hybrid Card intel/nvidia , tenho um note dell vostro 3500 que em esse tipo de placa hibrida, tentei várias coisas , mas não consegui ativar a placa nvidia. muito menos alterna-la com a placa integrada.

Valeu

wiltave

Vou testar essas dicas no Debian e posto aqui o resultado.
Um abraço.

proveyourselfthom

Também tentei no Debian mas não deu certo.

Coloquei o módulo na blacklist, tentei subir manualmente mas mesmo assim o arquivo não aparece. /sys/kernel/debug/ está vazio.

# cat /boot/config-3.0.0-1-amd64 | grep -i switcheroo
CONFIG_VGA_SWITCHEROO=y


# lspci
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
01:00.0 VGA compatible controller: ATI Technologies Inc NI Seymour [AMD Radeon HD 6470M]


Linux thom 3.0.0-1-amd64 #1 SMP Wed Aug 17 04:08:52 UTC 2011 x86_64 GNU/Linux

Consigo logar no sistema perfeitamente, não fiz nada para poder usar o computador. Raramente a tela dá uma piscada bem rápida, quase imperceptível. O problema é que quando entro em um jogo a tela fica toda preta.

Valeu.

proveyourselfthom

#27
Consegui ver o arquivo "/sys/kernel/debug/vgaswitcheroo/switch" com o seguinte comando:

mount -t debugfs none /sys/kernel/debug

O Debian não monta esse sistema de arquivos. O Ubuntu deve montar.

Só uma pergunta, isso vai gerenciar automaticamente a alternancia entre as GPUs?

Agora vou tentar o resto.

UPDATE: Colocando a GPU discreta como principal, recebo uma tela preta, assim como o juliofilho descreveu acima :(

Valeu.

Eek

Boa noite
To meio perdido aqui porque tenho 17 anos de rwindows e 1 semana de linux... e logo de cara to enfrentando o problema citado nesse tópico...

Aos poucos to me acostumando com o nome das coisas, mas o que ta pegando é o seguinte:
Eu instalei o ubuntu 11.04 (parti pra ignorancia e usei o hd inteiro mesmo) mas ele só iniciava quando queria..lendo aí descobri que ele as vezes chama uma placa mas roda o driver da outra de forma aleatória.. até aí tudo bem.. aí fiz o código pra descobrir qual script usar.. tudo bem também.. mas aí surgiu a dúvida:
1- aonde eu digito esse script? no tal do terminal nao ta com cara de ser.. entao pensei "eu crio um arquivo, digito esse negocio todo, e salvo".. mas crio com o que?
2- se fosse o caso de criar um arquivo mesmo, como faço pra ele executar automaticamente e escolher a placa correta? ta incluido no script?

Eu também coloquei radeon na blacklist, mas dá tela preta com fixa(caps lock) piscando  e eu tenho que iniciar umas 3 vezes pra entrar.
Só pra constar e tenho um hp dv4-2040 (placa intel e ati 4550) e instalei o ubuntu 11.04 e ta com kernel 2.6.38-10.

Desculpa pelas dúvidas tao primárias mas agradeço se alguem puder dar uma luz.

Kriptolix

Eek, ola.

Em primeiro lugar, parabens pela mudança e por, mesmo sendo iniciante, conseguir ser tao claro nas suas duvidas e ja passar todas as informaçoes necessarias para resolve-las, vamos a suas questoes:

1 -  um script linux nada mais é do que um arquivo de texto puro (no mesmo estilo de um txt) com permissao de execuçao, para criar esse arquivo basta voce criar um arquivo de texto vazio e colar o conteudo (uso o gedit, o botao direito->novo arquivo ou o que vc achar melhor). uma vez criado o arquivo cole o conteudo e de permissao de execuçao (é explicado la na parte dos scripts como fazer).

2 - o script nao escolhe a placa por ele mesmo, ele é so uma forma de escolher, ao executa-lo ele ele abrira uma janelinha que lhe apresentara a opçao de usar uma placa diferente daquela que voce esta usando, ao ser executado ele também desliga a placa fora de uso (se voce apenas executa-lo e depois fechar a janela sem escolher mudar de placa).

CitarEu também coloquei radeon na blacklist, mas dá tela preta com fixa(caps lock) piscando  e eu tenho que iniciar umas 3 vezes pra entrar

isso ate ocorre comigo, mas é muito raro, e depois de algumas atualizaçoes (estou no kernel 3.0.7) nao aconteceu mais, se esta ocorrendo com muita frequencia com voce pode ser alguma problema a ser analisado. a minha pergunta é: antes de vc por o radeon na blacklist isso acontecia? o fato de ter posto na blacklist melhorou alguma coisa ou so piorou a situaçao?
Ubuntu Linux 10.10