slug: arch-linux-egpu-nvidia datepublished: 2019-03-16T04:38:36 dateupdated: 2019-03-18T04:18:08 tags: English Posts excerpt: "Why the hell nobody mentions this?" –-
Long story short, I'm running Xorg with nvidia
proprietary (nouveau sucks in performance) driver, the thing you need to know is noted here that you need to
Option "AllowExternalGpus"
For my setup, I have Intel onboard GPU (kernel module i915), and I'm connecting through a Razer Core X + GTX 1070.
You first install and do minimal configuration as described in Arch wiki Nvidia page then adding that allow external GPU option, I have:
#/etc/X11/xorg.conf.d/20-nvidia.conf Section "Module" Load "modesetting" EndSection Section "Device" Identifier "nvidia" Driver "nvidia" BusID "PCI:9:0:0" Option "TripleBuffer" "True" Option "ForceFullCompositionPipeline" "True" Option "AllowIndirectGLXProtocol" "off" Option "AllowEmptyInitialConfiguration" Option "AllowExternalGpus" EndSection
Where 9:0:0
notation is translated from results of lspci | grep VGA
then X11 should just work:
# ~/.xinitrc export GDK_BACKEND=x11 exec gnome-session
EDIT: As a side note, here's the additional package for running tensorflow-gpu
nccl
cuda
cudnn
Some extra steps:
https://wiki.archlinux.org/index.php/Hardwarevideoacceleration#Configuring_VA-API
#/etc/pacman.d/hooks/nvidia.hook [Trigger] Operation=Install Operation=Upgrade Operation=Remove Type=Package Target=nvidia Target=linux
[Action] Description=Update Nvidia module in initcpio Depends=mkinitcpio When=PostTransaction NeedsTargets Exec=/bin/sh -c 'while read -r trg; do case trg in linux) exit 0; esac; done; /usr/bin/mkinitcpio -P'
#/etc/default/grub .... GRUB_CMDLINE_LINUX_DEFAULT="quiet nvidia-drm.modeset=1" .... # ~/.xprofile export GDK_BACKEND=x11 export LIBVA_DRIVER_NAME=vdpau export VDPAU_DRIVER=nvidia exec gnome-session