terça-feira, 3 de maio de 2011

Ubuntu 11.04 reinicia quando toca video com qualquer player.

Olá a todos,

Qual não foi minha surpresa quando toquei um arquivo de vídeo feito pelo meu celular. Boom! meu ambiente gráfico reinicia.

Se fosse no windows pensaria em memória ou codec, mas e no novíssimo Ubuntu 11.04?


O pacote Ubuntu restric sempre funcionou bem. Instalei outro ambiente o openbox e o mesmo resultado. Na verdade era tentar mexer na janela do player tipo o vlc que o ambiente reiniciava.

Nós pobres mortais, com máquinas velhinhas que graças ao linux suspiram, em meio ao mar de upgrade.

Minha máquina é um Pentium IV com placa P4S8X tudo on-board com 1GB de RAM.
Abaixo a linha de vídeo conseguido com o lspci.

01:00.0 VGA compatible controller: VIA  Technologies, inc. CN700/P4M800 PRO/P4M800 CE/VN800 [S3 UniChrome PRO] (rev 01)

Bem inicio a caça lendo os logs! Depois de ficar cheio disso consulto a internet.
O insigth vem , pode ser do servidor xorg. O que levou em resumo aos passos abaixo:

  1. entrar em login texto
  2. derrubar o gdm
  3. rodar Xorg -configure
  4. chwon 1000:1000 xorg.conf.new
  5. trocar o driver do card0 openchrome por fbdev
  6. copiar arquivo: cp xorg.conf.new /etc/X11/xorg.conf
  7. reinicia o computador

Funcionou, mas deveras complicado. Principalmente porque o xorg.conf não existe!!!!!! Teve que ser criado, isto pode afetar  futuras atualizações automáticas.

Trabalhei em uma solução um pouco mais simples que o de cima.
Usando o synapitc pesquisei por xorg e removi quase todos os xserver relacionados a vídeo.
No fim deixei apenas o fbdev, vesa e alguns outros.

Reinicie o micro(vicio de windows! rsrsrs)

E os vídeos agora executam sem problemas.

Infelizmente detectei que com monitores widescreen não alcança a resolução adequada, ficando no máximo com 1024x768.


Mas não desisti tão facilmente!

Minha pesquisas me levaram a um novo patamar de conhecimento.

Minha primeira descoberta foi que estava utilizando o driver VESA.


Entendi levemente o novo esquema do xorg.
Ele cria em um diretório /usr/share/X11/xorg.conf.d em arquivos separados as configurações do sistema. Então criei um 10-monitor.conf, como abaixo:
Section "Monitor"
    Identifier "Monitor0"
    VendorName "Philips"
    ModelName "185Vw"
EndSection

Section "Device"
    Identifier "Card0"
    Driver "vesa"
EndSection

Section "Screen"
    Identifier "Screen0"
    Device "Card0"
    Monitor "Monitor0"
    DefaultDepth 24 #Choose the depth (16||24)
    SubSection "Display"
       Depth 24
       Modes "1360x768_60.00" #Choose the resolution
    EndSubSection
EndSection         

Trabalhei por alguns dias na façanha de tornar o vesa no sonhado widescreen, mas nada funcionou, nem a criação de um Modeline.

Section "Monitor"
Modeline "1360x765@60" 84.11 1360 1392 1704 1736 765 780 788 804

Tentei desligar o DDC, que informa as caracteristicas VESA do monitor, mas nada adiantava.

Voltei a instalar o openchrome do pacote e a trabalhar em combinações do device.

Deixo uma sugestão de 10-monitor.conf comas opções que detectei:
Section "Monitor"
    Identifier   "Monitor0"
    VendorName   "Philips"
    ModelName    "185Vw"
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: : integer, : float, : "True"/"False",
        ### : "String", : " Hz/kHz/MHz",
        ### : "%"
        ### [arg]: arg optional
        #Option     "PrintVGARegs"           "True"# []
        #Option     "PrintTVRegs"            # []
        #Option     "I2CScan"                # []
        #Option     "VBEModes"               "False" # []
        #Option     "NoAccel"                "True"# []
        #Option     "AccelMethod"            #
        #Option     "ExaNoComposite"         # []
        #Option     "ExaScratchSize"         #
        #Option     "SWCursor"               "True" # []
        #Option     "ShadowFB"               # []
        #Option     "RotationType"           # []
        #Option     "Rotate"                 # []
        #Option     "VideoRAM"               "65536" #
        #Option     "ActiveDevice"           "CRT" # []
        #Option     "BusWidth"               # []
        #Option     "Center"                 # []
        #Option     "PanelSize"              # []
        #Option     "ForcePanel"             # []
        #Option     "TVDotCrawl"             # []
        #Option     "TVDeflicker"            #
        #Option     "TVType"                 # []
        #Option     "TVOutput"               # []
        #Option     "TVPort"                 # []
        #Option     "DisableVQ"              "True" # []
        #Option     "DisableIRQ"             "True" # []
        #Option     "EnableAGPDMA"           "False" # []
        #Option     "NoAGPFor2D"             "True" # []
        #Option     "NoXVDMA"                # [] # quando abilitado não importa o valor o ambiente X não carrega.
        #Option     "VbeSaveRestore"         # []
        #Option     "DisableXvBWCheck"       # []
        #Option     "ModeSwitchMethod"       "legacy" # []
        #Option     "MaxDRIMem"              "4608" #
        #Option     "AGPMem"                 "32768"#
        #Option     "I2CDevices"             # []

    Identifier  "Card0"
    Driver      "openchrome"
    BusID       "PCI:1:0:0"
