Kein GLX auf Intel-Karte mit Multiseat mit zusätzlicher nVidia-Karte


10

Ich habe Multiseat konfiguriert und mein Xorg hat 2 Server-Layouts. Eine ist für die nVidia-Karte und die andere für die Intel-Karte. Beide funktionieren, aber der der Intel-Karte zugewiesene Anzeigeserver hat keine Hardwarebeschleunigung, da das verwendete DRI- und GLX-Modul vom nVidia-Treiber stammt.

Meine Frage ist also, kann ich Layouts so konfigurieren, dass für jede Karte das richtige DRI und GLX verwendet werden?

Meine Xorg.conf:

Section "ServerLayout"
    Identifier     "Default"
    Screen      0  "Screen0" 0 0
    Option         "Xinerama" "0"
EndSection

Section "ServerLayout"
    Identifier     "TV"
    Screen      0  "Screen1" 0 0
    Option         "Xinerama" "0"
EndSection

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "DELL E198WFP"
    HorizSync       30.0 - 83.0
    VertRefresh     56.0 - 75.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Unknown"
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GT 610"
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "intel"
    BusID          "PCI:0:2:0"
    Option         "AccelMethod" "uxa"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-1"
    Option         "metamodes" "DFP-0: nvidia-auto-select +1440+0, DFP-1: nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Protokolldatei für Intel:

