amd gpu, але відображається на інтегрованій графіці Intel


5

На моєму 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 (розкладка клавіатури змінена, хоч і смішно).

На жаль, сервер 2-го 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-сервер. Тепер необхідно виконати такі вимоги:

  1. X потрібно прийняти з'єднання на: 1 (припускаючи, що: 1 - це ваш
  2. 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%
#

1
будь ласка, опублікуйте своє рішення як відповідь у нижченаведеному розділі, а не в питанні
Sathyajith Bhat

Відповіді:


1

Тож я дійсно близький до вирішення цього питання. Основна ідея, яку я мав, була сесія з кількома місцями. Це дозволяє картці ATI мати власний X сеанс, а на дисплеї Intel - власний X сеанс.

  1. Переконайтесь, що PCIE - це дисплей за замовчуванням для системи, але що ваш вбудований GPU увімкнено у вашому BIOS системи
  2. Змініть наш /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
  1. Останнє мені довелося редагувати /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

попрацювати ... але це дозволить вам пройти минулу помилку.


Використовуючи свою конфігурацію, сервер: 1 (flgrx) не сегментується, але він негайно вимикається: [6.298] (II) fglrx (0): вимкнення CMMQS [6.298] (II) fglrx (0): [uki] видалено 1 зарезервований контекст для ядра [6.298] (II) fglrx (0): [uki] розпакування 8192 байт SAREA 0x2000 на 0x7fbef8209000 [6.337] (II) fglrx (0): відключення обробника переривань. [6.470] ddxSigGiveUp: Журнал закриття [6.470] Сервер успішно припинено (0). Файл журналу закривається. Чи можете ви опублікувати ваш fglrx-Xorg.log (або його частини), будь ласка?
pitseeker

Цей потік, схоже, описує вашу проблему ... вам потрібно вимкнути Рандера. ubuntuforums.org/showthread.php?t=1653934
jjhughes57

Дякую - у мене це минуло, і зараз у мене така ж проблема, як і у вас (--od-getclocks каже: "ПОМИЛКА - X потрібно працювати, щоб виконувати команди AMD Overdrive (TM)"
pitseeker

1

Вам або потрібно підключити монітор до картки або підключити підставний штекер . В іншому випадку карта відтворюється мертвою. Якщо ваш монітор має два з'єднання, ви можете просто підключити один із них до картки і не використовувати цей вхід.


Thx David. Я підключив обидва виходи (hdmi ati-картки та бортовий дисплей) до одного монітора. Однак X-сервер все ще залишається на стадії сегментації у драйвері fglrx. Можливо, моя установка накручена - я спробую перевірити, чи зможу це виправити.
pitseeker
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.