TES 4 Oblivion(Steam/Proton)无法使用 nvidia GPU 运行 + 启动时崩溃

TES 4 Oblivion(Steam/Proton)无法使用 nvidia GPU 运行 + 启动时崩溃

我有以下问题:

几个小时以来,我一直试图让 TES 4 Oblivion 在 Ubuntu 上运行,但毫无进展。启动器启动正常,但它就是拒绝识别 Nvidia GPU。但我确信所有其他程序都可以在 Nvidia CPU 上运行良好,因为游戏在启动时崩溃,在我将 Prime Profile 更改为 Nvidia(性能模式)之前没有发生过这种情况(这应该使所有应用程序都使用 Nvidia GPU 运行,对吗?)。
现在 Oblivion 因这个问题而臭名昭著,尤其是在笔记本电脑上,因为它在 Windows 上会产生同样的错误,但这是一个很容易解决的问题,因为您可以从 Nvidia 控制面板手动告诉它使用 Nvidia GPU,而 Ubuntu 没有这个选项。

故障排除信息:

sudo lshw -C 视频

 *-display                 
       description: VGA compatible controller
       product: Haswell-ULT Integrated Graphics Controller
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       logical name: /dev/fb0
       version: 0b
       width: 64 bits
       clock: 33MHz
       capabilities: msi pm vga_controller bus_master cap_list rom fb
       configuration: depth=32 driver=i915 latency=0 resolution=1600,900
       resources: irq:51 memory:b5000000-b53fffff memory:c0000000-cfffffff ioport:6000(size=64) memory:c0000-dffff
  *-display
       description: 3D controller
       product: GM108M [GeForce 830M]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:0a:00.0
       version: a2
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list rom
       configuration: driver=nvidia latency=0
       resources: irq:54 memory:b3000000-b3ffffff memory:a0000000-afffffff memory:b0000000-b1ffffff ioport:3000(size=128)

sudo lsmod | grep nvidia

vidia_uvm           1216512  0
nvidia_drm             69632  10
nvidia_modeset       1159168  6 nvidia_drm
nvidia              39112704  450 nvidia_uvm,nvidia_modeset
drm_kms_helper        307200  2 nvidia_drm,i915
drm                   606208  15 drm_kms_helper,nvidia,nvidia_drm,i915,ttm

sudo nvidia-smi

Thu Jun 16 23:27:59 2022       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 510.60.02    Driver Version: 510.60.02    CUDA Version: 11.6     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:0A:00.0 Off |                  N/A |
| N/A   49C    P0    N/A /  N/A |    223MiB /  2048MiB |      9%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1653      G   /usr/lib/xorg/Xorg                 60MiB |
|    0   N/A  N/A      1914      G   /usr/bin/gnome-shell               26MiB |
|    0   N/A  N/A      2424      G   ...2/usr/lib/firefox/firefox      131MiB |
|    0   N/A  N/A      5988      G   /usr/bin/nvidia-settings            0MiB |
+-----------------------------------------------------------------------------+

sudo inxi-Gx

Graphics:
  Device-1: Intel Haswell-ULT Integrated Graphics vendor: Hewlett-Packard
    driver: i915 v: kernel bus-ID: 00:02.0
  Device-2: NVIDIA GM108M [GeForce 830M] vendor: Hewlett-Packard
    driver: nvidia v: 510.60.02 bus-ID: 0a:00.0
  Device-3: Chicony HP Truevision HD camera type: USB driver: uvcvideo
    bus-ID: 1-1.3:3
  Display: server: X.Org v: 1.21.1.3 driver: X: loaded: modesetting,nvidia
    unloaded: fbdev,nouveau,vesa gpu: i915 resolution: 1600x900~60Hz
  OpenGL: renderer: NVIDIA GeForce 830M/PCIe/SSE2 v: 4.6.0 NVIDIA 510.60.02
    direct render: Yes

游戏崩溃时终端中的错误消息:

