No meu Ubuntu 12.04 conectei meu monitor aos gráficos Intel integrados. Eu gostaria de usar meu ati radeon 6770 para tarefas opencl (por exemplo, mineração de bitcoin).
Até agora não consegui descobrir como fazer o driver ATI funcionar. Ao chamar "aticonfig --initial -f" ele sempre escreve um novo xorg.conf que ignora os gráficos Intel. Na inicialização, ele funciona apenas quando conectei o monitor à placa ATI.
Então eu adulterei manualmente o xorg.conf e consegui isto:
Section "ServerLayout"
Identifier "Default Monitor"
Screen 0 "myscreen" 0 0
Screen 1 "deadscreen" RightOf "myscreen"
EndSection
Section "Module"
EndSection
Section "Monitor"
Identifier "Default Monitor"
Option "VendorName" "Monitor Vendor"
Option "ModelName" "Monitor Name"
Option "DPMS" "true"
EndSection
Section "Monitor"
Identifier "null Monitor"
Option "Enable" "false"
EndSection
Section "Device"
Identifier "Intel Integrated Graphics"
Driver "intel"
BusID "PCI:0:2:0"
Screen 0
EndSection
Section "Device"
Identifier "aticonfig-Device[0]-0"
Driver "fglrx"
BusID "PCI:1:0:0"
Screen 1
EndSection
Section "Screen"
Identifier "myscreen"
Device "Intel Integrated Graphics"
Monitor "Default Monitor"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "deadscreen"
Device "aticonfig-Device[0]-0"
Monitor "null Monitor"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
Acho que esse pode ser o caminho certo, pois vejo que o X tenta iniciar os dois drivers em /var/log/Xorg.0.log. No entanto, o driver fglrx parece travar (fim do xorg.0.log):
Backtrace:
[ 6.625] 0: /usr/bin/X (xorg_backtrace+0x26) [0x7fb5cd41b846]
[ 6.625] 1: /usr/bin/X (0x7fb5cd293000+0x18c6ea) [0x7fb5cd41f6ea]
[ 6.625] 2: /lib/x86_64-linux-gnu/libpthread.so.0 (0x7fb5cc5b9000+0xfcb0) [0x7fb5cc5c8cb0]
[ 6.625] 3: /usr/lib/x86_64-linux-gnu/xorg/extra-modules/extra-modules.dpkg-tmp/modules/drivers/fglrx_drv.so (xdl_xs111_atiddxGetGPUMapInfo+0x1b1) [0x7fb5c88e16b1]
[ 6.625] 4: /usr/lib/x86_64-linux-gnu/xorg/extra-modules/extra-modules.dpkg-tmp/modules/drivers/fglrx_drv.so (atiddxGetGPUMapInfo+0xd) [0x7fb5c87bcc0d]
[ 6.625] 5: /usr/lib/x86_64-linux-gnu/xorg/extra-modules/extra-modules.dpkg-tmp/modules/extensions/libglx.so (0x7fb5ca12d000+0x1ab29) [0x7fb5ca147b29]
[ 6.625] 6: /usr/lib/x86_64-linux-gnu/xorg/extra-modules/extra-modules.dpkg-tmp/modules/extensions/libglx.so (0x7fb5ca12d000+0x1cf8c) [0x7fb5ca149f8c]
[ 6.625] 7: /usr/lib/x86_64-linux-gnu/xorg/extra-modules/extra-modules.dpkg-tmp/modules/extensions/libglx.so (0x7fb5ca12d000+0x1ee55) [0x7fb5ca14be55]
[ 6.626] 8: /usr/bin/X (InitExtensions+0x99) [0x7fb5cd350069]
[ 6.626] 9: /usr/bin/X (0x7fb5cd293000+0x3d605) [0x7fb5cd2d0605]
[ 6.626] 10: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xed) [0x7fb5cb44e76d]
[ 6.626] 11: /usr/bin/X (0x7fb5cd293000+0x3daad) [0x7fb5cd2d0aad]
[ 6.626] Segmentation fault at address 0x14
[ 6.626]
Caught signal 11 (Segmentation fault). Server aborting
[ 6.626]
Eu ficaria muito feliz se alguém pudesse me dar uma dica sobre como configurar minha placa ATI enquanto uso os gráficos integrados para exibição.
Atualizar
Usei a maior parte da configuração do jjhughes57 e inicializei com sucesso o servidor X na Intel (o layout do teclado foi alterado, curiosamente).
Infelizmente, o segundo servidor X (fglrx) não inicia totalmente. Ele desliga sozinho logo após iniciar>
[ 6.265] (II) fglrx(0): Restoring Recent Mode via PCS is not supported in RANDR 1.2 capable environments
[ 6.296] (II) UnloadModule: "mouse"
[ 6.296] (II) Unloading mouse
[ 6.296] (II) UnloadModule: "kbd"
[ 6.296] (II) Unloading kbd
[ 6.298] (II) fglrx(0): Shutdown CMMQS
[ 6.298] (II) fglrx(0): [uki] removed 1 reserved context for kernel
[ 6.298] (II) fglrx(0): [uki] unmapping 8192 bytes of SAREA 0x2000 at 0x7fbef8209000
[ 6.337] (II) fglrx(0): Interrupt handler Shutdown.
[ 6.470] ddxSigGiveUp: Closing log
[ 6.470] Server terminated successfully (0). Closing log file.
Obrigado por qualquer dica do que está errado aqui.
Solução
No meu caso a solução foi bastante simples. Principalmente o xorg.conf (de jjhughes57) me colocou no caminho certo. Os problemas restantes podem ser corrigidos em /etc/lightdm/lightdm.conf. Minha versão final é:
[LightDM]
seats=Seat:0 Seat:1
[SeatDefaults]
autologin-user-timeout=0
autologin-session=lightdm-autologin
greeter-session=lightdm-gtk-greeter
[Seat: 0]
xserver-layout=seat0
xserver-command=/usr/bin/X :0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -sharevts -novtswitch
autologin-guest=false
autologin-user=fx
autologin-user-timeout=0
autologin-session=lightdm-autologin
user-session=ubuntu
[Seat: 1]
xserver-layout=seat1
xserver-command=/usr/bin/X :1 -auth /var/run/lightdm/root/:1 -nolisten tcp vt8 -sharevts -novtswitch
autologin-guest=true
user-session=ubuntu
Um problema era que "/usr/share/xgreeters/lightdm-gtk-greeter.desktop" estava faltando. Depois de instalar corretamente o lightdm-gtk-greeter novamente, o segundo servidor X funcionou com sucesso. Agora os seguintes requisitos precisam ser atendidos:
- X precisa aceitar conexões em :1 (assumindo que :1 é o seu
- fglrx-display) seu usuário precisa de permissão para abrir clientes X em :1
Na verdade, tentei primeiro com autologin-guest=false que não funciona. Com autologin-guest=true e uma sessão de usuário em execução (como usuário convidado), você precisa desabilitar o controle de acesso X (pelo menos é o mais fácil). Por exemplo: em exibição: 0 como root:
# su - guest-6ht0hq
guest-6ht0hq$ echo $DISPLAY
:0.0
guest-6ht0hq$ export DISPLAY=:1
guest-6ht0hq$ xhost +
access control disabled, clients can connect from any host
guest-6ht0hq$
Agora em outro terminal (como root):
# DISPLAY=:1.0 aticonfig --adapter=0 --od-getclocks
Adapter 0 - AMD Radeon HD 6700 Series
Core (MHz) Memory (MHz)
Current Clocks : 850 1000
Current Peak : 850 1000
Configurable Peak Range : [500-970] [1000-1430]
GPU load : 0%
#
Responder1
Portanto, estou muito perto de resolver esse problema. A ideia básica que tive foi uma sessão multilugar. Isso permite que a placa ATI tenha sua própria sessão X e o monitor Intel tenha sua própria sessão X.
- Certifique-se de que PCIE seja a exibição padrão do sistema, mas que sua GPU integrada esteja habilitada no BIOS do sistema
- Modifique nosso /etc/X11/xorg.conf para ficar assim...
Section "ServerLayout"
Identifier "seat0"
Screen 0 "My screen 1" 0 0
Option "Clone" "off"
Option "AutoAddDevices" "off"
Option "DisableModInDev" "true"
Option "SingleCard" "on" # use this to simplfied isolatedevice option
Option "AllowEmptyInput" "true"
EndSection
Section "ServerLayout"
Identifier "seat1"
Screen "aticonfig-Screen[0]-0" 0 0
Option "Clone" "off"
Option "AutoAddDevices" "off"
Option "DisableModInDev" "true"
Option "SingleCard" "on" # use this to simplfied isolatedevice option
Option "AllowEmptyInput" "true"
EndSection
Section "Module"
EndSection
Section "InputClass"
Identifier "Ignore Streamzap IR"
MatchProduct "Streamzap"
MatchIsKeyboard "yes"
Option "Ignore" "true"
EndSection
Section "Monitor"
Identifier "aticonfig-Monitor[0]-0"
Option "VendorName" "ATI Proprietary Driver"
Option "ModelName" "Generic Autodetecting Monitor"
Option "DPMS" "true"
EndSection
Section "Device"
Identifier "aticonfig-Device[0]-0"
Driver "fglrx"
Option "Capabilities" "0x00000800"
BusID "PCI:1:0:0"
EndSection
Section "Screen"
Identifier "aticonfig-Screen[0]-0"
Device "aticonfig-Device[0]-0"
Monitor "aticonfig-Monitor[0]-0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
Section "Monitor"
Identifier "My monitor 1"
EndSection
Section "Device"
Identifier "Sandybridge"
Driver "intel"
BusID "PCI:0:2:0"
EndSection
Section "Screen"
Identifier "My screen 1"
Device "Sandybridge"
Monitor "My monitor 1"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x720"
EndSubSection
EndSection
- Da última vez tive que editar /etc/lightdm/lightdm.conf
[LightDM]
seats=Seat:0 Seat:1
[SeatDefaults]
autologin-user-timeout=0
autologin-session=lightdm-autologin
greeter-session=lightdm-gtk-greeter
[Seat: 0]
xserver-layout=seat0
xserver-command=/usr/bin/X :0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -sharevts -novtswitch
autologin-guest=false
autologin-user=joe
autologin-user-timeout=0
autologin-session=lightdm-autologin
greeter-session=lightdm-gtk-greeter
user-session=mythbuntu
[Seat: 1]
xserver-layout=seat1
xserver-command=/usr/bin/X :1 -auth /var/run/lightdm/root/:1 -nolisten tcp vt8 -sharevts -novtswitch
Agora tenho os dois monitores inicializando. Estou tendo um problema para conseguir
sudo aticonfig --adapter=0 --od-getclocks
para funcionar... mas isso fará com que você supere o erro atual.
Responder2
Você precisa conectar um monitor à placa ou conectar umplugue falso. Caso contrário, a carta fica morta. Se o seu monitor tiver duas conexões, você pode simplesmente conectar uma delas à placa e não usar essa entrada.