[FUG-BR] Gnome 3.2 - Consegui rodar! - agora, problema com Intel/Xorg/Mesa?

Pablo Sánchez phackwer em gmail.com
Sábado Abril 7 01:54:07 BRT 2012


Caros,

Após muito esforço, e quase 24 horas direto (ok, na verdade, eu fiz 3
tentativas, e só a que deu certo demorou 24 horas) de compilações e
downloads de fontes via ports, eu consegui colocar o Gnome 3.2 para rodar
no FreeBSD 9.0, e não foi em modo fallback!

Sei que eu fiz muita coisa do jeito mais idiota que poderia ser feito, e
muito manual, copiando diretórios inteiros de includes de headers no lugar
de acertar os scripts, ou ainda, comentando verificações de existência de
arquivos pois a checagem está errada. Whatever, atirem a pedra que
quiserem, o importante é que eu consegui, e se algum programador C estiver
a fim de fazer os ajustes corretos, segue abaixo o que eu tive que fazer.

Utilizei para isso o repositório em
http://www.marcuscom.com:8080/cgi-bin/cvsweb.cgi/

Segue mini-how-to

0 - Faça uma instalação mínima, sem X, e apenas com o ports e o src do
kernel
1 - Faça o checkout do ports no endereço acima com as instruções contidas lá
2 - Faça o merge com seu ports com o script no endereço acima (se achar
melhor, faça um bkp do antigo antes, mas deve ter ele na mídia de onde vc
instalou, então, nem sei para que gastar espaço com isso)
3 - Adicione o portupgrade, e execute portupgrade -a. Por algum motivo
chato, é preciso fazer logout e login para que o path seja atualizado e o
portupgrade localizado pelo shell
4 - Edite o Makefile em /usr/ports/devel/glib20 porque ele está tentando
verificar se o pcre existe buscando um arquivo inexistente. Se quiser,
comente a linha que tem LIB_DEPENDS += pcre... lembrando de que a linha
debaixo dexe ser concatenada com a flag ainda, ou seja, adicione
LIB_DEPENDS nela
5 - Esse negócio da checagem acontece com mais alguns pacotes, ou seja, vc
tem que editar alguns outros Makefiles, a seguir:
    - devel/gvfs => cdio_paranoia.1
    - x11/gnome-shell => libstartup (vc terá que baixar uma versão mais
recente e compilar na mão, mas isso é mais à frente)
    - www/epiphany-extensions =>pcre.1
6 - Vá a /usr/ports/devel/pcre e execute # make install
7 - Vá a /usr/ports/x11/xorg e execute # make config-recursive, escolha os
driver da sua placa de video, e depois, make install, assim a compilação
não fica parando o tempo todo para te perguntar detalhes da configuração
(make -DBATCH install também tem o mesmo efeito, apesar de que nesse caos
são utilizadas as configurações default do pacote)
    - em algum momento, na hora de compilar o /x11/startup-notification,
ocorre um erro por conta da versão. Baixei o fonte com o wget do endereço
http://www.freedesktop.org/wiki/Software/startup-notification, compilei e
instalei ele, e copiei o subdiretório libsn para dentro do subdiretório
work do port que deu erro (esqueci qual foi! poutz! mas é só ver a mensagem
de erro com cuidado que você descobre)
    - reinicie a compilação do xorg
8 - Depois vá em /usr/ports/x11/gnome3 e faça a mesma coisa, ou make
config-recursive && make install ou make -DBATCH install
    - A compilação vai para no devel/glib20, pois o gmake não encontra os
headers do libxml2 nem do libsoup. Eu fui no subdir work desse pacote,
entrei em glibseiláoque, e copiei os diretórios
/usr/local/include/libxml2/libxml e
/usr/local/include/libsoupalgumnumerogrande/libsoup diretamente lá.
    - reiniciei a compilação

Eu sei, feio pra kct, mas funcionou, compilou e rodou. Só que agora...

O lance está muito instável... Primeiro ele só rodava em modo fallback, aí
descobri que para conseguir rodar, eu tinha que acrescentar na configuração
do X o carregamento do módulo GLcore (não achei documentação que cite isso
como requisito). Se rodar no modo fallback, vai de boa, mas quando coloco
para rodar no 3.2 com gnome-shell atual, eis o que acontece:

1 - Na primeira que que tento abrir qualquer aplicação Gnome 3.2 (terminal,
files, etc), o shell dá crash, recarrega, e aí apresenta as aplicações
rodando
2 - Na segunda vez, ele novamente abre a aplicação e dá crash, mas aí, ele
pede para dar logout
3 - Se eu rodo aplicações não Gnome (LibreOffice, Firefox, XTerm, Eclipse,
etc), ele não apresenta nenhum problema!
4 - Toda a vez que eu tento clicar no "Applications" ele quebra de novo,
mas aí, ele não consegue reiniciar mesmo!

Enfim, acho que é alguma incompatibilidade do X, do driver para intel, e a
Mesa/OpenGL.

Segue meu xorg.conf, caso alguém tenha alguma boa idéia sobre o que falta.

Minha placa de vídeo é uma GM45


===============================

Section "Module"
        Load  "extmod"
        Load  "record"
        Load  "dbe"
        Load  "glx"
        Load  "dri"
        Load  "dri2"
        Load  "drm"
        Load  "GLcore"
        Load  "freetype"
EndSection

Section "Device"
        Identifier   "Card0"
        Driver       "intel"
        VendorName   "Intel Corporation"
        Screen       0
        BoardName    "Mobile 4 Series Chipset Integrated Graphics
Controller"
        BusID        "PCI:0:2:0"

        Option      "AccelDFS"              "true"
        Option      "NoAccel"               "false"
        Option      "AccelMethod"           "EXA"
        Option      "ExaNoComposite"        "false"
        Option      "ForceEnablePipeA"      "true"
        Option      "XAANoOffscreenPixmaps" "true"
        Option      "EXANoUploadToScreen"   "true"
        Option      "Tiling"                "off"
        Option      "AllowGLXWithComposite" "true"
        Option      "RenderAccel"           "True"
        Option      "AddARGBGLXVisuals"     "True"
        Option      "EnablePageFlip"        "true"
        Option      "EnableDepthMoves"      "true"
EndSection

Section "DRI"
        Group      "video"
        Mode       0666
EndSection

Section "Extensions"
        Option "Composite" "Enable"
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "Keyboard"
        Option      "XkbModel" "abnt2"
        Option      "XkbLayout" "br"
        Option      "XkbVariant" ""
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   "Monitor Vendor"
        ModelName    "Monitor Model"
EndSection

Section "Screen"
        Identifier     "Screen0"
        Device         "Card0"
        Monitor        "Monitor0"
        DefaultDepth   16
        Option         "AddARGBVisuals" "True"
        Option         "NoLogo" "True"
        Option         "AddARGBGLXVisuals" "True"
        SubSection     "Display"
                Viewport   0 0
                Depth     16
        EndSubSection
EndSection

Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
        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/"
        FontPath     "/usr/local/lib/X11/fonts/dejavu/"
EndSection

-- 




 *
Pablo Santiago Sánchez*
ZCE ZEND006757
phackwer em gmail.com
(61) 9975-0883
http://www.sansis.com.br
*"Pluralitas non est ponenda sine necessitate"*


Mais detalhes sobre a lista de discussão freebsd