Debian中的硬件加速NVidia和英特尔图形

时间:2014-09-04 17:52:42

标签: linux debian intel nvidia multiset

我想使用两个xservers,每个xservers运行在一个单独的图形卡上,实际上我使用两台显示器,我的计算机上安装了两个不同的图形卡,如下所示:

   @ ziomario-Z87-HD3:/ home / ziomario#lspci -nn | grep VGA

     <00> 00:02.0 VGA兼容控制器[0300]:Intel Corporation Xeon   E3-1200 v3 /第四代核心处理器集成图形控制器   [8086:0412](转06)

     

01:00.0 VGA兼容控制器[0300]:NVIDIA Corporation GK106   [GeForce GTX 660] [10de:11c0](rev a1)

      @ ziomario-Z87-HD3:/ home / ziomario#lspci -nn | grep NVIDIA

     

01:00.0 VGA兼容控制器[0300]:NVIDIA Corporation GK106   [GeForce GTX 660] [10de:11c0](rev a1)

     

01:00.1音频设备[0403]:NVIDIA Corporation GK106 HDMI Audio   控制器[10de:0e0b](rev a1)

我正在读这个article

我已经改变了一些命令,因为他所说的和我的情况之间存在差异。这就是我所做的:

使用此命令以root用户身份安装NVidia驱动程序:

./NVIDIA-Linux-x86_64-340.32.run –accept-license –no-backup –no-x-check –no-questions –ui=none –no-x-check –no-distro-scripts –utility-prefix=/nvidia –installer-prefix=/nvidia –opengl-prefix=/nvidia –opengl-libdir=glx

在NVIDIA的/ nvidia / glx目录中创建了一个libglx.so链接:

ln -s /usr/lib/xorg/modules/extensions/libglx.so.295.59 libglx.so

以root身份创建文件夹/etc/ld.conf.d(之前不存在),文件位于:/etc/ld.conf.d/nvidia,其中两行指向新的库目录:

/nvidia/lib
/nvidia/glx

以root身份执行此命令以激活上述路径。

ldconfig

使用命令

创建文件/etc/X11/xorg.conf
  

NVIDIA-xconfig的

使用ModulePath选项将nvidia xserver定向到正确的Glx。将其添加到现有Files部分的/etc/X11/xorg.conf中,如下所示:

这是我的xorg.conf文件:

  

“ServerLayout”部分

Identifier     "Layout0"
Screen      0  "Screen0"
InputDevice    "Keyboard0" "CoreKeyboard"
InputDevice    "Mouse0" "CorePointer" EndSection
     

“ServerLayout”部分

Identifier     "Layout1"
Screen      0  "Screen1" 0 0
Option         "Xinerama" "0" EndSection
     

“文件”部分

modulepath "/nvidia/glx,/nvidia/lib,/usr/lib/xorg/modules" 
     

EndSection

     

“InputDevice”部分

# generated from default
Identifier     "Mouse0"
Driver         "mouse"
Option         "Protocol" "auto"
Option         "Device" "/dev/psaux"
Option         "Emulate3Buttons" "no"
Option         "ZAxisMapping" "4 5" EndSection
     

“InputDevice”部分

# generated from default
Identifier     "Keyboard0"
Driver         "kbd" EndSection
     

“监视器”部分

Identifier     "Monitor0"
VendorName     "Unknown"
ModelName      "Unknown"
HorizSync       28.0 - 33.0
VertRefresh     43.0 - 72.0
Option         "DPMS" EndSection
     

“监视器”部分

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

“设备”部分

Identifier     "Device0"
Driver         "nvidia"
VendorName     "NVIDIA Corporation" EndSection
     

“设备”部分

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

“屏幕”部分

Identifier     "Screen0"
Device         "Device0"
Monitor        "Monitor0"
DefaultDepth    24
SubSection     "Display"
    Depth       24
EndSubSection EndSection
     

“屏幕”部分

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

在文件中配置用户LD_LIBRARY_PATH环境(这可以在/ etc / profile和/etc/bash.bashrc配置文件中普遍设置):〜/ .profile~ / .bashrc和〜/ .xsession文件添加以下几行:

  

if [echo $DISPLAY |grep -c ":1" -eq 1];然后       export LD_LIBRARY_PATH = / nvidia / glx

fi

重新安装了带有Glx的xorg软件包,以便更正以前的NVidia安装造成的损坏:

apt-get --reinstall install glx-alternative-mesa xserver-xorg-core libgl1-mesa-glx libgl1-mesa-dri

重启Gdm3

/etc/init.d/gdm3 restart

它不起作用。附带NVIDIA显卡的显示器工作正常,但另一个显示器附带的INTEL显卡已经关闭......有什么建议吗?

3 个答案:

答案 0 :(得分:1)

是否有空白屏幕或带鼠标指针的空白屏幕?我有几乎相同的硬件并使用2个xorg文件,每个座位一个,lightdm作为桌面管理器。当我在seat1(intel)上启用选项

时,会出现问题
  

Section&#34; ServerFlags&#34;       选项&#34; AutoAddDevices&#34; &#34;假&#34;       选项&#34; AutoEnableDevices&#34; &#34;假&#34;   EndSection

我需要这些选项来限制鼠标和键盘在各自的座位上。

在xorg.conf中查看:

Screen      0  "Screen1" 0 0

你确定第一个&#34; 0&#34;好吗?

答案 1 :(得分:1)

编辑:我在这里HOWTO: Intel and Nvidia accelerated on a 2 seat machine

发布了完整的指南