[    18.239] 
X.Org X Server 1.13.0
Release Date: 2012-09-05
[    18.239] X Protocol Version 11, Revision 0
[    18.239] Build Operating System: Linux 2.6.24-32-xen x86_64 Ubuntu
[    18.239] Current Operating System: Linux bytewiper 3.5.0-18-generic #29-Ubuntu SMP Fri Oct 19 10:26:51 UTC 2012 x86_64
[    18.239] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.5.0-18-generic root=UUID=fc0616fd-f212-4846-9241-ba4a492f0513 ro quiet splash
[    18.239] Build Date: 20 September 2012  11:55:20AM
[    18.239] xorg-server 2:1.13.0+git20120920.70e57668-0ubuntu0ricotz (For technical support please see http://www.ubuntu.com/support) 
[    18.239] Current version of pixman: 0.26.0
[    18.239]    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
[    18.239] Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[    18.239] (==) Log file: "/var/log/Xorg.1.log", Time: Wed Nov 21 18:32:14 2012
[    18.239] (==) Using config file: "/etc/X11/xorg.conf"
[    18.239] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[    18.239] (++) ServerLayout "TV"
[    18.239] (**) |-->Screen "Screen1" (0)
[    18.239] (**) |   |-->Monitor "Monitor1"
[    18.240] (**) |   |-->Device "Device1"
[    18.240] (**) Option "Xinerama" "0"
[    18.240] (==) Automatically adding devices
[    18.240] (==) Automatically enabling devices
[    18.240] (==) Automatically adding GPU devices
[    18.240] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[    18.240]    Entry deleted from font path.
[    18.240] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[    18.240]    Entry deleted from font path.
[    18.240] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[    18.240]    Entry deleted from font path.
[    18.240] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
[    18.240]    Entry deleted from font path.
[    18.240] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[    18.240]    Entry deleted from font path.
[    18.240] (WW) The directory "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType" does not exist.
[    18.240]    Entry deleted from font path.
[    18.240] (==) FontPath set to:
    /usr/share/fonts/X11/misc,
    /usr/share/fonts/X11/Type1,
    built-ins
[    18.240] (==) ModulePath set to "/usr/lib/x86_64-linux-gnu/xorg/extra-modules,/usr/lib/xorg/extra-modules,/usr/lib/xorg/modules"
[    18.240] (II) The server relies on udev to provide the list of input devices.
    If no devices become available, reconfigure udev or disable AutoAddDevices.
[    18.240] (II) Loader magic: 0x7f6917944c40
[    18.240] (II) Module ABI versions:
[    18.240]    X.Org ANSI C Emulation: 0.4
[    18.240]    X.Org Video Driver: 13.0
[    18.240]    X.Org XInput driver : 18.0
[    18.240]    X.Org Server Extension : 7.0
[    18.240] (II) config/udev: Adding drm device (/dev/dri/card0)
[    18.241] (--) PCI: (0:0:2:0) 8086:0152:1043:84ca rev 9, Mem @ 0xf7400000/4194304, 0xd0000000/268435456, I/O @ 0x0000f000/64
[    18.241] (--) PCI:*(0:1:0:0) 10de:104a:1458:3546 rev 161, Mem @ 0xf6000000/16777216, 0xe0000000/134217728, 0xe8000000/33554432, I/O @ 0x0000e000/128, BIOS @ 0x????????/524288
[    18.241] (II) Open ACPI successful (/var/run/acpid.socket)
[    18.241] Initializing built-in extension Generic Event Extension
[    18.241] Initializing built-in extension SHAPE
[    18.241] Initializing built-in extension MIT-SHM
[    18.241] Initializing built-in extension XInputExtension
[    18.241] Initializing built-in extension XTEST
[    18.241] Initializing built-in extension BIG-REQUESTS
[    18.241] Initializing built-in extension SYNC
[    18.241] Initializing built-in extension XKEYBOARD
[    18.241] Initializing built-in extension XC-MISC
[    18.241] Initializing built-in extension SECURITY
[    18.241] Initializing built-in extension XINERAMA
[    18.241] Initializing built-in extension XFIXES
[    18.241] Initializing built-in extension RENDER
[    18.241] Initializing built-in extension RANDR
[    18.241] Initializing built-in extension COMPOSITE
[    18.241] Initializing built-in extension DAMAGE
[    18.241] Initializing built-in extension MIT-SCREEN-SAVER
[    18.241] Initializing built-in extension DOUBLE-BUFFER
[    18.241] Initializing built-in extension RECORD
[    18.241] Initializing built-in extension DPMS
[    18.241] Initializing built-in extension X-Resource
[    18.241] Initializing built-in extension XVideo
[    18.241] Initializing built-in extension XVideo-MotionCompensation
[    18.241] Initializing built-in extension XFree86-VidModeExtension
[    18.241] Initializing built-in extension XFree86-DGA
[    18.241] Initializing built-in extension XFree86-DRI
[    18.241] Initializing built-in extension DRI2
[    18.241] (II) LoadModule: "glx"
[    18.241] (II) Loading /usr/lib/x86_64-linux-gnu/xorg/extra-modules/libglx.so
[    18.247] (II) Module glx: vendor="NVIDIA Corporation"
[    18.247]    compiled for 4.0.2, module version = 1.0.0
[    18.247]    Module class: X.Org Server Extension
[    18.247] (II) NVIDIA GLX Module  310.19  Thu Nov  8 01:12:43 PST 2012
[    18.247] Loading extension GLX
[    18.247] (II) LoadModule: "intel"
[    18.248] (II) Loading /usr/lib/xorg/modules/drivers/intel_drv.so
[    18.248] (II) Module intel: vendor="X.Org Foundation"
[    18.248]    compiled for 1.13.0, module version = 2.20.13
[    18.248]    Module class: X.Org Video Driver
[    18.248]    ABI class: X.Org Video Driver, version 13.0
[    18.248] (II) intel: Driver for Intel Integrated Graphics Chipsets: i810,
    i810-dc100, i810e, i815, i830M, 845G, 854, 852GM/855GM, 865G, 915G,
    E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM, Pineview G,
    965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33, GM45,
    4 Series, G45/G43, Q45/Q43, G41, B43, B43, Clarkdale, Arrandale,
    Sandybridge Desktop (GT1), Sandybridge Desktop (GT2),
    Sandybridge Desktop (GT2+), Sandybridge Mobile (GT1),
    Sandybridge Mobile (GT2), Sandybridge Mobile (GT2+),
    Sandybridge Server, Ivybridge Mobile (GT1), Ivybridge Mobile (GT2),
    Ivybridge Desktop (GT1), Ivybridge Desktop (GT2), Ivybridge Server,
    Ivybridge Server (GT2), Haswell Desktop (GT1), Haswell Desktop (GT2),
    Haswell Desktop (GT2+), Haswell Mobile (GT1), Haswell Mobile (GT2),
    Haswell Mobile (GT2+), Haswell Server (GT1), Haswell Server (GT2),
    Haswell Server (GT2+), Haswell SDV Desktop (GT1),
    Haswell SDV Desktop (GT2), Haswell SDV Desktop (GT2+),
    Haswell SDV Mobile (GT1), Haswell SDV Mobile (GT2),
    Haswell SDV Mobile (GT2+), Haswell SDV Server (GT1),
    Haswell SDV Server (GT2), Haswell SDV Server (GT2+),
    Haswell ULT Desktop (GT1), Haswell ULT Desktop (GT2),
    Haswell ULT Desktop (GT2+), Haswell ULT Mobile (GT1),
    Haswell ULT Mobile (GT2), Haswell ULT Mobile (GT2+),
    Haswell ULT Server (GT1), Haswell ULT Server (GT2),
    Haswell ULT Server (GT2+), Haswell CRW Desktop (GT1),
    Haswell CRW Desktop (GT2), Haswell CRW Desktop (GT2+),
    Haswell CRW Mobile (GT1), Haswell CRW Mobile (GT2),
    Haswell CRW Mobile (GT2+), Haswell CRW Server (GT1),
    Haswell CRW Server (GT2), Haswell CRW Server (GT2+),
    ValleyView PO board
[    18.248] (++) using VT number 8

[    18.593] (II) intel(0): using device path '/dev/dri/card0'
[    18.593] (**) intel(0): Depth 24, (--) framebuffer bpp 32
[    18.593] (==) intel(0): RGB weight 888
[    18.593] (==) intel(0): Default visual is TrueColor
[    18.593] (**) intel(0): Option "AccelMethod" "uxa"
[    18.593] (--) intel(0): Integrated Graphics Chipset: Intel(R) Ivybridge Desktop (GT1)
[    18.593] (**) intel(0): Relaxed fencing enabled
[    18.593] (**) intel(0): Wait on SwapBuffers? enabled
[    18.593] (**) intel(0): Triple buffering? enabled
[    18.593] (**) intel(0): Framebuffer tiled
[    18.593] (**) intel(0): Pixmaps tiled
[    18.593] (**) intel(0): 3D buffers tiled
[    18.593] (**) intel(0): SwapBuffers wait enabled

...

[    20.312] (II) Module fb: vendor="X.Org Foundation"
[    20.312]    compiled for 1.13.0, module version = 1.0.0
[    20.312]    ABI class: X.Org ANSI C Emulation, version 0.4
[    20.312] (II) Loading sub module "dri2"
[    20.312] (II) LoadModule: "dri2"
[    20.312] (II) Module "dri2" already built-in
[    20.312] (==) Depth 24 pixmap format is 32 bpp
[    20.312] (II) intel(0): [DRI2] Setup complete
[    20.312] (II) intel(0): [DRI2]   DRI driver: i965
[    20.312] (II) intel(0): Allocated new frame buffer 1920x1080 stride 7680, tiled
[    20.312] (II) UXA(0): Driver registered support for the following operations:
[    20.312] (II)         solid
[    20.312] (II)         copy
[    20.312] (II)         composite (RENDER acceleration)
[    20.312] (II)         put_image
[    20.312] (II)         get_image
[    20.312] (==) intel(0): Backing store disabled
[    20.312] (==) intel(0): Silken mouse enabled
[    20.312] (II) intel(0): Initializing HW Cursor
[    20.312] (II) intel(0): RandR 1.2 enabled, ignore the following RandR disabled message.
[    20.313] (**) intel(0): DPMS enabled
[    20.313] (==) intel(0): Intel XvMC decoder enabled
[    20.313] (II) intel(0): Set up textured video
[    20.313] (II) intel(0): [XvMC] xvmc_vld driver initialized.
[    20.313] (II) intel(0): direct rendering: DRI2 Enabled
[    20.313] (==) intel(0): hotplug detection: "enabled"
[    20.332] (--) RandR disabled

[    20.335] (EE) Failed to initialize GLX extension (Compatible NVIDIA X driver not found)

[    20.335] (II) intel(0): Setting screen physical size to 508 x 285
[    20.338] (II) XKB: reuse xkmfile /var/lib/xkb/server-B20D7FC79C7F597315E3E501AEF10E0D866E8E92.xkm
[    20.340] (II) config/udev: Adding input device Power Button (/dev/input/event1)
[    20.340] (**) Power Button: Applying InputClass "evdev keyboard catchall"
[    20.340] (II) LoadModule: "evdev"
[    20.340] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so

1
Wenn Sie am 18.04 sind, sollte dies jetzt dank glvnd-Unterstützung Just Work (TM) sein. In älteren Versionen mussten Sie mit LD_PRELOAD-Umgebungsvariablen herumspielen, damit Programme die richtige libGL verwenden, aber dies ist jetzt nicht mehr erforderlich: D
Léo Lam

1
@ LéoLam es dauerte nur 5 Jahre. Besser spät als nie, nehme ich an.
MeanEYE

Antworten:


7

Okay, ich habe eine Lösung gefunden, aber es gibt einen Fehler, der verhindert, dass die Hardwarebeschleunigung derzeit auf Intel-GPUs in Ubuntu 12.10 mit der neuen Mesa 9.0.1-Bibliothek funktioniert.

Kurz gesagt, das Problem war das Laden von GLX. nVidia würde sein eigenes GLX-Modul schieben und Intel auf die Zehen treten.

Ich habe eine Lösung gefunden, indem ich diese Zeile bemerkt habe:

[    18.240] (==) ModulePath set to "/usr/lib/x86_64-linux-gnu/xorg/extra-modules,/usr/lib/xorg/extra-modules,/usr/lib/xorg/modules"

Die Module in /usr/lib/x86_64-linux-gnu/xorg/extra-modulessind alle nVidia-spezifischen Module . Also habe ich LightDM so konfiguriert, dass zwei xorg.confDateien verwendet werden. In Intel One habe ich das ModulePathAusschließen des nVidia-Verzeichnisses manuell festgelegt . Dies führte zum Laden des richtigen GLX-Moduls.

Meine /etc/lightdm/lightdm.confDatei sieht folgendermaßen aus:

[SeatDefaults]
user-session=ubuntu
greeter-session=unity-greeter
allow-guest=false

[Seat:0]
xserver-layout=Default
xserver-config=xorg.conf.nvidia

[Seat:1]
xserver-layout=TV
xserver-config=xorg.conf.intel

Zeilen hinzugefügt zu xorg.conf.intel:

Section "Files"
    ModulePath     "/usr/lib/xorg/extra-modules"
    ModulePath     "/usr/lib/xorg/modules"
EndSection

1

Auf meiner Seite, mit Ubuntu 14.04 sind die Pfade anders und Nvidia proprietäre Treiber Überschreibung libglx.soin /usr/lib/xorg/modules/extensions/libglx.so.

Um das Problem zu lösen, ich duplizieren /usr/lib/xorg/modulesin /usr/lib/xorg/modules-nvidia und installieren Sie die Intel freundlich libglx.somit:

sudo apt-get install --reinstall xserver-xorg-core

Dadurch wird das Original wiederhergestellt libglx.so. Auf dem xorg.conf.nvidiafüge ich den Pfad zu den gültigen Modulen hinzu:

Section "Files" ModulePath "/usr/lib/xorg/modules-nvidia" EndSection

Auch in muss /etc/lightdm/lightdm.confich hinzufügen: xserver-command=/usr/bin/X -sharevtsunter [Seat:1]Abschnitt. Dieser Tipp wurde hier gefunden .

Vielen Dank an MeanEYE, der mich auf den richtigen Weg weist.


1

Ich habe ein bisschen recherchiert und festgestellt, dass es verschiedene Möglichkeiten gibt, Multiseat-Konfigurationen (Multi-Station, Multi-Terminal usw.) zu erzielen.

1) Die Methode, die ich empfehlen würde, da sie Ihr Standard-Xorg und einen integrierten Kerneltreiber verwendet, verwendet evdev . Hier finden Sie eine Anleitung zum Einrichten einer 4-GPU- und 4-Monitor-Multiseat-Konfiguration mit evdev. Das Handbuch ist für Debian Sarge- und SiS-GPUs gedacht, aber ich denke, Sie können aus diesem Handbuch viele sehr nützliche Informationen ableiten: https://en.wikibooks.org/wiki/Multiterminal_with_evdev

