Auf meinem Ubuntu 12.04 habe ich meinen Monitor an die integrierte Intel-Grafik angeschlossen. Ich möchte meine ATI Radeon 6770 für OpenCL-Aufgaben (z. B. Bitcoin-Mining) verwenden.
Bisher konnte ich nicht herausfinden, wie ich den ATI-Treiber zum Laufen bekomme. Beim Aufruf von „aticonfig --initial -f“ wird immer eine neue xorg.conf geschrieben, die die Intel-Grafik ignoriert. Beim Booten funktioniert es nur, wenn ich den Monitor an die ATI-Karte angeschlossen habe.
Also habe ich manuell an xorg.conf herumgebastelt und Folgendes erhalten:
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
Ich denke, das könnte der richtige Weg sein, da ich sehe, dass X versucht, beide Treiber in /var/log/Xorg.0.log zu starten. Der fglrx-Treiber scheint jedoch abzustürzen (Ende von 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]
Ich würde mich sehr freuen, wenn mir jemand einen Hinweis geben könnte, wie ich meine ATI-Karte konfigurieren kann, während ich die integrierte Grafik zur Anzeige verwende.
Aktualisieren
Ich habe die meisten Konfigurationen von jjhughes57 verwendet und den X-Server erfolgreich auf Intel gebootet (lustigerweise ist das Tastaturlayout jedoch geändert).
Leider startet der 2. X-Server (fglrx) nicht vollständig. Er fährt sich direkt nach dem Start selbst herunter>
[ 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.
Danke für alle Hinweise, was hier nicht stimmt.
Lösung
In meinem Fall war die Lösung recht einfach. Vor allem die xorg.conf (von jjhughes57) hat mich auf den richtigen Weg gebracht. Die restlichen Probleme konnten in /etc/lightdm/lightdm.conf behoben werden. Meine endgültige Version ist:
[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
Ein Problem war, dass "/usr/share/xgreeters/lightdm-gtk-greeter.desktop" fehlte. Nach der erneuten, ordnungsgemäßen Installation von lightdm-gtk-greeter lief der zweite X-Server erfolgreich. Nun müssen folgende Voraussetzungen erfüllt sein:
- X muss Verbindungen auf :1 akzeptieren (vorausgesetzt, :1 ist Ihr
- fglrx-display) Ihr Benutzer benötigt die Berechtigung zum Öffnen von X-Clients auf:1
Eigentlich habe ich es zuerst mit autologin-guest=false versucht, was aber nicht funktioniert. Mit autologin-guest=true und einer laufenden Benutzersitzung (als Gastbenutzer) müssen Sie die X-Zugriffskontrolle deaktivieren (das ist zumindest am einfachsten). Beispiel: auf Anzeige :0 als 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$
Jetzt auf einem anderen Terminal (als 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%
#
Antwort1
Ich bin also kurz davor, dieses Problem zu lösen. Meine Grundidee war eine Multi-Seat-Session. Dadurch kann die ATI-Karte ihre eigene X-Session haben und das Intel-Display seine eigene X-Session.
- Stellen Sie sicher, dass PCIE die Standardanzeige für das System ist, aber dass Ihre integrierte GPU in Ihrem System-BIOS aktiviert ist
- Ändern Sie unsere /etc/X11/xorg.conf so, dass sie wie folgt aussieht ...
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
- Zuletzt musste ich /etc/lightdm/lightdm.conf bearbeiten
[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
Ich habe jetzt beide Monitore gestartet. Ich habe ein Problem damit,
sudo aticonfig --adapter=0 --od-getclocks
zu funktionieren ... aber damit überwinden Sie Ihren aktuellen Fehler.
Antwort2
Sie müssen entweder einen Monitor an die Karte anschließen oder einenDummy-Stecker. Andernfalls ist die Karte tot. Wenn Ihr Monitor zwei Anschlüsse hat, können Sie einfach einen davon an die Karte anschließen und diesen Eingang nicht verwenden.