OPENSUSEsteam打不开开steam

Tested on openSUSE
Recommended articles
Related articles
This Support Data Base (SDB) entry points to a possible procedure for installing the NVIDIA proprietary driver together with Bumblebee/bbswitch on recent versions of openSUSE.
You have an Optimus laptop with an NVIDIA discrete graphics adapter. You may need to run programs using the discrete graphics adapter, but you don't want the discrete graphics active all the time, because that would cause the laptop to consume too much energy. Or you simply want to disable the discrete graphics adapter completely on an Optimus laptop such as the Dell Latitude E6430, whose BIOS does not offer a way to do that.
If you need the old instruction with X11:Bumblebee repository, it's here:
Though generally reliable, unexpected problems can occur after finishing this installation and configuration procedure. As of openSUSE 13.2 btrfs is the default filesystem for root partition. If you have brtfs as your filesystem you should take a snapshot of your filesystem so you have a simple recovery point in case of something going wrong.
sudo snapper create -d BeforeBB
As of 7 january 2018 (kernel 4.4.104-39), there are issues apparently impacting Intel Skylake laptop. If your laptop make use of this architecture and you install bumblebee without taking some precautions, you will end up with a hard lock when X11 starts : black screen and computer not responding at all. Be warned that Snapper rollback is not helpful in this case and that your are good for a full reinstallation if you end up in this situation[*]. See the related
to get a workaround for your specific case and a link to the related Linux kernel bug report.
The workaround can easily be applied by going to Yast2 & System & Boot Loader & Kernel Parameters, append the right "acpi_osi" value(s) at the end of the field named "Optional Kernel Command Line Parameter". Save, reboot and you can proceed with following procedure.
[*]actually IME, there is a chance of recovery if you blow it & find yourself here: At bootloader screen, press 'e' to edit current selection boot params, find the line that boots the os (the line where you'd add nomodeset or similar boot options, which didn't help btw), erase the part that says 'resume=/swap/path/or/whatever' if present, & append " 3" (a space, then # 3) to that line. Then press F10 to boot the edited config. You should be able to get into Ctrl+Alt+F2 terminal after giving your disk encryption password (if you use one). From there 'sudo snapper list' -& pick which # looks okay, let's say rollback #12, so you'd issue: 'sudo snapper rollback 12' then 'sudo shutdown -r now' and quite likely save yourself an hour of re installing time, plus the headache of reinstalling your favourite programs & configs.
Installing bumblebee is pretty straightforward:
sudo zypper in bumblebee bbswitch
Add yourself to the bumblebee group (here "username" should be replaced with your real username):
sudo usermod -aG bumblebee username
Then enable and start bumblebee:
sudo systemctl enable bumblebeed
sudo systemctl start bumblebeed
Blacklist nouveau (even if you plan to use nouveau driver):
echo "blacklist nouveau" | sudo tee -a /etc/modprobe.d/99-local.conf
sudo mkinitrd
If you plan to use 32bit apps (like steam), install required libraries:
sudo zypper in Mesa-libGL1-32bit libX11-6-32bit primus-32bit
If you want to use the advanced features of the secondary Nvidia graphics card, you can install the proprietary Nvidia driver as follows:
Install the driver as described here:
Make sure all lines in /etc/ld.so.conf.d/nvidia-gfxG*.conf are commented out. The nvidia installer should detect optimus hardware and do it automatically, but it's better to be safe.
#/usr/X11R6/lib64
#/usr/X11R6/lib
If they are not, then edit the file to make it as above, and run
sudo ldconfig
Add the nvidia module to blacklist:
echo "blacklist nvidia" | sudo tee -a /etc/modprobe.d/99-local.conf
sudo mkinitrd
Setup xorg module directory:
sudo mkdir -p /usr/lib64/nvidia/xorg/modules/extensions
sudo ln -s /usr/lib64/xorg/modules/extensions/nvidia/nvidia-libglx.so /usr/lib64/nvidia/xorg/modules/extensions/libglx.so
Configure bumblebee: Edit /etc/bumblebee/bumblebee.conf as root and set the following (lines that are not mentioned here, should be left unchanged, not deleted):
[bumblebeed]
TurnCardOffAtExit=true
Driver=nvidia
[driver-nvidia]
LibraryPath=/usr/X11R6/lib64:/usr/X11R6/lib
XorgModulePath=/usr/lib64/nvidia/xorg/modules,/usr/lib64/xorg/modules
Add bumblebee repository:
sudo zypper ar -c -f
X11:Bumblebee
Install the driver:
sudo zypper in nvidia-bumblebee nvidia-bumblebee-32bit
sudo systemctl enable dkms
Update the kernel image:
sudo mkinitrd
Packages supplied by NVidia for openSUSE Leap 15.0 do not contain any files or symlinks in the /etc/X11R6/ directory, so you are to create them by yourself. Do the following:
Create the required directories:
mkdir -p /usr/X11R6/lib64/
mkdir -p /usr/X11R6/lib/
And create the symlinks inside them:
cd /usr/X11R6/lib64/
ln -s /usr/lib64/libEGL_nvidia.so.0 libEGL_nvidia.so.0
ln -s /usr/lib64/libGL.so.1.0.0 libGL.so
ln -s /usr/lib64/libGL.so.1.0.0 libGL.so.1
ln -s /usr/lib64/libGL.so.1.0.0 libGL.so.1.0.0
ln -s /usr/lib64/libGLESv1_CM_nvidia.so.1 libGLESv1_CM.so
ln -s /usr/lib64/libGLESv1_CM_nvidia.so.1 libGLESv1_CM.so.1
ln -s /usr/lib64/libGLESv1_CM_nvidia.so.1 libGLESv1_CM_nvidia.so.1
ln -s /usr/lib64/libGLESv2_nvidia.so.2 libGLESv2.so
ln -s /usr/lib64/libGLESv2_nvidia.so.2 libGLESv2.so.2
ln -s /usr/lib64/libGLESv2_nvidia.so.2 libGLESv2_nvidia.so.2
ln -s libGLX.so.0.0.0 libGLX.so
ln -s libGLX.so.0.0.0 libGLX.so.0
ln -s /usr/lib64/libGLX_nvidia.so.0 libGLX.so.0.0.0
ln -s /usr/lib64/libGLX_nvidia.so.0 libGLX_nvidia.so.0
ln -s /usr/lib64/libnvidia-cfg.so.1 libnvidia-cfg.so.1
ln -s /usr/lib64/libnvidia-egl-wayland.so.1 libnvidia-egl-wayland.so.1
ln -s /usr/lib64/libnvidia-encode.so.1 libnvidia-encode.so.1
ln -s /usr/lib64/libnvidia-fbc.so.1 libnvidia-fbc.so.1
ln -s /usr/lib64/libnvidia-ifr.so.1 libnvidia-ifr.so.1
ln -s /usr/lib64/libnvidia-ml.so libnvidia-ml.so
ln -s /usr/lib64/libnvidia-ml.so.1 libnvidia-ml.so.1
ln -s /usr/lib64/libnvidia-opencl.so.1 libnvidia-opencl.so.1
ln -s /usr/lib64/libnvidia-ptxjitcompiler.so.1 libnvidia-ptxjitcompiler.so.1
ln -s /usr/lib64/libnvidia-wfb.so.1 libnvidia-wfb.so.1
ln -s /usr/lib64/libvdpau_nvidia.so libvdpau_nvidia.so
Defenitely, you can choose which libraries to link or not. The list of them can be displayed via:
ls -n /usr/lib64/|egrep 'nvidia|libGL|libEGL'
If you are going to use multilib, do also:
cd /usr/X11R6/lib/
ln -s /usr/lib/libEGL_nvidia.so.0 libEGL_nvidia.so.0
ln -s /usr/lib/libGL.so.1.0.0 libGL.so
ln -s /usr/lib/libGL.so.1.0.0 libGL.so.1
ln -s /usr/lib/libGL.so.1.0.0 libGL.so.1.0.0
ln -s /usr/lib/libGLESv1_CM_nvidia.so.1 libGLESv1_CM.so
ln -s /usr/lib/libGLESv1_CM_nvidia.so.1 libGLESv1_CM.so.1
ln -s /usr/lib/libGLESv1_CM_nvidia.so.1 libGLESv1_CM_nvidia.so.1
ln -s /usr/lib/libGLESv2_nvidia.so.2 libGLESv2.so
ln -s /usr/lib/libGLESv2_nvidia.so.2 libGLESv2.so.2
ln -s /usr/lib/libGLESv2_nvidia.so.2 libGLESv2_nvidia.so.2
ln -s libGLX.so.0.0.0 libGLX.so
ln -s libGLX.so.0.0.0 libGLX.so.0
ln -s /usr/lib/libGLX_nvidia.so.0 libGLX.so.0.0.0
ln -s /usr/lib/libGLX_nvidia.so.0 libGLX_nvidia.so.0
ln -s /usr/lib/libnvidia-cfg.so.1 libnvidia-cfg.so.1
ln -s /usr/lib/libnvidia-egl-wayland.so.1 libnvidia-egl-wayland.so.1
ln -s /usr/lib/libnvidia-encode.so.1 libnvidia-encode.so.1
ln -s /usr/lib/libnvidia-fbc.so.1 libnvidia-fbc.so.1
ln -s /usr/lib/libnvidia-ifr.so.1 libnvidia-ifr.so.1
ln -s /usr/lib/libnvidia-ml.so libnvidia-ml.so
ln -s /usr/lib/libnvidia-ml.so.1 libnvidia-ml.so.1
ln -s /usr/lib/libnvidia-opencl.so.1 libnvidia-opencl.so.1
ln -s /usr/lib/libnvidia-ptxjitcompiler.so.1 libnvidia-ptxjitcompiler.so.1
ln -s /usr/lib/libnvidia-wfb.so.1 libnvidia-wfb.so.1
ln -s /usr/lib/libvdpau_nvidia.so libvdpau_nvidia.so
If you recieve problems while using primusrun or optirun -b primus commands you probably should use the different version of primus. The package in Leap 15.0 seems to work not correctly for now, so you might wish to use the one supplied by Leap 42.3 as a temporary solution:
zypper in -f
zypper in -f
zypper al primus primus-32bit
After installation of the software above, reboot your machine.
Check bumblebee is working by opening a terminal and typing:
optirun --status
If you see the message:
Bumblebee status: Ready (3.2.1). X inactive. Discrete video card is off.
Then bumblebee should be working properly. To use the discrete video card, you must launch the program from the terminal:
optirun program-name
You can test this by running:
optirun glxgears
(Note: glxgears is in Mesa-demo-x package)
If you see the gears, then your discrete card is working with bumblebee.
You may also verify your installation by running nvidia-settings program, which is installed along with the proprietary nvidia drivers:
optirun -b none nvidia-settings -c :8
If you can not get your graphical system back, you should perform a rollback using snapper. If your system does not have btrfs, this does not apply to you. First find out what the number for your snapshot was that you should have made earlier:
sudo snapper list
Then perform the rollback, here "xx" should be replaced by the number of your preparatory snapshot:
sudo snapper rollback xx
Reboot the machine.
If you cannot load GPU drivers - while bbswitch being loaded - and get an error like this on a Kepler card:
[INFO]Response: No - error: Could not load GPU driver
[ERROR]Cannot access secondary GPU - error: Could not load GPU driver
Try changing value of 'load_state' in "/etc/modprobe.d/50-bbswitch.conf" from 0 to -1
echo "options bbswitch load_state=-1 unload_state=1" & /etc/modprobe.d/50-bbswitch.conf
More info on
- scroll to Module options.
check the state of your card:
cat /proc/acpi/bbswitch
to turn your card off, type:
sudo tee /proc/acpi/bbswitch &&&OFF
If you run `journalctl -u bumblebee` and you see
Failed to initialize the GLX please check in your X
log file that the GLX module has been loaded in your X
server, and that the module is the NVIDIA GLX module.
you continue to encounter problems, Please try
reinstalling the NVIDIA driver.
If you've tried reinstalling the Nvidia driver, you may be able to fix this by linking a library. You will need to back up the following file:
mv /usr/lib64/xorg/modules/extensions/libglx.so /usr/lib64/xorg/modules/extensions/libglx.so.bak
Then link the nvidia version in it's place:
ln -s /usr/lib64/xorg/modules/extensions/nvidia/nvidia-libglx.so /usr/lib64/xorg/modules/extensions/libglx.so
After restart your X server. optirun glxgears should now work.
If when you run "optirun --status" or "optirun glxgears", it's returned an error like
[ERROR]Cannot access secondary GPU - error: Could not enable discrete graphics card
It could be due to the presence of one or more power management application (e.g. TLP, powertop). After you disable them, optirun should work.
If you have TLP, you can add the GPU to its blacklist and make optirun works.
Find the GPU address
sudo lspci
A row like this should be present, copy the first numbers (e.g. 01:00.0)
01:00.0 VGA compatible controller: NVIDIA Corporation ... [GeForce ...] (rev a1)
Open the TLP configuration file located in /etc/default/tlp
Search the row with "RUNTIME_PM_BLACKLIST", remove the "#" and paste your GPU address. E.G.:
RUNTIME_PM_BLACKLIST="01:00.0"
If other values are present, just add a space after the last number and paste your address.
Search the row
with "RUNTIME_PM_DRIVER_BLACKLIST", remove the "#". It should be:
RUNTIME_PM_DRIVER_BLACKLIST="amdgpu nouveau nvidia radeon"
Save and close the file. After a restart, optirun should work.
You can disable TLP by typing these commands into the console
sudo systemctl disable tlp
sudo systemctl stop tlp
After a restart, optirun should work.
You can disable powertop by typing these commands into the console
sudo systemctl disable powertop
sudo systemctl stop powertop
After a restart, optirun should work.
You can run Steam like so:
optirun steam
This will keep your discrete card turned on all the time steam is running.
You can also launch steam as usual and for each game: Right click on the selected game -& Properties -& Set Launch Options. It the window type:
optirun %command%
This will keep your discrete card turned on only for running the game.
Don't use primusrun anymore. Optirun is everything you need.
In the old times optirun was a wrapper script for setting up VirtualGL bridge. Then primus library appeared with it's own primusrun wrapper script. Now optirun is a program integrated with bumblebee daemon and supports both VirtualGL and primus bridges.
Change the line in /etc/bumblebee/bumblebee.conf:
[bumblebeed]
Driver=&driver you want to use&
Restart bumblebeed:
sudo systemctl restart bumblebeed
It may be the case that some of your outputs are attached to your Nvidia card and some are attached to the Intel card. In which case the outputs attached to your Nvidia card may not work. You can use these outputs with a tool named intel-virtual-output. It comes from the package "xf86-video-intel". Before using it edit /etc/bumblebee/xorg.conf.nvidia change the lines UseEDID "false" and Option "AutoAddDevices" "false" to "true", if you are having trouble with device resolution detection. Commenting out the line Option "UseDisplayDevice" "none" also may help. You should be able to start it in the foreground with
intel-virtual-output -f and your outputs should start working.
For more information check the .
Further information and problem solving:
The blog entries below reference a no longer used repository, but they may be useful for information purposes.
For openSUSE 13.1, refer to this blog entry:
For openSUSE 12.3, refer to this blog entry: .
For openSUSE 12.2, refer to this blog entry:[Nvidia显卡和Steam] OpenGL GLX extension not supported by...【opensuse吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:5,276贴子:
[Nvidia显卡和Steam] OpenGL GLX extension not supported by...收藏
以下是我系统的一点信息:按照官方wiki,装了显卡Nvidia驱动(x11-video-nvidiaG03),然后安装steam,运行时报出如下错误:我不确定现在使用的到底是哪个显卡,(当然也不知道怎么禁用核心显卡)。网上找了半天,都是英文的看不太懂。。。以下是/var/log/Xorg.0.log部分内容:吧主大人也有在玩吧
我都是用Prime的
登录百度帐号Download for openSUSE:
Vendor: Valve Software
Developer: Valve Software
License: Steam EULA
Steam is a software distribution service.
online games store
automatic updates
in-game achievements
synchronized savegame and screenshot functionality
view friends playing
instant messenger
Warning: Steam is a closed source application whose
relies on a 2012 Ubuntu release for binary compatibility. It breaks regularly on
rolling release as it doesn't play well together with a modern system dependencies.
The latest version of Steam can be installed from the
using . If you experience missing dependencies please contribute them to the steam.spec file by branching the
in the :Tools repository.
Is Steam free?
Yes, Valve Software allows the installation of their Freeware Steam client via their EULA what they call a "limited installation license" without any charges.
If you buy games on the Steam store you are bound to their . Technically you don't own the games you buy, but rent them for an unlimited amount of time. That means they are bound to your account, you can install them wherever and whenever you want, but can't sell them. The DRM will also require an internet connection to activate them for the first time. Some games even need a continuous internet connection.
Freeware games like
are marketed as "free-to-play". They get monetized via in-game purchases of additional inventory items.
How will I know if this game runs on Linux?
The Valve store has a Linux section:
They also add a Tux penguin icon to Linux compatible games.
How well do games run on Linux?
Valve's Games on Steam are native ports. They will run a lot faster and smoother than the experience with
workarounds (see the section below for more information about Steam on Wine). Valve also claimed that the lack of DirectX overhead also increased performance. If you spawn an additional XServer to run OpenGL games it will boost your FPS even more because the Desktop Environment and composition effects won't slow you down. If you are running
hit ALT+SHIFT+F12 to temporarily disable the KWin compositor. This will enhance video performance especially when you run OpenGL games in windowed mode.
The Steam Controller is a gamepad sold by Valve and can be used also on Linux.
Warning: If the controller does not work in wireless mode please check if it works with the steam and steam-controller packages from the Games-Repository as they are often more up-to-date.
You will need the latest version of Steam installed, after that simply install the
Make sure the users which should have access to the steam controller are in the games group.
After the installation you might need to log-out and relogin.
With OpenSuse Leap 42.3 there is a problem with different certificates paths (between OpenSuse and Ubuntu 12). This should be corrected with:
# ln -s /var/lib/ca-certificates/ca-bundle.pem /etc/ssl/certs/ca-certificates.crt
After this, games like Rocket League and Rust work ok and connect to servers.
If OpenSuse Leap 42.2 Steam stopped working after Steam client updates of June 2017, launch steam with command
$ STEAM_RUNTIME_PREFER_HOST_LIBRARIES=0 steam
Some users report that with Free radeon installed for AMD graphical chip-set, there is no game play at all: games won't start after selecting and clicking them. To possibly solve this search and install the appropriate AMD proprietary driver for your card with one-click:
Some users report that newer updates of the Steam client temporarily require starting with the following command to avoid a crash. Also users report missing sound in video-clips and games. Try to load Steam without local runtime to solve this:
$ STEAM_RUNTIME=0 steam
Loading Steam without local runtime means loading without the pre-bundled libraries that Steam delivers within the package. These could be older versions, with bugs resolved in newer versions, already installed on your system. Steam will attempt to use the ones installed on your system, when started with this option.
This could be due to missing 32 bit libraries, for example on 64 bit systems. Go to directory ~/.local/share/Steam/ubuntu12_32 and investigate missing libraries by executing the commands below:
$ cd ~/.local/share/Steam/ubuntu12_32
$ LD_LIBRARY_PATH=".:${LD_LIBRARY_PATH}" ldd $(file *|sed '/ELF/!d;s/:.*//g')|grep 'not found'|sort|uniq
(source: )
Example output:
libdbus-glib-1.so.2 =& not found
libnm-glib.so.4 =& not found
libnm-util.so.2 =& not found
$ LD_PRELOAD=/usr/lib32/libudev.so.1 STEAM_RUNTIME=0 steam
(source: ) Example output:
you are missing the following 32-bit libraries, and Steam may not run: libXtst.so.6 libva.so.1 libvdpau.so.1 libva.so.1 libva-x11.so.1
Find these missing dependencies with YasT - Software management, select
"RPM delivers", search for the missing files and install the 32bit versions.
for example, you use:
$ sudo zypper in libvdpau_radeonsi-32bit (for radeon cards) libXtst6-32bit libvdpau_va_gl1-32bit libva-glx2-32bit
If you still experience this problem when you have 32-bit libs installed, make sure your user is part of the video, games, audio and cd groups. This can be done with YaST -& User and Group Management -& Edit and then select the Details tab.
Ensure user is part of the correct groups
If you are encountering an issue where your games seem to crash at launch and you cannot figure out what is wrong try to see what output you get from the following two commands
/path/to/executable
gdb /path/to/executable
(at the prompt, type)
In my case I was getting the following error "terminate called after throwing an instance of 'CFileException'". The solution was to
and then attempt to run the game.
Please also see
I have had no sound with my steam games until I ran the following commands:
rm -fv /var/lib/dbus/machine-id
ln -sv /etc/machine-id /var/lib/dbus/machine-id
I found this information . It says to only create the link if the file does not exist. It did exist for me, but replacing it with a symlink fixed my sound issue.
Only do this if you feel confident, I cant guarantee it wont break something.
is a command line alternative for servers and users who don't want a graphical client. See the
for more information.
This procedure was tested on Wine 1.7.2
Warning: Beware that this method does not mean you can play all Windows games on Linux. It simply allows you to launch the games from Steam. The actual compatibility of a game with
is a completely separate issue and users are advised to check the
for specific information for each game.
on your system to use this method. You can run Steam from the systems version of Wine or use a program like Play On Linux (POL) to help you install and use it. If you use POL then please disregard the rest of this guide and instead follow the general procedure of installing an application with POL.
First, download the windows version of steam and cd to the directory.
$ cd /path/to/download
It is important that this be done using a terminal emulator like Konsole so that if there are any errors, they can be kept track of using the output Steam will give. When the installer is done downloading, run the following command:
$ wine SteamSetup.exe
This should begin the Steam installer which will then prompt you for information regarding your language and install directory. Once that is done, you should uncheck start steam and end the installer.
Now you can simply find steam in your application launcher and run it as if it were any other program!
This is a known issue with dwrite.dll and can by bypassed using two methods.
The first method is quite simple, you edit the launcher for Steam and add -no-dwrite to the end of it.
The second method is more global, as the problem with the above method is that it does not apply to all steam launchers and is instead limited to the launcher itself. To apply this to all launchers on your system, you must edit the wine configuration for your system. Doing this is pretty easy and it should fix all missing text problems.
Begin by opening the Wine configuration program (winecfg) and in the Applications tab, select the Add application button. Navigate to where the Steam.exe file is (usually in the Program Files/Steam folder) and select it.
Now click the Libraries tab and in the New override for library menu and select dwrite. Then click the Add button, and making sure that dwrite is selected, click the edit button. In the popup, select disable hit OK and then OK again on the Wine Configuration window. Steam should now be able to run from any launcher and still display text.

我要回帖

更多关于 steam打不开 的文章

 

随机推荐