2) Eine andere Methode ist die Verwendung von Xypher , einem anderen X Windows-Server, der auf KDrive basiert. Ich bin mir nicht sicher, ob dies der Weg ist, den Sie gehen möchten, aber hier ist sowieso dieser Leitfaden: https://en.wikibooks.org/wiki/en:Multiterminal_with_Xephyr

3) Eine andere Option ist die Verwendung eines Tools namens Multiseat Display Manager (MDM), das verspricht, den gesamten Einrichtungsprozess für Sie zu automatisieren. Es scheint jedoch nicht aktualisiert zu werden, daher empfehle ich es nicht. Sie können es jedoch leicht mit Google als letzten Ausweg finden.

Mir ist nicht bekannt, was Sie an Ihrer Konfiguration getan haben oder noch nicht getan haben. Lesen Sie daher am besten die evdev-Anleitung und versuchen Sie, die Schritte zu identifizieren, die Sie noch nicht getan haben. Die größten Unterschiede, die ich sehe, sind

A) Im Beispiel xorg.conf gibt es nur 1 Bildschirm- und ServerLayout-Abschnitt. Die zusätzlichen Bildschirme und das ServerLayout werden zusammen in einem separaten Conf definiert: xorg.conf.probe

B) Zusätzlich werden alle Geräte explizit durch ihre BusIDs referenziert, die mit lspci und erhalten wurden

