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?
Nvidia Nouveau Driver Pstates
Re: Nvidia Nouveau Driver Pstates
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
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.
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.
Re: Nvidia Nouveau Driver Pstates
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.
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)
Re: Nvidia Nouveau Driver Pstates
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.
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.
Re: Nvidia Nouveau Driver Pstates
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.
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.