amd gpu но отображение на встроенной графике Intel
На моем Ubuntu 12.04 я подключил свой монитор к встроенной графике Intel. Я хотел бы использовать мой ATI Radeon 6770 для задач Opencl (например, майнинг биткойнов).
До сих пор я не мог понять, как заставить работать драйвер ati. При вызове "aticonfig --initial -f" всегда записывается новый xorg.conf, игнорирующий графику intel. Во время загрузки работает только когда я подключил монитор к карте ati.
Поэтому я вручную вмешался в xorg.conf и получил это:
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
Я думаю, что это может быть правильным путем, поскольку я вижу, что X пытается запустить оба драйвера в /var/log/Xorg.0.log. Однако драйвер fglrx кажется аварийным (конец 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]
Я был бы очень рад, если бы кто-нибудь дал мне подсказку о том, как настроить мою карту ATI при использовании встроенной графики для отображения.
Обновить
Я использовал большую часть конфигурации jjhughes57 и успешно загрузил X-сервер на Intel (хотя, как ни странно, раскладка клавиатуры изменилась).
К сожалению, второй X-сервер (fglrx) не запускается полностью. Он закрывается сразу после запуска>
[ 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.
Спасибо за любые подсказки, что здесь не так.
Решение
В моем случае решение было довольно простым. В основном xorg.conf (из jjhughes57) привел меня на правильный путь. Остальные проблемы могут быть исправлены в /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=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
Одной из проблем было отсутствие /usr/share/xgreeters/lightdm-gtk-greeter.desktop. После правильной установки lightdm-gtk-greeter, второй X-сервер успешно заработал. Теперь необходимо выполнить следующие требования:
- X должен принимать соединения на:1 (при условии, что: 1 является вашим
- fglrx-display) вашему пользователю необходимо разрешение для открытия X-клиентов на: 1
На самом деле я сначала попробовал с autologin-guest=false, который не работает. С autologin-guest=true и запущенным сеансом пользователя (в качестве гостевого пользователя) вам необходимо отключить контроль доступа X (это по крайней мере самое простое). Например: на дисплее:0 как корень:
# 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$
Теперь на другом терминале (как 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%
#
2 ответа
Так что я действительно близок к решению этой проблемы. Основной идеей, которую я имел, была многопользовательская сессия. Это позволяет карте ATI иметь свой собственный сеанс X, а дисплей Intel - свой собственный сеанс X.
- Убедитесь, что PCIE является дисплеем по умолчанию для системы, но ваш встроенный графический процессор включен в BIOS вашей системы.
- Измените наш /etc/X11/xorg.conf, чтобы он выглядел следующим образом...
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
- Последнее, что мне нужно было отредактировать /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
У меня теперь оба монитора запускаются. У меня проблема с получением
sudo aticonfig --adapter=0 --od-getclocks
на работу... но это поможет вам преодолеть вашу текущую ошибку.
Вам нужно либо подключить монитор к карте, либо подключить заглушку. В противном случае карта играет мертвой. Если ваш монитор имеет два подключения, вы можете просто подключить одно из них к карте и не использовать этот вход.