C) Interrupts sind in IRQ 10 deaktiviert.

Hoffentlich hilft Ihnen dies, den Betrieb aufzunehmen, viel Glück!


Okay, das hilft sehr. Ich werde es mit 2 verschiedenen xorg.confDateien versuchen und es hoffentlich zum Laufen bringen.
MeanEYE

Dies löst mein Problem mit nVidia GLX, das im Falle einer Intel-Karte geladen wird, immer noch nicht.
MeanEYE

0

In Ubuntu 16.04 musste ich den /usr/local/bin/XWrapper aktualisieren mit:

exec /usr/bin/Xorg -modulepath '/usr/lib/xorg/extra-modules,/usr/lib/xorg/modules' "$@"

/etc/X11/Xsession.d/00ldlibrarykann die $XDG_SEATVariable testen und setzt export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/mesa:/usr/lib/i386-linux-gnu/mesa/nur für die Intel-Karte.


0

In 18.04 können Benutzer dank der glvnd-Unterstützung sowohl Mesa- als auch proprietäre Nvidia-Treiber ganz einfach installieren , ohne sich mit LD_PRELOAD herumschlagen zu müssen! Alle umgebungsvariablen Dinge und die Wrapper-Skripte sind jetzt nicht mehr erforderlich.


Da dies nicht mit einer bestimmten Ubuntu-Version gekennzeichnet ist und die vorhandenen Antworten mit meinem System (Ubuntu 15.10) nicht vollständig funktionierten, veröffentliche ich diese Antwort, die verwendet wird logind.

