Steam for Linux

Steam for Linux

Blackthorn 17 czerwca 2022 o 8:21
Oblivion won't run using the dedicated Graphics Card on Ubuntu 22.04 LTS

I have the following Problem:

For several hours now I am trying to get TES 4 Oblivion to run on Ubuntu with no luck at all. The Launcher starts just fine but it just refuses to recognize the Nvidia GPU. I am sure however that all other programs work fine with the Nvidia CPU because the Game crashes on startup, which it didn't do before I changed the Prime Profile to Nvidia (Performance Mode) (which should make it so that all Application run with the Nvidia GPU, correct?).
Now Oblivion is notorious for this Problem in particular on Notebooks as it produces the same error on Windows, but there its an easy Problem to fix because you can just manually tell it to use the Nvidia GPU from the Nvidia Control Panel which isn't an option for Ubuntu.

Troubleshooting Information:

sudo lshw -C video

*-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

Error Message in Terminal when the game crashes:

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 Protocol is disabled
I have already run sudo prime-select nvidia (+reboot)
nouveau is blacklisted according to gpu-manager.log
I have also reinstalled the nvidia drivers (+reboot)
I also tested to run the game again with PRIME Profile: Nvidia On-Demand. The game was able to start (because it can use the Intel GPU now I guess) but it didn't run when I changed it back to nvidia only.

System Information:

OS: Ubuntu 22.04 LTS 64-bit
GNOME Version: 42.1
Windowing System: X11
Proton: 7.0-3
Processor: Intel Core i3-4030 CPU @ 1.90GHz x 4
Graphics: NVIDIA Corporation GM108M [GeForce 830M]/NVIDIA GeForce 803M

I really hope someone can help me with this Problem as I really want to play this game and my only option is this Ubuntu Notebook for the next months.

Thank you all in advance!
< >
Wyświetlanie 1-11 z 11 komentarzy
xdshot 17 czerwca 2022 o 8:23 
Replace nouveau with proprietary variant
Blackthorn 17 czerwca 2022 o 8:39 
Nouveau is already blacklisted as written in my original post, or what do you mean? please specify
xdshot 17 czerwca 2022 o 8:47 
Sorry I only noticed nouveau but dodn't notice it says blacklisted

If you have NVIDIA driver version 435.17 or later, you can try PRIME offloading:
https://wiki.archlinux.org/title/PRIME#PRIME_render_offload

There's script provided by Arch:
https://archlinux.org/packages/extra/any/nvidia-prime/

If you don't have similar package your distro, you can try this launcher script I took from the package:
#!/bin/bash __NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia "$@"

then add in launcher properties in Steam game properties
prime-run %command%

or

prime-run wine /gamepath/exename.exe
Ostatnio edytowany przez: xdshot; 17 czerwca 2022 o 8:48
Blackthorn 17 czerwca 2022 o 8:47 
Here is proof that its already replaced and it doesnt work:

sudo lshw -c video | grep 'configuration'
configuration: depth=32 driver=i915 latency=0 resolution=1600,900
configuration: driver=nvidia latency=0

System Information in Steam still shows:

Video Card:
Driver: Mesa/X.org llvmpipe (LLVM 13.0.1, 256 bits)
Driver Version: 4.5 (Compatibility Profile) Mesa 22.0.1
OpenGL Version: 4.5
Desktop Color Depth: 24 bits per pixel
Monitor Refresh Rate: 60 Hz
VendorID: 0x10de
DeviceID: 0x1340
Revision Not Detected
Number of Monitors: 1
Number of Logical Video Cards: 1
Primary Display Resolution: 1600 x 900
Desktop Resolution: 1600 x 900
Primary Display Size: 15.04" x 8.46" (17.24" diag)
38.2cm x 21.5cm (43.8cm diag)
Primary Bus: PCI Express 4x
Primary VRAM Not Detected
Supported MSAA Modes: 2x 4x 8x 16x
Blackthorn 17 czerwca 2022 o 8:53 
prime-run doesnt exist for me. do I have to install something? (I have read somewhere that the command is deprecated, but I dont know if thats true)

How do I use scripts?

But already thanks for trying to help me :)
xdshot 17 czerwca 2022 o 8:55 
Początkowo opublikowane przez SadoMessiah:
prime-run doesnt exist for me. do I have to install something? (I have read somewhere that the command is deprecated, but I dont know if thats true)

