amd GPU, aber Anzeige auf integrierter Intel-Grafik

amd GPU, aber Anzeige auf integrierter Intel-Grafik

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:

  1. X muss Verbindungen auf :1 akzeptieren (vorausgesetzt, :1 ist Ihr
  2. 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.

  1. Stellen Sie sicher, dass PCIE die Standardanzeige für das System ist, aber dass Ihre integrierte GPU in Ihrem System-BIOS aktiviert ist
  2. Ä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
  1. 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.

verwandte Informationen