Nvidia Nouveau Driver Pstates

Message
Author
User avatar
Quigi
Posts: 4
Joined: Sun Aug 31, 2025 12:21 pm

Nvidia Nouveau Driver Pstates

#1 Post by Quigi »

Hello MX community,

I have a rather odd issue. I am using a Dell precision m4500 with Quadro FX 880M video card. I am not using the NVIDIA 340 driver because it supports less features. Yes the official NVIDIA driver works but some things are broken, ex. Wine has Xrandr errors using the 340 driver.

So I am using the nouveau driver. I notice that the performance is not up to speed entirely.
You can change Pstates for nouveau.

sudo cat /sys/kernel/debug/dri/0/pstate

Which will give you something like this

07: core 405 MHz memory 810 MHz
0f: core 653-954 MHz memory 1600 MHz
AC: core 953 MHz memory 1600 MHz

The problem is in MX linux this does not exist for some reason.

I have replicated this on Ubuntu 25 which works fine and also Debian 13 Trixie. I was able to reclock the nouveau driver in those distros and get better performance out of the video controller.

So how can I enable pstates for nouveau in MX linux 23.6 so I can reclock the gpu?

User avatar
j2mcgreg
Global Moderator
Posts: 7272
Joined: Tue Oct 23, 2007 12:04 pm

Re: Nvidia Nouveau Driver Pstates

#2 Post by j2mcgreg »

We are going to need your computer’s complete profile before we can proceed, so you need to post the output from the QSI utility. The Quick System Info (QSI) utility is located in MX Tools and its output is automatically formatted for use here in the forum. Run the QSI utility, click “Copy for Forum” at the bottom and then just paste it here in your thread.
Forum Rules
HP 15; ryzen 3 5300U APU; 500 Gb SSD; 8GB ram
HP 17; ryzen 3 3200; 500 GB SSD; 12 GB ram
Idea Center 3; 12 gen i5; 256 GB ssd;

In Linux, newer isn't always better. The best solution is the one that works.

User avatar
Quigi
Posts: 4
Joined: Sun Aug 31, 2025 12:21 pm

Re: Nvidia Nouveau Driver Pstates

#3 Post by Quigi »

Here is the output of QSI.

I tried to use a kernel arg to enable any pstate which you see there but that wont work.

Code: Select all

System:
  Kernel: 6.14.10-2-liquorix-amd64 [6.14-13~mx23ahs] arch: x86_64 bits: 64 compiler: gcc v: 12.2.0 parameters: audit=0
    intel_pstate=disable amd_pstate=disable BOOT_IMAGE=/vmlinuz-6.14.10-2-liquorix-amd64
    root=UUID=<filter> ro quiet splash resume=UUID=<filter> resume_offset=117499904
    nouveau.pstate=1
  Desktop: Xfce v: 4.20.0 tk: Gtk v: 3.24.38 info: xfce4-panel, plank wm: xfwm v: 4.20.0 vt: 7
    dm: LightDM v: 1.32.0 Distro: MX-23.6_x64 Libretto Jan 12  2025 base: Debian GNU/Linux 12
    (bookworm)
Machine:
  Type: Laptop System: Dell product: Precision M4500 v: 0001 serial: <superuser required> Chassis:
    type: 9 serial: <superuser required>
  Mobo: Dell model: 0RRH3K v: A03 serial: <superuser required> BIOS: Dell v: A16 date: 05/12/2017
Battery:
  ID-1: BAT0 charge: 73.3 Wh (100.0%) condition: 73.3/73.3 Wh (100.0%) volts: 12.4 min: 11.1
    model: Samsung SDI DELL PT43699 type: Li-ion serial: <filter> status: full
