You are not logged in.
Hi!
I've been working on this for over a year since I installed arch. I have crawled the documents and forums and I still have no idea how to set Nvidia graphics as the default GPU. I'm just so sick and tired of this.
For some time, I've been using bumblebee and it worked OK. But recently after some issues, I wanted my OS to be more stable so I decided to make Nvidia graphics default (Everything got messed up after some package updates). Now, I have again read the arch wiki and everything went fine. I uninstalled nouveau and installed the latest Nvidia packages. But even now, it just looks like that it had no effect and almost the whole system is running on intel again.
nvidia-smi, nvtop are working they're showing a /usr/lib/Xorg process being ran. But when I open a game (in this case CS:GO) it has 20-30 fps and it's clear that it's not using nvidia graphics. also when I run prime-run glxgears it gives me this error:
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 155 (NV-GLX)
Minor opcode of failed request: 6 ()
Value in failed request: 0x0
Serial number of failed request: 38
Current serial number in output stream: 38
I'm just sick of dealing with it. I would be happy if there is someone that can help me. I would be happy to send log files if needed.
Last edited by aidin.net (2021-10-07 09:22:03)
Offline
Output of
pacman -Qs nvidiathought it might help
local/egl-wayland 1:1.1.7-1
EGLStream-based Wayland external platform
local/lib32-nvidia-utils 470.74-1
NVIDIA drivers utilities (32-bit)
local/libvdpau 1.4-1
Nvidia VDPAU library
local/libxnvctrl 470.74-1
NVIDIA NV-CONTROL X extension
local/nvidia 470.74-5
NVIDIA drivers for linux
local/nvidia-prime 1.0-4
NVIDIA Prime Render Offload configuration and utilities
local/nvidia-settings 470.74-1
Tool for configuring the NVIDIA graphics driver
local/nvidia-utils 470.74-1
NVIDIA drivers utilities
local/nvtop 1.2.2-1
An htop like monitoring tool for NVIDIA GPUsOffline
If you're running fully on nvidia you can't use prime-run. Prime-run is for running on nvidia when your main GPU is intel.
Allan-Volunteer on the (topic being discussed) mailn lists. You never get the people who matters attention on the forums.
jasonwryan-Installing Arch is a measure of your literacy. Maintaining Arch is a measure of your diligence. Contributing to Arch is a measure of your competence.
Griemak-Bleeding edge, not bleeding flat. Edge denotes falls will occur from time to time. Bring your own parachute.
Offline
If you're running fully on nvidia you can't use prime-run. Prime-run is for running on nvidia when your main GPU is intel.
The thing is that I'm not running on nvidia!
Offline
What is the contents of Xorg.0.log and the output of glxinfo?
Offline
What is the contents of Xorg.0.log and the output of glxinfo?
/var/log/Xorg.0.log : https://pastebin.com/dbvWf5jZ
glxinfo : https://pastebin.com/yuAra460
Offline
[ 97.202] (--) PCI:*(0@0:2:0) 8086:3e9b:1043:100f rev 2, Mem @ 0xa3000000/16777216, 0x80000000/268435456, I/O @ 0x00006000/64, BIOS @ 0x????????/131072The integrated GPU is configured in firmware as the primary. Is there a firmware option to switch the primary to the Nvidia GPU? If not is there an option to have the display connected directly to the Nvidia GPU otherwise the Intel GPU will need to remain active to provide output to the screen.
Offline
But when I open a game (in this case CS:GO) it has 20-30 fps and it's clear that it's not using nvidia graphics. also when I run
prime-run glxgears
it gives me this error:
Because of
[ 97.230] (II) Loading sub module "glxserver_nvidia"
[ 97.230] (II) LoadModule: "glxserver_nvidia"
[ 97.230] (WW) Warning, couldn't open module glxserver_nvidia
[ 97.230] (EE) NVIDIA: Failed to load module "glxserver_nvidia" (module does not exist, 0)
[ 97.230] (EE) NVIDIA(1): Failed to initialize the GLX module; please check in your X
[ 97.230] (EE) NVIDIA(1): log file that the GLX module has been loaded in your X
[ 97.230] (EE) NVIDIA(1): server, and that the module is the NVIDIA GLX module. If
[ 97.230] (EE) NVIDIA(1): you continue to encounter problems, Please try
[ 97.230] (EE) NVIDIA(1): reinstalling the NVIDIA driver.Because the ModulePath doesn't get extended because nvidia-drm isn't met.
1. remove
[ 97.196] (==) Using config file: "/etc/X11/xorg.conf" because that's never a good idea in an optimus scenario
2. see https://wiki.archlinux.org/title/NVIDIA#Early_loading
Offline
I've had the same problem for some time. You can use the arch wiki to see how it all works: https://wiki.archlinux.org/title/NVIDIA_Optimus
And then you have multiple options, but I suggest running the optimus-manager.
I run ArcoLinux with Gnome and as Nvidia, my specs are: NVIDIA GeForce GTX 1650 Ti Mobile.
I must say that it runs perfect. And I've had no issues what so ever.
nvtop should look like this:
Device 0 [NVIDIA GeForce GTX 1650 Ti] PCIe GEN 1@ 8x RX: 0.000 KiB/s TX: 0.000 KiB/s
GPU 360MHz MEM 405MHz TEMP 43°C FAN N/A% POW 2 W
GPU[|| 5%] MEM[|||| 0.413Gi/3.820Gi]
┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
100│GPU0 % │
│GPU0 mem% │
│ │
│ │
│ │
75│ │
│ │
│ │
│ │
│ │
50│ │
│ │
│ │
│ ┌───┐ ┌───┐ │
│ ┌───┘ │ ┌───┐ │ │ │
25│ │ │ ┌───┐ ┌───┐ │ └───────┘ │ │
│ │ │ │ │ │ │ │ └─────┐ │
│────┐ ┌─────┘ │ ┌───────┘ └───┐ │ │ ┌───────┐ ┌───────────┐ │ │ │
│────┴─────┴─────────────┼───┼───────────────┴───┴───┴─┴───────┴───┴───────────┴───┴─────────────────────┴───────┬─│
│ └───┘ └─│
0│ │
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
115254 me 0 Graphic 0% 104MiB 3% 1% 223MiB /usr/lib/brave-bin/brave --type=gpu-process --field-trial-
1827 me 0 Graphic 0% 43MiB 1% 1% 447MiB /usr/bin/gnome-shell
114827 me 0 Graphic 0% 32MiB 1% 0% 160MiB /usr/lib/slack/slack --type=gpu-process --field-trial-hand
123952 me 0 Graphic 0% 8MiB 0% 3% 62MiB alacritty
164054 me 0 Graphic 0% 8MiB 0% 0% 57MiB alacrittyI hope this helps! ![]()
Also, here's my
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=bbswitch
# Enable PCI power management in "integrated" 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=no
# Automatically log out the current desktop session when switching GPUs.
# This feature is currently supported for the following DE/WM :
# GNOME, KDE Plasma, LXDE, Deepin, Xfce, i3, Openbox, AwesomeWM, bspwm and dwm
# 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, integrated, hybrid, auto, intel (deprecated, equivalent to integrated)
# "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, integrated, hybrid, intel (deprecated, equivalent to integrated)
startup_auto_battery_mode=nvidia
# GPU mode to select when startup_mode=auto and the computer is running on external power.
# Possible values: nvidia, integrated, hybrid, intel (deprecated, equivalent to integrated)
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
[amd]
# Driver to use for the AMD GPU. Possible values : modesetting, amdgpu
# To use the amdgpu driver, you need to install the package "xf86-video-amdgpu".
driver=modesetting
# Enable TearFree option in the Xorg configuration.
# Only applies to the amdgpu driver.
# Possible values : yes, no
# Leave blank for the default (no option specified)
tearfree=
# DRI version. Possible values : 2, 3
DRI=3
[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=no
# Set to yes if you want to use optimus-manager with external Nvidia GPUs (experimental)
allow_external_gpus=no
# 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
# Enable Runtime D3 (RTD3) Power Management in the Nvidia driver. While in hybrid mode,
# this feature allows the Nvidia card to go into a low-power mode if it's not in use.
#
# IMPORTANT NOTES:
# - The feature is still experimental
# - It's only supported on laptops with a Turing GPU or above, and an Intel Coffee Lake CPU
# or above (not sure about the state of support for AMD CPUs).
# - if your Nvidia card also has an audio chip (for HDMI) or a USB port wired to it, they may not
# function properly while in low-power mode
#
# For more details, see
# https://download.nvidia.com/XFree86/Linux-x86_64/460.39/README/dynamicpowermanagement.html
#
# Available options:
# - no (the default): RTD3 power management is disabled.
# - coarse: the card only goes to low-power if no application is using it.
# - fine: the card is also allowed to go to low-power if applications are using it but have not
# actively submitted GPU work in some amount of time.
dynamic_power_management=no
# The Nvidia driver handles power to the video memory separately from the rest of GPU.
# When dynamic_power_management=fine, this options controls the threshold of memory utilization
# (in Megabytes) under which the memory is put in a low-power state.
# Values over 200MB are ignored. Leave blank for the default (200MB).
# Setting this value to 0 keeps the memory powered at all times.
dynamic_power_management_memory_threshold=Have a good one! ![]()
Offline