PREFACE: This is my first post on the forums; my apologies if I’ve missed some conventions.
CONTEXT: I initially installed Manjaro XFCE about a month ago, after finally giving up on Windows, due to various driver and software updates that (seemingly irreversibly) broke my configuration. I have been running various eGPU setups for about 2 years now, using mPCI-E adaptors plugged into the empty WWAN port on my motherboard (yes, there’s a performance bottleneck, but it’s still been worth it). I’ve experienced a number of troubles with my laptop’s NVIDIA Optimus setup, however I am certain that the use case I’m aiming for is physically possible (because I’ve had it set up successfully previously on Windows). I bought a bunch of upgrades for my Dell XPS 17 L702X back in June, and for all of a week I had it working together on Windows before some update or other killed it… I cannot upgrade parts and the performance I had during that week would more than suffice for the next year or so - if only I could get to work.
GOAL: To have the NVIDIA GTX 980 eGPU essentially acting as the primary GPU of my system, from running the display and monitors, to rendering games and other 3D applications, to hardware-accelerated computationally-intensive workloads (e.g. tensorflow) for my degree (I’m a Master’s student in Engineering).
I have scoured as many forums as I have been able and tried everything I could find, installing different drivers, gswitch, optimus-swtich, egpu-switcher, PRIME offloading, changing boot parameters, customising xorg.conf files, and a few combinations of the above (the mhwd “bumblebee” default doesn’t seem to work, either).
The closest I’ve come to making it work is in my current setup, where I’ve installed optimus-manager and I’m running the X server using the nvidia only mode, with the NVIDIA GT 550M dGPU. The video-nvidia-390xx driver lists both of my GPUs on its supported lists, so the driver is supposedly installed on both GPUs, and optimus-manager even detects both GPUs, but I cannot figure out how to direct it to ignore the dGPU and set-up with the eGPU.
If anyone who might understand all this better than I could offer a helpful suggestion, I would be extremely grateful.
INFO DUMPS:
inxi -Fazy
System:
Kernel: 5.9.16-1-MANJARO x86_64 bits: 64 compiler: gcc v: 10.2.0
parameters: BOOT_IMAGE=/boot/vmlinuz-5.9-x86_64
root=UUID=358523bb-a828-4103-a85a-55adf5da6a5e rw quiet apparmor=1
security=apparmor udev.log_priority=3 pcie_ports=native
pci=assign-busses,nocrs
Desktop: Xfce 4.14.3 tk: Gtk 3.24.23 info: xfce4-panel wm: xfwm4
dm: LightDM 1.30.0 Distro: Manjaro Linux
Machine:
Type: Portable System: Dell product: Dell System XPS L702X v: N/A
serial: <filter> Chassis: type: 8 v: 0.1 serial: <filter>
Mobo: Dell model: 0K4H3G v: FAB1 serial: <filter> UEFI: Dell v: A19
date: 09/07/2012
Battery:
ID-1: BAT0 charge: 65.8 Wh condition: 65.8/73.3 Wh (90%) volts: 12.3/11.1
model: LGC Dell type: Li-ion serial: <filter> status: Full
CPU:
Info: Quad Core model: Intel Core i7-2760QM bits: 64 type: MT MCP
arch: Sandy Bridge family: 6 model-id: 2A (42) stepping: 7 microcode: 2F
L2 cache: 6 MiB
flags: avx lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 38335
Speed: 1365 MHz min/max: 800/3500 MHz Core speeds (MHz): 1: 1365 2: 1813
3: 1706 4: 799 5: 798 6: 1315 7: 798 8: 798
Vulnerabilities: Type: itlb_multihit status: KVM: VMX disabled
Type: l1tf
mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable
Type: mds mitigation: Clear CPU buffers; SMT vulnerable
Type: meltdown mitigation: PTI
Type: spec_store_bypass
mitigation: Speculative Store Bypass disabled via prctl and seccomp
Type: spectre_v1
mitigation: usercopy/swapgs barriers and __user pointer sanitization
Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional,
IBRS_FW, STIBP: conditional, RSB filling
Type: srbds status: Not affected
Type: tsx_async_abort status: Not affected
Graphics:
Device-1: Intel 2nd Generation Core Processor Family Integrated Graphics
vendor: Dell driver: i915 v: kernel bus ID: 00:02.0 chip ID: 8086:0126
Device-2: NVIDIA GF106M [GeForce GT 550M] vendor: Dell driver: nvidia
v: 390.138 alternate: nouveau,nvidia_drm bus ID: 01:00.0 chip ID: 10de:0dd6
Device-3: NVIDIA GM204 [GeForce GTX 980] driver: nvidia v: 390.138
alternate: nouveau,nvidia_drm bus ID: 02:00.0 chip ID: 10de:13c0
Device-4: Quanta WEBCAM type: USB driver: uvcvideo bus ID: 1-1.4:3
chip ID: 0408:1802 serial: <filter>
Display: x11 server: X.Org 1.20.10 driver: modesetting FAILED: nvidia
display ID: :0.0 screens: 1
Screen-1: 0 s-res: 3520x1080 s-dpi: 96 s-size: 931x286mm (36.7x11.3")
s-diag: 974mm (38.3")
Monitor-1: HDMI-0 res: 1920x1080 hz: 60 dpi: 51 size: 960x540mm (37.8x21.3")
diag: 1101mm (43.4")
Monitor-2: LVDS-1-1 res: 1600x900 hz: 60 dpi: 106
size: 382x215mm (15.0x8.5") diag: 438mm (17.3")
OpenGL: renderer: GeForce GT 550M/PCIe/SSE2 v: 4.6.0 NVIDIA 390.138
direct render: Yes
Audio:
Device-1: Intel 6 Series/C200 Series Family High Definition Audio
vendor: Dell driver: snd_hda_intel v: kernel bus ID: 00:1b.0
chip ID: 8086:1c20
Device-2: NVIDIA GF106 High Definition Audio vendor: Dell
driver: snd_hda_intel v: kernel bus ID: 01:00.1 chip ID: 10de:0be9
Device-3: NVIDIA GM204 High Definition Audio driver: snd_hda_intel v: kernel
bus ID: 02:00.1 chip ID: 10de:0fbb
Sound Server: ALSA v: k5.9.16-1-MANJARO
Network:
Device-1: Intel Wireless 7260 driver: iwlwifi v: kernel port: 6000
bus ID: 03:00.0 chip ID: 8086:08b1
IF: wlp3s0 state: down mac: <filter>
Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
vendor: Dell driver: r8169 v: kernel port: 2000 bus ID: 06:00.0
chip ID: 10ec:8168
IF: enp6s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
Drives:
Local Storage: total: 1.35 TiB used: 8.64 GiB (0.6%)
SMART Message: Required tool smartctl not installed. Check --recommends
ID-1: /dev/sda maj-min: 8:0 vendor: Samsung model: SSD 860 QVO 1TB
size: 931.51 GiB block size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
serial: <filter> rev: 2B6Q
ID-2: /dev/sdb maj-min: 8:16 vendor: Crucial model: CT480BX300SSD1
size: 447.13 GiB block size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s
serial: <filter> rev: 010
Partition:
ID-1: / raw size: 931.22 GiB size: 915.6 GiB (98.32%) used: 8.64 GiB (0.9%)
fs: ext4 dev: /dev/sda2 maj-min: 8:2
ID-2: /boot/efi raw size: 300 MiB size: 299.4 MiB (99.80%)
used: 312 KiB (0.1%) fs: vfat dev: /dev/sda1 maj-min: 8:1
Swap:
Alert: No Swap data was found.
Sensors:
System Temperatures: cpu: 60.0 C mobo: 40.0 C sodimm: SODIMM C gpu: nvidia
temp: 46 C
Fan Speeds (RPM): cpu: 2450
Info:
Processes: 244 Uptime: 3h 23m wakeups: 1 Memory: 15.53 GiB
used: 1.98 GiB (12.7%) Init: systemd v: 247 Compilers: gcc: 10.2.0 Packages:
pacman: 1146 lib: 363 flatpak: 0 Shell: Bash v: 5.1.0
running in: xfce4-terminal inxi: 3.2.01
dmesg | grep -i nvidia
[ 3.743774] audit: type=1400 audit(1610389534.757:4): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe" pid=288 comm="apparmor_parser"
[ 3.745166] audit: type=1400 audit(1610389534.757:5): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe//kmod" pid=288 comm="apparmor_parser"
[ 4.640304] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1c.0/0000:02:00.1/sound/card2/input9
[ 4.640372] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1c.0/0000:02:00.1/sound/card2/input10
[ 4.640438] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:1c.0/0000:02:00.1/sound/card2/input11
[ 4.640500] input: HDA NVidia HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:1c.0/0000:02:00.1/sound/card2/input12
[ 4.640564] input: HDA NVidia HDMI/DP,pcm=10 as /devices/pci0000:00/0000:00:1c.0/0000:02:00.1/sound/card2/input13
[ 4.640626] input: HDA NVidia HDMI/DP,pcm=11 as /devices/pci0000:00/0000:00:1c.0/0000:02:00.1/sound/card2/input14
[ 4.640697] input: HDA NVidia HDMI/DP,pcm=12 as /devices/pci0000:00/0000:00:1c.0/0000:02:00.1/sound/card2/input15
[ 4.715279] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input16
[ 4.715369] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input17
[ 4.715451] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input18
[ 4.715531] input: HDA NVidia HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input19
[ 5.284720] nvidia: loading out-of-tree module taints kernel.
[ 5.284728] nvidia: module license 'NVIDIA' taints kernel.
[ 5.292041] nvidia: module verification failed: signature and/or required key missing - tainting kernel
[ 5.302760] nvidia-nvlink: Nvlink Core is being initialized, major device number 235
[ 5.303101] nvidia 0000:01:00.0: enabling device (0006 -> 0007)
[ 5.303201] nvidia 0000:01:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=none
[ 5.303314] nvidia 0000:02:00.0: enabling device (0000 -> 0003)
[ 5.303392] nvidia 0000:02:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=none
[ 5.303526] NVRM: loading NVIDIA UNIX x86_64 Kernel Module 390.138 Thu May 14 01:01:53 PDT 2020 (using threaded interrupts)
[ 5.322348] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms 390.138 Thu May 14 04:02:47 PDT 2020
[ 5.324391] [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
[ 5.843654] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:01:00.0 on minor 1
[ 5.843782] [drm] [nvidia-drm] [GPU ID 0x00000200] Loading driver
[ 5.848142] [drm:nv_drm_load [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000200] Failed to allocate NvKmsKapiDevice
[ 5.848235] [drm:nv_drm_probe_devices [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000200] Failed to register device
[10323.748271] WARNING: CPU: 0 PID: 5706 at /storage/manjaro/makepkg/linux59-nvidia-390xx/src/NVIDIA-Linux-x86_64-390.138-no-compat32/kernel/nvidia-drm/nvidia-drm-drv.c:492 nv_drm_master_set+0x22/0x30 [nvidia_drm]
[10323.748272] Modules linked in: mousedev joydev hid_steam hid_generic uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_common videodev mc nvidia_drm(POE) nvidia_modeset(POE) nvidia(POE) ipmi_devintf ipmi_msghandler snd_hda_codec_realtek snd_hda_codec_generic squashfs intel_rapl_msr intel_rapl_common usbhid i915 x86_pkg_temp_thermal intel_powerclamp hid coretemp loop kvm_intel iwlmvm dell_laptop i2c_algo_bit drm_kms_helper snd_hda_codec_hdmi ledtrig_audio kvm irqbypass cec dell_wmi iTCO_wdt crct10dif_pclmul at24 mei_hdcp mac80211 intel_pmc_bxt crc32_pclmul sparse_keymap ghash_clmulni_intel wmi_bmof iTCO_vendor_support snd_hda_intel dell_smbios rc_core snd_intel_dspcfg libarc4 snd_hda_codec dell_wmi_descriptor dcdbas nls_iso8859_1 aesni_intel nls_cp437 snd_hda_core vfat fat snd_hwdep drm crypto_simd iwlwifi dell_smm_hwmon r8169 snd_pcm cryptd glue_helper rapl intel_gtt realtek agpgart intel_cstate snd_timer psmouse i2c_i801 mdio_devres cfg80211 of_mdio syscopyarea
[10323.748322] RIP: 0010:nv_drm_master_set+0x22/0x30 [nvidia_drm]
[10323.758189] WARNING: CPU: 3 PID: 5706 at /storage/manjaro/makepkg/linux59-nvidia-390xx/src/NVIDIA-Linux-x86_64-390.138-no-compat32/kernel/nvidia-drm/nvidia-drm-drv.c:492 nv_drm_master_set+0x22/0x30 [nvidia_drm]
[10323.758190] Modules linked in: mousedev joydev hid_steam hid_generic uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_common videodev mc nvidia_drm(POE) nvidia_modeset(POE) nvidia(POE) ipmi_devintf ipmi_msghandler snd_hda_codec_realtek snd_hda_codec_generic squashfs intel_rapl_msr intel_rapl_common usbhid i915 x86_pkg_temp_thermal intel_powerclamp hid coretemp loop kvm_intel iwlmvm dell_laptop i2c_algo_bit drm_kms_helper snd_hda_codec_hdmi ledtrig_audio kvm irqbypass cec dell_wmi iTCO_wdt crct10dif_pclmul at24 mei_hdcp mac80211 intel_pmc_bxt crc32_pclmul sparse_keymap ghash_clmulni_intel wmi_bmof iTCO_vendor_support snd_hda_intel dell_smbios rc_core snd_intel_dspcfg libarc4 snd_hda_codec dell_wmi_descriptor dcdbas nls_iso8859_1 aesni_intel nls_cp437 snd_hda_core vfat fat snd_hwdep drm crypto_simd iwlwifi dell_smm_hwmon r8169 snd_pcm cryptd glue_helper rapl intel_gtt realtek agpgart intel_cstate snd_timer psmouse i2c_i801 mdio_devres cfg80211 of_mdio syscopyarea
[10323.758229] RIP: 0010:nv_drm_master_set+0x22/0x30 [nvidia_drm]
glxinfo | grep -i vendor
server glx vendor string: NVIDIA Corporation
client glx vendor string: NVIDIA Corporation
OpenGL vendor string: NVIDIA Corporation
lspci -t -v
-[0000:00]-+-00.0 Intel Corporation 2nd Generation Core Processor Family DRAM Controller
+-01.0-[01]--+-00.0 NVIDIA Corporation GF106M [GeForce GT 550M]
| \-00.1 NVIDIA Corporation GF106 High Definition Audio Controller
+-02.0 Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller
+-16.0 Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1
+-1a.0 Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2
+-1b.0 Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller
+-1c.0-[02]--+-00.0 NVIDIA Corporation GM204 [GeForce GTX 980]
| \-00.1 NVIDIA Corporation GM204 High Definition Audio Controller
+-1c.1-[03]----00.0 Intel Corporation Wireless 7260
+-1c.3-[04]----00.0 NEC Corporation uPD720200 USB 3.0 Host Controller
+-1c.4-[05]--
+-1c.5-[06]----00.0 Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
+-1d.0 Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1
+-1f.0 Intel Corporation HM67 Express Chipset LPC Controller
+-1f.2 Intel Corporation 6 Series/C200 Series Chipset Family 6 port Mobile SATA AHCI Controller
+-1f.3 Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller
\-1f.6 Intel Corporation 6 Series/C200 Series Chipset Family Thermal Management Controller
xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x279 cap: 0x1, Source Output crtcs: 2 outputs: 1 associated providers: 1 name:NVIDIA-0
Provider 1: id: 0x2a2 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 2 outputs: 4 associated providers: 1 name:modesetting
cat /etc/X11/xorg.conf.d/10-optimus-manager.conf
Section "Files"
ModulePath "/usr/lib/nvidia"
ModulePath "/usr/lib32/nvidia"
ModulePath "/usr/lib32/nvidia/xorg/modules"
ModulePath "/usr/lib32/xorg/modules"
ModulePath "/usr/lib64/nvidia/xorg/modules"
ModulePath "/usr/lib64/nvidia/xorg"
ModulePath "/usr/lib64/xorg/modules"
EndSection
Section "ServerLayout"
Identifier "layout"
Screen 0 "nvidia"
Inactive "intel"
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "PCI:1:0:0"
Option "Coolbits" "28"
EndSection
Section "Screen"
Identifier "nvidia"
Device "nvidia"
Option "AllowEmptyInitialConfiguration"
Option "AllowExternalGpus"
EndSection
Section "Device"
Identifier "intel"
Driver "modesetting"
BusID "PCI:0:2:0"
EndSection
Section "Screen"
Identifier "intel"
Device "intel"
EndSection
Section "ServerFlags"
Option "IgnoreABI" "1"
EndSection
cat /etc/default/grub
GRUB_DEFAULT=saved
GRUB_TIMEOUT=5
GRUB_TIMEOUT_STYLE=hidden
GRUB_DISTRIBUTOR="Manjaro"
GRUB_CMDLINE_LINUX_DEFAULT="quiet apparmor=1 security=apparmor udev.log_priority=3 pcie_ports=native pci=assign-busses,nocrs"
GRUB_CMDLINE_LINUX=""
# If you want to enable the save default function, uncomment the following
# line, and set GRUB_DEFAULT to saved.
GRUB_SAVEDEFAULT=true
# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"
# Uncomment to enable booting from LUKS encrypted devices
#GRUB_ENABLE_CRYPTODISK=y
# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console
# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command 'videoinfo'
GRUB_GFXMODE=auto
# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep
# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true
# Uncomment and set to the desired menu colors. Used by normal and wallpaper
# modes only. Entries specified as foreground/background.
GRUB_COLOR_NORMAL="light-gray/black"
GRUB_COLOR_HIGHLIGHT="green/black"
# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/usr/share/grub/background.png"
GRUB_THEME="/usr/share/grub/themes/manjaro/theme.txt"
# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"
cat /etc/optimus-manager/optimus-manager.conf
[optimus]
# This parameter defines the method used to power switch the Nvidia card. See the documentation
# for a complete description of what each value does. Possible values :
#
# - nouveau : load the nouveau module on the Nvidia card.
# - bbswitch : power off the card using the bbswitch module (requires the bbswitch dependency).
# - acpi_call : try various ACPI method calls to power the card on and off (requires the acpi_call dependency)
# - custom: use custom scripts at /etc/optimus-manager/nvidia-enable.sh and /etc/optimus-manager/nvidia-disable.sh
# - none : do not use an external module for power management. For some laptop models it's preferable to
# use this option in combination with pci_power_control (see below).
switching=none
# Enable PCI power management in Intel mode.
# This option is incompatible with acpi_call and bbswitch, so it will be ignored in those cases.
pci_power_control=no
# Remove the Nvidia card from the PCI bus.
# May prevent crashes caused by power switching.
# Ignored if switching=nouveau or switching=bbswitch.
pci_remove=no
# Reset the Nvidia card at the PCI level before reloading the nvidia module.
# Ensures the card is in a fresh state before reloading the nvidia module.
# May fix some switching issues. Possible values :
#
# - no : does not perform any reset
# - function_level : perform a light "function-level" reset
# - hot_reset : perform a "hot reset" of the PCI bridge. ATTENTION : this method messes with the hardware
# directly, please read the online documentation of optimus-manager before using it.
# Also, it will perform a PCI remove even if pci_remove=no.
#
pci_reset=hot_reset
# Automatically log out the current desktop session when switching GPUs.
# This feature is currently supported for the following DE/WM :
# KDE Plasma, GNOME, XFCE, LXDE, Deepin, i3, Openbox, AwesomeWM, bspwm
# If this option is disabled or you use a different desktop environment,
# GPU switching only becomes effective at the next graphical session login.
auto_logout=yes
# GPU mode to use at computer startup. Possible values: nvidia, intel, hybrid, auto
# "auto" is a special mode that auto-detects if the computer is running on battery
# and selects a proper GPU mode. See the other options below.
startup_mode=nvidia
# GPU mode to select when startup_mode=auto and the computer is running on battery.
# Possible values: nvidia, intel, hybrid
startup_auto_battery_mode=intel
# GPU mode to select when startup_mode=auto and the computer is running on external power.
# Possible values: nvidia, intel, hybrid
startup_auto_extpower_mode=nvidia
[intel]
# Driver to use for the Intel GPU. Possible values : modesetting, intel
# To use the intel driver, you need to install the package "xf86-video-intel".
driver=modesetting
# Acceleration method (corresponds to AccelMethod in the Xorg configuration).
# Only applies to the intel driver.
# Possible values : sna, xna, uxa
# Leave blank for the default (no option specified)
accel=
# Enable TearFree option in the Xorg configuration.
# Only applies to the intel driver.
# Possible values : yes, no
# Leave blank for the default (no option specified)
tearfree=
# DRI version. Possible values : 2, 3
DRI=3
# Whether or not to enable modesetting for the nouveau driver.
# Does not affect modesetting for the Intel GPU driver !
# This option only matters if you use nouveau as the switching backend.
modeset=yes
[nvidia]
# Whether or not to enable modesetting. Required for PRIME Synchronization (which prevents tearing).
modeset=yes
# Whether or not to enable the NVreg_UsePageAttributeTable option in the Nvidia driver.
# Recommended, can cause poor CPU performance otherwise.
PAT=yes
# DPI value. This will be set using the Xsetup script passed to your login manager.
# It will run the command
# xrandr --dpi <DPI>
# Leave blank for the default (the above command will not be run).
DPI=96
# If you're running an updated version of xorg-server (let's say to get PRIME Render offload enabled),
# the nvidia driver may not load because of an ABI version mismatch. Setting this flag to "yes"
# will allow the loading of the nvidia driver.
ignore_abi=yes
# Set to yes if you want to use optimus-manager with external Nvidia GPUs (experimental)
allow_external_gpus=yes
# Comma-separated list of Nvidia-specific options to apply.
# Available options :
# - overclocking : enable CoolBits in the Xorg configuration, which unlocks clocking options
# in the Nvidia control panel. Note: does not work in hybrid mode.
# - triple_buffer : enable triple buffering.
options=overclocking
nvidia-smi
Mon Jan 11 22:06:54 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.138 Driver Version: 390.138 |
|-------------------------------+----------------------+----------------------+
| 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 GT 550M Off | 00000000:01:00.0 N/A | N/A |
| N/A 47C P0 N/A / N/A | 318MiB / 964MiB | N/A Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 Not Supported |
+-----------------------------------------------------------------------------+
(Let me know if I’ve missed anything!)