Bug 75094

Summary: NV92 is faster and runs games fine than NVE6, why?
Product: Mesa Reporter: Asif Ali Rizvan <fast.rizwaan>
Component: Drivers/DRI/nouveauAssignee: Nouveau Project <nouveau>
Status: RESOLVED NOTABUG QA Contact:
Severity: normal    
Priority: medium    
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: 9800 glxinfo - games and 3d performance is great
650ti glxinfo - graphics are misisng and performance is somewhat poor

Description Asif Ali Rizvan 2014-02-17 13:50:55 UTC
Created attachment 94204 [details]
9800 glxinfo - games and 3d performance is great

9800GT (nv92) looks more compatible, wine and other games performs better with 9800GT than nvidia 650ti (nve6)
Comment 1 Asif Ali Rizvan 2014-02-17 13:52:23 UTC
Created attachment 94205 [details]
650ti glxinfo - graphics are misisng and performance is somewhat poor

I'm just wondering, when it is using nouveau and has all the GL_ features, why 9800 works better than 650ti?
Comment 2 Ilia Mirkin 2014-02-18 04:59:22 UTC
Asif, I understand your frustration. However this is due to the lack of reclocking in nouveau. Kepler cards are, by default, usually clocked at ~50MHz, while your 9800 probably runs at 1GHz+. Since we can't (currently, reliably) change clocks, you end up running at that default frequency, and it's no surprise that the Kepler card is slower when its clocks are 1/20th of the speed of the 9800.

There _is_ highly experimental reclocking available, feel free to try it out, but this is a "will void warranty" type situation :) You'll need to grab the latest 3.14-rc, remove the "return -ENOSYS" in the pstate update handler, and potentially boot with nouveau.config=NvMemExec=1 if you're feeling particularly adventurous.
Comment 3 Matthias Nagel 2014-02-18 18:59:47 UTC
A pose this question only to make things more clear to me, because I own a 650TI, too. I have the following dmesg output during boot:

nouveau  [     DRM] 4 available performance level(s)
nouveau  [     DRM] 0: core 162MHz shader 324MHz memory 648MHz voltage 100mV
nouveau  [     DRM] 1: core 405MHz shader 810MHz memory 1080MHz voltage 80mV
nouveau  [     DRM] 2: core 1502MHz shader 3004MHz memory 1080MHz voltage 60mV
nouveau  [     DRM] 3: core 1502MHz shader 3004MHz memory 1080MHz voltage 40mV

Do I understand you correctly: Nouveau always uses level 0, this is to say 162MHz (for core), 324MHz (for shader) and 648MHz (for memory) regardless how much work the card is faced with?

Thanks
Comment 4 Ilia Mirkin 2014-02-18 19:19:14 UTC
(In reply to comment #3)
> A pose this question only to make things more clear to me, because I own a
> 650TI, too. I have the following dmesg output during boot:
> 
> nouveau  [     DRM] 4 available performance level(s)
> nouveau  [     DRM] 0: core 162MHz shader 324MHz memory 648MHz voltage 100mV
> nouveau  [     DRM] 1: core 405MHz shader 810MHz memory 1080MHz voltage 80mV
> nouveau  [     DRM] 2: core 1502MHz shader 3004MHz memory 1080MHz voltage
> 60mV
> nouveau  [     DRM] 3: core 1502MHz shader 3004MHz memory 1080MHz voltage
> 40mV

With newer kernels (3.13+), the output is a little different and you'll also see a 'c' line which indicates the current speed. (I believe with pre-3.13 you also saw a 'c' line but it was probably empty for Kepler cards.) I'm not sure how accurate those readouts are for kepler on pre-3.13.

Like I said, nouveau can't change clock frequencies, so it'll be in whatever level the vbios leaves it in. (Which might not be one of the listed levels at all!) Often, for Fermi and newer, it's the lowest or second-lowest one.
Comment 5 Matthias Nagel 2014-02-18 19:26:02 UTC
Thanks, that's all I wanted to know. And you are right. The line that starts with "c" is empty on a 3.12.9 kernel.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.