Ubuntu 12.04 で、モニターをオンボードの Intel グラフィックスに接続しました。 ATI Radeon 6770 を OpenCL タスク (例: ビットコイン マイニング) に使用したいと思います。
今のところ、ati ドライバーを動作させる方法がわかりません。「aticonfig --initial -f」を呼び出すと、常に Intel グラフィックスを無視する新しい 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
/var/log/Xorg.0.log で X が両方のドライバーを起動しようとしていることがわかったので、これが正しい方法だと思います。ただし、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 の設定のほとんどを使用し、Intel 上で X サーバーを正常に起動しました (ただし、面白いことにキーボード レイアウトは変更されています)。
残念ながら、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
1 つの問題は、「/usr/share/xgreeters/lightdm-gtk-greeter.desktop」が見つからないことでした。lightdm-gtk-greeter を再度適切にインストールすると、2 番目の X サーバーが正常に起動しました。次に、次の要件を満たす必要があります。
- Xは:1で接続を受け入れる必要があります(:1があなたの
- fglrx-display) ユーザーは X クライアントを開く権限が必要です:1
実は、最初に autologin-guest=false を試しましたが、うまくいきませんでした。autologin-guest=true で、ユーザー セッション (ゲスト ユーザーとして) を実行している場合は、X アクセス制御を無効にする必要があります (少なくともこれが最も簡単です)。例: ディスプレイ :0 で、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$
次に別の端末で(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
それで、私はこの問題の解決にかなり近づいています。私が考えた基本的なアイデアは、マルチシート セッションでした。これにより、ATI カードが独自の X セッションを持ち、Intel ディスプレイが独自の X セッションを持つことができます。
- PCIEがシステムのデフォルトディスプレイであることを確認し、システムBIOSでオンボードGPUが有効になっていることを確認します。
- /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
動作します...ただし、これにより現在のエラーを回避できます。
答え2
カードにモニターを接続するか、ダミープラグそれ以外の場合、カードは機能しません。モニターに 2 つの接続がある場合は、そのうちの 1 つをカードに接続し、その入力を使用しないようにすることができます。