How do I use scripts?

But already thanks for trying to help me :)
I've provided script code above. Paste the code in text editor, save it, name it prime-run or something else. Mark it as executive.
Blackthorn 17 czerwca 2022 o 9:11 
This does not work. It still doesn't recognize prime-run as a command. And if I add it in game properties the launcher wont start at all.
Blackthorn 17 czerwca 2022 o 9:41 
Tested it again by putting the executable inside the /bin folder and that seemed to get the command working however it does nothing. The Game still crashes when I hit play and it still doesn't recognize the nvidia GPU. The command also cant open anything from the terminal as it interprets everything written after "prime-run" as a separate command.

Please, I really need help, I desperatly want to play this game and it seems that I am the only Person to have this Problem. No documented solutions work and I really don't know what to do anymore.
Blackthorn 17 czerwca 2022 o 11:51 
After further troubleshooting I found a possible reason for why it doesn't work. When I try to run application with optirun I get the following error message:

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

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

I think this implies that the driver is missing, but I already reinstalled it multiple times. I would greatly appreciate further help with this issue.

Thanks in advance.
Blackthorn 17 czerwca 2022 o 15:41 
After even more troubleshooting I finally got something to work but it isnt ideal and I am unsure if it uses the correct GPU as all indicator show its still using the Intel GPU instead of the nvidia despite using primusrun to start all applications. Here is what I did so far:

I have given up on trying to get nvidia PRIME to run because it just refuses to. It simply doesnt work, period. So I looked into alternatives and found Bumblebee (Optirun and primusrun). With the newest driver they both didnt work as shown in my previous comment as they are failing to load the nvidia module. I found this: https://github.com/Bumblebee-Project/Bumblebee/issues/526 and changed the xorg.conf.nvidia and bumblebee.conf accordingly, however it still produced the same problem. I noticed however that the thread was a bit old and since I am using an old graphics card myself I completely removed everything nvidia and bumblebee related and completely reinstalled the nvidia drivers but an older version of them (390). Tried the changes to the config again and I still got the same error.
I then found this thread: https://github.com/Bumblebee-Project/Bumblebee/issues/951 and changed the config files again but to no avail. However, further down this thread (8th answer) I found a solution to at least get primusrun (sudo primusrun Application) working by basically patching the script that runs the terminal command to point it to the correct library and now the command at least doesn't return an error and run glxgears just fine. Even Oblivion will start now (after changing the launch options in steam accordingly) and, while it runs like crap, it runs with less problems than before when using the On-demand PRIME Profile (The tree were flickering etc.). I am unsure however if it is actually using the NVIDIA GPU as the options menu in the launcher still only shows the Intel GPU, so I still require help with this issue and I would greatly appreciate if someone more knowledgeable about Linux than my could help me with this problem as I also think other people could benefit from this.

Thanks in advance.
Win2000Fan 8 kwietnia 2023 o 14:35 
I know I am not addressing your question in the way you asked it but I want to pass this on to you. I was using Ubuntu for many years and over these long years I just excepted having to tweak here and there getting just a few Windows based games to run in Wine. One of my main frame computer tech friends at work told me about Mint and how he runs a large amount of Windows based games in Mint. I know, I know, Mint comes from Ubuntu and all that but once I installed Mint all my problems melted away. Never, and I mean never, could I get Skyrim (still my favorite game) to work in Ubuntu. Skyrim was known to be a hard to run in Linux game as only the more experience Linux users could get around the problems to get Skyrim to run. Guess what I have running in Mint as I type this answer? Skyrim and it works as smooth in Linux Mint as it does in Windows. I am afraid to mod Skyrim in Mint but I get the game to work so well I can not believe it. Mint and Wine do not run everything but I do have a lot of Windows based games running right now, way more than in Ubuntu. I have zero explanation for this. Anyway it's Something to think about. Hope I might have helped.
< >
Wyświetlanie 1-11 z 11 komentarzy
Na stronę: 1530 50