amd GPU이지만 인텔 통합 그래픽에 표시됩니다.

amd GPU이지만 인텔 통합 그래픽에 표시됩니다.

Ubuntu 12.04에서 모니터를 온보드 인텔 그래픽에 연결했습니다. opencl 작업(예: 비트코인 ​​채굴)에 ati radeon 6770을 사용하고 싶습니다.

지금까지 나는 ati 드라이버를 작동시키는 방법을 알 수 없었습니다. "aticonfig --initial -f"를 호출하면 항상 인텔 그래픽을 무시하는 새로운 xorg.conf가 작성됩니다. 부팅 시 모니터를 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 서버를 성공적으로 부팅했습니다(키보드 레이아웃은 재미있지만 변경되었습니다).

불행하게도 두 번째 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) 사용자에게 :1에서 X-클라이언트를 열 수 있는 권한이 필요합니다.

실제로 처음에는 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$

이제 다른 터미널에서 (루트로):

# 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

그래서 저는 이 문제를 해결하는 데 거의 가까워졌습니다. 내가 가진 기본 아이디어는 다중 좌석 세션이었습니다. 이를 통해 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

작동하려면... 하지만 이렇게 하면 현재 오류를 극복할 수 있습니다.

답변2

모니터를 카드에 연결하거나더미 플러그. 그렇지 않으면 카드가 죽은 것으로 간주됩니다. 모니터에 두 개의 연결이 있는 경우 그 중 하나만 카드에 연결하고 해당 입력을 사용하지 않을 수 있습니다.

관련 정보