Play LOTRO on Nvidia ION based netbook running 64bit linux

linuxlord-of-the-rings-onlinewine

I have a ASUS Eee PC 1215N netbook, from the Seashell series.
It has a Nvidia ION graphic processor.
I'm running 64bit Ubuntu Linux (11.10 Oneiric Ocelot) on it.

I've tried to install LOTRO on it following the HOWTO on

But the game fails to run with one of:

  • Game Error [105], "Could not initialize Direct3D. Please ensure that
    DirectX 9.0c [Dec 2005] or higher is installed."
  • Game Error [129], "Hardware texture compression support was not detected. This video card feature is required to run the game."

The PyLotro wine output contains eiter

err:wgl:has_opengl Failed to load libGL: libGL.so.1: cannot open shared object file: No such file or directory
err:wgl:has_opengl OpenGL support is disabled.

err:d3d_caps:WineD3D_CreateFakeGLContext Can't find a suitable iPixelFormat.

err:d3d:InitAdapters Failed to get a gl context for default adapter

Direct3D9 is not available without OpenGL.

Or a repeating errors ending in

ERROR: ld.so: object 'libdlfaker.so' from LD_PRELOAD cannot be preloaded: ignored.

ERROR: ld.so: object 'librrfaker.so' from LD_PRELOAD cannot be preloaded: ignored.

Xlib: extension "NV-GLX" missing on display ":2".
Xlib: extension "NV-GLX" missing on display ":2".

err:winediag:X11DRV_WineGL_InitOpenglInfo Direct rendering is disabled, most likely your OpenGL drivers haven't been installed correctly

Best Answer

Running software using the ION processor will require extra software. Windows 7 Nvidia supplies Optimus. On linux there's a project called Bumblebee.

To recap the several sources on the web for 64bit Oneiric:

Install LOTRO roughly following the howto

sudo apt-get install wine winetricks
export WINEPREFIX=$HOME/.wine-lotro
winetricks vcrun2008
winetricks d3dx9
cd /wherever/you've/downloaded/the/game
wine LOTROSetup.exe

This will have created a wine environment (sometime revered to as 'bottle') in .wine-lotro in your home directory and installed the game there, including some native windows dll's that the game needs.

To launch the game from wine you'll need the special launcher called PyLotro. Normally on Ubuntu you do

sudo add-apt-repository ppa:ajackson-bcs/ppa
sudo apt-get update
sudo apt-get install pylotro

But there's no Oneiric version in the ppa yet. So just get the source version (not the 'Stand-alone Version' exe one).

To have it use the Nvidia processor, you install Bumblebee

sudo add-apt-repository ppa:bumblebee/stable
sudo apt-get update
sudo apt-get install bumblebee

And since wine is 32-bit, and 64-bit Oneiric uses multiarch, you install the 32-bit version of some libraries like this

sudo apt-get install virtualgl-libs:i386

without it you'll see those LD_PRELOAD errors.

To have the pylotro launcher use optirun to run wine, I made a tiny wrapper script like this

mkdir $HOME/bin
cat << EOF > $HOME/bin/optiwine
#! /bin/sh
optirun wine \$@
EOF
chmod +x $HOME/bin/optiwine

In pylotro /Tools/Options, tick the Advanced Options and set /home/{username}/bin/optiwine as the Wine Program. And of course set the right WINEPREFIX et al.

Related Topic