Game process updated : AppID 22330 "/home/sadomessiah/.steam/debian-installation/ubuntu12_32/reaper SteamLaunch AppId=22330 -- '/home/sadomessiah/.steam/debian-installation/steamapps/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/home/sadomessiah/.steam/debian-installation/steamapps/common/Proton 7.0'/proton waitforexitandrun  '/home/sadomessiah/.steam/debian-installation/steamapps/common/Oblivion/OblivionLauncher.exe'", ProcID 24257, IP 0.0.0.0:0
MESA-INTEL: warning: Haswell Vulkan support is incomplete
MESA-INTEL: warning: Haswell Vulkan support is incomplete
Fossilize INFO: Overriding serialization path: "/home/sadomessiah/.steam/debian-installation/steamapps/shadercache/22330/fozpipelinesv6/steamapprun_pipeline_cache".
wine: Unhandled page fault on read access to 00000880 at address 00497E10 (thread 0170), starting debugger...
ThreadGetProcessExitCode: no such process 24293
pid 24156 != 24155, skipping destruction (fork without exec?)
ThreadGetProcessExitCode: no such process 24223
ThreadGetProcessExitCode: no such process 24191
ThreadGetProcessExitCode: no such process 24185
ThreadGetProcessExitCode: no such process 24174
ThreadGetProcessExitCode: no such process 24165
ThreadGetProcessExitCode: no such process 24162
ThreadGetProcessExitCode: no such process 24154
ThreadGetProcessExitCode: no such process 24152
Game process removed: AppID 22330 "/home/sadomessiah/.steam/debian-installation/ubuntu12_32/reaper SteamLaunch AppId=22330 -- '/home/sadomessiah/.steam/debian-installation/steamapps/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/home/sadomessiah/.steam/debian-installation/steamapps/common/Proton 7.0'/proton waitforexitandrun  '/home/sadomessiah/.steam/debian-installation/steamapps/common/Oblivion/OblivionLauncher.exe'", ProcID 24257 
ThreadGetProcessExitCode: no such process 24257
ThreadGetProcessExitCode: no such process 23981
ThreadGetProcessExitCode: no such process 23980
Game 22330 created interface STEAMAPPS_INTERFACE_VERSION003 / Apps
Game 22330 created interface SteamUtils004 / Utils
Game 22330 method call count for IClientAppManager::BIsDlcEnabled : 1
Game 22330 method call count for IClientUtils::RecordSteamInterfaceCreation : 2
Game 22330 method call count for IClientUtils::GetAppID : 3
Game 22330 method call count for IClientUser::BIsSubscribedApp : 1
Uploaded AppInterfaceStats to Steam

Wayland 协议已禁用
我已经运行了 sudo prime-select nvidia (+reboot)
根据 gpu-manager.log,nouveau 被列入黑名单
我还重新安装了 nvidia 驱动程序 (+reboot)
我还测试使用 PRIME 配置文件:Nvidia On-Demand 再次运行游戏。游戏能够启动(我猜是因为它现在可以使用英特尔 GPU)但当我将其改回仅 nvidia 时它无法运行。

经过进一步的故障排除后,我发现尽管 ubuntu 和所有终端命令都显示 nvidia 卡已启动并正在运行,但似乎缺少 nvidia 模块,尽管已多次安装了驱动程序:

命令 optirun glxgears

[  125.640717] [ERROR]Cannot access secondary GPU - error: [XORG] (EE) Failed to load module "nvidia" (module does not exist, 0)

[  125.640759] [ERROR]Aborting because fallback start is disabled.

我目前正在尝试解决这个问题,但由于我对 Linux 还比较陌生,因此任何帮助都将不胜感激。

系统信息:

  • 操作系统:Ubuntu 22.04 LTS 64位
  • GNOME 版本:42.1
  • 窗口系统:X11
  • 质子:7.0-3
  • 处理器:Intel Core i3-4030 CPU @ 1.90GHz x 4
  • 显卡:NVIDIA Corporation GM108M [GeForce 830M]/NVIDIA GeForce 803M

我真的希望有人能帮助我解决这个问题,因为我真的很想玩这个游戏,而且接下来的几个月我唯一的选择就是这台 Ubuntu 笔记本。

谢谢大家!

答案1

所以我对此有一个半解决方案,但它并不理想,我仍然需要帮助解决这个问题,但我将其作为答案发布,以免使问题看起来太复杂:

我已经放弃尝试运行 nvidia PRIME,因为它拒绝运行。它根本不起作用,就是这样。所以我研究了替代方案,找到了 Bumblebee(Optirun 和 primusrun)。使用最新的驱动程序,它们都无法工作,如我之前的评论所示,因为它们无法加载 nvidia 模块。我发现了这一点:https://github.com/Bumblebee-Project/Bumblebee/issues/526并相应地更改了 xorg.conf.nvidia 和 bumblebee.conf,但仍然出现相同的问题。但我注意到该线程有点旧,而且由于我自己使用的是旧显卡,所以我完全删除了所有与 nvidia 和 bumblebee 相关的内容,并完全重新安装了 nvidia 驱动程序,但使用的是旧版本 (390)。再次尝试更改配置,但仍然出现相同的错误。
然后我找到了这个线程:https://github.com/Bumblebee-Project/Bumblebee/issues/951并再次更改了配置文件但无济于事。但是,在这个线程的下方(第 8 个答案),我找到了一个解决方案,至少可以让 primusrun(sudo primusrun 应用程序)正常工作,方法是修补运行终端命令的脚本以将其指向正确的库,现在该命令至少不会返回错误并可以正常运行 glxgears。现在甚至 Oblivion 也会启动(在相应地更改 steam 中的启动选项后),虽然它运行起来很糟糕,但在使用按需 PRIME 配置文件时,运行时的问题比以前少(树在闪烁等)。但我不确定它是否真的使用了 NVIDIA GPU,因为启动器中的选项菜单仍然只显示 Intel GPU,所以我仍然需要帮助解决这个问题,如果有人比我更了解 Linux,我将不胜感激,因为我也认为其他人可以从中受益。

提前致谢。

相关内容