У меня настроено много мест, и у моего Xorg есть 2 серверных макета. Один для карты nVidia, а другой для карты Intel. Они оба работают, но сервер отображения, назначенный карте Intel, не имеет аппаратного ускорения, поскольку используемые модули DRI и GLX взяты из драйвера nVidia.
Итак, мой вопрос, могу ли я как-то настроить макеты для использования правильных DRI и GLX с каждой картой?
Мой 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
Лог-файл для 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
Ответы:
Итак, нашли решение, но есть ошибка, мешающая аппаратному ускорению работать на графических процессорах Intel в Ubuntu 12.10 с новой библиотекой Mesa 9.0.1.
Короче проблема была с загрузкой GLX. nVidia подтолкнет свой собственный модуль GLX и встанет на ноги Intel.
Я нашел решение, заметив эту строку:
А именно, модули, расположенные в,
/usr/lib/x86_64-linux-gnu/xorg/extra-modules
являются специфическими для nVidia. Поэтому я настроил LightDM для использования двухxorg.conf
файлов. В Intel один я установил вручную,ModulePath
за исключением каталога nVidia. Это привело к загрузке соответствующего модуля GLX.Мой
/etc/lightdm/lightdm.conf
файл выглядит так:Линии добавлены в
xorg.conf.intel
:источник
С моей стороны, с Ubuntu 14.04, пути различны и Nvidia проприетарный драйвер переопределения
libglx.so
в/usr/lib/xorg/modules/extensions/libglx.so
.Чтобы решить эту проблему, я дублировать
/usr/lib/xorg/modules
в ,/usr/lib/xorg/modules-nvidia
а затем переустановить Intel дружескийlibglx.so
с:sudo apt-get install --reinstall xserver-xorg-core
Это восстановить оригинал
libglx.so
. Наxorg.conf.nvidia
, я добавить путь к действительным модулям:Section "Files" ModulePath "/usr/lib/xorg/modules-nvidia" EndSection
Кроме того,
/etc/lightdm/lightdm.conf
я должен добавить:xserver-command=/usr/bin/X -sharevts
в[Seat:1]
разделе. Этот совет был найден здесь .Большое спасибо MeanEYE, который указывает мне на правильный путь.
источник
Итак, я провел небольшое исследование и обнаружил, что существует множество различных способов, с помощью которых вы можете получить конфигурации Multiseat (Multi-Station, Multi-Terminal и т. Д.).
1) Метод, который я бы порекомендовал, поскольку он использует ваш стандартный Xorg и встроенный драйвер ядра, использует evdev . Вот руководство о том, как настроить многопользовательскую конфигурацию 4 GPU и 4 монитора с помощью evdev. Руководство предназначено для графических процессоров Debian Sarge и SiS, но я думаю, что из этого руководства вы можете извлечь много очень полезной информации: https://en.wikibooks.org/wiki/Multiterminal_with_evdev
2) Другой метод - использование Xypher , другого сервера X Windows, основанного на KDrive. Я не уверен, что это тот путь, по которому вы хотите идти, однако вот это руководство в любом случае: https://en.wikibooks.org/wiki/en:Multiterminal_with_Xephyr
3) Другой вариант - использовать инструмент под названием Multiseat Display Manager (MDM), который обещает автоматизировать весь процесс установки для вас, однако он не обновляется, поэтому я не рекомендую его. Тем не менее, вы можете легко найти его с помощью Google в качестве последнего средства.
Я не знаю, что вы сделали или еще не сделали с вашей конфигурацией, поэтому лучше всего прочитать руководство evdev и попытаться определить шаги, которые вы еще не сделали. Самые большие различия, которые я вижу,
A) В примере xorg.conf есть только 1 раздел Screen и ServerLayout. Дополнительные Screens и ServerLayout определены в отдельном файле conf вместе: xorg.conf.probe
B) Кроме того, на все устройства явно ссылаются их BusID, которые были получены с использованием lspci и
C) Прерывания отключены на IRQ 10.
Надеюсь, это поможет вам начать работу, удачи!
источник
xorg.conf
файлами и, надеюсь, заставить его работать.В Ubuntu 16.04 мне нужно было обновить
/usr/local/bin/X
оболочку:/etc/X11/Xsession.d/00ldlibrary
Можно проверить$XDG_SEAT
переменную и наборыexport LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/mesa:/usr/lib/i386-linux-gnu/mesa/
только для карты Intel.источник
В 18.04 поддержка glvnd позволяет пользователям очень легко устанавливать как Mesa, так и проприетарные драйверы Nvidia , не связываясь с LD_PRELOAD! Все переменные среды и сценарии-оболочки теперь не нужны.
Поскольку это не помечено конкретной версией Ubuntu, а существующие ответы не полностью работали с моей системой (Ubuntu 15.10), я публикую этот ответ, который использует
logind
.По сути, чтобы заставить GLX и libGL работать, вы должны настроить и X-сервер, и сеанс пользователя на использование правильной реализации libGL, в зависимости от места.
Поэтому вам нужен скрипт-обертка для LightDM, чтобы запустить X, и скрипт Xsession, чтобы установить,
LD_LIBRARY_PATH
чтобы сеанс использовал правильный libGL.В
/etc/X11/Xsession.d/00ldlibrary
:(при условии, что seat1 использует nvidia и seat0 mesa)
Точно так же вам нужно обернуть X-сервер (
/usr/local/bin/X
):Наконец, вам нужно настроить LightDM, чтобы использовать их в
/etc/lightdm/lightdm.conf
:Для получения более подробной информации, смотрите мой репозиторий multiseat-mesa-nvidia, который содержит более подробную информацию и содержит полные файлы конфигурации и сценарии.
источник
Я использую Arch linux, но это немного помогло мне загрузить свои Intel и проприетарные драйверы Nvidia с
gl/vaapi/vdpau
функциональностью.Все, что вам нужно сделать (вопросы и ответы):
Установите проприетарную
nvidia-utils
.Копировать
/usr/lib/xorg/modules
в/usr/lib/xorg/modules_nvidia
Скачать и распаковать последний
libva-intel-driver
,mesa-vdpau
,mesa
,mesa-libgl
, и вxorg-server
виде пакетов , установленных архитектуру в отдельном каталоге. Затемcp -r
(от имени root / sudo) содержимое"separate directory"/usr/lib
чего-то похожего/usr/lib_intel
и"separate directory"/usr/lib/xorg/modules/*
фактического/usr/lib/xorg/modules
каталога (перезаписывается).И
Перезагрузите
X-Servers
, попробуйтеglxinfo
Это, конечно, будет самоуничтожаться на nvidia-обновлениях.
Я обнаружил, что это не работает при перезагрузке.
Гораздо лучше взломать
Не создавайте файл ld.so.conf.d /. Вместо этого добавьте следующее в / usr / bin / X:
замените «vt7» на то, что ваш менеджер дисплеев использует для запуска вашего Intel X-Server (: 0,: 2, vt7, vt8, isolatodevice = ...)
Конечно, вы также можете скопировать / usr / bin / X в / usr / bin / Xintel и отредактировать его, указав wm на этот файл (kdm 'ServerCmd').
Затем отредактируйте или создайте новый файл сеанса, например, / usr / bin / startkde (без проверки DISPLAY #!), Добавив:
Таким образом, вам даже не нужно ничего перезаписывать. Зайдите в каталог / usr / lib_intel и сбросьте 2 отредактированных файла - это все, что вам нужно сделать, чтобы снова удалить этот хак.
источник
LD_LIBRARY_PATH
), она не будет работать в системе Ubuntu.