Fórum Ubuntu Linux - PT
Suporte Técnico => Hardware e Periféricos => Tópico iniciado por: mimarechal em 26 de Julho de 2013, 18:58
-
Olá a todos!
Por muito tempo eu utilizei o Ubuntu 12.04 sem me preocupar muito com atualizações e esse tipo de coisa e tudo funcionava muito bem. Mas, recentemente resolvi formatar o meu computador e reinstalar o Ubuntu 12.04, para minha surpresa o driver de vídeo da amd deixou de funcionar. Pesquisei a respeito e descobri que isso aconteceu por causa da atualização do Xorg, de 1.11 para 1.13, versão não suportada pelos drivers da minha placa de vídeo. Lendo sobre formas de contornar o problema, encontrei informações de que o novo kernel trazia avanços para as placas híbridas da ATI e achei uma boa ideia instalar o novo Ubuntu, o 13.04.
As placas de vídeo que tenho são: Ati 6370m e ATi 4200.
Iniciando encontrei problemas antigos, como o superaquecimento com o driver OpenSource, apliquei então uma solução conhecida, a instalação do módulo acpi_call, através dos comandos:
$ sudo apt-get install git
$ cd ~
$ git clone http://github.com/mkottman/acpi_call.git
$ cd acpi_call
$ sudo make
$ sudo insmod acpi_call.ko
$ cd examples
$ sudo sh turn_off_gpu.sh
O meu problema é que quando eu torno essa medida permanente, alterando o arquivo RC.Local e a blacklist.conf, o Ubuntu 13.04 inicia com o Unity muito, mas muito lento. Quero deixar claro que sei que minha placa não é mais suportada pelo fglrx e que as placas híbridas não possuem soluções definitivas, mas será que existe alguma forma de amenizar meu problema?
Se inicio o sistem sem alterar o lc.local e a blacklist tudo funciona redondinho, inclusive após entrar com o código para desligar a placa dedicada, mas se torno isso permanente tenho problemas.
Segue abaixo as informações necessárias:
uname -a
Linux Michel 3.8.0-19-generic #29-Ubuntu SMP Wed Apr 17 18:16:28 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
lspci
00:00.0 Host bridge: Advanced Micro Devices [AMD] RS880 Host Bridge
00:01.0 PCI bridge: Advanced Micro Devices [AMD] RS780/RS880 PCI to PCI bridge (int gfx)
00:03.0 PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (ext gfx port 1)
00:05.0 PCI bridge: Advanced Micro Devices [AMD] RS780/RS880 PCI to PCI bridge (PCIE port 1)
00:06.0 PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (PCIE port 2)
00:11.0 SATA controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode]
00:12.0 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:12.2 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:13.0 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:13.2 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:14.0 SMBus: Advanced Micro Devices [AMD] nee ATI SBx00 SMBus Controller (rev 42)
00:14.2 Audio device: Advanced Micro Devices [AMD] nee ATI SBx00 Azalia (Intel HDA) (rev 40)
00:14.3 ISA bridge: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 LPC host controller (rev 40)
00:14.4 PCI bridge: Advanced Micro Devices [AMD] nee ATI SBx00 PCI to PCI Bridge (rev 40)
00:14.5 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI2 Controller
00:16.0 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:16.2 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:18.0 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor HyperTransport Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor Miscellaneous Control
00:18.4 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor Link Control
01:05.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI RS880M [Mobility Radeon HD 4225/4250]
01:05.1 Audio device: Advanced Micro Devices [AMD] nee ATI RS880 HDMI Audio [Radeon HD 4200 Series]
02:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Robson CE [Radeon HD 6370M/7370M] (rev ff)
04:00.0 Network controller: Broadcom Corporation BCM4313 802.11b/g/n Wireless LAN Controller (rev 01)
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 02)
lspci -vnnn | grep VGA
01:05.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI RS880M [Mobility Radeon HD 4225/4250] [1002:9712] (prog-if 00 [VGA controller])
02:00.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI Robson CE [Radeon HD 6370M/7370M] [1002:68e4] (rev ff) (prog-if ff)
sudo lshw -short
Caminho do hardware Dispositivo Classe Descrição
=========================================================
system HP G42 Notebook PC (LE659LA#AC4)
/0 bus 1445
/0/0 memory 1MiB BIOS
/0/c processor AMD Turion(tm) II P560 Dual-Core Processor
/0/c/d memory 256KiB L1 cache
/0/c/e memory 2MiB L2 cache
/0/f memory 4GiB Memória do sistema
/0/f/0 memory 2GiB SODIMM DDR3 Síncrono 1066 MHz (0,9 ns)
/0/f/1 memory 2GiB SODIMM DDR3 Síncrono 1066 MHz (0,9 ns)
/0/100 bridge RS880 Host Bridge
/0/100/1 bridge RS780/RS880 PCI to PCI bridge (int gfx)
/0/100/1/5 display RS880M [Mobility Radeon HD 4225/4250]
/0/100/1/5.1 multimedia RS880 HDMI Audio [Radeon HD 4200 Series]
/0/100/3 bridge RS780 PCI to PCI bridge (ext gfx port 1)
/0/100/3/0 generic Illegal Vendor ID
/0/100/5 bridge RS780/RS880 PCI to PCI bridge (PCIE port 1)
/0/100/5/0 eth1 network BCM4313 802.11b/g/n Wireless LAN Controller
/0/100/6 bridge RS780 PCI to PCI bridge (PCIE port 2)
/0/100/6/0 eth0 network RTL8101E/RTL8102E PCI Express Fast Ethernet controller
/0/100/11 storage SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode]
/0/100/12 bus SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
/0/100/12.2 bus SB7x0/SB8x0/SB9x0 USB EHCI Controller
/0/100/13 bus SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
/0/100/13.2 bus SB7x0/SB8x0/SB9x0 USB EHCI Controller
/0/100/14 bus SBx00 SMBus Controller
/0/100/14.2 multimedia SBx00 Azalia (Intel HDA)
/0/100/14.3 bridge SB7x0/SB8x0/SB9x0 LPC host controller
/0/100/14.4 bridge SBx00 PCI to PCI Bridge
/0/100/14.5 bus SB7x0/SB8x0/SB9x0 USB OHCI2 Controller
/0/100/16 bus SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
/0/100/16.2 bus SB7x0/SB8x0/SB9x0 USB EHCI Controller
/0/101 bridge Family 10h Processor HyperTransport Configuration
/0/102 bridge Family 10h Processor Address Map
/0/103 bridge Family 10h Processor DRAM Controller
/0/104 bridge Family 10h Processor Miscellaneous Control
/0/105 bridge Family 10h Processor Link Control
/0/1 scsi0 storage
/0/1/0.0.0 /dev/sda disk 500GB ST9500423AS
/0/1/0.0.0/1 /dev/sda1 volume 100MiB Windows NTFS volume
/0/1/0.0.0/2 /dev/sda2 volume 348GiB Windows NTFS volume
/0/1/0.0.0/3 /dev/sda3 volume 117GiB Extended partition
/0/1/0.0.0/3/5 /dev/sda5 volume 16GiB Linux filesystem partition
/0/1/0.0.0/3/6 /dev/sda6 volume 98GiB Linux filesystem partition
/0/1/0.0.0/3/7 /dev/sda7 volume 1928MiB Linux swap / Solaris partition
/0/2 scsi1 storage
/0/2/0.0.0 /dev/cdrom disk DVD A DS8A5LH
/0/2/0.0.0/0 /dev/cdrom disk
/0/2/0.0.0/0/2 volume 15EiB Windows FAT volume
/1 power MU06047
sudo lshw -C display
*-display
descrição: VGA compatible controller
produto: RS880M [Mobility Radeon HD 4225/4250]
fabricante: Advanced Micro Devices [AMD] nee ATI
ID físico: 5
informações do barramento: pci@0000:01:05.0
versão: 00
largura: 32 bits
clock: 33MHz
capacidades: pm msi vga_controller bus_master cap_list rom
configuração: driver=radeon latency=0
recursos: irq:18 memória:d0000000-dfffffff porta de E/S:7000(tamanho=256) memória:f1300000-f130ffff memória:f1200000-f12fffff
Obrigado à todos!
-
Olá mimarechal!
Esse parece ser um problema bem complicado, eu vou te recomendar uma coisa que provavelmente vão me criticar rsrs, mas experimente usar o kernel 3.10
http://ubuntued.info/lancado-o-linux-kernel-3-9-11-e-3-10-2-instale-agora
Me parece que nesse novo kernel 3.10 foram melhorados algumas coisas com placas de vídeo AMD, então vale o teste.
Caso dê algo errado, simplesmente entre no GRUB, inicie o sistema com o kernel antigo e remova esse, fácil fácil ;)
-
Bom... Instalei o Kernel 3.10 e nada foi resolvido, somente fez com que o wifi deixasse de funcionar. Alguma sugestão?
-
Hmm...então tenta o kernel 3.99 ;D
-
Cara, não vai adiantar atualizar esse Kernel!!
Isso te traz uma penca de problemas, porquê não sabe se nele está o problema, e pode perder suporte de algum dispositivo (seu caso, o Wireless).
Retorne ao Kernel anterior padrão!
E então, siga a dica a seguir do amigo Nomade, que talvez possa te ajudar!!
- http://ubuntuforum-br.org/index.php/topic,101608.0.html (http://ubuntuforum-br.org/index.php/topic,101608.0.html)
-
Arthur,
Eu já tinha visto a instalação através do downgrade do Xorg, mas não sei se é uma boa ideia, isso não pode me trazer problemas? Eu tentei em uma instalação anterior e meu Unity nunca mais abriu, será que é problemático?
-
Posso afirmar que com o Ubuntu 12.04.2 e kernel 3.5.0-36, funcionou 100%.
Se eu deixar o Xorg atualizar, ganho tela preta de presente (como disse em outro tópico aqui), mas se eu fizer o "downgrade" do Xorg, eu consigo usar na boa, com renderização 3D!!
Não posso afirmar que dê certo no Ubuntu 13.04, pois ainda não usei essa versão.
Mas vale tentar, boa sorte!
-
Então, eu não acho que seja uma boa já que uma vez deu crash no Unity, além disso a minha aceleração 3d está funcionando atualmente muito bem com o opensource, inclusive consumindo menos energia do que no Ubuntu 12.04 usando Catalyst 13.01. Mas a minha questão é quanto a possibilidade de alternar as placas de vídeo, se existe alguma alternativa ao modo acpi_call para fazer isso, já que quando eu faço da forma definitiva o Unity fica lento.
Quanto ao Kernel, a ideia é boa, mas não é bem por aí eu acho, parece que o 3.11 vai resolver esses problemas malditos de placa híbrida, mas até lá vou tentando encontrar as alternativas...
-
Ah sim, você tem uma GPU Híbrida?!! :)
Execute sudo lshw -C video e cole o resultado aqui, para a gente ter uma noção. ;)
Em qualquer caso, é bom dar uma lida e entendida em um tópico que tem aqui, tratando sobre isso!!
- http://ubuntuforum-br.org/index.php/topic,84528.0.html (http://ubuntuforum-br.org/index.php/topic,84528.0.html)
-
Por que você não cria um script para iniciar junto com o sistema com os comandos que você mesmo relatou:
$ sudo apt-get install git
$ cd ~
$ git clone http://github.com/mkottman/acpi_call.git
$ cd acpi_call
$ sudo make
$ sudo insmod acpi_call.ko
$ cd examples
$ sudo sh turn_off_gpu.sh
??
-
Seria boa ideia.
sudo apt-get install git
cd ~
git clone http://github.com/mkottman/acpi_call.git
cd acpi_call
sudo make
sudo insmod acpi_call.ko
cd examples
sudo sh turn_off_gpu.sh
Dar permissão de execução; sudo chmod +x script.sh
E então, criar um link simbólico do script para o rc.local
Mas, primeiro vamos aprimorar o caso, e entender, e buscar soluções possíveis.
-
Mas criando um script referente ao Rc.Local eu não cairia na mesma situação anterior? Não seria igual a introduzir as linhas diretamente ali?
sudo lshw -C video
*-display
descrição: VGA compatible controller
produto: RS880M [Mobility Radeon HD 4225/4250]
fabricante: Advanced Micro Devices [AMD] nee ATI
ID físico: 5
informações do barramento: pci@0000:01:05.0
versão: 00
largura: 32 bits
clock: 33MHz
capacidades: pm msi vga_controller bus_master cap_list rom
configuração: driver=radeon latency=0
recursos: irq:18 memória:d0000000-dfffffff porta de E/S:7000(tamanho=256) memória:f1300000-f130ffff memória:f1200000-f12fffff
*-display
descrição: VGA compatible controller
produto: Robson CE [Radeon HD 6370M/7370M]
fabricante: Advanced Micro Devices [AMD] nee ATI
ID físico: 0
informações do barramento: pci@0000:02:00.0
versão: 00
largura: 64 bits
clock: 33MHz
capacidades: pm pciexpress msi vga_controller bus_master cap_list rom
configuração: driver=radeon latency=0
recursos: irq:44 memória:e0000000-efffffff memória:f0200000-f021ffff porta de E/S:3000(tamanho=256) memória:f0220000-f023ffff
-
Leia o tópico que indiquei.
-
Mas criando um script referente ao Rc.Local eu não cairia na mesma situação anterior? Não seria igual a introduzir as linhas diretamente ali?
Eu acho que não, mas só testando pra realmente saber.
Mas leia o tópico que o Arthur te indicou =)
-
Interessante Arthur, mas infelizmente eu não sei direito como é essa coisa de criar um script e tal, será que você pode me ajudar? Pelo que li, o meu caso é com o Script 2;
#!/bin/bash
#Script para alternar entre placas de video by kriador
#versao 20110429 para ubuntu+kernel 2.6.38
#subindo o modulo radeon
modprobe radeon
#Checando status das GPUs
STATEDIS=`cat /sys/kernel/debug/vgaswitcheroo/switch | grep :DIS: | cut -c6-12`
STATEIGD=`cat /sys/kernel/debug/vgaswitcheroo/switch | grep :IGD: | cut -c6-12`
#Definindo status das GPUs
if [ "$STATEDIS" == ":+:Pwr:" ] && [ "$STATEIGD" == ": :Pwr:" ] || [ "$STATEDIS" == ":+:Pwr:" ] && [ "$STATEIGD" == ": :Off:" ]
then
VGASTATE="GPU para Alto Desempenho"
VGAOFF="GPU para Economia de Energia"
echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
elif [ "$STATEDIS" == ": :Pwr:" ] && [ "$STATEIGD" == ":+:Pwr:" ] || [ "$STATEDIS" = ": :Off:" ] && [ "$STATEIGD" = ":+:Pwr:" ]
then
VGASTATE="GPU para Economia de Energia"
VGAOFF="GPU para Alto Desempenho"
echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
else
VGASTATE="Erro de Leitura de estado"
VGAOFF="Erro de Leitura de estado"
fi
#pegando o PID do X
PIDX=`pgrep X`
#criando a dialog
zenity --question --title "VGA Switcher" --text "Unidade Grafica Atualmente Em Uso:\n\n$VGASTATE\n\nDeseja Alternar para $VGAOFF ?"
#realizando a mudança
if [ "$?" == "0" ]
then
if [ "$STATEDIS" == ":+:Pwr:" ]
then
echo ON > /sys/kernel/debug/vgaswitcheroo/switch
echo DIGD > /sys/kernel/debug/vgaswitcheroo/switch
zenity --warning --title "VGA Switcher" --text "Alternando para GPU Integrada\nSua Sessão será reiniciada"
kill $PIDX
elif [ "$STATEIGD" = ":+:Pwr:" ]
then
echo ON > /sys/kernel/debug/vgaswitcheroo/switch
echo DDIS > /sys/kernel/debug/vgaswitcheroo/switch
zenity --warning --title "VGA Switcher" --text "Alternando para GPU Discreta\nSua Sessão será reiniciada"
kill $PIDX
else zenity --warning --title "VGA Switcher" --text "Houve um erro inesperado, por favor notificar a criador desse script no e-mail kriador@gmail.com"
fi
else exit
fi
Valeu!!
-
Ótimo!
Descobri que a culpa de tudo era somente a linha na blacklist!!!
Retirei o blacklist radeon e refiz o procedimento anterior, adicionei no Rc.Local:
sudo insmod //acpi_call/acpi_call.ko
sudo sh //acpi_call/examples/turn_off_gpu.sh
Agora tá rolando!