CPU:
  Info: model: Intel Core i7 X 920 bits: 64 type: MT MCP arch: Nehalem gen: core 1 level: v2
    built: 2008-10 process: Intel 45nm family: 6 model-id: 0x1E (30) stepping: 5 microcode: 0xA
  Topology: cpus: 1x cores: 4 tpc: 2 threads: 8 smt: enabled cache: L1: 256 KiB
    desc: d-4x32 KiB; i-4x32 KiB L2: 1024 KiB desc: 4x256 KiB L3: 8 MiB desc: 1x8 MiB
  Speed (MHz): avg: 1298 high: 2000 min/max: 1199/2000 boost: enabled scaling:
    driver: acpi-cpufreq governor: ondemand cores: 1: 1197 2: 1199 3: 1199 4: 1199 5: 1199 6: 1199
    7: 1199 8: 2000 bogomips: 31920
  Flags: ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities:
  Type: gather_data_sampling status: Not affected
  Type: ghostwrite status: Not affected
  Type: indirect_target_selection status: Not affected
  Type: itlb_multihit status: KVM: Split huge pages
  Type: l1tf mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable
  Type: mds status: Vulnerable: Clear CPU buffers attempted, no microcode; SMT vulnerable
  Type: meltdown mitigation: PTI
  Type: mmio_stale_data status: Unknown: No mitigations
  Type: old_microcode status: Not affected
  Type: reg_file_data_sampling status: Not affected
  Type: retbleed status: Not affected
  Type: spec_rstack_overflow status: Not affected
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via prctl
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization
  Type: spectre_v2 mitigation: Retpolines; IBPB: conditional; IBRS_FW; STIBP: conditional; RSB
    filling; PBRSB-eIBRS: Not affected; BHI: Not affected
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: NVIDIA GT216GLM [Quadro FX 880M] vendor: Dell driver: nouveau v: kernel non-free:
    series: 340.xx status: legacy (EOL) last: release: 340.108 kernel: 5.4 xorg: 1.20 arch: Tesla
    process: 40-80nm built: 2006-13 pcie: gen: 2 speed: 5 GT/s lanes: 16 ports: active: eDP-1
    empty: DP-1,DP-2,VGA-1 bus-ID: 01:00.0 chip-ID: 10de:0a3c class-ID: 0300 temp: 50.0 C
  Device-2: Ricoh HD Webcam type: USB driver: uvcvideo bus-ID: 2-1.4:3 chip-ID: 05ca:1814
    class-ID: 0e02
  Display: x11 server: X.Org v: 1.21.1.7 with: Xwayland v: 22.1.9 compositor: xfwm v: 4.20.0
    driver: X: loaded: modesetting unloaded: fbdev,vesa dri: nouveau gpu: nouveau display-ID: :0.0
    screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 509x286mm (20.04x11.26") s-diag: 584mm (22.99")
  Monitor-1: eDP-1 model: LG Display built: 2009 res: 1920x1080 hz: 60 dpi: 142 gamma: 1.2
    size: 344x194mm (13.54x7.64") diag: 395mm (15.5") ratio: 16:9 modes: max: 1920x1080 min: 800x600
  API: OpenGL v: 3.3 Mesa 22.3.6 renderer: NVA5 direct-render: Yes
Audio:
  Device-1: Intel 5 Series/3400 Series High Definition Audio vendor: Dell 5 driver: snd_hda_intel
    v: kernel bus-ID: 00:1b.0 chip-ID: 8086:3b56 class-ID: 0403
  Device-2: NVIDIA GT216 HDMI Audio vendor: Dell driver: snd_hda_intel v: kernel pcie: gen: 2
    speed: 5 GT/s lanes: 16 bus-ID: 01:00.1 chip-ID: 10de:0be2 class-ID: 0403
  API: ALSA v: k6.14.10-2-liquorix-amd64 status: kernel-api with: apulse type: pulse-emulator
    tools: alsamixer,amixer
  Server-1: PipeWire v: 1.0.0 status: off with: 1: pipewire-pulse status: off 2: wireplumber
    status: off tools: pw-cat,pw-cli,wpctl
  Server-2: PulseAudio v: 16.1 status: active tools: pacat,pactl,pamix,pavucontrol
Network:
  Device-1: Intel 82577LM Gigabit Network vendor: Dell driver: e1000e v: kernel port: 8040
    bus-ID: 00:19.0 chip-ID: 8086:10ea class-ID: 0200
  IF: eth0 state: down mac: <filter>
  Device-2: Intel Centrino Advanced-N 6200 driver: iwlwifi v: kernel modules: wl pcie: gen: 1
    speed: 2.5 GT/s lanes: 1 bus-ID: 03:00.0 chip-ID: 8086:422c class-ID: 0280
  IF: wlan0 state: up mac: <filter>
  IF-ID-1: virbr0 state: up speed: 10000 Mbps duplex: unknown mac: <filter>
  IF-ID-2: vnet0 state: unknown speed: 10000 Mbps duplex: full mac: <filter>
