protonscr

INSIDE on Ubuntu 22.04 with a Weaker GPU Card (GTX 760, 2GB VRAM)

dxvkclosed appid 2016
doitsujin/dxvk#3789 · opened 2024-01-08 by aabbtree77 · updated 2025-09-19 · 1 comments · github · game page · search this game
Aaabbtree77 2024-01-08 github

INSIDE (2016): Default Wine 8.0.2
Screenshot from 2024-01-09 00-24-32

INSIDE (2016): Wine with dxvk 1.10.2. Notice reflections, shadows, and the two platforms between the boy and the wagon.
Screenshot from 2024-01-08 22-03-31

INSIDE (2016) is a 2.5D platformer game with amazing graphics which is also notoriously difficult to render properly on Linux. Often the frames are too dark even with the brightest settings, and some important details may be missing. dxvk solves this problem admirably. Notice how the default wine (v8.0.2) misses the two tiny platforms that are essential to solve the puzzle. Without them it is not possible to open the door and progress to the next level.

P.S.

This is not an issue, but one amazing case for the use of dxvk and a personal note/memo how to run a Windows game on Ubuntu 22.04 with GTX 760 (a low-end desktop GPU with 2GB VRAM). The newest dxvk v2.3 crashes, while dxvk v1.10.3 does wonders, see the results above, also clf. the issues #2727 and #2493.

  1. Install the latest GPU driver for your specific card, Vulkan, Wine. Regarding GTX 760 on Ubuntu 22.04, it used to be as simple as "sudo apt install nvidia-driver-470", for a while, but recent silly Ubuntu updates bump up the Linux kernel version to 6.8.x. GTX 760 relies on the legacy NVIDIA driver version 470 which works only up to 5.15.0-153! The update destroys the work of the GPU. Use chatgpt to revert to the older Linux kernel version, get out of the DKMS dependency hell, remove NVIDIA drivers, update GRUB, and reboot into a clean "noveau state" with uname -r output as 5.15.0-153-generic, not something newer like 6.8.0-83-generic. Pin the kernel to 5.15.0-153 so that the Ubuntu updates may never touch the Linux kernel, then install nvidia-driver-470. Some other links:

    How to Enable Vulkan Rendering in Wine Games using DXVK

    How to Install Wine on Ubuntu 22.04

    I am not sure if these Vulkan libs are essential, but I have installed them along with vulkan-tools.

    Create a wine prefix, let us call it "wpr1.10.3":

    mkdir /home/tokyo/games/wpr1.10.3

    WINEPREFIX=”/home/tokyo/games/wpr1.10.3” winecfg

    (Use your own "/home/username" and a path, mine is "/home/tokyo". winecfg creates a prefix, do not do anything in the GUI, simply close it.)

  2. Install the latest dxvk which works with older NVIDIA cards such as GTX 760:

    Download and extract dxvk v1.10.3 (not the newer ones) from releases.

    cd dxvk-1.10.3

    chmod +x setup_dxvk.sh

    WINEPREFIX=/home/tokyo/games/wpr1.10.3 ./setup_dxvk.sh install

    Note that newer dxvk versions do not have a script, you have to follow a few manual instructions shown in dvxk readme.md. Version 1.10.3 still has the script setup_dxvk.sh that does it all, no need to copy anything manually, and no need to use winecfg to add DLL overrides for "d3d11, d3d10core, dxgi, and d3d9".

    Ignore all the warnings and errors unless they result in a crash. I get "Could not find dependent assembly LMiscrosoft.Windows.Common-Controls", "Haswell Vulkan support is incomplete", "failed to create ifstub...", "failed to marshall the interface..." and so on. Plenty of null exceptions from Unity will appear later on, none of them seem to matter.

  3. Install the game:

    cd into a mounted game folder.

    WINEPREFIX=/home/tokyo/games/wpr1.10.3 wine setup.exe

  4. Start the game:

    cd /home/tokyo/games/wpr1.10.3/drive_c/Program Files (x86)/Inside

    WINEPREFIX=/home/tokyo/games/wpr1.10.3 wine INSIDE.exe

    To log FPS and debug:

    DXVK_HUD="1" DXVK_LOG_LEVEL=debug DXVK_DEBUG_LAYERS=1 WINEPREFIX=/home/tokyo/games/wpr1.10.3 WINEDEBUG=-all,+vulkan wine INSIDE.exe &> output.txt

P.S. You may encounter several types of ugly-looking problems along the way, but they are solvable.

  1. The randr issue
0098:err:winediag:is_broken_driver Broken NVIDIA RandR detected, falling back to RandR 1.0. Please consider using the Nouveau driver instead.

This is the problem caused by some of the latest Ubuntu updates which have changed the way to manage multiple monitors. The solution that has worked for me is reported by ozkan:

sudo nvidia-settings 

and choose "X Server Display Configuration", enter the screen resolution, mine is 1920x1080, and export these settings to "xorg.conf" file somewhere. Then copy/overwrite /etc/X11/xorg.conf with it. There is always a risk to get a black sreen afterwards, but this has worked for me. My xorg.conf (just in case, look into it, but don't copy it as I use two specific monitors which won't match your configuration):

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 510.47.03

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
EndSection

Section "Files"
EndSection

Section "Module"
    Load           "dbe"
    Load           "extmod"
    Load           "type1"
    Load           "freetype"
    Load           "glx"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Samsung S27B370"
    HorizSync       30.0 - 81.0
    VertRefresh     50.0 - 75.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "NVIDIA GeForce GTX 760"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-0"
    Option         "metamodes" "DVI-I-1: 1920x1080 +0+0"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

This won't freeze anything to a fixed resolution 1920x1080, it will simply solve the randr problem.

By the way, after this change, I got back the same old multiple monitor management in Ubuntu->Settings->Displays with the "mirror" option which seemed to be gone after the latest Ubuntu updates (Summer 2024, Ubuntu 22.04, not 24.04).

  1. The missing Visual C++ runtime and similar GUI message errors. Do not use winetricks to install any missing libs, it may break everything. Instead, go to the official MS site, download a package, cd into the folder with an executable install .exe file and run that file on Ubuntu:
WINEPREFIX=”/home/tokyo/games/wpr1.10.3” wine a-setup-file.exe

You may install multiple runtimes into the same wine prefix. I have two: MS Visual C++ 2008 x64 and MS Visual C++ 2015-2022 x64. To remove the lib, use

WINEPREFIX=”/home/tokyo/games/wpr1.10.3” wine uninstaller

A general advice from experience: Never "sudo upgrade" anything on Ubuntu. Be very careful even with any updades. One cannot block the updates, they may appear unexpectedly, and make everything very fragile, e.g. if you lose network while updating you may lose network or sound drivers which are as bad as getting a black screen. Once in a while you will reboot a computer and it will be a different machine with a new NVIDIA driver version, multiple monitor management changed, or some bug. So have a two-disk drive setup with a USB stick nearby.

Use ChatGPT to downgrade the Linux kernel version so that it matches the NVIDIA driver of the legacy GPU card.

BBlisto91 2024-01-09 github

1.10.3 is the last stable release to work on older drivers just as a quick fyi.
Branch https://github.com/doitsujin/dxvk/commits/1.10.x/ have some extra commit back ports on top that didn't make it to a stable release outside 2.0+