AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1158036
Accepted
A Roebel
A Roebel
Asked: 2019-07-14 04:37:40 +0800 CST2019-07-14 04:37:40 +0800 CST 2019-07-14 04:37:40 +0800 CST

避免使用带有等离子的 Xorg 的 nvidia 卡

  • 772

我有一台运行 ubuntu linux 18.04 的带有英特尔和 nvidia GPU 的戴尔 xps 15 9570 笔记本电脑,我想专门使用 nvidia 卡来训练深度神经网络。我设法让 X 服务器在以下英特尔上运行

如何为 xserver 配置 igpu 和为 cuda 配置 nvidia gpu?

当我在 gdm3 中选择使用 gnome shell (ubuntu Wayland) 登录时,它可以完美运行。运行 nvidia-smi 表明 GPU 上没有运行任何进程。但是现在我想用 Plasma 尝试 kde,xserver 最终在 nvidia gpu 上。

(base) ooo: (~) 505> nvidia-smi 
Sat Jul 13 14:30:18 2019       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.26       Driver Version: 430.26       CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 105...  Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   50C    P5    N/A /  N/A |     66MiB /  4042MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      2073      G   /usr/lib/xorg/Xorg                            66MiB |
+-----------------------------------------------------------------------------+

我试图让 X 服务器使用英特尔添加两个配置文件

/etc/X11/xorg.conf.d/01-noautogpu.conf /etc/X11/xorg.conf.d/20-intel.conf

进入 /etc/X11/xorg.conf.d 如此处所述

https://gist.github.com/s41m0n/323513c95290c85f7054384ac34c41c5

结果不幸的是,登录后屏幕仍然是黑色的。似乎等离子外壳本身找到并使用了 nvidia gpu。

任何如何强制等离子使用英特尔 GPU 的想法将不胜感激。

kde nvidia plasma
  • 1 1 个回答
  • 5474 Views

