Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I am new to Ubuntu. This is all about my problem.

Configuration :

I'm on an MSI-EX600 laptop with 3GB RAM and nVidia GeForce 8400M G. The display driver currently in use is Nouveau (xserver-xorg-video-nouveau), the OS is Ubuntu 13.10

Symptoms :

Sometimes I get these graphical glitches/artifacts/corruption that garbles up GUI elements, often to the point that I can't use it and have to log out or restart (it re-initializes the display I guess).

It got really annoying so I looked into it and discovered that it happens when opening large images in Firefox or Thunderbird. Image Viewer works well, but open a 4000px wide image in the browser and my screen fries.

I checked Resource Manager and there's no shortage of CPU or RAM (I don't have swap). Another symptom is playing Flash video consumes too much resources - it spins the fans like crazy. It's not heavy lifting and this PC isn't that old, so I expect it to work. It worked fine when it had Windows. It seems to be be a software issue.

What I tried :

Trying to fix this I attempted to switch to an nVidia proprietary driver (from Software & Updates > Additional Drivers ). This resulted in blank screen, so I restored Nouveau at boot and gave up. I tried again just now, but the latest nVidia driver doesn't work. I won't pick another one from the list because each time it takes forever to restore Nouveau from Recovery Mode, instead of there being a simple option to scrap last installed video driver.

I tried configuring a refresh rate of 60Hz at startup - xrandr -r 60 in Startup Applications, still didn't do the trick.

How can I resolve this problem ?

share|improve this question
    
Reporting a bug. –  Braiam Dec 12 '13 at 14:24

1 Answer 1

I've found virtually all errors of this type to be solveable by running MOZ_DISABLE_IMAGE_OPTIMIZE=1 firefox in a terminal, to test if it works. If it does, I just add MOZ_DISABLE_IMAGE_OPTIMIZE=1 to /etc/environment (you would then have to log out and log back in for this to take effect from your desktop environment I think, although from a newly opened terminal it'd work.)

This pretty much does what the name suggests – it ONLY sends image data to the video card for actually on-screen images. This has just the effect you'd expect – it avoids firefox's problems with >4096 and >8192 images with lots of cards, which in some cases is due to firefox ignoring the hardware limit, and in other cases driver bugs on cards that are supposed to support those larger images. It also avoids firefox running out of video RAM and crashing on lower-video-RAM systems like the Atom with GMA500 I had recently (32MB of video RAM!).

The consequence is firefox burns a few % CPU decoding and sending images as you scroll, which otherwise would have been pre-loaded on the card. This also works on remote X sessions, with the same effect... on a large image page, instead of a big chunk of network traffic on page load as firefox pre-sends all the images, you get traffic as the person scrolls.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.