Many steam games do not work with dual monitor Xinerama so you must run a separate Xsession in a separate TTY session. In addition, a separate Xserver layout with only one monitor in /etc/X11/xorg.conf.d must be called upon.
BACKGROUND:
-I am running Slackware 14.1 64 bit with an Nvidia GT 430 with a dual monitor Xinerama setup.
- When I tried to run certain games in Steam I would get the following error:
Quote:
PROBLEM: You appear to have OpenGL 0.0.0, but we need at least 2.0.0!
SDL video target is 'x11'
SDL failed to create GL compatibility profile (whichProfile=0!
Could not find required OpenGL entry point 'glGetError'! Either your video card is unsupported, or your OpenGL driver needs to be updated.
|
THIS ERROR IS A RESULT OF RUNNING DUAL MONITORS WITH XINERAMA
-You can prove that to yourself by disabling xinerama and putting giving yourself a single monitor setup.
-Of course I had 32 bit multilib libraries correctly installed by doing the following-- Thanks AlienBob
Code:
lftp -c 'open http://slackware.com/~alien/multilib/ ; mirror 14.1'
su -
upgradepkg --reinstall --install-new *.t?z
upgradepkg --install-new slackware64-compat32/*-compat32/*.t?z
-I also tried upgrading my Nvidia drivers from 319 --> 340.24
-First I installed the nvidia-kernal 340.24 with sbopkg.
Code:
sbopkg -i nvidia-kernel
-I grabbed and installed the rest of the Nvidia 340.24 drivers with the following:
Code:
mkdir /root/src
cd /root/src
wget http://slackbuilds.org/slackbuilds/14.1/system/nvidia-driver.tar.gz
tar zvxf nvidia-driver.tar.gz
cd nvidia-driver
wget ftp://download.nvidia.com/XFree86/Linux-x86_64/340.24/NVIDIA-Linux-x86_64-340.24.run && wget ftp://download.nvidia.com/XFree86/nvidia-installer/nvidia-installer-340.24.tar.bz2 && wget ftp://download.nvidia.com/XFree86/nvidia-modprobe/nvidia-modprobe-340.24.tar.bz2 && wget ftp://download.nvidia.com/XFree86/nvidia-persistenced/nvidia-persistenced-340.24.tar.bz2 && wget ftp://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-340.24.tar.bz2 && wget ftp://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-340.24.tar.bz2
COMPAT32="yes" ./nvidia-driver.SlackBuild
nvidia-switch --remove
installpkg /tmp/nvidia-driver-340.24-x86_64-1_SBo.tgz
Installing 32 bit multilib libraries and upgrading the nvidia drivers did not solve this problem. However the 32 bit multilib libraries are certainly needed.
******* THE SOLUTION *******
- We will launch a separate Xsession with fluxbox (or openbox,blackbox..) in a different tty session and we will call upon a Xserver monitor layout with one monitor (no xinerama)
-Create the new server layout file "91-serverlayout-steam.conf" in /etc/X11/xorg.conf.d :
Code:
nano /etc/X11/xorg.conf.d/91-serverlayout-steam.conf
-place the following in this file, save and exit.
Code:
# Server Layout for Steam
Section "ServerLayout"
Identifier "Steam"
Screen 0 "Screen0" Absolute 0 0
EndSection
-Now, with your
user login and NOT as root make the following script to launch the game and don't forget to make this script executable.
-paste the following:
Code:
if [ $# -ge 1 ]; then
game="$(which $1)"
fluxbox="$(which fluxbox)"
tmpgame="/tmp/tmpgame.sh"
DISPLAY=:1.0
echo -e "${fluxbox} &\n${game}" > ${tmpgame}
echo "starting ${game}"
xinit ${tmpgame} -- :1 -layout Steam || exit 1
else
echo "not a valid argument"
fi
**if you use openbox/blackbox then replace the fluxbox part with that.
-make that game.sh script executable with the following:
-Now you will go to your tty1 session with CTRL-ALT-F1 and use CTRL-ALT-F7 to get back to this screen.
-Hit CTRL-ALT-F1
-login as your user and not as root
-execute steam with your game.sh script
-Steam will launch in your new single monitor fluxbox Xsession and your game will work.
-You can now switch back and forth between your game and your 2 monitor Xsession with CTRL-ALT-F7 and CTRL-ALT-F8