好吧,我看了很多帖子和帖子,还没有找到解决方案。所以我运行的是 x64 Debian。我通过运行 .run 文件从 Nvidia 网站安装了 Nvidia 驱动程序。现在,我尝试安装 Steam,所以我尝试了
Sudo apt install steam
我什至尝试按[TAB]查看它是否有不同的名称,但无处可寻。所以我从网站下载了一个 .deb 文件并尝试运行它
Sudo dpkg -i steam_latest.deb
但它安装并给了我一个错误:
Failed to parse arguments: Option "--disable-factory" is no longer supported in this version of gnome-terminal.
Package libgl1-mesa-dri:i386 needs to be installed
Package libgl1-mesa-glx:i386 needs to be installed
Running Steam on debian 9 64-bit
STEAM_RUNTIME is enabled automatically
Pins up-to-date!
Error: You are missing the following 32-bit libraries, and Steam may not run:
libGL.so.1
Installing breakpad exception handler for appid(steam)/version(1509425745)
Installing breakpad exception handler for appid(steam)/version(1509425745)
Installing breakpad exception handler for appid(steam)/version(1509425745)
Failed to load steamui.so - dlerror(): libGL.so.1: wrong ELF class: ELFCLASS64
Installing breakpad exception handler for appid(steam)/version(1509425745)
Installing breakpad exception handler for appid(steam)/version(1509425745)
[2017-11-15 10:42:19] Startup - updater built Oct 30 2017 19:09:32
Looks like steam didn't shutdown cleanly, scheduling immediate update check
[2017-11-15 10:42:19] Checking for update on startup
[2017-11-15 10:42:19] Checking for available updates...
[2017-11-15 10:42:19] Download skipped: /client/steam_client_ubuntu12 version 1509425745, installed version 1509425745
[2017-11-15 10:42:19] Nothing to do
[2017-11-15 10:42:19] Verifying installation...
[2017-11-15 10:42:19] Performing checksum verification of executable files
[2017-11-15 10:42:19] Verification complete
[2017-11-15 10:42:22] Shutdown
所以它不会运行。我安装了 TeamViewer,它也是一个 i836 应用程序并且可以运行,所以我认为这不是 Multiarch 的问题。我在 Reddit 上询问,一个人说这可能是显卡驱动程序错误,所以我尝试
sudo apt install nvidia-driver
找到了哪个,但它让我犯了这个错误
E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.
当然,我尝试了“sudo dpkg --configure -a”,但我明白了
Setting up nvidia-installer-cleanup (20151021+4) ...
WARNING: The '--no-runlevel-check' option is deprecated: nvidia-installer will
ignore this option.
Welcome to the NVIDIA Software Installer for Unix/Linux
Detected 8 CPUs online; setting concurrency level to 8.
If you plan to no longer use the NVIDIA driver, you should make sure that no X
screens are configured to use the NVIDIA X driver in your X configuration file.
If you used nvidia-xconfig to configure X, it may have created a backup of your
original configuration. Would you like to run `nvidia-xconfig
--restore-original-backup` to attempt restoration of the original X
configuration file?
[default: (N)o]:
然后我输入 y 并按 Enter 键,它就冻结了。即使一个小时后,它还没有完成,弹出的进度条也没有移动。是我的图形吗?如何完全删除所有内容并重新安装以仅从图形卡驱动程序开始,而无需重新安装操作系统?
这是“glxinfo | grep render”的输出
direct rendering: Yes
OpenGL renderer string: GeForce GTX 1060/PCIe/SSE2
GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth,
GL_NVX_conditional_render, GL_NVX_gpu_memory_info,
GL_NVX_nvenc_interop,
GL_NV_compute_program5, GL_NV_conditional_render,
GL_NV_parameter_buffer_object2, GL_NV_path_rendering,
GL_NV_path_rendering_shared_edge, GL_NV_pixel_data_range,
GL_NV_shader_thread_shuffle, GL_NV_stereo_view_rendering,
GL_ARB_compute_variable_group_size, GL_ARB_conditional_render_inverted,
GL_NVX_conditional_render, GL_NVX_gpu_memory_info, GL_NVX_nvenc_interop,
GL_NV_compute_program5, GL_NV_conditional_render,
GL_NV_parameter_buffer_object2, GL_NV_path_rendering,
GL_NV_path_rendering_shared_edge, GL_NV_pixel_data_range,
GL_NV_shader_thread_shuffle, GL_NV_stereo_view_rendering,
GL_EXT_raster_multisample, GL_EXT_render_snorm, GL_EXT_robustness,
GL_NV_conditional_render, GL_NV_conservative_raster,
GL_NV_packed_float_linear, GL_NV_path_rendering,
GL_NV_path_rendering_shared_edge, GL_NV_pixel_buffer_object,
GL_NV_stereo_view_rendering, GL_NV_texture_array, GL_NV_texture_barrier,
GL_OES_fbo_render_mipmap, GL_OES_geometry_point_size,
答案1
我将首先尝试尽我所知解释发生的事情;-)。然后为 Debian 用户提供一些用户友好的提示。
为什么你最初的命令不起作用?
Sudo apt install Steam
该软件包实际上称为“steam”(全部小写),它是一个 i386 软件包,因此要安装它,请发出以下命令:
sudo apt-get install steam:i386
从理论上讲,这应该已经提取了所有依赖项,并且一切都应该没问题。
我怎么知道我没有安装 steam?谷歌 ;-)
要在 Debian 中查找软件包,我发现最简单、最友好的是以下 Google 搜索:
<package> site:packages.debian.org
在这种情况下:
Steam site:packages.debian.org
这是一个结果:“https://packages.debian.org/stretch/steam”,在顶部我可以看到它在哪个存储库中(非免费),在该页面的底部,我可以看到哪些架构可用,即仅“i386”。
Package libgl1-mesa-dri:i386 needs to be installed
Package libgl1-mesa-glx:i386 needs to be installed
Running Steam on debian 9
64-bit STEAM_RUNTIME is enabled automatically Pins up-to-date! Error:
You are missing the following 32-bit libraries, and Steam may not run:
libGL.so.1
在这里,apt 告诉您 steam 需要libgl1-mesa-dri:i386
,libgl1-mesa-glx:i386
然后,它还准确地告诉您需要哪个库:
libGL.so.1
再说一次,我如何轻松地找到如何安装该库?谷歌再次成为你的朋友:
libGL.so.1 site:packages.debian.org
我单击其中一个结果,我看到libGL.so.1
由以下人员提供:
libgl1-mesa-glx:i386
实际上,我不必谷歌,因为我知道libgl1
(在包名称中)是 libGL.so.1,但这只是有点幸运。
现在,apt 很聪明,这正是 apt 抱怨的软件包丢失了;-)。
如何完全删除所有内容并重新安装以仅从图形卡驱动程序开始,而无需重新安装操作系统?
首先,您需要准备一个文本文件,其中包含要执行的命令,因为我们将使用控制台。
将以下内容放入文本文件中,并将其存储在主目录中名为 的文件中mycommands.txt
:
sudo apt-get remove steam
sudo service gdm3 stop
sudo nvidia-uninstall
sudo apt-get install nvidia-driver
sudo apt-get install steam
echo done
点击Ctrl+Alt+F2
,您现在应该在 tty2 上,输入您的用户名和密码。接下来,我们source
的文本文件来执行命令(它会要求您sudo
输入密码):
. mycommands.txt
注意点(重要)。例如,如果您将该文件放在桌面上,则必须发出:
. ~/Desktop/mycommands.txt
接受 Steam 许可证,希望一切都好。
答案2
可能是某些显卡版本不支持。比如我的820M。我使用 Nouveau 而不是 nvidia,它在大多数游戏和应用程序中都能正常工作。