Grundsätzlich müssen Sie, damit GLX und libGL funktionieren, sowohl den X-Server als auch die Benutzersitzung so konfigurieren, dass je nach Sitz die richtige libGL-Implementierung verwendet wird.

Daher benötigen Sie ein Wrapper-Skript, damit LightDM X startet, und ein Xsession-Skript, um festzulegen, LD_LIBRARY_PATHdass die Sitzung die richtige libGL verwendet.


In /etc/X11/Xsession.d/00ldlibrary:

#!/bin/bash

if ps aux | grep "/usr/local/bin/X $DISPLAY" | grep -q seat1; then
    export LD_LIBRARY_PATH=/usr/lib/nvidia-352:/usr/lib32/nvidia-352
fi
if ps aux | grep "/usr/local/bin/X $DISPLAY" | grep -q seat0; then
    export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/mesa:/usr/lib/i386-linux-gnu/mesa/
fi

(unter der Annahme, dass seat1 nvidia und seat0 mesa verwendet)


Ebenso müssen Sie den X-Server ( /usr/local/bin/X) umschließen :

#!/bin/bash

if grep -q seat1 <<<$*; then
    export LD_LIBRARY_PATH=/usr/lib/nvidia-352
    echo "Detected seat1, using nvidia-352 libs"
fi
if grep -q seat0 <<<$*; then
    export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/mesa
    echo "Detected seat0, using mesa libs"
