Monday, January 16, 2012

Slow boot of Ubuntu into Unity 3D with proprietary nVidia drivers


I have Ubuntu Oneiric Oncelot 11.10 with proprietary nVidia (nvidia-current: 290.10-0ubuntu1~oneiric~xup1) drivers.

And there're 2 things I'm tired of:

  1. Slow boot. Mostly a black screen after nVidia drivers are already loaded.
    It turned out it lasts more then a minute (73 seconds for example, compared to booting into Unity 2D - 38 seconds).
  2. Slow wake-up from suspend. Don't have precise numbers but Unity 2D wakes just immediately while Unity 3D shows me a black screen more then a minute.

So I decided to try "bootchart".
Installed it with: sudo apt-get install bootchart
And booted into:
Unity 3D - got 1:12.98 min


Unity 2D - got 0:38.66 min



Then looked if some processes related to nVidia differ in both boot logs.
And indeed I found out that "nvidia-settings" process was mentioned proc_ps.log in such proportion:
- 66 times for Unity 3D and
- 21 times for Unity 2D.

That lead me to conclusion that disabling "nvidia-settings" may improve boot performance.
So I did "sudo chmod a-x /usr/bin/nvidia-settings" and the next boot in Unity 3D took the same 37 seconds (0:37.76) as with Unity 2D.

For sure it is not the solution, but at least a direction to look.

Moreover this unfortunately has nothing to do with wake-up delay, so keep looking into it.

Anyway, hope this helps.

P.S. Make sure you know what are you doing while dealing with system files.

No comments:

Post a Comment