Bad 2D and webgl performance with 7300GT

Hello,
I’m experiencing bad 2D performance with this card. I’m using nvidia-304xx 304.117-2 driver with fully updated 64-bit Archlinux with 1680x1050px resolution via DVI-D. I also have nvidia-settings -a InitialPixmapPlacement=2 in my .xinitrc. nvidia-bug-report doesn’t work for me, it creates just a file nvidia-bug-report.log.gz with one file inside:

____________________________________________

Start of NVIDIA bug report log file.  Please include this file, along
with a detailed description of your problem, when reporting a graphics
driver bug via the NVIDIA Linux forum (see devtalk.nvidia.com)
or by sending email to 'linux-bugs@nvidia.com'.

nvidia-bug-report.sh Version: 14306482

Date: pon, 6 sty 2014, 16:16:35 CET
uname: Linux linux 3.12.6-1-ARCH #1 SMP PREEMPT Fri Dec 20 19:39:00 CET 2013 x86_64 GNU/Linux
command line flags: --safe-mode

And that’s all (as you can see, the second attempt was with safe mode enabled).

Glxinfo:

[root@linux mk]# glxinfo |grep direct
direct rendering: Yes
    GL_EXT_direct_state_access, GL_EXT_draw_range_elements, GL_EXT_fog_coord,

chrome:///gpu

Graphics Feature Status
Canvas: Hardware accelerated
Compositing: Hardware accelerated
3D CSS: Hardware accelerated
CSS Animation: Software animated.
WebGL: Unavailable. Hardware acceleration disabled.
WebGL multisampling: Hardware accelerated
Flash 3D: Hardware accelerated
Flash Stage3D: Hardware accelerated
Flash Stage3D Baseline profile: Hardware accelerated
Texture Sharing: Hardware accelerated
Video Decode: Hardware accelerated
Video: Hardware accelerated
Problems Detected
Accelerated CSS animation has been disabled at the command line.
WebGL has been disabled, either via about:flags or command line.
Force compositing mode is off, either disabled at the command line or not supported by the current system.

The problem with my setup is that:

  • scrolling an image in graphics viewer causes glitches (ristretto under xfce)
  • webbrowsers have to be forced to use hardware acceleration
  • http://get.webgl.org/ takes whole CPU core to display this simple animation
  • mouseover and out over this site with css animations takes whole CPU core: http://linux-porady.info/
  • firefox scrolling down any page has poor performance even though I disabled smooth scrolling in configuration (I remember this working much better under Windows)
  • new google maps works well under FF/chrome with cairo backend but terrible with webgl
  • old google maps can really slow down while using satellite view and have poor performance with map view
  • html5 player on yt has much worse performance than flashplayter

I guess your answer will be: buy a new card, this one is not supported anymore. Fine, but which one? I bet it’s driver’s fault so I need sincere answer if it will make any differance or maybe I should try AMD or Intel.

BTW I’ve tried nouveau and it works better but webgl is blacklisted with nouveau.

My 2cts

  1. WebGL has been disabled, either via about:flags or command line.

Try https://support.google.com/chrome/answer/1220892?hl=en

I removed chrome settings. Now I can see:

Graphics Feature Status
Canvas: Software only, hardware acceleration unavailable
Compositing: Hardware accelerated
3D CSS: Hardware accelerated
CSS Animation: Accelerated
WebGL: Hardware accelerated
WebGL multisampling: Hardware accelerated
Flash 3D: Unavailable. Hardware acceleration unavailable
Flash Stage3D: Unavailable. Hardware acceleration unavailable
Flash Stage3D Baseline profile: Unavailable. Hardware acceleration unavailable
Texture Sharing: Hardware accelerated
Video Decode: Software only, hardware acceleration unavailable
Video: Software only, hardware acceleration unavailable
Problems Detected
Accelerated 2d canvas is unstable in Linux at the moment.
Stage3D is not supported on Linux.: 129848
Accelerated video decode is unavailable on Mac and Linux.: 137247, 133828
NVIDIA linux drivers are unstable when using multiple Open GL contexts and with low memory.: 145600
Force compositing mode is off, either disabled at the command line or not supported by the current system.
Driver Bug Workarounds
clear_alpha_in_readpixels
init_gl_position_in_vertex_shader
set_texture_filter_before_generating_mipmap
use_current_program_after_successful_link

Webgl works but it takes 100% of both CPU cores.

I have changed some flags so now I have all in green “Hardware accelerated”, only CSS Animations are just “Accelerated” and there is no “Problems detected”. Still, both CSS animations and webgl cause huge CPU usage.

What are you testing with regards to WebGL ?

I’m not experienced on this but try

google-chrome --ignore-gpu-blacklist

maybe also have a look at this short guide i wrote down in

in addition, create a file .xinitrc in your user homefolder and write the below commands for improved firefox and thunderbird performance

nvidia-settings -a InitialPixmapPlacement=2 -a GlyphCache=1

OR you can check if these values are set with

nvidia-settings -q InitialPixmapPlacement -q GlyphCache

The performance and stability increase i’ve seen is dramatic. I’ve just tested these demo’s and they work perfectly on an old 256MB NVidia Quadro FX 360M with those settings.

Let me know if something is unclear in the notes. Below is the link for the demo’s i tried.

http://www.khronos.org/webgl/wiki/Demo_Repository

or these

ALSO, can you give the output of the terminal command below and copy it into this post

dmesg | grep -i mtrr

Thanks for the tips. I’ll look into your guide afternoon :)

Here is the ouptut you asked for:

[mk@linux ~]$  dmesg | grep -i mtrr 
[    0.000000] MTRR default type: uncachable
[    0.000000] MTRR fixed ranges enabled:
[    0.000000] MTRR variable ranges enabled:
[    0.180647] mtrr: your CPUs had inconsistent variable MTRR settings
[    0.180648] mtrr: probably your BIOS does not setup all CPUs.
[    0.180649] mtrr: corrected configuration.

BTW:

[mk@linux ~]$  nvidia-settings -q InitialPixmapPlacement -q GlyphCache

  Attribute 'InitialPixmapPlacement' (linux:0.0): 2.
    The valid values for 'InitialPixmapPlacement' are in the range 0 - 4
    (inclusive).
    'InitialPixmapPlacement' can use the following target types: X Screen.

  Attribute 'GlyphCache' (linux:0.0): 1.
    'GlyphCache' is a boolean attribute; valid values are: 1 (on/true) and 0
    (off/false).
    'GlyphCache' can use the following target types: X Screen.

Could you please look at this?:

I have 9 FPS.

For webgl demos you should probably look at something more complex, here: http://www.chromeexperiments.com/webgl/

This is not going to be fixed any time soon. I reported this problem a year ago and no one from NVIDIA cared to answer.

So what options do we have? I was installing a system recently to my friend’s laptop with some old ATI card and I was suprised how well open source driver works. But I guess there was no 3D acceleration.

Nouveau supports GT7300 pretty well, go for it.

As for games - this GPU is so underpowered, even new Intel GPUs are several times faster.