fi

exec /usr/bin/Xorg "$@"

Schließlich müssen Sie LightDM so konfigurieren, dass diese verwendet werden können in /etc/lightdm/lightdm.conf:

[Seat:*]
# needed to use the correct libraries for mesa/nvidia,
# along with a Xsession.d script (00ldlibrary)
xserver-command=/usr/local/bin/X
session-setup-script=/etc/X11/Xsession.d/00ldlibrary

Weitere Informationen finden Sie in meinem Multiseat-Mesa-NVIDIA-Repo, das weitere Details und die vollständigen Konfigurationsdateien und Skripte enthält.


-1

Ich verwende Arch Linux, aber dies hat mir ein wenig geholfen, sowohl meine Intel- als auch meine Nvidia-eigenen Treiber mit gl/vaapi/vdpauFunktionen zu laden .

Alles was Sie tun müssen (Fragen und Antworten):

Installieren Sie proprietär nvidia-utils.

Kopieren /usr/lib/xorg/modulesnach/usr/lib/xorg/modules_nvidia

Download und entpacken Sie die neuesten libva-intel-driver, mesa-vdpau, mesa, mesa-libgl, und xorg-serverals Pakete passend Ihre Architektur in einem separaten Verzeichnis. Dann cp -r(als root / sudo) den Inhalt von "separate directory"/usr/libso etwas wie /usr/lib_intelund "separate directory"/usr/lib/xorg/modules/*zu deinem eigentlichen /usr/lib/xorg/modulesVerzeichnis (Überschreiben).

Und

echo "/usr/lib_intel" > /etc/ld.conf.d/intel_glx.conf
ldconfig

Starten Sie neu X-Servers, versuchen Sie esglxinfo

Dies wird sich natürlich bei nvidia-Updates selbst zerstören.

Ich habe festgestellt, dass dies beim Neustart nicht funktioniert.

Viel besserer Hack:

Erstellen Sie keine ld.so.conf.d / -Datei. Fügen Sie stattdessen Folgendes zu / usr / bin / X hinzu:

PREV_LD_LIBRARY_PATH=$LD_LIBRARY_PATH
if [[ "$@" == *"vt7"* ]]
then
export LD_LIBRARY_PATH=/usr/lib_intel;$PREV_LD_LIBRARY_PATH
export LD_PRELOAD=/usr/lib_intel/libGL.so
fi

Ändern Sie "vt7" in das, was Ihr Display Manager zum Starten Ihres Intel X-Servers verwendet (: 0 ,: 2, vt7, vt8, isolatodevice = ...).

Natürlich können Sie auch / usr / bin / X nach / usr / bin / Xintel kopieren und stattdessen bearbeiten, indem Sie Ihr wm auf diese Datei verweisen (kdm 'ServerCmd').

Bearbeiten oder erstellen Sie dann eine neue Sitzungsdatei, z. B. / usr / bin / startkde (keine Überprüfung auf DISPLAY #!), Und fügen Sie Folgendes hinzu:

export LD_LIBRARY_PATH=/usr/lib_intel;$PREV_LD_LIBRARY_PATH
export LD_PRELOAD=/usr/lib_intel/libGL.so

Auf diese Weise müssen Sie nicht einmal etwas überschreiben. Das Verzeichnis / usr / lib_intel zu durchsuchen und die 2 bearbeiteten Dateien zurückzusetzen, ist alles, was Sie tun müssen, um diesen Hack wieder zu entfernen.


Ubuntu unterscheidet sich stark von Arch Linux. Obwohl die allgemeine Idee gut ist ( LD_LIBRARY_PATH), funktioniert es auf einem Ubuntu-System nicht.
Léo Lam
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.