[FUG-BR] Beryl no FreeBSD

Patrick Tracanelli eksffa em freebsdbrasil.com.br
Segunda Julho 30 08:44:45 BRT 2007


Rafael Albuquerque wrote:
> Aparentemente, era a memoria de video baixa.
> 
> Eu estava com apenas 32 mb de video disponibilizado.
> 
> Aumentei pra 128mb e os problemas, aparentemente acabaram.
> 
> Estou postando resposta as minhas proprias indagacoes pra manter no historico,
> 
> []s
> Rafael Albuquerque

Aqui isso tambem acontecia. Resolvi com configuracao. Pra documentar, o 
meu:

- rendering path ficou pixmap texture (textura de pixmap);
- compositing window ficou COW (use COW);
- plataforma de renderizacao ficou AIGLX (forcado);
- E renderizacao (rendering) ficou indireta (indirect);

E' possivel configurar isso via beryl-manager ou na linha de comando na 
hora de chamar o beryl.


> 
> On 7/29/07, Rafael Albuquerque <rbaslack em gmail.com> wrote:
>> Para registrar...
>>
>> Atualizei o nvidia-driver (o mesmo que estava me dando problema e
>> relatei no primeiro email) e junto com ele o graphics/libGL
>>
>> Agora o beryl esta rodando !
>>
>> Soh tenho um problema agora.. (posso ter mais, mas por enquanto soh
>> detectei esse) algumas janelas (ate agora o firefox e o winbox
>> [cliente windows para administracao de Mikrotik sendo executado por
>> wine]) abrem mas aparece apenas a barra de titulo o resto da tela fica
>> preta. Basta eu mudar de window manager pelo bery-manager e voltar pro
>> beryl pra corrigir isso. Mas fica chato ficar mudando direto hehehe se
>> alguem ja tiver passado por isso. Ainda vou pesquisar e tentar
>> resolver. No caso do winbox, eu fico ate calado porque ta sendo
>> emulado pelo wine e, inclusive, no bery-manager tem uma opcao pra
>> melhorar janelas pelo wine e legacy windows, mas nao vi diferença nao.
>>
>> De qualquer forma, fica registrado os avanços pra quem passar pela mesma coisa.
>>
>> []s
>> Rafael Albuquerque
>>
>> On 7/29/07, Rafael Albuquerque <rbaslack em gmail.com> wrote:
>>> Primeiramente, valeu pela resposta. Acho que com algumas informacoes
>>> iniciais de instalacao isso daria um howto hehehe
>>>
>>> Bem, algumas coisas eu ja tinha descoberto como por exemplo que o dbus
>>> nao estava rodando. Ai depois do teu email eu rodei o beryl com
>>> dbus-launch e nao deu mais o erro. Aumentei o shmall e tambem resolveu
>>> o erro do SHM creation.
>>>
>>> O problema agora mudou, o cubo ta feito. ele roda o cubo só que fica
>>> vazio. Algumas faces estao brancas. E outras faces mostram o icone do
>>> beryl. Isso acontece tambem se eu rodar o bery-manager dentro do KDE
>>> (pelo que eu entendi do seu email se eu rodar APENAS o beryl ele
>>> realmente ficaria assim, mas pelo kde deveria ficar diferente)
>>>
>>> Em relacao ao patch, eu apliquei, deu tudo certo, soh nao vi
>>> diferença, mas tambem seria dificil ver diferença pq nao funcionou
>>> ainda heeheh
>>>
>>> Sinto que falta pouco... :) :)
>>>
>>>
>>>
>>> On 7/29/07, Patrick Tracanelli <eksffa em freebsdbrasil.com.br> wrote:
>>>> Primeira coisa, voce tem o dbus ativo?
>>>>
>>>> dbus_enable="YES" no rc.conf e inicie o daemon
>>>>
>>>> Depois, lembre-se, a partir desse momento qualquer oisa que voce iniciar
>>>> via .xinitrc, faca-o com dbus-launch antes, para garantir que a
>>>> aplicacao va conhecer as variaveis de ambiente necessarias pra usar uma
>>>> sessao dbus, e principalmente que alguma sessao dbus seja iniciada.
>>>>
>>>> Por exemplo
>>>>
>>>> echo "dbus-launch startkde" > ~/.xinitrc
>>>>
>>>> Eu pessoalmente nao uso KDE, mas acho que voce esta no caminho certo se
>>>> deseja usa-lo. Se voce inicou o beryl dentro do KDE e apareceu o splash,
>>>> meio caminho andado. Dente dar um CONTROL+ALT+SETA e veja se entra no
>>>> modo cubo, independente de qualquer outra coisa q pareca um bug, nesse
>>>> momento. Voce arruma isso depois.
>>>>
>>>> Segunda coisa, tem que tunar o sistema ate acabar os erros de shm. Senao
>>>> é entropia continuar. Felizmente é simples. Sao poucas variaveis. No meu
>>>> ambiente, no /etc/sysctl.conf eu tenho:
>>>>
>>>> kern.ipc.shmall=522144
>>>> kern.ipc.shmmax=2073741824
>>>>
>>>> É mais do que o beryl/nvidia precisam, mas acaba que eu uso shared
>>>> memory com muitas outras coisas tbm, menos comuns (tipo, interfaces de
>>>> autoracao de dvd e uns devices da upek q tbm precisam, por isso tao
>>>> alto). Logo, voce pode tentar com valores mais baixos ateh a mensagem de
>>>>   falta de SHM parar de acontecer.
>>>>
>>>> Sobre a tela azul, é isso mesmo. Use
>>>>
>>>> dbus-launch beryl
>>>>
>>>> no .xinitrc
>>>>
>>>> Ao iniciar com startx vc vera uma tela azul. Se CTRL+ALT+SETA rodar um
>>>> cubo todo azul muito rapido, eh isso que deve acontecer. Mas voce nao
>>>> tera um ambiente deskto, tera apenas o WM beryl. Ou seja nao tera nada,
>>>> nem condicoes de abrir um terminal. Tao pouco programas... isso porque o
>>>> beryl eh WM e nao um ambiente de trabalaho grafico completo. E como WM o
>>>> beryl eh completissimo. Porem, nao faz nada alem de ser um WM. Nao eh
>>>> como o Enlightenment por exemplo, que eh um WM e tem recursos de
>>>> desktop, inclusive file manager (ainda q limitadissimo).
>>>>
>>>> Bom, voltando ao foco, voce tera que escolher um Desktop modular pra
>>>> rodar com o Beryl. Os mais comuns sao
>>>>
>>>> - Gnome
>>>> - KDE (parece q eh sua escolha ja)
>>>>
>>>> Outra muito comum (parece q muita gente prefere ele, do que os acima
>>>> mencionados):
>>>>
>>>> - XFCE4
>>>>
>>>> Minha escolha pessoal nao eh nenhum desses. O que dificulta um pouco o uso:
>>>>
>>>> - Nautilus com Desktop
>>>>
>>>> Os tres acima sao a melhor escolha. Nautilus sequer eh uma opcao
>>>> ofcialmente existente, sem o gnome. Entao escolha um dos tres acima, ao
>>>> menos pra comecar.
>>>>
>>>> Todos eles tem sistemas de startup. E todos eles sao frameworks completo
>>>> (http://www.freedesktop.org/wiki/Desktops) entao voce pode usar um deles
>>>> com outro WindowManager, que nao os feitos especialmente pra eles. Ai
>>>> que entra outra coisa:
>>>>
>>>> Sempre inicie o beryl-manager, e nunca o beryl diretamente. Pelo
>>>> beryl-manager escokha o windows manager (beryl), e pronto.
>>>>
>>>> Pelo beryl-manager voce pode iniciar o beryl-settings (e tambem em um
>>>> terminal). Inicie o ambiente assim, entao via .xinitrc inicie apenas o
>>>> kde mesmo (no seu caso) e depois em um terminal ou via STARTUP do kde,
>>>> inicie o beryl-manager, e por sua vez por ele, defina o beryl como WM
>>>> padrao.
>>>>
>>>> Configure o ambiente e custimize-o.
>>>>
>>>> Voce provavelmente pode ter um monte de comportamento estranho q vc vai
>>>> pensar q sao bugs. Pelo beryl-manager va em "opcoes avancadas do beryl"
>>>> e modifique as configuracoes ate seu ambiente estabilizar. Evite os
>>>> "automaticos".
>>>>
>>>> Porem, como sua placa é nVidia Go, tem um detalhe que pode fazer
>>>> diferença. Um pequeno patch (2 linhas) no beryl. Eu não lembro quem fez
>>>> esse patch nem qual a URL original, mas esta em algum lugar nos foruns
>>>> nvnews (http://www.nvnews.net/vbulletin/), porem, pra facilitar coloquei
>>>> num servidor agora.
>>>>
>>>> Pra aplicar, basta recompilar/compilar o beryl-core, via ports mesmo.
>>>> Faca assim:
>>>>
>>>> cd /usr/ports/x11-wm/beryl-core/
>>>> make extract
>>>> cd work/beryl-core-0.2.0/
>>>> fetch
>>>> http://www6.freebsdbrasil.com.br/~eksffa/l/v/beryl-0.2.0_rc3-damage-display.c.patch
>>>> patch -p0 < beryl-0.2.0_rc3-damage-display.c.patch
>>>> cd -
>>>> make install clean
>>>>
>>>> (se ja estiver instalado, force registro ou desinstale antes).
>>>>
>>>> Sinceramente, indico que voce aplique o patch por ultimo. Pra mim ele é
>>>> imprecindivel (GeForce Go 7400). Porem, nao sei se isso se aplica a
>>>> TODAS GeForce Go. Me parece que sim, pois no wiki do beryl-project esse
>>>> patch ja fez diferenca pra outros usuarios, de Go 7200 e Go 7300.
>>>>
>>>> Meu card/chip pra referencia, seguem:
>>>>
>>>> nvidia0 em pci1:0:0:       class=0x030000 card=0x81e6104d chip=0x01d810de
>>>> rev=0xa1 hdr=0x00
>>>>      vendor     = 'NVIDIA Corporation'
>>>>
>>>> Pra referencia, o xorg.conf que eu uso no momento:
>>>>
>>>> Section "Files"
>>>>      RgbPath         "/usr/local/share/X11/rgb"
>>>>      ModulePath      "/usr/local/lib/xorg/modules"
>>>>      FontPath        "/usr/local/lib/X11/fonts/misc/"
>>>>      FontPath        "/usr/local/lib/X11/fonts/TTF/"
>>>>      FontPath        "/usr/local/lib/X11/fonts/OTF"
>>>>      FontPath        "/usr/local/lib/X11/fonts/Type1/"
>>>>      FontPath        "/usr/local/lib/X11/fonts/100dpi/"
>>>>      FontPath        "/usr/local/lib/X11/fonts/75dpi/"
>>>> EndSection
>>>>
>>>> Section "Module"
>>>>      Load           "extmod"
>>>>      Load           "record"
>>>>      Load           "dbe"
>>>>      Load           "xtrap"
>>>>      Load           "glx"
>>>>      Load           "freetype"
>>>>      Load           "type1"
>>>> EndSection
>>>>
>>>> Section "ServerFlags"
>>>>      Option         "Xinerama" "0"
>>>> EndSection
>>>>
>>>> Section "InputDevice"
>>>>      Identifier     "Keyboard0"
>>>>      Driver         "kbd"
>>>> EndSection
>>>>
>>>> Section "InputDevice"
>>>>      Identifier     "Mouse0"
>>>>      Driver         "mouse"
>>>>      Option         "Protocol" "auto"
>>>>      Option         "Device" "/dev/sysmouse"
>>>>      Option         "ZAxisMapping" "4 5 6 7"
>>>> EndSection
>>>>
>>>> Section "Monitor"
>>>>      Identifier     "Monitor1"
>>>>      VendorName     "Unknown"
>>>>      ModelName      "Tubo CRT"
>>>>      HorizSync       30.0 - 83.0
>>>>      VertRefresh     56.0 - 75.0
>>>>          Mode    "1024x768"      # vfreq 84.997Hz, hfreq 116.955kHz
>>>>                  DotClock        94.500000
>>>>                  HTimings        1024 1072 1168 1376
>>>>                  VTimings        768 769 772 808
>>>>                  Flags   "+HSync" "+VSync"
>>>>          EndMode
>>>> EndSection
>>>>
>>>> Section "Monitor"
>>>>      Identifier     "Monitor0"
>>>>      VendorName     "Unknown"
>>>>      ModelName      "Nvidia Default Flat Panel"
>>>>      HorizSync       29.0 - 50.0
>>>>      VertRefresh     0.0 - 60.0
>>>> EndSection
>>>>
>>>>
>>>> Section "Device"
>>>>      Identifier     "Card0"
>>>>      Driver         "nvidia"
>>>>      VendorName     "nVidia Corporation"
>>>>      BoardName      "GeForce Go 7400"
>>>>      Option         "AllowGLXWithComposite" "True"
>>>>      Option         "RenderAccel" "True"
>>>>      Option         "AddARGBGLXVisuals" "True"
>>>>      Option         "DisableGLXRootClipping" "True"
>>>>      Option         "XAANoOffscreenPixmaps"
>>>>      Option         "backingstore" "True"
>>>>      Option         "TripleBuffer" "True"
>>>> EndSection
>>>>
>>>> Section "Device"
>>>>      Identifier     "Card1"
>>>>      Driver         "nvidia"
>>>>      VendorName     "NVIDIA Corporation"
>>>>      BoardName      "GeForce Go 7400"
>>>> EndSection
>>>>
>>>> Section "Screen"
>>>>      Identifier     "Screen0"
>>>>      Device         "Card0"
>>>>      Monitor        "Monitor0"
>>>>      DefaultDepth    24
>>>>      Option         "AddARGBGLXVisuals" "True"
>>>>      Option         "DisableGLXRootClipping" "True"
>>>> #    Option         "TwinViewOrientation" "Clone"
>>>>      Option         "ExactModeTimingsDVI" "True"
>>>> #    Option         "TwinView" "1"
>>>> #    Option         "NoTwinViewXineramaInfo" "True"
>>>>      Option         "metamodes" "1280x800 +0+0"
>>>>      SubSection     "Display"
>>>>          Depth       24
>>>>          Modes      "1600x1200" "1280x1024" "1024x768"
>>>>      EndSubSection
>>>> EndSection
>>>>
>>>> Section "Screen"
>>>>          Identifier      "Screen1"
>>>>          Device          "Card1"
>>>>          Monitor         "Monitor1"
>>>>          DefaultDepth    24
>>>>          SubSection "Display"
>>>>                  Depth   24
>>>>                  Modes   "1024x768" "800x600" "640x480"
>>>>          EndSubSection
>>>> EndSection
>>>>
>>>> Section "ServerLayout"
>>>>          Identifier      "Default Layout"
>>>> #        Screen          "Screen0"
>>>>         Screen          "Screen0" Clone "Screen1"
>>>>
>>>>      InputDevice    "Mouse0" "CorePointer"
>>>>      InputDevice    "Keyboard0" "CoreKeyboard"
>>>> EndSection
>>>>
>>>>
>>>> Section "Extensions"
>>>>      Option         "Composite" "Enable"
>>>> EndSection
>>>>
>>>> Porem, o xorg.conf acima esta configurado pra usar os 2 canais da placa
>>>> de video, o Flat (lcd do laptop) e a saida, configurada pra CRT ou
>>>> datashow, e com resolucoes distintas, o que pode significar que pra vc,
>>>> sao informacoes dispensaveis e que podem so gerar confusao.
>>>>
>>>> Entao segue um outro xorg.conf simplificado, q eu usava com apenas a
>>>> tela Flat:
>>>>
>>>> Section "ServerLayout"
>>>>
>>>> #    Option         "AIGLX" "false"
>>>>      Identifier     "X.org Configured"
>>>>      Screen      0  "Screen0" 0 0
>>>>      InputDevice    "Mouse0" "CorePointer"
>>>>      InputDevice    "Keyboard0" "CoreKeyboard"
>>>> EndSection
>>>>
>>>> Section "Files"
>>>>      RgbPath         "/usr/local/share/X11/rgb"
>>>>      ModulePath      "/usr/local/lib/xorg/modules"
>>>>      FontPath        "/usr/local/lib/X11/fonts/misc/"
>>>>      FontPath        "/usr/local/lib/X11/fonts/TTF/"
>>>>      FontPath        "/usr/local/lib/X11/fonts/OTF"
>>>>      FontPath        "/usr/local/lib/X11/fonts/Type1/"
>>>>      FontPath        "/usr/local/lib/X11/fonts/100dpi/"
>>>>      FontPath        "/usr/local/lib/X11/fonts/75dpi/"
>>>> EndSection
>>>>
>>>> Section "Module"
>>>>      Load           "extmod"
>>>>      Load           "record"
>>>>      Load           "dbe"
>>>>      Load           "xtrap"
>>>>      Load           "glx"
>>>>      Load           "freetype"
>>>>      Load           "type1"
>>>> EndSection
>>>>
>>>> Section "ServerFlags"
>>>>      Option         "Xinerama" "0"
>>>> EndSection
>>>>
>>>> Section "InputDevice"
>>>>      Identifier     "Keyboard0"
>>>>      Driver         "kbd"
>>>> EndSection
>>>>
>>>> Section "InputDevice"
>>>>      Identifier     "Mouse0"
>>>>      Driver         "mouse"
>>>>      Option         "Protocol" "auto"
>>>>      Option         "Device" "/dev/sysmouse"
>>>>      Option         "ZAxisMapping" "4 5 6 7"
>>>> EndSection
>>>>
>>>> Section "Monitor"
>>>>      Identifier     "Monitor0"
>>>>      VendorName     "Unknown"
>>>>      ModelName      "Nvidia Default Flat Panel"
>>>>      HorizSync       29.0 - 50.0
>>>>      VertRefresh     0.0 - 60.0
>>>> EndSection
>>>>
>>>> Section "Device"
>>>>
>>>>          ### Available Driver options are:-
>>>>          ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
>>>>          ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
>>>>          ### [arg]: arg optional
>>>>          #Option     "SWcursor"                  # [<bool>]
>>>>          #Option     "HWcursor"                  # [<bool>]
>>>>          #Option     "NoAccel"                   # [<bool>]
>>>>          #Option     "ShadowFB"                  # [<bool>]
>>>>          #Option     "UseFBDev"                  # [<bool>]
>>>>          #Option     "Rotate"                    # [<str>]
>>>>          #Option     "VideoKey"                  # <i>
>>>>          #Option     "FlatPanel"                 # [<bool>]
>>>>          #Option     "FPDither"                  # [<bool>]
>>>>          #Option     "CrtcNumber"                # <i>
>>>>          #Option     "FPScale"                   # [<bool>]
>>>>          #Option     "FPTweak"                   # <i>
>>>>      Identifier     "Card0"
>>>>      Driver         "nvidia"
>>>>      VendorName     "nVidia Corporation"
>>>>      BoardName      "GeForce Go 7400"
>>>>      Option         "AllowGLXWithComposite" "True"
>>>>      Option         "RenderAccel" "True"
>>>>      Option         "AddARGBGLXVisuals" "True"
>>>>      Option         "DisableGLXRootClipping" "True"
>>>>      Option         "XAANoOffscreenPixmaps"
>>>>      Option         "backingstore" "True"
>>>>      Option         "TripleBuffer" "True"
>>>> EndSection
>>>>
>>>> Section "Device"
>>>>      Identifier     "Videocard0"
>>>>      Driver         "nvidia"
>>>>      VendorName     "NVIDIA Corporation"
>>>>      BoardName      "GeForce Go 7400"
>>>> EndSection
>>>>
>>>> Section "Screen"
>>>>
>>>> Option "TwinView" "True"
>>>> Option "MetaModes" "nvidia-auto-select, nvidia-auto-select"
>>>> Option "metamodes" "nvidia-auto-select +0+0"
>>>>      Identifier     "Screen0"
>>>>      Device         "Videocard0"
>>>>      Monitor        "Monitor0"
>>>>      DefaultDepth    24
>>>>      Option         "TwinView" "0"
>>>>      Option         "metamodes" "1280x800 +0+0"
>>>>      Option         "AddARGBGLXVisuals" "True"
>>>>      Option         "DisableGLXRootClipping" "True"
>>>>      SubSection     "Display"
>>>>          Depth       24
>>>>          Modes      "1600x1200" "1280x1024" "1024x768" "800x600" "640x480"
>>>>      EndSubSection
>>>> EndSection
>>>>
>>>> Section "Extensions"
>>>>      Option         "Composite" "Enable"
>>>> EndSection
>>>>
>>>> Resumindo, o que realmente interessa:
>>>>
>>>> Deve existir em qq parte do xorg.conf
>>>>
>>>> Section "Extensions"
>>>>      Option         "Composite" "Enable"
>>>> EndSection
>>>>
>>>> Na secao Screen, garanta que exista:
>>>>
>>>> Option         "AddARGBGLXVisuals" "True"
>>>> Option         "DisableGLXRootClipping" "True"
>>>>
>>>> Na secao Device, garanta:
>>>>
>>>>      Option         "AllowGLXWithComposite" "True"
>>>>      Option         "RenderAccel" "True"
>>>>      Option         "AddARGBGLXVisuals" "True"
>>>>      Option         "DisableGLXRootClipping" "True"
>>>>      Option         "XAANoOffscreenPixmaps"
>>>>
>>>> E teste tambem (so funciona em algumas nVidia, porem, nao eh necessario
>>>> pro AIGLX. Apenas melhora um pouco a performance, se a sua placa suportar):
>>>>
>>>>      Option         "backingstore" "True"
>>>>      Option         "TripleBuffer" "True"
>>>>
>>>> Na secao Module, garanta:
>>>>
>>>>      Load           "glx"
>>>>
>>>> E lembre-se que com nVidia, voce nao usa DRI. Entao na mesma secao se vc
>>>> tiver dri carregado, remova/comente:
>>>>
>>>> #    Load           "dri"
>>>>
>>>> Por ultimo, na secao ServerLayout gatanta a existencia de:
>>>>
>>>> Option         "AIGLX" "true"
>>>>
>>>> Divirta-se. E pra completar o ambiente, instale o kiba-dock quando ja
>>>> estiver com se beryl funcionando =P
>>>>
>>>> Espero ter ajudado. Boa sorte.
>>>>
>>>> --
>>>> Patrick Tracanelli
>>>>
>>>> FreeBSD Brasil LTDA.
>>>> (31) 3281-9633 / 3281-3547
>>>> 316601 em sip.freebsdbrasil.com.br
>>>> http://www.freebsdbrasil.com.br
>>>> "Long live Hanin Elias, Kim Deal!"
>>>>
>>>> -------------------------
>>>> Histórico: http://www.fug.com.br/historico/html/freebsd/
>>>> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>>>>
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd


-- 
Patrick Tracanelli

FreeBSD Brasil LTDA.
(31) 3281-9633 / 3281-3547
316601 em sip.freebsdbrasil.com.br
http://www.freebsdbrasil.com.br
"Long live Hanin Elias, Kim Deal!"



Mais detalhes sobre a lista de discussão freebsd