1 个回答

  • Voted
  1. Best Answer
    A Roebel
    2019-07-15T02:58:44+08:002019-07-15T02:58:44+08:00

    在这里发现问题和答案后How to configure iGPU for xserver and nvidia GPU for CUDA work,尤其是 user890178 的答案,并研究了系统日志,我终于发现不是 Plasma 可以做任何特定的事情,但问题对于 gnome 来说是一样的和使用 Xorg 时的等离子外壳。使用 Xorg 的 gpu-manager.service

    /lib/systemd/system/gpu-manager.service
    

    由显示管理器触发

    /etc/systemd/system/display-manager.service.wants/gpu-manager.service
    

    gpu-manager 检测到 nvidia 并写入文件

    /usr/share/X11/xorg.conf.d/11-nvidia-prime.conf
    

    其中包含

    # DO NOT EDIT. AUTOMATICALLY GENERATED BY gpu-manager
    
    Section "OutputClass"
        Identifier "Nvidia Prime"
        MatchDriver "nvidia-drm"
        Driver "nvidia"
        Option "AllowEmptyInitialConfiguration"
        Option "IgnoreDisplayDevices" "CRT"
        Option "PrimaryGPU" "Yes"
        ModulePath "/x86_64-linux-gnu/nvidia/xorg"
    EndSection
    

    Wayland 不使用此文件,因此不使用 nvidia 卡,但它用于 ubuntu 和 Plasma 上的 gnome-shell。所以事实上两者都将 nvidia 卡用于 Xorg。

    然后,解决方案是 Maksym Ganenko 在上述同一问题中答案的变体,这意味着将 /usr/share/X11/xorg.conf.d/11-nvidia-prime.conf 替换为

    # DO NOT EDIT. AUTOMATICALLY GENERATED BY gpu-manager
    
    Section "OutputClass"
        Identifier "Nvidia Prime"
        MatchDriver "nvidia-drm"
        Driver "nvidia"
        Option "AllowEmptyInitialConfiguration"
        Option "IgnoreDisplayDevices" "CRT"
        # Option "PrimaryGPU" "Yes"   <<< commented out
        ModulePath "/x86_64-linux-gnu/nvidia/xorg"
    EndSection
    
    
    # added 
    Section "OutputClass"
        Identifier "intel"
        MatchDriver "i915"
        Driver "modesetting"
        Option "PrimaryGPU" "yes"    
    EndSection
    

    此外,为了避免 gpu-manager 在开始下一个会话时替换这些更改以遵循有关 Oren 的建议gpu-manager 覆盖 xorg.conf以通过运行来保护文件免受更改

    chattr +i /usr/share/X11/xorg.conf.d/11-nvidia-prime.conf
    

    我似乎在将我在问题中提到的两个文件添加到 /etc/X11/xorg.conf.d 后屏幕仍然黑屏的事实是由于 /usr/share/X11/xorg 中的文件.conf.d 配置文件确实包含相互矛盾的信息。

    鉴于 GabrielaGarcia 的评论令人惊讶地声称我所问的内容无法在笔记本电脑上运行,我觉得有必要提供证明,我所问的内容可以工作,并且我提供的答案确实是使其工作的一种手段.

    这里 lspci 的输出证明了两个显卡的存在

    (base) m3088: (~) 505> lspci | egrep "VGA|NVIDIA"
    00:02.0 VGA compatible controller: Intel Corporation Device 3e9b
    01:00.0 3D controller: NVIDIA Corporation GP107M [GeForce GTX 1050 Ti Mobile] (rev a1)
    

    这里是ps aux过滤运行 tensorflow 会话的 Xorg、plasma 和 anaconda python 的输出。这表明大家一起愉快地运行,而 Plasma 和 Xorg 并没有按要求使用 nvidia 卡(见下面的 nvidia-smi)

    (base) m3088: (~) 511> ps aux  | egrep "Xorg|plasmashell|anaconda"
    roebel   13139  0.9  5.1 17315584 819236 pts/1 Sl+  00:23   0:10 /data/anasynth/anaconda3/bin/python /data/anasynth/anaconda3/bin/ipython
    roebel   16198  0.0  0.0  21540  1068 pts/5    S+   00:42   0:00 grep -E Xorg|plasmashell|anaconda
    roebel   18886  1.5  1.3 628292 210572 tty2    Sl+  juil.14  24:22 /usr/lib/xorg/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -background none -noreset -keeptty -verbose 3
    roebel   19171  2.0  3.4 6576588 561212 ?      Sl   juil.14  33:16 /usr/bin/plasmashell
    

    这里 nvidia-smi 的输出证明 Xorg 没有使用 nvidia,但是 anaconda python 中的 tensorflow 会话正在起诉它。

    (base) m3088: (~) 506> nvidia-smi
    Tue Jul 16 00:34:51 2019       
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 430.26       Driver Version: 430.26       CUDA Version: 10.2     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |===============================+======================+======================|
    |   0  GeForce GTX 105...  Off  | 00000000:01:00.0 Off |                  N/A |
    | N/A   47C    P8    N/A /  N/A |    123MiB /  4042MiB |      0%      Default |
    +-------------------------------+----------------------+----------------------+
                                                                                   
    +-----------------------------------------------------------------------------+
    | Processes:                                                       GPU Memory |
    |  GPU       PID   Type   Process name                             Usage      |
    |=============================================================================|
    |    0     13139      C   /data/anasynth/anaconda3/bin/python          109MiB |
    +-----------------------------------------------------------------------------+
    

    我准备提供屏幕截图来展示这一切都发生在笔记本电脑上。

    编辑 Ubuntu 22.04 的更新

    我终于开始使用 Wayland,但不幸的是,以前的解决方案不再起作用了。gnome-shell 在 GPU 上运行,随后导致接口出现一些问题。按照此处的讨论,我尝试卸载 nvidia wayland 支持包

    sudo apt remove libnvidia-egl-wayland1
    

    随后gnome-shell不再在 Nvidia GPU 上运行,让 GPU 可以免费进行 DNN 训练。

    • 3

相关问题

  • 帮助让 Flash 播放器在第二个屏幕上工作?

  • 为什么我的 Kubuntu 会话在恢复后需要相当长的时间才能响应?

  • 如何防止自己在多用户设置中自动注销?

  • KATE 总是忘记我启用了 shell 插件

  • 安装 XFCE 后如何返回 KDE 启动/登录?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve