fglrx + Compiz + デュアルディスプレイが出来ない件

デュアルディスプレイとCompizは二者択一でつか? - hogehoge @teramakoの補足

PCスペック

CPU
Core2 Quad Q6600
Memory
4086MB
VideoCard
RV630 (ATI Radeon HD 2600 XT)
Monitor
LEN D221 Wide(1680x1050) +
RDT1712S(1280x1024)
OS
Debian GNU/Linux (kernel 2.6.25-2-686-bigmem)

deb

  • fglrx-driver 1:8-6-2
  • libgl1-mesa-dri 7.0.3-4
  • libgl1-mesa-glx 7.0.3-4
  • compiz 0.7.6-3

デュアルディスプレイ 1 (ダメダメ設定)

基本的にはaticonfig --initial=dhual-head --screen-layout=rightxorg.confを生成

  • fglrxinfoコマンドが何も返さず沈黙
  • glxinfoもほぼ沈黙
  • glxgearsはギアが回転しない
  • amdcccle(ATI Catalyst Control Center)も起動しない
Section "ServerLayout"
     Identifier   "Dualhead-layout"
     Screen       0 "Left-Screen" 0 0
	Screen         "Right-Screen" RightOf "Left-Screen"
	Option       "AIGLX" "on"
	Option       "Xinerama" "on"
EndSection

Section "Files"
EndSection

Section "Module"
	Load  "dri"
	Load  "vbe"
	Load  "dbe"
EndSection

Section "InputDevice"
	Identifier	"Generic Keyboard"
	Driver		"kbd"
	Option		"XkbRules"	"xorg"
	Option		"XkbModel"	"jp106"
	Option		"XkbLayout"	"jp"
EndSection

Section "InputDevice"
	Identifier	"Configured Mouse"
	Driver		"mouse"
	Option	    "Device" "/dev/input/mice"
	Option	    "Buttons" "7"
	Option	    "ZAxisMapping" "4 5"
	Option	    "Emulate3Buttons" "true"
	Option	    "Protocol" "ExplorerPS/2"
	Option	    "ButtonMapping" "1 2 3 8 9"
EndSection

Section "Device"
	Identifier  "RadeonHD2600_0"
	Driver      "fglrx"
	BusID       "PCI:1:0:0"
	Option      "DRI"                   "true"
	Option      "XaaNoOffscreenPixmaps" "true"
	Option      "VideoOverlay" "on"
	Option      "OpenGLOverlay" "off"
	Option      "BackingStore" "1"
EndSection

Section "Device"
	Identifier  "RadeonHD2600_1"
	Driver      "fglrx"
	BusID       "PCI:1:0:0"
	Screen      1
	Option      "DRI"                   "true"
	Option      "XaaNoOffscreenPixmaps" "true"
EndSection

Section "Monitor"
	Identifier   "Lenovo-Monitor"
	Option      "VendorName" "LENOVO"
	Option      "ModelName" "D221"
	Option	    "DPMS" "true"
EndSection

Section "Monitor"
	Identifier   "RDT1712S-Monitor"
	Option      "VendorName" "MITSUBISHI"
	Option      "ModelName" "RDT1712S"
	Option	    "DPMS" "true"
EndSection

Section "Screen"
	Identifier "Left-Screen"
	Device     "RadeonHD2600_0"
	Monitor    "Lenovo-Monitor"
	DefaultDepth     24
	SubSection "Display"
		Viewport   0 0
		Depth     24
		Modes    "1680x1050" "1280x1024" "1152x864" "1024x768" "832x624" "800x600" "720x400" "640x480"
	EndSubSection
EndSection

Section "Screen"
	Identifier "Right-Screen"
	Device     "RadeonHD2600_1"
	Monitor    "RDT1712S-Monitor"
	DefaultDepth     24
	SubSection "Display"
		Viewport   0 0
		Depth     24
		Modes    "1280x1024" "1152x864" "1024x768" "800x600"
	EndSubSection
EndSection

Section "DRI"
	Mode         0666
EndSection

Section "Extensions"
	Option	    "RENDER" "Enable"
	Option	    "Composite" "Disable"
EndSection

デュアルディスプレイ 2

aticonfig --dtop=horizontal --overlay-on=1でやってみたもの

  • fglrxinfo,glxinfo,glxgears,amdcccle等は動く
  • 小さい方のモニタまで大きい方のモニタに画面サイズが合わせられて1680x1050の二つになってしまう

compiz-iconのトレイからCompizに切り替えると、Compiz-Fusionのスプラッシュは出るが、横2048辺りまでがホワイトアウトする。何をやっても画面真っ白。マウスのポインタは見える。その他アプリケーションも動いているみたい(Ctrl+Alt+矢印でキューブが回転しているっぽい描画がされる)

compizが動く

シングルディスプレイでやってみたもの

Section "ServerLayout"
	Identifier     "Single-layout"
	Screen      0  "aticonfig-Screen[0]-0" 0 0
	Option	    "AIGLX" "on"
	Option	    "Xinerama" "on"
EndSection

Section "Files"
EndSection

Section "Module"
	Load  "glx"
	Load  "dri"
	Load  "vbe"
	Load  "dbe"
EndSection

Section "InputDevice"
	Identifier  "Generic Keyboard"
	Driver      "kbd"
	Option	    "XkbRules" "xorg"
	Option	    "XkbModel" "jp106"
	Option	    "XkbLayout" "jp"
EndSection

Section "InputDevice"
	Identifier  "Configured Mouse"
	Driver      "mouse"
	Option	    "Device" "/dev/input/mice"
	Option	    "Buttons" "7"
	Option	    "ZAxisMapping" "4 5"
	Option	    "Emulate3Buttons" "true"
	Option	    "Protocol" "ExplorerPS/2"
	Option	    "ButtonMapping" "1 2 3 8 9"
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	    "DesktopSetup" "single"
	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 "DRI"
	Mode         0666
EndSection

Section "Extensions"
	Option	    "RENDER" "Enable"
	Option	    "DAMAGE" "Enable"
	Option	    "Composite" "Enable"
EndSection
$ fglrxinfo
display: :0.0  screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Radeon HD 2600 XT
OpenGL version string: 2.1.7659 Release

$ glxinfo | head
name of disname of display: :0.0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.2
server glx extensions:
    GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_OML_swap_method, 
    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group
client glx vendor string: SGI
$ glxgears
38727 frames in 5.0 seconds = 7745.343 FPS
38614 frames in 5.0 seconds = 7722.621 FPS
38617 frames in 5.0 seconds = 7723.355 FPS
38620 frames in 5.0 seconds = 7723.861 FPS
$ fgl_glxgears
Using GLX_SGIX_pbuffer
8263 frames in 5.0 seconds = 1652.600 FPS
9363 frames in 5.0 seconds = 1872.600 FPS
9366 frames in 5.0 seconds = 1873.200 FPS
9365 frames in 5.0 seconds = 1873.000 FPS