J'ai configuré plusieurs sièges et mon Xorg a 2 configurations de serveur. L'un est pour la carte nVidia et l'autre est pour la carte Intel. Ils fonctionnent tous les deux, mais le serveur d'affichage affecté à la carte Intel n'a pas d'accélération matérielle puisque le module DRI et GLX utilisé provient du pilote nVidia.
Donc ma question est, puis-je configurer les mises en page pour utiliser le bon DRI et GLX avec chaque carte?
Mon 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
Fichier journal pour 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
Réponses:
D'accord, j'ai donc trouvé une solution, mais il y a un bug empêchant l'accélération matérielle de fonctionner sur les GPU Intel pour le moment dans Ubuntu 12.10 avec la nouvelle bibliothèque Mesa 9.0.1.
En bref, le problème était avec le chargement de GLX. nVidia pousserait son propre module GLX et marcherait sur les orteils d'Intel.
J'ai trouvé une solution en remarquant cette ligne:
À savoir les modules situés dans
/usr/lib/x86_64-linux-gnu/xorg/extra-modules
sont tous spécifiques à nVidia. J'ai donc configuré LightDM pour utiliser deuxxorg.conf
fichiers. Dans Intel One, j'ai défini manuellement l'ModulePath
exclusion du répertoire nVidia. Cela a entraîné le chargement du module GLX approprié.Mon
/etc/lightdm/lightdm.conf
fichier ressemble à ceci:Lignes ajoutées à
xorg.conf.intel
:la source
De mon côté, avec Ubuntu 14.04, les chemins sont différents et Nvidia override pilote propriétaire
libglx.so
en/usr/lib/xorg/modules/extensions/libglx.so
.Pour résoudre le problème, je dupliquer
/usr/lib/xorg/modules
en/usr/lib/xorg/modules-nvidia
puis réinstaller le processeur Intel conviviallibglx.so
avec:sudo apt-get install --reinstall xserver-xorg-core
Cela restaure l'original
libglx.so
. Sur lexorg.conf.nvidia
, j'ajoute le chemin vers les modules valides:Section "Files" ModulePath "/usr/lib/xorg/modules-nvidia" EndSection
Aussi, dans
/etc/lightdm/lightdm.conf
je dois ajouter:xserver-command=/usr/bin/X -sharevts
sous la[Seat:1]
section. Cette astuce a été trouvée ici .Un grand merci à MeanEYE qui me pointe dans le bon sens.
la source
J'ai donc fait un peu de recherche et découvert qu'il existe un certain nombre de façons différentes de réaliser des configurations multisièges (multi-stations, multi-terminaux, etc.).
1) La méthode que je recommanderais, car elle utilise votre Xorg standard et un pilote de noyau intégré, utilise evdev . Voici un guide sur la façon d'installer une configuration multi-siège à 4 GPU et 4 moniteurs à l'aide d'evdev. Le guide est destiné aux GPU Debian Sarge et SiS, mais je pense que vous pouvez déduire de nombreuses informations très utiles à partir de ce guide: https://en.wikibooks.org/wiki/Multiterminal_with_evdev
2) Une autre méthode utilise Xypher , un autre serveur X Windows basé sur KDrive. Je ne suis pas sûr que ce soit la route que vous souhaitez emprunter, mais voici quand même ce guide: https://en.wikibooks.org/wiki/en:Multiterminal_with_Xephyr
3) Une autre option consiste à utiliser un outil appelé Multiseat Display Manager (MDM) qui promet d'automatiser l'ensemble du processus de configuration pour vous, cependant, il ne semble pas être mis à jour, donc je ne le recommande pas. Cependant, vous pouvez le trouver facilement en dernier recours.
Je ne sais pas ce que vous avez ou n'avez pas déjà fait à votre configuration, donc votre meilleur pari est de lire le guide evdev et d'essayer d'identifier les étapes que vous n'avez pas encore faites. Les plus grandes différences que je vois sont
A) Dans l'exemple xorg.conf, il n'y a qu'une seule section Screen et ServerLayout. Les écrans supplémentaires et ServerLayout sont définis dans une conf distincte tous ensemble: xorg.conf.probe
B) De plus, tous les appareils sont explicitement référencés par leurs BusID, qui ont été obtenus en utilisant lspci et
C) Les interruptions sont désactivées sur irq 10.
J'espère que cela vous aidera à être opérationnel, bonne chance!
la source
xorg.conf
fichiers différents et j'espère que cela fonctionnera.Dans Ubuntu 16.04, j'avais besoin de mettre à jour le
/usr/local/bin/X
wrapper avec:/etc/X11/Xsession.d/00ldlibrary
peut tester la$XDG_SEAT
variable et définitexport LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/mesa:/usr/lib/i386-linux-gnu/mesa/
uniquement pour la carte Intel.la source
Dans la version 18.04, la prise en charge de glvnd permet aux utilisateurs d'avoir à la fois des pilotes Mesa et Nvidia propriétaires installés très facilement , sans avoir à jouer avec LD_PRELOAD! Toutes les choses variables d'environnement et les scripts d'encapsuleur sont désormais inutiles.
Comme cela n'est pas étiqueté avec une version spécifique d'Ubuntu et que les réponses existantes ne fonctionnent pas entièrement avec mon système (Ubuntu 15.10), je publie cette réponse qui utilise
logind
.Fondamentalement, pour que GLX et libGL fonctionnent, vous devez configurer à la fois le serveur X et la session utilisateur pour utiliser l'implémentation libGL correcte, en fonction du siège.
Par conséquent, vous avez besoin d'un script d'encapsulation pour LightDM pour démarrer X et d'un script Xsession à définir
LD_LIBRARY_PATH
pour que la session utilise la bonne libGL.Dans
/etc/X11/Xsession.d/00ldlibrary
:(en supposant que seat1 utilise nvidia et seat0 mesa)
De même, vous devez envelopper le serveur X (
/usr/local/bin/X
):Enfin, vous devrez configurer LightDM pour les utiliser dans
/etc/lightdm/lightdm.conf
:Pour plus de détails, voir mon repo multiseat-mesa-nvidia qui a plus de détails et a les fichiers de configuration et les scripts complets.
la source
J'utilise Arch linux, mais cela m'a un peu aidé à obtenir à la fois mon Intel et mes pilotes propriétaires Nvidia chargés de
gl/vaapi/vdpau
fonctionnalités.Tout ce que vous devez faire (q & d):
Installez propriétaire
nvidia-utils
.Copier
/usr/lib/xorg/modules
vers/usr/lib/xorg/modules_nvidia
Téléchargez et déballer le dernier
libva-intel-driver
,mesa-vdpau
,mesa
,mesa-libgl
etxorg-server
que des forfaits montage de votre structure dans un répertoire distinct. Puiscp -r
(en tant que root / sudo) le contenu de"separate directory"/usr/lib
quelque chose comme/usr/lib_intel
et"separate directory"/usr/lib/xorg/modules/*
dans votre/usr/lib/xorg/modules
répertoire réel (écrasement).Et
Redémarrez
X-Servers
, essayezglxinfo
Bien sûr, cela s'autodétruit sur les mises à jour de nvidia.
J'ai découvert que cela ne fonctionne pas lors du redémarrage.
Un hack bien meilleur:
Ne créez pas de fichier ld.so.conf.d /. Au lieu de cela, ajoutez ce qui suit à / usr / bin / X:
remplacez «vt7» par tout ce que votre gestionnaire d'affichage utilise pour démarrer votre serveur x Intel (: 0,: 2, vt7, vt8, isolatodevice = ...)
Bien sûr, vous pouvez également copier / usr / bin / X vers / usr / bin / Xintel et le modifier à la place, en pointant votre wm vers ce fichier (kdm 'ServerCmd').
Ensuite, éditez ou créez un nouveau fichier de session, c'est-à-dire / usr / bin / startkde (pas de vérification de DISPLAY #!), En ajoutant:
De cette façon, vous n'avez même pas besoin d'écraser quoi que ce soit. rm'ing le répertoire / usr / lib_intel et réinitialiser les 2 fichiers modifiés est tout ce que vous devez faire pour supprimer à nouveau ce hack.
la source
LD_LIBRARY_PATH
), cela ne fonctionnera pas sur un système Ubuntu.