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.

When I try to install primus:i386 on my Ubuntu 13.10 x86_64 machine, I get this error:

The following packages have unmet dependencies:
 primus:i386 : Depends: bumblebee:i386 but it is not going to be installed

Then I try to install bumblebee:i386 and get this error:

The following packages have unmet dependencies:
 bumblebee:i386 : Depends: init-system-helpers:i386 (>= 1.5) but it is not installable

And, finally, when I try to install init-system-helpers:i386:

Package init-system-helpers:i386 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'init-system-helpers:i386' has no installation candidate

I need primus:i386 in order to run Steam games properly with my Optimus NVIDIA GPU, as most Steam games are in 32-bit. This page is a little more specific.

I was able to install primus:i386 on Ubuntu 13.04. Don't know what happened.

Thanks in advance!

share|improve this question
add comment

1 Answer 1

On my 64-bit 13.10 laptop after installing nvidia-experimental-310 (which actually installs 319.60) bumblebee and primus were already there by default.

bumblebee and bumblebee-nvidia are 64-bit. primus and primuslibs:amd64 are 64-bit, but primuslibs:i386 and primuslibs-ia32 are both 32-bit.

In order to get steam to run (to find libGL.so.1) I had to create /etc/ld.so.conf.d/steam.conf containing:

/usr/lib32
/usr/lib/i386-linux-gnu/mesa

Note that after adding or modifying anything in /etc/ld.so.conf.d/ you have to: sudo ldconfig

In order to get glxspheres (which is 32-bit) and optirun glxspheres to work I had to cp steam.conf glxspheres.conf in /etc/ld.so.conf.d/ and install libglu1-mesa:i386 and libxv1:i386. Note that glxspheres64 or optirun glxspheres64 worked before or after doing this.

However, I am new at Optimus graphics, so I have yet to have primusrun work for 64 or 32-bit graphics (it works for primusrun glxinfo). The following all core dump with no error message about why:

primusrun glxgears
primusrun glxspheres
primusrun glxspheres64

Different steam games may need certain launch parameters to use the fast nvidia graphics instead of Intel graphics (which is very slow). To get to launch parameters go to Steam Library, right click on a game on left, and go to Properties. On General tab click "Set Launch Options" For Source games (tf2 specifically, but also likely cs and hl2) the following launch parameters worked for me exactly "as shown" in one line (%command% is an automatic substitution):

LD_PRELOAD="libpthread.so.0 libGL.so.1" _GL_THREADED_OPTIMIZATIONS=1 optirun %command%

I started steam normally (using Intel graphics) and when I launched tf2 it used nvidia graphics. Not sure if it matters, but in /etc/ls.so.conf.d I also symlinked steam.conf to hl2_linux.conf (sudo ln -s steam.conf hl2_linux.conf) then: sudo ldconfig, just it case it needed to find 32-bit libs.

For other games you may need to experiment or search for parameters that work.

share|improve this answer
add comment

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.