我在nvidia和intel上使用带有lightdm的multiseat(gdm3并没有给我很多选项),我的英特尔仍然没有加速(但我认为情况并非如此,因为我有同样的问题并且它是由错误的配置引起的) 。

这是我的配置:

/etc/lightdm/lightdm.conf

[LightDM]
[SeatDefaults]
xserver-allow-tcp=false
greeter-session=lightdm-greeter
greeter-hide-users=true
session-wrapper=/etc/X11/Xsession
autologin-user=john
[XDMCPServer]
[VNCServer]
[Seat:0]                          ###nvidia
xserver-command=/usr/bin/X :0
xserver-config=xorg_seat0.conf
autologin-user=john
[Seat:1]                          ###intel
xserver-command=/usr/bin/X :1 -sharevts
xserver-config=xorg_seat1.conf
autologin-user=desk

/etc/X11/xorg_seat0.conf

Section "ServerFlags"
    Option "AllowMouseOpenFail" "on"
    Option "AllowEmptyInput" "on"
    Option "ZapWarning" "on"
    Option "HandleSpecialKeys" "off"
    Option "DRI2" "on"
    Option "Xinerama" "off"
EndSection

Section "InputClass"
    Identifier    "Disable cable keyboard"
    MatchProduct  "AT Translated Set 2 keyboard"
    Option        "Ignore" "on"
EndSection

Section "InputClass"
    Identifier    "Disable cable mouse"
    MatchProduct  "Microsoft Microsoft 3-Button Mouse with IntelliEye(TM)"
    Option        "Ignore" "on"
EndSection

Section "ServerLayout"
    Identifier     "Seat0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/input/by-id/usb-Logitech_USB_Receiver-mouse"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
    Option         "GrabDevice" "on"
EndSection

Section "InputDevice"
    Identifier     "Keyboard0"
    Driver         "kbd"
    Option         "Device" "/dev/input/by-id/usb-Logitech_USB_Receiver-event-kbd"
    Option         "GrabDevice" "on"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "LG"
    ModelName      "LG Electronics LG TV"
    HorizSync       30.0 - 83.0
    VertRefresh     58.0 - 62.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTS 250"
    Option         "NoLogo" "1"
    BusId          "PCI:1:0:0"
    Option         "ProbeAllGpus" "false"
EndSection

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

/etc/X11/xorg_seat1.conf

Section "ServerFlags"
    Option "AllowMouseOpenFail" "on"
    Option "AllowEmptyInput" "on"
    Option "ZapWarning" "on"
    Option "HandleSpecialKeys" "off"
    Option "DRI2" "on"
    Option "Xinerama" "off"
EndSection

Section "InputClass"
    Identifier   "Disable Logitech wireless keyboard and mouse"
    MatchProduct "Logitech USB Receiver"
    Option       "Ignore" "on"
EndSection

Section "ServerLayout"
    Identifier     "Seat1"
    Screen      0  "Screen1" 0 0
    InputDevice    "Keyboard1" "CoreKeyboard"
    InputDevice    "Mouse1" "CorePointer"
EndSection

Section "InputDevice"
    Identifier     "Mouse1"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/input/by-id/usb-Microsoft_Microsoft_3-Button_Mouse_with_IntelliEye_TM_-event-mouse"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
    Option         "GrabDevice" "on"
EndSection

Section "InputDevice"
    Identifier     "Keyboard1"
    Driver         "kbd"
    Option         "Device" "/dev/input/by-path/platform-i8042-serio-0-event-kbd"
    Option         "GrabDevice" "on"
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "LG"
    ModelName      "LG Electronics W2042"
    HorizSync       30.0 - 83.0
    VertRefresh     56.0 - 75.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "intel"
    VendorName     "Intel Corporation"
    BoardName      "Intel 82G31"
    BusID          "PCI:0:2:0"
    Screen         0
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth    24
    Option         "Stereo" "0"
    SubSection     "Display"
        Depth       24
    Modes       "1680x1050"
    EndSubSection
EndSection

查找/ dev / input / by-path / use

ls -la /dev/input/by-path

查找/ dev / input / by-id / use

ls -la /dev/input/by-id

(除非你有ps2键盘或鼠标,否则最好使用/ dev / input / by-id / ...然后使用/ dev / input / by-path ...)

要查找键盘和鼠标的MatchProduct值,请在&#34; living&#34;上使用xinput。 xsession,而不是在裸机上。

sudo apt-get install xinput
xinput

接下来的几个小时我会按照你的说法尝试加速我的智能卡,所以我会提供更多信息:)

答案 2 :(得分:1)

这可能是http://unix.stackexchange.com问题......

根据您要完成的任务,运行2个x服务器可以解决使用一个GPU驱动一个显示器并使用另一个GPU驱动另一个显示器但也会产生另一组问题:您将无法使用在一个和另一个监视器等之间移动应用程序......

两张卡都需要一个通用的帧缓冲区来驱动一个普通的桌面,让某些应用程序运行一张卡或另一张卡,这就是bumblebee project正在为你做的事情。 NVidia专有驱动程序和bumblebee二进制文件都位于xorg.edgers PPA的安装位置。

由于xorg.edgers小组要求不直接提供安装说明而不链接到他们的页面,这是我现在能做的最好的 ...

如果你不知道PPA是什么,或者在阅读他们的页面之后需要一些关于向前和向后滚动驱动程序版本的指导,请在下面留下评论。

公平警告:我是Ubuntu mongrel用户,不是纯粹的Debian用户,但他们足够接近他们的解决方案可能仍然杂交。 ; - )