EndSection

Section "Screen"
    Identifier "Screen0"
    Device     "Card0"
    Monitor    "Monitor0"
    DefaultDepth  24 #Choose the depth (16||24)
    SubSection "Display"
        Depth     24
        Modes     "1360x768_60.00" #Choose the resolutio
    EndSubSection
EndSection


Outra vez nada! Só observando, lembre-se de descomentar(retirar o "#")  nas opções que queira experimentar.
Minha placa com meu monitor não deixa que eu tenha um DefaultDepth nem mais nem menos que 24bbp de cor.


Então fiquei em cima de aplicativos que pudessem aliviar o problema.

Ai entra em cena o VLC, que em propriedades de vídeo com a aceleração desligada. Pasmem rodou os filmes!!!!

Mas nem tudo é flores!!!!!

Só por garantia retirei o pacote do reprodutor de vídeo(totem).

Deu uma pista na qual já pisei,não adianta mudar as opções pra reduzir a aceleração. Nem forçar o BIOS a ficar com parâmetro menores como por exemplo 4MB pra RAM-VÍDEO.

E o problema volta a assombra quando uso minha webcam, que utiliza todos os parâmetros padrões do xorg.


No momento pra ficar com widescreen 16:9 dos monitores populares do presente mercado vejo duas alternativas:

  1. Comprar uma placa de vídeo boa.
  2. Fazer um downgrade pro ubuntu 10

Existem trabalho e cima de uma nova revisão de driver, que acredito estará no mercado em 8 meses no mínimo.

Um update neste ano de 2012!
A triste noticia para nós que tentamos prolongar a vida útil deste hardware.
O suporte a 3D, o Mesa 3D versão 8.0 com OpenGL 3.0, removeu em definitivo o suporte a placas unichrome. Então para futuras versões de Ubuntu não haverá mais 3D.

Boa sorte!!
fonte:
  1. Gerador de modeline: http://xtiming.sourceforge.net/cgi-bin/xtiming.pl
  2. Man Page do openchrome: http://manpages.ubuntu.com/manpages/maverick/man4/openchrome.4.html
  3. Novo xorg: https://wiki.archlinux.org/index.php/Xorg
  4. Mesa 3D + OpenGL 3.0: http://forum.ubuntued.info/viewtopic.php?f=17&t=1206#p8684

9 comentários:

  1. Olá meu caro, estou com o mesmo problema. Mas não sei nem pra onde vou, grande é a tentação de reinstalar o windowns.

    ResponderExcluir
  2. Tenho um Samsung SyncMaster P2470HN e ainda não consegui o widescreen corretamente nele. Na verdade o gnome-system-monitor não o detecta, ficando como 'Desconhecido'.

    ResponderExcluir
  3. ericsiqueira no momento aconselho a utilizar o vlc e remover o player padrão, isso minimiza o problema até um update.

    ResponderExcluir
  4. Davi Lima pode-se instalar ferramentas como o ddccontrol, xresprobe e/ou read-edid. O mais completo é o read-edid.
    tudo via linha de comando. Pode tentar forçar o widescreen com modeline dentro do xorg.conf. Se tiver usando um driver VESA infelizmente se monstrou inutil pra mim.

    ResponderExcluir
  5. O segundo método, de deletar os xservers relacionados a vídeo, funcionou! Deixei apenas os indicados na figura.
    Muito obrigado!!!

    ResponderExcluir
  6. consegui apenas desativando a aceleraçao de video no VLC(consigo mover o video ativar tela cheia e tudo) porem tem um outro truque é abrir o VLC extender ele(maximizar)e abrir o video e assistir porem tem q estar com tudo fechado(programas,MSN...etc) esse truque da pra fazer sem desativar a aceleraçao de video e nao pode abrir nada somente mecher no player tipo pausar avancar e etc a minha config é:
    P4V8X-MX
    Pentium de 3.20 GHZ
    1GB de RAM
    TUDO na ONBOARD

    eu at achei que fosse o unico a ter esse problema

    ResponderExcluir
  7. Deu certo fazendo o método de deletar os xservers!
    Vlw!

    ResponderExcluir
  8. por essas coisas eu continuo no windows, parei no ubunto 9.04 passei 2 meses naquela tranqueira. agora to com o win 7 sussa

    ResponderExcluir
  9. E ainda falam bem do linux
    Windows wins

    ResponderExcluir