Bluetooth:
  Device-1: Dell DW375 Bluetooth Module type: USB driver: btusb v: 0.8 bus-ID: 1-1.7:4
    chip-ID: 413c:8187 class-ID: fe01 serial: <filter>
  Report: hciconfig ID: hci0 rfk-id: 3 state: up address: <filter> bt-v: 2.0 lmp-v: 3.0
    sub-v: 4203 hci-v: 3.0 rev: 205
  Info: acl-mtu: 1021:8 sco-mtu: 64:1 link-policy: rswitch hold sniff park
    link-mode: peripheral accept service-classes: object transfer
RAID:
  Hardware-1: Intel 82801 Mobile SATA Controller [RAID mode] driver: ahci v: 3.0 port: 8020
    bus-ID: 00:1f.2 chip-ID: 8086:282a rev: N/A class-ID: 0104
Drives:
  Local Storage: total: 1.36 TiB used: 771.64 GiB (55.4%)
  ID-1: /dev/mmcblk0 maj-min: 179:0 type: Removable vendor: Silicon Power model: SPCC
    size: 461.89 GiB block-size: physical: 512 B logical: 512 B type: SSD serial: <filter>
    scheme: MBR
  SMART Message: Unknown smartctl error. Unable to generate data.
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-2: /dev/sda maj-min: 8:0 vendor: Samsung model: SSD 850 EVO 500GB size: 465.76 GiB
    block-size: physical: 512 B logical: 512 B speed: 3.0 Gb/s type: SSD serial: <filter> rev: 1B6Q
    scheme: GPT
  ID-3: /dev/sdb maj-min: 8:16 vendor: Seagate model: ST500LM000-1EJ162 size: 465.76 GiB
    block-size: physical: 4096 B logical: 512 B speed: 3.0 Gb/s type: HDD rpm: 5400 serial: <filter>
    rev: DEM9 scheme: MBR
Partition:
  ID-1: / raw-size: 464.74 GiB size: 456.38 GiB (98.20%) used: 369.13 GiB (80.9%) fs: ext4
    dev: /dev/dm-0 maj-min: 253:0 mapped: luks-<filter>
  ID-2: /boot raw-size: 1024 MiB size: 973.4 MiB (95.06%) used: 627.8 MiB (64.5%) fs: ext4
    dev: /dev/sda2 maj-min: 8:2
Swap:
  Kernel: swappiness: 15 (default 60) cache-pressure: 100 (default)
  ID-1: swap-1 type: file size: 10.74 GiB used: 0 KiB (0.0%) priority: -2 file: /swap/swap
Sensors:
  System Temperatures: cpu: 58.0 C mobo: N/A sodimm: SODIMM C gpu: nouveau temp: 50.0 C
  Fan Speeds (RPM): cpu: 2571
Repos:
  Packages: 3817 pm: dpkg pkgs: 3723 libs: 2081 tools: apt,apt-get,aptitude,nala,synaptic pm: rpm
    pkgs: 0 pm: flatpak pkgs: 94
  No active apt repos in: /etc/apt/sources.list
  Active apt repos in: /etc/apt/sources.list.d/debian-stable-updates.list
    1: deb http://deb.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware
  Active apt repos in: /etc/apt/sources.list.d/debian.list
    1: deb http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware
    2: deb http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware
    3: deb http://deb.debian.org/debian/ bookworm-backports non-free-firmware non-free contrib main
  No active apt repos in: /etc/apt/sources.list.d/eduke32.list
  Active apt repos in: /etc/apt/sources.list.d/fasttrack-backports-staging.list
    1: deb https://fasttrack.debian.net/debian-fasttrack/ bookworm-backports-staging main contrib non-free
  Active apt repos in: /etc/apt/sources.list.d/fasttrack.list
    1: deb https://fasttrack.debian.net/debian-fasttrack/ bookworm-fasttrack main contrib non-free
  No active apt repos in: /etc/apt/sources.list.d/liquorix.list
  Active apt repos in: /etc/apt/sources.list.d/microsoft-prod.list
    1: deb [arch=amd64,arm64,armhf signed-by=/usr/share/keyrings/microsoft-prod.gpg] https://packages.microsoft.com/debian/12/prod/ bookworm main
  Active apt repos in: /etc/apt/sources.list.d/mx.list
    1: deb http://ftp.cica.es/mirrors/Linux/MX-Packages/mx/repo/ bookworm main non-free
  Active apt repos in: /etc/apt/sources.list.d/vivaldi.list
    1: deb [arch=amd64] https://repo.vivaldi.com/stable/deb/ stable main
  No active apt repos in: /etc/apt/sources.list.d/xanmod-release.list
  Active apt repos in: /etc/apt/sources.list.d/brave-browser-release.sources
    1: deb [arch=amd64 arm64] https://brave-browser-apt-release.s3.brave.com stable main
  Active apt repos in: /etc/apt/sources.list.d/debian-backports.sources
    1: deb deb-src http://deb.debian.org/debian stable-backports main
  Active apt repos in: /etc/apt/sources.list.d/winehq-bookworm.sources
    1: deb [arch=amd64 i386] https://dl.winehq.org/wine-builds/debian bookworm main
  Active apt repos in: /etc/apt/sources.list.d/zabbly-kernel-stable.sources
    1: deb [arch=amd64] https://pkgs.zabbly.com/kernel/stable bookworm main
