Saya telah mengkonfigurasi multiseat dan Xorg saya memiliki 2 tata letak server. Satu untuk kartu nVidia dan lainnya untuk kartu Intel. Keduanya berfungsi, tetapi server tampilan yang ditetapkan untuk kartu Intel tidak memiliki akselerasi perangkat keras karena modul DRI dan GLX yang digunakan berasal dari driver nVidia.
Jadi pertanyaan saya adalah, bisakah saya mengkonfigurasi tata letak untuk menggunakan DRI dan GLX yang tepat dengan setiap kartu?
Xorg.conf saya:
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
File log untuk 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
Jawaban:
Oke, jadi temukan solusinya, tetapi ada bug yang mencegah akselerasi perangkat keras dari bekerja pada Intel GPU saat ini di Ubuntu 12.10 dengan perpustakaan Mesa 9.0.1 yang baru.
Singkatnya, masalah dengan memuat GLX. nVidia akan mendorong modul GLX sendiri dan menginjak kaki Intel.
Saya menemukan solusi dengan memperhatikan baris ini:
Yaitu modul yang terletak di
/usr/lib/x86_64-linux-gnu/xorg/extra-modules
semua nVidia yang spesifik. Jadi saya mengkonfigurasi LightDM untuk menggunakan duaxorg.conf
file. Di Intel one, saya telah secara manual mengaturModulePath
mengecualikan direktori nVidia. Ini menghasilkan pemuatan modul GLX yang tepat./etc/lightdm/lightdm.conf
File saya terlihat seperti ini:Baris ditambahkan ke
xorg.conf.intel
:sumber
Di sisi saya, dengan Ubuntu 14.04, jalur yang berbeda dan sopir Nvidia proprietary menimpa
libglx.so
di/usr/lib/xorg/modules/extensions/libglx.so
.Untuk mengatasi masalah ini, saya duplikat
/usr/lib/xorg/modules
di/usr/lib/xorg/modules-nvidia
kemudian instal ulang Intel ramahlibglx.so
dengan:sudo apt-get install --reinstall xserver-xorg-core
Ini mengembalikan yang asli
libglx.so
. Padaxorg.conf.nvidia
, saya menambahkan path ke modul yang valid:Section "Files" ModulePath "/usr/lib/xorg/modules-nvidia" EndSection
Juga, di
/etc/lightdm/lightdm.conf
saya harus menambahkan: dixserver-command=/usr/bin/X -sharevts
bawah[Seat:1]
bagian. Tip ini telah ditemukan di sini .Terima kasih banyak kepada MeanEYE yang menunjukkan saya dengan cara yang benar.
sumber
Jadi saya telah melakukan sedikit riset dan menemukan bahwa ada sejumlah cara berbeda di mana Anda dapat mencapai konfigurasi Multiseat (Multi-station, multi-terminal dll).
1) Metode yang saya sarankan, karena menggunakan Xorg standar dan driver kernel bawaan , menggunakan evdev . Berikut ini panduan tentang cara mengatur konfigurasi multiseat 4 GPU dan 4 monitor menggunakan evdev. Panduan ini dimaksudkan untuk Debian Sarge dan SiS GPU, tetapi saya pikir Anda dapat menyimpulkan banyak informasi yang sangat berguna dari panduan ini: https://en.wikibooks.org/wiki/Multiterminal_with_evdev
2) Metode lain menggunakan Xypher , server X Windows berbeda berdasarkan KDrive. Saya tidak yakin ini adalah rute yang ingin Anda tuju, namun inilah panduannya: https://en.wikibooks.org/wiki/en:Multiterminal_with_Xephyr
3) Pilihan lain adalah menggunakan alat yang disebut Multiseat Display Manager (MDM) yang menjanjikan untuk mengotomatiskan seluruh proses pengaturan untuk Anda, namun, sepertinya tidak diperbarui sehingga saya tidak merekomendasikannya. Anda dapat menemukannya dengan mudah dengan Google sebagai pilihan terakhir.
Saya tidak mengetahui apa yang telah atau belum Anda lakukan untuk konfigurasi Anda, jadi cara terbaik Anda adalah membaca panduan evdev dan mencoba mengidentifikasi langkah-langkah yang belum Anda lakukan. Perbedaan terbesar yang saya lihat adalah
A) Dalam contoh xorg.conf, hanya ada 1 bagian Layar dan ServerLayout. Layar tambahan dan ServerLayout didefinisikan dalam conf terpisah bersama-sama: xorg.conf.probe
B) Selain itu, semua perangkat direferensikan secara eksplisit oleh BusID mereka, yang diperoleh dengan menggunakan lspci dan
C) Interupsi dinonaktifkan pada irq 10.
Semoga ini membantu Anda bangkit dan berlari, semoga berhasil!
sumber
xorg.conf
file berbeda dan mudah-mudahan bisa berfungsi.Di Ubuntu 16.04 saya perlu memperbarui
/usr/local/bin/X
wrapper dengan:/etc/X11/Xsession.d/00ldlibrary
dapat menguji$XDG_SEAT
variabel danexport LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/mesa:/usr/lib/i386-linux-gnu/mesa/
hanya menetapkan untuk kartu Intel.sumber
Pada 18.04, dukungan glvnd memungkinkan pengguna menginstal driver Mesa dan Nvidia dengan sangat mudah , tanpa harus mengacaukan dengan LD_PRELOAD! Semua variabel lingkungan dan skrip pembungkus sekarang tidak perlu.
Karena ini tidak ditandai dengan versi Ubuntu tertentu, dan jawaban yang ada tidak sepenuhnya bekerja dengan sistem saya (Ubuntu 15.10), saya memposting jawaban ini yang menggunakan
logind
.Pada dasarnya, agar GLX dan libGL berfungsi, Anda harus mengonfigurasi server X dan sesi pengguna untuk menggunakan implementasi libGL yang benar, tergantung pada tempat duduknya.
Oleh karena itu Anda memerlukan skrip pembungkus untuk LightDM untuk memulai X, dan skrip Xsession untuk mengatur
LD_LIBRARY_PATH
sehingga sesi menggunakan libGL yang benar.Dalam
/etc/X11/Xsession.d/00ldlibrary
:(dengan asumsi seat1 menggunakan nvidia dan seat0 mesa)
Demikian pula, Anda perlu membungkus server X (
/usr/local/bin/X
):Terakhir, Anda harus mengonfigurasi LightDM untuk menggunakannya di
/etc/lightdm/lightdm.conf
:Untuk detail lebih lanjut, lihat repo multiseat-mesa-nvidia saya yang memiliki lebih banyak detail dan memiliki file konfigurasi dan skrip yang lengkap.
sumber
Saya menggunakan Arch linux, tetapi ini sedikit membantu saya untuk mendapatkan driver Intel dan Nvidia milik saya yang penuh dengan
gl/vaapi/vdpau
fungsionalitas.Yang perlu Anda lakukan (q & d):
Instal hak milik
nvidia-utils
.Salin
/usr/lib/xorg/modules
ke/usr/lib/xorg/modules_nvidia
Download dan membongkar terbaru
libva-intel-driver
,mesa-vdpau
,mesa
,mesa-libgl
, danxorg-server
sebagai paket pas arsitektur anda dalam direktori terpisah. Kemudiancp -r
(sebagai root / sudo) isi dari"separate directory"/usr/lib
sesuatu seperti/usr/lib_intel
dan"separate directory"/usr/lib/xorg/modules/*
ke/usr/lib/xorg/modules
direktori aktual Anda (menimpa).Dan
Mulai ulang
X-Servers
, cobaglxinfo
Ini akan merusak diri sendiri pada pembaruan nvidia tentu saja.
Saya menemukan bahwa ini tidak berfungsi ketika me-reboot.
Retasan yang jauh lebih baik:
Jangan membuat file ld.so.conf.d /. Sebagai gantinya, tambahkan berikut ini ke / usr / bin / X:
ubah "vt7" menjadi apa pun yang digunakan pengelola layar Anda untuk memulai intel x-server Anda: (0,: 2, vt7, vt8, isolatodevice = ...)
Tentu saja, Anda juga dapat menyalin / usr / bin / X ke / usr / bin / Xintel dan mengeditnya sebagai gantinya, mengarahkan wm ke file ini (kdm 'ServerCmd').
Kemudian, edit atau buat file sesi baru Anda, yaitu / usr / bin / startkde (tanpa memeriksa DISPLAY #!), Menambahkan:
Dengan begitu, Anda bahkan tidak perlu menimpa apa pun. rm'ing direktori / usr / lib_intel dan mengatur ulang 2 file yang diedit adalah semua yang perlu Anda lakukan untuk menghapus hack ini lagi.
sumber
LD_LIBRARY_PATH
), ia tidak akan bekerja pada sistem Ubuntu.