HGL
diverse-rose

Salt and Sanctuary not starting

Hello there i am trying to run s&s and it is not starting i have reinstalled few times and it did not worked. Here is the logs https://pastebin.com/hcULDXxV I was not able to upload the logs on heroic's default site so i used pastebin. The game Does not open and no errors logs or anything just crashes. Extra details: OS: NixOS 25.5 stable release. Heroic Version: 2.17.2 Installed heroic from NixOS package manager. Verbose logs: Enabled.
Pastebin
Launching "Salt and Sanctuary" (legendary)Native? NoInstalled in: /...
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
31 Replies
diverse-rose
diverse-roseOP3mo ago
@arieljuod Hello there please check and tell me what Distro you have used to test and what wine version so i can check.
diverse-rose
diverse-roseOP3mo ago
I installed appimage version of heroic and here is the better logs. https://pastebin.com/WRM5exkj
Pastebin
(14:57:08) [INFO]: Launching "Salt and Sanctuary" (legendary)(14...
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
robust-apricot
robust-apricot3mo ago
You lack a Vulkan driver it seems
diverse-rose
diverse-roseOP3mo ago
Yeah app image does say that, but not the native heroic. Even with appimage package i can't run another game when native package's heroic worked.
correct-apricot
correct-apricot3mo ago
@aidalgol could this be something about the nixos package? I know it caused some issues in the past, maybe you recognize the issues in the two logs
diverse-rose
diverse-roseOP3mo ago
{
pkgs,
lib,
...
}: {
boot.kernelParams = [
"amd_pstate=guided" # Better power management for Zen 2+
"amdgpu"
"iommu=pt" # Improves performance with IOMMU
];

hardware.amdgpu = {
amdvlk = {
enable = false; # Prefer RADV over AMDVLK
support32Bit.enable = false;
};
opencl = {
enable = true; # Enable OpenCL support
};
};

hardware.graphics = {
enable = true;
enable32Bit = true;
extraPackages = with pkgs; [
# Video acceleration
vaapiVdpau
libvdpau-va-gl

# Mesa drivers
mesa

# Vulkan
vulkan-loader
vulkan-validation-layers
vulkan-tools

# Additional AMD tools (optional but useful)
rocmPackages.clr.icd # Better OpenCL support
];
extraPackages32 = with pkgs.pkgsi686Linux; [
mesa
vulkan-loader
vulkan-validation-layers
vulkan-tools
];
};

environment.variables = {
# Video acceleration
VDPAU_DRIVER = "radeonsi";
LIBVA_DRIVER_NAME = "radeonsi";

# Prefer RADV (Mesa) Vulkan driver
AMD_VULKAN_ICD = "RADV";

# Let the Vulkan loader auto-detect ICDs from the directory
# This handles both 32-bit and 64-bit automatically
VK_ICD_FILENAMES = "/run/opengl-driver/share/vulkan/icd.d/";

# Optional: Force high performance mode (uncomment if needed)
# AMD_VULKAN_PERFORMANCE_MODE = "high";
};

services.xserver.videoDrivers = lib.mkDefault ["amdgpu" "modesetting"];

# AMD-specific power management (optional but recommended)
powerManagement.cpuFreqGovernor = lib.mkDefault "schedutil";

hardware.enableRedistributableFirmware = true;
hardware.cpu.amd.updateMicrocode = true;
}
{
pkgs,
lib,
...
}: {
boot.kernelParams = [
"amd_pstate=guided" # Better power management for Zen 2+
"amdgpu"
"iommu=pt" # Improves performance with IOMMU
];

hardware.amdgpu = {
amdvlk = {
enable = false; # Prefer RADV over AMDVLK
support32Bit.enable = false;
};
opencl = {
enable = true; # Enable OpenCL support
};
};

hardware.graphics = {
enable = true;
enable32Bit = true;
extraPackages = with pkgs; [
# Video acceleration
vaapiVdpau
libvdpau-va-gl

# Mesa drivers
mesa

# Vulkan
vulkan-loader
vulkan-validation-layers
vulkan-tools

# Additional AMD tools (optional but useful)
rocmPackages.clr.icd # Better OpenCL support
];
extraPackages32 = with pkgs.pkgsi686Linux; [
mesa
vulkan-loader
vulkan-validation-layers
vulkan-tools
];
};

environment.variables = {
# Video acceleration
VDPAU_DRIVER = "radeonsi";
LIBVA_DRIVER_NAME = "radeonsi";

# Prefer RADV (Mesa) Vulkan driver
AMD_VULKAN_ICD = "RADV";

# Let the Vulkan loader auto-detect ICDs from the directory
# This handles both 32-bit and 64-bit automatically
VK_ICD_FILENAMES = "/run/opengl-driver/share/vulkan/icd.d/";

# Optional: Force high performance mode (uncomment if needed)
# AMD_VULKAN_PERFORMANCE_MODE = "high";
};

services.xserver.videoDrivers = lib.mkDefault ["amdgpu" "modesetting"];

# AMD-specific power management (optional but recommended)
powerManagement.cpuFreqGovernor = lib.mkDefault "schedutil";

hardware.enableRedistributableFirmware = true;
hardware.cpu.amd.updateMicrocode = true;
}
Here is my graphics config.
robust-apricot
robust-apricot3mo ago
No description
robust-apricot
robust-apricot3mo ago
hardware.amdgpu = {
amdvlk = {
enable = false; # Prefer RADV over AMDVLK
support32Bit.enable = false
hardware.amdgpu = {
amdvlk = {
enable = false; # Prefer RADV over AMDVLK
support32Bit.enable = false
Why is this false then? 32 bit game will require 32 bit icd to be present
diverse-rose
diverse-roseOP3mo ago
When i tried the Salt and sedentary had issues. I mean that was different version of s&s. Let me try after enabling these. @"Leopard" You on linux?
robust-apricot
robust-apricot3mo ago
Yes, Arch
diverse-rose
diverse-roseOP3mo ago
Yeah i can remember installing GPU drivers in Arch, it was just easy to do but NixOS is way too different.
other-emerald
other-emerald3mo ago
Looks like it might be the same issue that we fixed recently, but only on the unstable nixpkgs channel, because the changes were too risky to backport to the stable channel. The log shows they're on NixOS stable, so they won't have the fix.
diverse-rose
diverse-roseOP3mo ago
Interesting should i try to pull the package from NixOS unstable?
other-emerald
other-emerald3mo ago
It's generally not advised to mix nixpkgs channels like that.
robust-apricot
robust-apricot3mo ago
Good news, issue isnt NixOS related Game doesnt work here either
diverse-rose
diverse-roseOP3mo ago
Okay nice to hear. Okay no totally not nice. You just tried NixOS?
other-emerald
other-emerald3mo ago
Do other games work on your system? If so, then your NixOS graphics might be fine.
robust-apricot
robust-apricot3mo ago
No Yes Im on Arch Linux after all Not some weirdo base
other-emerald
other-emerald3mo ago
lol, that was directed at @Linux DADDY
diverse-rose
diverse-roseOP3mo ago
Yes. Even after enabling amdvlk it worked.
{
pkgs,
lib,
...
}: {
boot.kernelParams = [
"amd_pstate=guided" # Better power management for Zen 2+
"iommu=pt" # Improves performance with IOMMU
];

hardware.amdgpu = {
amdvlk = {
enable = true;
support32Bit.enable = true;
};
opencl.enable = true;
};

hardware.graphics = {
enable = true;
enable32Bit = true;
extraPackages = with pkgs; [
# Video acceleration
vaapiVdpau
libvdpau-va-gl

# Vulkan tools (for debugging/testing)
vulkan-validation-layers
vulkan-tools

# OpenCL
rocmPackages.clr.icd
];
extraPackages32 = with pkgs.pkgsi686Linux; [
# Only the essentials for 32-bit
mesa
];
};

environment.variables = {
# Video acceleration
VDPAU_DRIVER = "radeonsi";
LIBVA_DRIVER_NAME = "radeonsi";

# Optional: Set default Vulkan driver
# Remove this to let apps auto-select between RADV and AMDVLK
# AMD_VULKAN_ICD = "RADV";
};

services.xserver.videoDrivers = lib.mkDefault ["amdgpu" "modesetting"];
powerManagement.cpuFreqGovernor = lib.mkDefault "schedutil";
hardware.enableRedistributableFirmware = true;
hardware.cpu.amd.updateMicrocode = true;
}
{
pkgs,
lib,
...
}: {
boot.kernelParams = [
"amd_pstate=guided" # Better power management for Zen 2+
"iommu=pt" # Improves performance with IOMMU
];

hardware.amdgpu = {
amdvlk = {
enable = true;
support32Bit.enable = true;
};
opencl.enable = true;
};

hardware.graphics = {
enable = true;
enable32Bit = true;
extraPackages = with pkgs; [
# Video acceleration
vaapiVdpau
libvdpau-va-gl

# Vulkan tools (for debugging/testing)
vulkan-validation-layers
vulkan-tools

# OpenCL
rocmPackages.clr.icd
];
extraPackages32 = with pkgs.pkgsi686Linux; [
# Only the essentials for 32-bit
mesa
];
};

environment.variables = {
# Video acceleration
VDPAU_DRIVER = "radeonsi";
LIBVA_DRIVER_NAME = "radeonsi";

# Optional: Set default Vulkan driver
# Remove this to let apps auto-select between RADV and AMDVLK
# AMD_VULKAN_ICD = "RADV";
};

services.xserver.videoDrivers = lib.mkDefault ["amdgpu" "modesetting"];
powerManagement.cpuFreqGovernor = lib.mkDefault "schedutil";
hardware.enableRedistributableFirmware = true;
hardware.cpu.amd.updateMicrocode = true;
}
Updated config. Other game like s&s different version worked also dark souls 2 SOFTS worked. real arch user. yeah i was like this too lol @aidalgol I assume you do have something to do with Heroic launcher in NixOS, So what if i use Appiamge version in NixOS?
other-emerald
other-emerald3mo ago
I maintain the NixOS package (which is an unofficial package). AppImages on NixOS are fine.
diverse-rose
diverse-roseOP3mo ago
Even after changing GPU driver to amdvlk it did not worked. And the dev himself said i can play pirated version of his same it worked but it is old version, so the real way is to play original game from epic store. when i tried to run appimage in NixOS appimage-run Appimages/Heroic-2.18.1-linux-x86_64.AppImage I get some runtime errors And game itself also does not run. So how can i replace NixOS stable's version of heroic to Appimage version of heroic?
diverse-rose
diverse-roseOP3mo ago
https://pastebin.com/eigRNiS2 New logs with appimage version if you need to read.
Pastebin
(20:58:26) [INFO]: Launching "Salt and Sanctuary" (legendary)(20...
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
diverse-rose
diverse-roseOP3mo ago
Update: i pulled the heroic package from unstable branch and at least game opened but can't run some xna issues now Will give you the logs tomorrow after trying more, and I'm sleepy now.
other-emerald
other-emerald3mo ago
You might have to wipe your config before switching versions. Can you ask on the matrix channel #gaming:nixos.org?
diverse-rose
diverse-roseOP3mo ago
Sure i would as i need to fix the issue. @aidalgol As you are maintrainer let me ask you an qus, Which is how desktop shortcuts works in NixOS? i enabled it and it did not worked. and any other way to use them?
other-emerald
other-emerald3mo ago
Entirely possible it's broken with the nix package.
diverse-rose
diverse-roseOP2mo ago
Can't you fix it on NixOS unstable or make a pr in heroic github which can fix it on NixOS?
other-emerald
other-emerald2mo ago
I said possible. I don't use it myself, so I don't know. Please create a ticket (on nixpkgs, not heroic) for this: https://github.com/NixOS/nixpkgs/issues/new/choose
diverse-rose
diverse-roseOP2w ago
@arieljuod @"Leopard" @aidalgol Just to let you know, this game working fine now with cachyos proton v4. The stock proton didn't worked with this game. But on first run token got corrupted probably but in second run it actually run but not sure if it's have internet connection or not, will try later. It worked well with the proton version from proton qt.

Did you find this page helpful?