Info:
  Processes: 373 Uptime: 57m wakeups: 2 Memory: 15.61 GiB used: 6.77 GiB (43.4%) Init: SysVinit
  v: 3.06 runlevel: 5 default: graphical tool: systemctl Compilers: gcc: 12.2.0 alt: 12
  Client: shell wrapper v: 5.2.15-release inxi: 3.3.26
Boot Mode: BIOS (legacy, CSM, MBR)

User avatar
Quigi
Posts: 4
Joined: Sun Aug 31, 2025 12:21 pm

Re: Nvidia Nouveau Driver Pstates

#4 Post by Quigi »

I have fixed this issue.

I will post a write up on how to adjust the GPU clock in the Nouveau driver for some Nvidia cards.

Other users may want this information as it does make the performance better.

User avatar
Quigi
Posts: 4
Joined: Sun Aug 31, 2025 12:21 pm

Re: Nvidia Nouveau Driver Pstates

#5 Post by Quigi »

Here is how to fix the video reclocking when using the Nouveau driver.

Add the following to /etc/fstab

debugfs /sys/kernel/debug debugfs defaults 0 0

Reboot system after making the changes.

Use the Nouveau Reclocking Script from Github. Link is below.
https://github.com/ventureoo/nouveau-reclocking

Install the Nouveau Reclocking with the following commands from the Github article
git clone https://github.com/ventureoo/nouveau-reclocking.git
cd nouveau-reclocking/src
sudo ./nouveau-reclocking

cd into the following and run Nouveau Reclocking
cd nouveau-reclocking/src

$ sudo ./nouveau-reclocking.lua
nouveau-reclocking - a small utility to relock your GPU with nouveau

Options:
-c --card Set for a specific card only (numeric ID)
-s --pstate Set Pstate value
--max Enable the maximum possible value of avaliable Pstate (performance)
--min Enable the minimum possible value of avaliable Pstate (powersave)
--save [path] Make the pstate level permanent (default is /etc/modprobe.d/90-nouveau.conf)
-l --list Print avaliable pstate levels and exit
-h --help Show this message
-v --version Display program version

WARNING: Reclocking is supported only on GM10x Maxwell, Kepler and Tesla G94-GT218 GPUs.

In my case I want max performance so I use this as an example:

This shows current status of the GPU clock
$ sudo ./nouveau-reclocking.lua -l
GPU #0
03: core 135 MHz shader 270 MHz memory 135 MHz
07: core 405 MHz shader 810 MHz memory 324 MHz
0f: core 550 MHz shader 1210 MHz memory 790 MHz AC DC *

This changes the clock to what you want, I have already changed the value to 0f, which is Performance 550mhz 1210mhz
$ sudo ./nouveau-reclocking.lua -s 0f

Keep in mind you need to install LUA for the script to work.

This method will let you change the GPU clock using Nouveau driver for Nvidia. Not all cards are supported but read the Github. You can make this permanment if you follow the Github.

The main thing is to mount DebugFS using fstab and then the script will work. You can write values also direct to /sys/kernel/debug/dri/0/pstate as well but the script makes this easier.

In my case the GPU was defaulting to the lowest clock speeds using the Nouveau driver. This is why I wanted to change it. The result is that games and video are much faster and smoother due to the higher clock speed of the GPU.

Greetings from Spain. Sorry for my English.

Post Reply

Return to “Hardware /Configuration”