GithubHelp home page GithubHelp logo

fufexan / nix-gaming Goto Github PK

View Code? Open in Web Editor NEW
437.0 14.0 41.0 552 KB

Gaming on Nix

License: MIT License

Nix 69.24% Shell 11.90% Python 18.86%
nix nixos gaming wine osu pipewire tkg wine-ge epic legendary

nix-gaming's Introduction

๐ŸŽฎ nix-gaming

Gaming related stuff for Nix and NixOS.

See an overview of the flake outputs by running nix flake show github:fufexan/nix-gaming.

๐Ÿ—ƒ๏ธ What's in here?

Package Description
faf-client Forged Alliance Forever client (multiple packages)
osu-lazer-bin osu! lazer, extracted from the official AppImage
osu-stable osu! stable version
rocket-league Rocket League from Epic Games
star-citizen Star Citizen
technic-launcher Technic Launcher
wine-discord-ipc-bridge Wine-Discord RPC Bridge
wine Multiple Wine packages
winestreamproxy Wine-Discord RPC (broken)
northstar-proton Proton build based on TKG's proton-tkg build system to run the Northstar client on Linux and SteamDeck
viper Launcher+Updater for Titanfall2 Northstar Client
  • legendaryBuilder is a function that installs games with legendary-gl. You are expected to log in before using it, with legendary auth. The function takes an attrset containing at least the attrset games which includes the games you want installed. Optionally, you can set an opts attrset that will set the options you set inside for all games listed. You can find a usage example in example.nix.

Install & Run

It's recommended to set up Cachix so you don't have to build packages (most useful for wine).

# configuration.nix
{
  nix.settings = {
    substituters = ["https://nix-gaming.cachix.org"];
    trusted-public-keys = ["nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4="];
  };
}

Now, rebuild your configuration and continue reading for install instructions.

If you're not using flakes, go here.

โ„๏ธ Flakes

Add these packages to your home.packages or environment.systemPackages by adding nix-gaming as an input:

# flake.nix
{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
    home-manager.url = "github:nix-community/home-manager";

    nix-gaming.url = "github:fufexan/nix-gaming";
  };

  outputs = {self, nixpkgs, ...}@inputs: {
    # set up for NixOS
    nixosConfigurations.HOSTNAME = nixpkgs.lib.nixosSystem {
      specialArgs = {inherit inputs;};
      modules = [
        ./configuration.nix
        # ...
      ];
    };

    # or for Home Manager
    homeConfigurations.HOSTNAME = inputs.home-manager.lib.homeManagerConfiguration {
      pkgs = import nixpkgs {
        system = "x86_64-linux";
        config.allowUnfree = true;
      };

      extraSpecialArgs = {inherit inputs;};

      modules = [
        ./home.nix
        # ...
      ];
    }
  };
}

Then, add the package(s):

{pkgs, inputs, ...}: {
  environment.systemPackages = [ # or home.packages
    inputs.nix-gaming.packages.${pkgs.system}.<package> # installs a package
  ];
}

If you want to install packages to your profile instead, do it like this

nix profile install github:fufexan/nix-gaming#<package>

Everything is available as an overlay if you prefer that, though your results may greatly differ from the packages.

Nix Stable

To install packages to environment.systemPackages, add this in configuration.nix:

{pkgs, ...}: let
  nix-gaming = import (builtins.fetchTarball "https://github.com/fufexan/nix-gaming/archive/master.tar.gz");
in {
  # install packages
  environment.systemPackages = [ # or home.packages
    nix-gaming.packages.${pkgs.hostPlatform.system}.<package>
  ];
}

Modules

Here are some NixOS modules for setting gaming related options.

Installation

Flakes

Assuming you've followed the Install/Flakes instructions, all you need to do is add the module to your configuration like this:

{inputs, ...}: {
  imports = [
    inputs.nix-gaming.nixosModules.<module name>
  ];
}

Now you can skip to the Usage section of a specific module.

Stable

Assuming you've followed the Install/Nix Stable instructions, all you need to do is add the module to your configuration like this:

{pkgs, ...}: let
  nix-gaming = /* ... */;
in {
  imports = [
    nix-gaming.nixosModules.<module name>
  ];
}

PipeWire low latency

PipeWire is a new audio backend that replaces ALSA, PulseAudio and JACK. It is as low latency as JACK and as easy to use as Pulse.

This module extends the PipeWire module from Nixpkgs and makes it easy to enable the low latency settings in a few lines.

Usage

After importing the module in your configuration like described above, enable it along with PipeWire:

{
  services.pipewire = {
    enable = true;
    alsa.enable = true;
    alsa.support32Bit = true;
    pulse.enable = true;

    lowLatency = {
      # enable this module
      enable = true;
      # defaults (no need to be set unless modified)
      quantum = 64;
      rate = 48000;
    };
  };

  # make pipewire realtime-capable
  security.rtkit.enable = true;
}

If you get no sound, you may want to increase quantum.

You can calculate the theoretical latency by dividing quantum by rate (48/48000 is exactly 1ms).

Platform optimizations

SteamOS on the steam deck has set some specific sysctl settings, so that some games can be run at all, or perform better under certain circumstances.

This module extends the Steam module from Nixpkgs but can be enabled as a standalone option.

Usage

After importing the module in your configuration like described above, enable it like this:

{
  programs.steam.platformOptimizations.enable = true;
}

โš™ Game overrides

Wine-based game derivations were written with versatility in mind.

These arguments can be modified in order to get the desired results.

{
  wine      ? wine-ge,          # controls the wine package used to run wine games
  wineFlags ? "",               # which flags to run wine with (literal)
  pname     ? "game-name",      # name of the script and package
  location  ? "$HOME/${pname}", # where to install the game/wine prefix
  tricks    ? [],               # which wine tricks to install

  preCommands  ? "",            # run commands before the game is started
  postCommands ? "",            # run commands after the game is closed
}:

osu-stable wine-discord-ipc-bridge wine overriding

Sometimes you want to override wine for various reasons. Here's how to do it:

{
  environment.systemPackages = let
    gamePkgs = inputs.nix-gaming.packages.${pkgs.hostPlatform.system};
  in [ # or home.packages
    gamePkgs.osu-stable.override rec {
      wine = <your-wine>;
      wine-discord-ipc-bridge = gamePkgs.wine-discord-ipc-bridge.override {inherit wine;}; # or override this one as well
    };
  ];
}

๐Ÿ“ Tips

In order to get the most performance out of your machine, you could use the following tweaks:

  • custom/gaming kernel: linux_xanmod is the recommended one for games, since it provides many patches that aid wine and other games. It also provides a better desktop experience due to its preemptive build and tickless scheduler.
  • gamemode: lets you achieve lower nice values and higher realtime privileges at game start. It can either detect games or be started with gamemode-run.

๐Ÿ‘ฅ Credits & Resources

Thank you: boppyt - gonX - InfinityGhost - LavaDesu - openglfreak - yusdacra and to all the contributors and users of this repo!

nix-gaming's People

Contributors

2epik4u avatar airplane avatar amarshall avatar chayleaf avatar darkkirb avatar dixslyf avatar fufexan avatar gliczy avatar infinityghost avatar jamesbt365 avatar keksbg avatar lavadesu avatar lovingmelody avatar ludovicopiero avatar lunnova avatar mringelborn avatar nferhat avatar notashelf avatar pedrohlc avatar rtunreal avatar sefidel avatar shardion avatar skver0 avatar thiagokokada avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nix-gaming's Issues

osu not starting

gamemodeauto:
gamemodeauto:
Pipe Server: Main thread awaiting client connection on \.\pipe\discord-ipc-0
0034:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0034:fixme:nls:GetFileMUIPath stub: 0x10, L"C:\windows\system32\tzres.dll", (null), 0031EBB8, 001A3F08, 0031EBBC, 0031EBB0
0034:fixme:nls:GetFileMUIPath stub: 0x10, L"C:\windows\system32\tzres.dll", (null), 0031EBB8, 001A3F08, 0031EBBC, 0031EBB0
ATTENTION: default value of option vblank_mode overridden by environment.
016c:fixme:avrt:AvSetMmThreadCharacteristicsW (L"Audio",0B72FF10): stub
Client connected
Creating socket
Attempting to connect to /run/user/1000/discord-ipc-0
Failed to connect
Attempting to connect to /run/user/1000/discord-ipc-1
Failed to connect
Attempting to connect to /run/user/1000/discord-ipc-2
Failed to connect
Attempting to connect to /run/user/1000/discord-ipc-3
Failed to connect
Attempting to connect to /run/user/1000/discord-ipc-4
Failed to connect
Attempting to connect to /run/user/1000/discord-ipc-5
Failed to connect
Attempting to connect to /run/user/1000/discord-ipc-6
Failed to connect
Attempting to connect to /run/user/1000/discord-ipc-7
Failed to connect
Attempting to connect to /run/user/1000/discord-ipc-8
Failed to connect
Attempting to connect to /run/user/1000/discord-ipc-9
Failed to connect
Could not connect to discord client
0034:fixme:win:RegisterTouchWindow (00010060 00000002): stub
0034:fixme:rawinput:RegisterRawInputDevices Unhandled flags 0x2100 for device 0.
0034:fixme:rawinput:RegisterRawInputDevices Unhandled flags 0x2100 for device 1.
0034:fixme:win:RegisterDeviceNotificationA The notification filter will requires an A->W when filter support is implemented
0034:fixme:service:I_ScRegisterDeviceNotification Notification filters are not yet implemented.
011c:fixme:wincodecs:jpeg_decoder_get_metadata_blocks stub
0130:fixme:ole:thread_context_info_QueryInterface interface not implemented {51372ae0-cae7-11cf-be81-00aa00a2fa25}
0130:fixme:ole:thread_context_info_QueryInterface interface not implemented {51372ae0-cae7-11cf-be81-00aa00a2fa25}
0130:fixme:wmiutils:path_GetInfo some flags are not implemented
0130:fixme:wmiutils:path_GetInfo some flags are not implemented
0130:fixme:ole:thread_context_info_QueryInterface interface not implemented {51372ae0-cae7-11cf-be81-00aa00a2fa25}
0130:fixme:ole:thread_context_info_QueryInterface interface not implemented {51372ae0-cae7-11cf-be81-00aa00a2fa25}
0130:fixme:wbemprox:wbem_locator_ConnectServer authentication not supported
0130:fixme:wbemprox:wbem_locator_ConnectServer specific locale not supported
0130:fixme:wbemprox:wbem_locator_ConnectServer unsupported flags
0068:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0068:fixme:mountmgr:harddisk_ioctl The DISK_PARTITION_INFO and DISK_DETECTION_INFO structures will not be filled
0130:fixme:ole:thread_context_info_QueryInterface interface not implemented {51372ae0-cae7-11cf-be81-00aa00a2fa25}
0130:fixme:wbemprox:wbem_services_CreateInstanceEnum unsupported flags 0x00000011
0068:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0068:fixme:mountmgr:harddisk_ioctl The DISK_PARTITION_INFO and DISK_DETECTION_INFO structures will not be filled
0130:fixme:ole:thread_context_info_QueryInterface interface not implemented {51372ae0-cae7-11cf-be81-00aa00a2fa25}
0130:fixme:wmiutils:status_code_GetErrorCodeText 10443A20, 0x80041002, 0x0000, 0x00000001, 0826F384
01b4:fixme:wincodecs:jpeg_decoder_get_metadata_blocks stub

Low-latency PipeWire module broken on unstable nixpkgs

When updating my personal flake to the latest unstable nixpkgs (nix flake update reports it as 'github:nixos/nixpkgs/4361baa782dc3d3b35fd455a1adc370681d9187c' (2023-03-26)), I get these errors:

error:
Failed assertions:
- The option definition `services.pipewire.media-session' in `/nix/store/gbbsb725hdav0k22b4qscdv6201fj80a-source/flake.nix' no longer has any effect; please remove it.
pipewire-media-session is no longer supported upstream and has been removed.
Please switch to `services.pipewire.wireplumber` instead.


- The option definition `services.pipewire.config' in `/nix/store/gbbsb725hdav0k22b4qscdv6201fj80a-source/flake.nix' no longer has any effect; please remove it.
Overriding default Pipewire configuration through NixOS options never worked correctly and is no longer supported.
Please create drop-in files in /etc/pipewire/pipewire.conf.d/ to make the desired setting changes instead.

I'm unsure where services.pipewire.media-session is enabled, and that could very well be an issue with my flake, but I am certain that nix-gaming is using services.pipewire.config here.

Module pipewireLowLatency causes build failure

Attempting to build on nixos-unstable with the services.pipewire.lowLatency.enable = true causes the build to failed due to the usage of environment.etc."pipewire/pipewire-pulse.d"

Error message:

mkdir: cannot create directory '/nix/store/mhzd8fy047lqcp72lmakmi7rlaap31zf-etc/etc/pipewire/pipewire-pulse.d': Permission denied

Need example

I'm trying to install Warframe in the most efficient way, without using steam

But I need an example, the only one I could find is this one.
https://www.reddit.com/r/NixOS/comments/sflmgj/wine_issue/

My home is not permanent, that's why being able to move it would suit me

any help would be appreciated, i still have a bit of trouble with some aspect of nix

Update winestreamproxy

The version of winestreamproxy provided by this flake constantly causes segfaults killing the entire wineserver.

Wine-GE-LoL

Every once in a while GloriousEggroll releases a specific wine-ge build for League of Legends (wine-ge-lol). Any chance we could have it included in nix-gaming?

vkd3d and dxvk broken

dxvk and vkd3d both need fetchSubmodules = true, and can't fetch source as a tar like the current npins setup requires
dxvk needs the dxvk-async version to match or to remove that patch
vkd3d on newer nixpkgs needs a version that contains HansKristian-Work/vkd3d-proton#1470

Star Citizen - no audio

I have installed Star Citizen and it is running fine but I don't have any audio from the game. Weirdly enough I get the audio from the launcher but not from the game. Audio from other sources works without any issues. There is not even any output in EasyEffects or qpgraph.

Here is my audio setup:

{ config, nix-gaming, ... }:

{
  imports = [
    nix-gaming.nixosModules.pipewireLowLatency
  ];

  security.rtkit.enable = true;
  sound.enable = false;
  hardware.pulseaudio.enable = false;

  services.pipewire = {
    enable = true;
    audio.enable = true;

    alsa = {
      enable = true;
      support32Bit = true;
    };

    pulse.enable = true;
    wireplumber.enable = true;

    lowLatency = {
      enable = true;
      quantum = 64;
      rate = 48000;
    };
  };
}

Any idea what might be wrong?

Allow unfree packages in flake?

The current mechanism doesn't include that, but we do provide packages with unfree licenses, such as osu-lazer-bin, and maybe others in the future.

Should we enable allowUnfree in this flake, and implicitly in users' flake configs? Or should we leave it as is, requiring users to add
NIXPKGS_ALLOW_UNFREE=1 nixos-rebuild ... --impure when building?

`wine-ge`: OpenGL apps don't work

When trying to open an OpenGL application with wine-ge (or a Direct3D application with WineD3D (that is, without DXVK)):

0024:err:wgl:X11DRV_WineGL_InitOpenglInfo  couldn't initialize OpenGL, expect problems

And the application crashes.

This doesn't happen with Wine devel from nixpkgs.

 - system: `"x86_64-linux"`
 - host os: `Linux 6.1.9-zen1, NixOS, 23.05 (Stoat), 23.05.20230205.d25de66`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.13.2`
 - channels(root): `"nixos"`
 - channels(user): `""`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

EDIT: Still an issue as of February 17.

 - system: `"x86_64-linux"`
 - host os: `Linux 6.1.12-zen1, NixOS, 23.05 (Stoat), 23.05.20230216.8c66bd1`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.13.2`
 - channels(root): `"nixos"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Star Citizen not being installed

Splitting off from #122 since we're having different problems now.

As a recap, on the master branch with a fresh install of Star Citizen (no Wine prefix in $HOME/Games/star-citizen) I'm getting the following output when running the star-citizen script:

Error: File not found - /home/joe/Games/star-citizen/drive_c/Program
Error: File not found - Files/Roberts
Error: File not found - Space
Error: File not found - Industries/RSI
Error: File not found - Launcher/RSI
Error: File not found - Launcher.exe
wine: WINEARCH set to win64 but '/home/joe/Games/star-citizen' is a 32-bit installation.
wine: WINEARCH set to win64 but '/home/joe/Games/star-citizen' is a 32-bit installation.
gamemodeauto: 
wine: WINEARCH set to win64 but '/home/joe/Games/star-citizen' is a 32-bit installation.

This is accompanied by no GUI output, although the Wine prefix and the "$WINEPREFIX/drive_c/Program Files/Roberts Space Industries/StarCitizen/"{LIVE,PTU} directories are created. However, none of the directories are populated, and it seems that RSI-Setup-${version}.exe never runs.

Switching to @LovingMelody's new PR #124 and allowing it to compile the uncached version of proton-ge that is used there solves the File not found errors. Starting from a fresh Wine prefix again gives the following output:

------------------------------------------------------
Creating WINEPREFIX "/home/joe/Games/star-citizen" with WINEARCH=win64
------------------------------------------------------
wine: created the configuration directory '/home/joe/Games/star-citizen'
wine: WINEARCH set to win64 but '/home/joe/Games/star-citizen' is a 32-bit installation.
------------------------------------------------------
WINEPREFIX INFO:
Drive C: total 12
drwxr-xr-x 3 joe users 4096 Oct 24 19:47 .
drwxr-xr-x 4 joe users 4096 Oct 24 19:47 ..
drwxr-xr-x 3 joe users 4096 Oct 24 19:47 windows

Registry info:
/home/joe/Games/star-citizen/system.reg:#arch=win32
/home/joe/Games/star-citizen/userdef.reg:#arch=win32
/home/joe/Games/star-citizen/user.reg:#arch=win32
------------------------------------------------------
------------------------------------------------------
warning: wine cmd.exe /c echo '%AppData%' returned empty string, error message "wine: WINEARCH set to win64 but '/home/joe/Games/star-citizen' is a 32-bit installation." 
------------------------------------------------------
wine: WINEARCH set to win64 but '/home/joe/Games/star-citizen' is a 32-bit installation.
wine: WINEARCH set to win64 but '/home/joe/Games/star-citizen' is a 32-bit installation.
gamemodeauto: 
wine: WINEARCH set to win64 but '/home/joe/Games/star-citizen' is a 32-bit installation.

Again, there's no GUI output and the directories are created but not populated. Running the script again yields

wine: WINEARCH set to win64 but '/home/joe/Games/star-citizen' is a 32-bit installation.
gamemodeauto: 
wine: WINEARCH set to win64 but '/home/joe/Games/star-citizen' is a 32-bit installation.

From looking at the output that another user was getting in #122, I don't think I should be getting this 32-bit installation message. I'm not sure what's causing it either, since the Wine prefix is clearly being created as win64, but the created prefix shows #arch=win32 in the prefix's system.reg.

Is the 32-bit message a red herring, or is this actually preventing the setup exe from running?

Xash3D

I created the derivations, it's better if the additional files to be put in valve are instead packed into a zip file and passed via XASH3D_EXTRAS_PAK2 env var, otherwise setup is way too involved. Here's the derivation files without that env var: https://gist.github.com/chayleaf/a8ad389e520e58b885779e051450707e

Vulkan fork https://gist.github.com/chayleaf/17e6b052ae6e090e866384b8750cef0e

Ray tracing fork (couldn't get it to run, but it does build) https://gist.github.com/chayleaf/80be1f3e751a0e85df55e69930b5e9c3

wine-tkg is outdated

Title. Current version here is 7.0 (from January), while upstream's version is 7.8.

Wine check fails - undefined variable 'x11Support'

Wine check is failing as per CI

      error: undefined variable 'x11Support'

       at /nix/store/52qhaawjkgarxzdyinnnik5wvavyr377-source/pkgs/applications/emulators/wine/base.nix:81:39:

           80|   ++ lib.optional pulseaudioSupport      pkgs.libpulseaudio
           81|   ++ lib.optional (xineramaSupport && x11Support) pkgs.xorg.libXinerama
             |                                       ^
           82|   ++ lib.optional udevSupport            pkgs.udev

Update keeps rebuilding wine-ge-full-Proton8-26

After every update I get this warning:
warning: ignoring substitute for '/nix/store/ls7c8562rwd56yy1dwcvg6bx0dywh04l-wine-ge-full-Proton8-26' from 'https://nix-gaming.cachix.org', as it's not signed by any of the keys in 'trusted-public-keys'
and my system rebuilds this version.

The current proton version is 8-31 in the repository and the only reference to 8-26 I can see is here: https://github.com/fufexan/nix-gaming/blob/master/npins/sources.json#L108. I am not really sure what npins does in that case.
I checked the trusted key I configured here: https://github.com/kharf/nix-config/blob/main/nixos/configuration.nix#L41 and it seems to be the correct one still.
Is the pin maybe outdated and should pin the 8-31 branch or why do I get this warning?

`osu-lazer`'s `info.json` is empty

The scheduled update yesterday seems to have broken osu-lazer, resulting in an empty info.json. Looking through the workflow's logs:

error: unable to download 'https://github.com/ppy/osu/releases/download/2023.301.0/osu.AppImage': HTTP error 404

       response body:

       ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ/Qp๏ฟฝ/๏ฟฝK๏ฟฝM๏ฟฝt๏ฟฝ       

Seems like osu-lazer upstream made a tag yesterday that had no release binaries, only source code, hence the above error. We should probably add a check to the update script.

Cannot install extraCompatPackages as of latest update.

I just pulled down an update this morning, and I was stopped by this error:

error:
       โ€ฆ while calling the 'head' builtin

         at /nix/store/scbcfz9nm6im7sx2jwkllj4h8fgb5vcg-source/lib/attrsets.nix:967:11:

          966|         || pred here (elemAt values 1) (head values) then
          967|           head values
             |           ^
          968|         else

       โ€ฆ while evaluating the attribute 'value'

         at /nix/store/scbcfz9nm6im7sx2jwkllj4h8fgb5vcg-source/lib/modules.nix:809:9:

          808|     in warnDeprecation opt //
          809|       { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
             |         ^
          810|         inherit (res.defsFinal') highestPrio;

       (stack trace truncated; use '--show-trace' to show the full trace)

       error: The option `programs.steam.extraCompatPackages' in `/nix/store/scbcfz9nm6im7sx2jwkllj4h8fgb5vcg-source/nixos/modules/programs/steam.nix' is already declared in `/nix/store/2h4q1hiszh3gbkpk53ldj4f7kp2n5cjy-source/flake.nix#nixosModules.steamCompat'.

I am not defining the extraCompatPackages anywhere but in that NixOS module, so I think something went wrong here. Needless to say, I should be able to set that to install things like Proton-GE, correct?

"Failed to initialize dependencies" when trying to launch Star Citizen

Hi there! I'm relatively new to nixOS, but I added the nix-gaming flake and added Star Citizen to my home-manager modules. I had SC running without issue previously via Lutris on endeavourOS, and I could probably get it running again pretty easy in Lutris, but figured I'd reach out here in an effort to help improve my nixOS knowledge.

Relevant dotfile links:

I'm getting a wine/windows error dialog indicating "Failed to initialize dependencies" when I click Launch Game in the SC launcher.

Here's a link to a gist with the wine log after I click LAUNCH GAME.

I followed the guide in the readme here, and I've verified via the lug-helper that my system is ready:

Preflight Check Complete

Your system is optimized for Star Citizen!

Passed Checks:
- Lutris is installed and up to date.
- Wine is installed on your system.
- Winetricks is installed and up to date.
- Your system has 63GiB of memory.
- Your CPU supports the necessary AVX instruction set.
- vm.max_map_count is set to 16777216.
- Hard open file descriptors limit is set to 524288.

Press any key...

At this point I don't see anything immediately obvious in the wine log (then again reading wine logs makes my eyes go cross), and am unsure where exactly the problem lies.

osu! fails to run

osu! fails to run with

osu! was unable to obtain a graphics context.

followed by

01cc:err:wgl:X11DRV_WineGL_InitOpenglInfo  couldn't initialize OpenGL, expect problems

I do have hardware.opengl.driSupport32bit set to true.

Proton-GE doesn't specify dependencies

Just got Proton GE working, but I had to manually add python3 and wineWowPackages to my system packages manually to get it to work. I believe the right thing to do is add them to the build inputs in the derivation, e.g.

buildInputs = [
python3
wineWowPackages.stable
];

DXVK Broken (Upstream issue)

DXVK is broken from upstream nixpkgs due to the transition to GCC 13 see (NixOS/nixpkgs#283642). We may want to consider pinning a nixpkgs version for DXVK or make changes to compile with GCC12. Looks like github:NixOS/nixpkgs/b01852a162216ff5521c43254986fe3048a35f56 is the last working commit for nixos-unstable-small

Steam package broken

I have not changed my configuration.nix in awhile, but today I tried to rebuild (to upgrade) and got this error

[root@nixos:/etc/nixos]# nixos-rebuild switch --upgrade
unpacking channels...
building Nix...
building the system configuration...
error:
       โ€ฆ while calling the 'head' builtin

         at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/attrsets.nix:967:11:

          966|         || pred here (elemAt values 1) (head values) then
          967|           head values
             |           ^
          968|         else

       โ€ฆ while evaluating the attribute 'value'

         at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:809:9:

          808|     in warnDeprecation opt //
          809|       { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
             |         ^
          810|         inherit (res.defsFinal') highestPrio;

       (stack trace truncated; use '--show-trace' to show the full trace)

       error: The option `programs.steam.extraCompatPackages' in `/nix/var/nix/profiles/per-user/root/channels/nixos/nixos/modules/programs/steam.nix' is already declared in `/nix/store/7pyn4hpkwy26pha6py71cj086khbj5sk-cqapfi5bvhzvarrbi2h1qrf2dav5r1nd-source/flake.nix#nixosModules.steamCompat'.


I am not using flakes, maybe that makes me an odd one out. Anyone else have this problem?

Wine fails to build due to missing wineRelease argument

With commit NixOS/nixpkgs@00f4862, wine now expects a wineRelease argument to select the version (from a quick glance, it's to select between wine-wayland and wine-staging, however wayland is built by default on Linux). However, current wine packages here do not supply the wineRelease argument, making the build fail:

error: evaluation aborted with the following error message: 'lib.customisation.callPackageWith: Function called without required argument "wineRelease" at /nix/store/43d9van77slsqjbxak4di29f5w6j7j0m-source/pkgs/applications/emulators/wine/base.nix:6'

`wine-tkg` package seems broken

When running wine notepad.exe to test the wine-tkg package wine-7.11 ( TkG Staging Esync Fsync ) a lot of errors spew out about:

  • Cannot get server thread queue
  • failed to create desktop window

in an infinite loop until the computer crashes.

This does not happen with the nixpkgs packaged wine, which leads me to belive that there is some issue with how wine-tkg is packaged.

Some example output from running notepad.exe:
Maximum number of clients reached0e64:err:msg:get_server_queue_handle Cannot get server thread queue
Maximum number of clients reached0f7c:err:win:get_desktop_window failed to create desktop window
0f60:err:msg:get_server_queue_handle Cannot get server thread queue
0e2c:err:msg:get_server_queue_handle Cannot get server thread queue
0e1c:err:msg:get_server_queue_handle Cannot get server thread queue
0e74:err:msg:get_server_queue_handle Cannot get server thread queue
0e04:err:win:get_desktop_window failed to create desktop window
0e34:err:msg:get_server_queue_handle Cannot get server thread queue
0e14:err:msg:get_server_queue_handle Cannot get server thread queue
0fac:err:win:get_desktop_window failed to create desktop window
0e58:err:win:get_desktop_window failed to create desktop window
0dec:err:win:get_desktop_window failed to create desktop window
0dc4:err:win:get_desktop_window failed to create desktop window
0e64:err:win:get_desktop_window failed to create desktop window
0fbc:err:msg:get_server_queue_handle Cannot get server thread queue
0f60:err:win:get_desktop_window failed to create desktop window
0e2c:err:win:get_desktop_window failed to create desktop window
0e1c:err:win:get_desktop_window failed to create desktop window
0e74:err:win:get_desktop_window failed to create desktop window
0e00:err:msg:get_server_queue_handle Cannot get server thread queue
0e34:err:win:get_desktop_window failed to create desktop window
1010:err:msg:get_server_queue_handle Cannot get server thread queue
1014:err:msg:get_server_queue_handle Cannot get server thread queue
0e14:err:win:get_desktop_window failed to create desktop window
Maximum number of clients reached0fbc:err:win:get_desktop_window failed to create desktop window
0f98:err:msg:get_server_queue_handle Cannot get server thread queue
0e00:err:win:get_desktop_window failed to create desktop window
1010:err:win:get_desktop_window failed to create desktop window
1030:err:msg:get_server_queue_handle Cannot get server thread queue
0e40:err:msg:get_server_queue_handle Cannot get server thread queue
100c:err:msg:get_server_queue_handle Cannot get server thread queue
1014:err:win:get_desktop_window failed to create desktop window
0e44:err:msg:get_server_queue_handle Cannot get server thread queue
Maximum number of clients reached0e80:err:msg:get_server_queue_handle Cannot get server thread queue
Maximum number of clients reachedMaximum number of clients reached0f98:err:win:get_desktop_window failed to create desktop window
0fcc:err:msg:get_server_queue_handle Cannot get server thread queue
0eac:err:msg:get_server_queue_handle Cannot get server thread queue
0e5c:err:msg:get_server_queue_handle Cannot get server thread queue
0e84:err:msg:get_server_queue_handle Cannot get server thread queue
100c:err:win:get_desktop_window failed to create desktop window
0e40:err:win:get_desktop_window failed to create desktop window
0e10:err:msg:get_server_queue_handle Cannot get server thread queue
1030:err:win:get_desktop_window failed to create desktop window
0e44:err:win:get_desktop_window failed to create desktop window
0e70:err:msg:get_server_queue_handle Cannot get server thread queue
0e80:err:win:get_desktop_window failed to create desktop window
0ef8:err:msg:get_server_queue_handle Cannot get server thread queue
0fc4:err:msg:get_server_queue_handle Cannot get server thread queue
0fcc:err:win:get_desktop_window failed to create desktop window
0eac:err:win:get_desktop_window failed to create desktop window
0e9c:err:msg:get_server_queue_handle Cannot get server thread queue
0f84:err:msg:get_server_queue_handle Cannot get server thread queue
0e5c:err:win:get_desktop_window failed to create desktop window
0e84:err:win:get_desktop_window failed to create desktop window
1034:err:msg:get_server_queue_handle Cannot get server thread queue
0e10:err:win:get_desktop_window failed to create desktop window
0fdc:err:msg:get_server_queue_handle Cannot get server thread queue
0e70:err:win:get_desktop_window failed to create desktop window
1008:err:msg:get_server_queue_handle Cannot get server thread queue
0ea0:err:msg:get_server_queue_handle Cannot get server thread queue
0ef8:err:win:get_desktop_window failed to create desktop window
0fd4:err:msg:get_server_queue_handle Cannot get server thread queue
0fe4:err:msg:get_server_queue_handle Cannot get server thread queue
0f84:err:win:get_desktop_window failed to create desktop window
0fc4:err:win:get_desktop_window failed to create desktop window
0e9c:err:win:get_desktop_window failed to create desktop window
1034:err:win:get_desktop_window failed to create desktop window
0fdc:err:win:get_desktop_window failed to create desktop window
0e98:err:msg:get_server_queue_handle Cannot get server thread queue
101c:err:msg:get_server_queue_handle Cannot get server thread queue
0eb4:err:msg:get_server_queue_handle Cannot get server thread queue
1008:err:win:get_desktop_window failed to create desktop window
0ebc:err:msg:get_server_queue_handle Cannot get server thread queue
1004:err:msg:get_server_queue_handle Cannot get server thread queue
0ea0:err:win:get_desktop_window failed to create desktop window
0fe4:err:win:get_desktop_window failed to create desktop window
Maximum number of clients reached0fd4:err:win:get_desktop_window failed to create desktop window
101c:err:win:get_desktop_window failed to create desktop window
0e98:err:win:get_desktop_window failed to create desktop window
104c:err:msg:get_server_queue_handle Cannot get server thread queue
0eb4:err:win:get_desktop_window failed to create desktop window
1054:err:msg:get_server_queue_handle Cannot get server thread queue
1004:err:win:get_desktop_window failed to create desktop window
0ebc:err:win:get_desktop_window failed to create desktop window
0f18:err:msg:get_server_queue_handle Cannot get server thread queue
0edc:err:msg:get_server_queue_handle Cannot get server thread queue
107c:err:msg:get_server_queue_handle Cannot get server thread queue
0fec:err:msg:get_server_queue_handle Cannot get server thread queue
1054:err:win:get_desktop_window failed to create desktop window
104c:err:win:get_desktop_window failed to create desktop window
0f18:err:win:get_desktop_window failed to create desktop window
106c:err:msg:get_server_queue_handle Cannot get server thread queue
Maximum number of clients reached0f04:err:msg:get_server_queue_handle Cannot get server thread queue
0edc:err:win:get_desktop_window failed to create desktop window
107c:err:win:get_desktop_window failed to create desktop window
0fec:err:win:get_desktop_window failed to create desktop window
115c:err:msg:get_server_queue_handle Cannot get server thread queue
0f50:err:msg:get_server_queue_handle Cannot get server thread queue
106c:err:win:get_desktop_window failed to create desktop window
0f04:err:win:get_desktop_window failed to create desktop window
Maximum number of clients reached1068:err:msg:get_server_queue_handle Cannot get server thread queue
1174:err:msg:get_server_queue_handle Cannot get server thread queue
0ef0:err:msg:get_server_queue_handle Cannot get server thread queue
0f0c:err:msg:get_server_queue_handle Cannot get server thread queue
Maximum number of clients reachedMaximum number of clients reachedMaximum number of clients reached115c:err:win:get_desktop_window failed to create desktop window
Errors after forcefully killing wine-tkg, as it does not respond to CTRL+C inputs.
0594:err:sync:RtlpWaitForCriticalSection section 000000017006A640 "/build/source/dlls/ntdll/loader.c: loader_section" wait timed out in thread 0594, blocked by 02c8, retrying (60 sec)
05a4:err:sync:RtlpWaitForCriticalSection section 000000017006A640 "/build/source/dlls/ntdll/loader.c: loader_section" wait timed out in thread 05a4, blocked by 03c0, retrying (60 sec)
0598:err:sync:RtlpWaitForCriticalSection section 000000017006A640 "/build/source/dlls/ntdll/loader.c: loader_section" wait timed out in thread 0598, blocked by 03e0, retrying (60 sec)
059c:err:sync:RtlpWaitForCriticalSection section 000000017006A640 "/build/source/dlls/ntdll/loader.c: loader_section" wait timed out in thread 059c, blocked by 0380, retrying (60 sec)
0590:err:sync:RtlpWaitForCriticalSection section 000000017006A640 "/build/source/dlls/ntdll/loader.c: loader_section" wait timed out in thread 0590, blocked by 02e8, retrying (60 sec)
0594:err:sync:RtlpWaitForCriticalSection section 000000017006A640 "/build/source/dlls/ntdll/loader.c: loader_section" wait timed out in thread 0594, blocked by 02c8, retrying (60 sec)
05a4:err:sync:RtlpWaitForCriticalSection section 000000017006A640 "/build/source/dlls/ntdll/loader.c: loader_section" wait timed out in thread 05a4, blocked by 03c0, retrying (60 sec)
0598:err:sync:RtlpWaitForCriticalSection section 000000017006A640 "/build/source/dlls/ntdll/loader.c: loader_section" wait timed out in thread 0598, blocked by 03e0, retrying (60 sec)
059c:err:sync:RtlpWaitForCriticalSection section 000000017006A640 "/build/source/dlls/ntdll/loader.c: loader_section" wait timed out in thread 059c, blocked by 0380, retrying (60 sec)
0590:err:sync:RtlpWaitForCriticalSection section 000000017006A640 "/build/source/dlls/ntdll/loader.c: loader_section" wait timed out in thread 0590, blocked by 02e8, retrying (60 sec)
0594:err:sync:RtlpWaitForCriticalSection section 000000017006A640 "/build/source/dlls/ntdll/loader.c: loader_section" wait timed out in thread 0594, blocked by 02c8, retrying (60 sec)
05a4:err:sync:RtlpWaitForCriticalSection section 000000017006A640 "/build/source/dlls/ntdll/loader.c: loader_section" wait timed out in thread 05a4, blocked by 03c0, retrying (60 sec)
0598:err:sync:RtlpWaitForCriticalSection section 000000017006A640 "/build/source/dlls/ntdll/loader.c: loader_section" wait timed out in thread 0598, blocked by 03e0, retrying (60 sec)
059c:err:sync:RtlpWaitForCriticalSection section 000000017006A640 "/build/source/dlls/ntdll/loader.c: loader_section" wait timed out in thread 059c, blocked by 0380, retrying (60 sec)
0590:err:sync:RtlpWaitForCriticalSection section 000000017006A640 "/build/source/dlls/ntdll/loader.c: loader_section" wait timed out in thread 0590, blocked by 02e8, retrying (60 sec)
0594:err:sync:RtlpWaitForCriticalSection section 000000017006A640 "/build/source/dlls/ntdll/loader.c: loader_section" wait timed out in thread 0594, blocked by 02c8, retrying (60 sec)
05a4:err:sync:RtlpWaitForCriticalSection section 000000017006A640 "/build/source/dlls/ntdll/loader.c: loader_section" wait timed out in thread 05a4, blocked by 03c0, retrying (60 sec)
0598:err:sync:RtlpWaitForCriticalSection section 000000017006A640 "/build/source/dlls/ntdll/loader.c: loader_section" wait timed out in thread 0598, blocked by 03e0, retrying (60 sec)
059c:err:sync:RtlpWaitForCriticalSection section 000000017006A640 "/build/source/dlls/ntdll/loader.c: loader_section" wait timed out in thread 059c, blocked by 0380, retrying (60 sec)
0590:err:sync:RtlpWaitForCriticalSection section 000000017006A640 "/build/source/dlls/ntdll/loader.c: loader_section" wait timed out in thread 0590, blocked by 02e8, retrying (60 sec)
0594:err:sync:RtlpWaitForCriticalSection section 000000017006A640 "/build/source/dlls/ntdll/loader.c: loader_section" wait timed out in thread 0594, blocked by 02c8, retrying (60 sec)
05a4:err:sync:RtlpWaitForCriticalSection section 000000017006A640 "/build/source/dlls/ntdll/loader.c: loader_section" wait timed out in thread 05a4, blocked by 03c0, retrying (60 sec)
0598:err:sync:RtlpWaitForCriticalSection section 000000017006A640 "/build/source/dlls/ntdll/loader.c: loader_section" wait timed out in thread 0598, blocked by 03e0, retrying (60 sec)
059c:err:sync:RtlpWaitForCriticalSection section 000000017006A640 "/build/source/dlls/ntdll/loader.c: loader_section" wait timed out in thread 059c, blocked by 0380, retrying (60 sec)
0590:err:sync:RtlpWaitForCriticalSection section 000000017006A640 "/build/source/dlls/ntdll/loader.c: loader_section" wait timed out in thread 0590, blocked by 02e8, retrying (60 sec)
0594:err:sync:RtlpWaitForCriticalSection section 000000017006A640 "/build/source/dlls/ntdll/loader.c: loader_section" wait timed out in thread 0594, blocked by 02c8, retrying (60 sec)
05a4:err:sync:RtlpWaitForCriticalSection section 000000017006A640 "/build/source/dlls/ntdll/loader.c: loader_section" wait timed out in thread 05a4, blocked by 03c0, retrying (60 sec)
0598:err:sync:RtlpWaitForCriticalSection section 000000017006A640 "/build/source/dlls/ntdll/loader.c: loader_section" wait timed out in thread 0598, blocked by 03e0, retrying (60 sec)
059c:err:sync:RtlpWaitForCriticalSection section 000000017006A640 "/build/source/dlls/ntdll/loader.c: loader_section" wait timed out in thread 059c, blocked by 0380, retrying (60 sec)
0590:err:sync:RtlpWaitForCriticalSection section 000000017006A640 "/build/source/dlls/ntdll/loader.c: loader_section" wait timed out in thread 0590, blocked by 02e8, retrying (60 sec)

osu-lazer-bin download failure

For some reason the version that is trying to download is wrong, supposed to be downloaded this version 2024.114.0

Error log

error: builder for '/nix/store/s1hcjymfiqn30jsgskm772pjybgmkgm6-osu.AppImage.drv' failed with exit code 1;
       last 7 log lines:
       >
       > trying https://github.com/ppy/osu/releases/download/2024.124.0/osu.AppImage
       >   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
       >                                  Dload  Upload   Total   Spent    Left  Speed
       >   0     9    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
       > curl: (22) The requested URL returned error: 404
       > error: cannot download osu.AppImage from any mirror
       For full logs, run 'nix log /nix/store/s1hcjymfiqn30jsgskm772pjybgmkgm6-osu.AppImage.drv'.
error: 1 dependencies of derivation '/nix/store/l56aj0h8hp28q349lvx273p7qjj32c07-osu.AppImage-2024.124.0-extracted.drv' failed to build
error: 1 dependencies of derivation '/nix/store/b1gcy923kgy4xzsgd9aljy9xi1n5694l-osu-lazer-bin-2024.124.0.drv' failed to build
error: 1 dependencies of derivation '/nix/store/kq3hvfjcdd7pvif6mgi5rc6wjf3ns428-osu-lazer-bin-2024.124.0.drv' failed to build
error: 1 dependencies of derivation '/nix/store/c19kwvgln1mlkb48nb27y1qd2vzxy1l6-system-path.drv' failed to build
error: 1 dependencies of derivation '/nix/store/xrnzidji5scgmjkw67f2wbmlwaffbb7i-nixos-system-unsigned-int32-24.05.20240127.c002c6a.drv' failed to build

[Game Request] tModLoader

tModLoader is an extensive modding API for Terraria, providing both a modding client and a server client in the same package.

This is more of a TODO and a discussion issue than a "request", as I intend to get to it myself soon.

Q: Would we be able to be able to use home-manager options to
1. auto-start server on launch, this should be as simple as providing a systemd service hooked to a hm option
2. provide options such as port or player count in the home-manager module, which translate to flags appeneded to the server start script
3. optionally wrap the player client with steam-run and SDL_VIDEODRIVER=x11

Binarycache lines break NixOS

I put these lines:

nix = {
 binaryCaches = [
     "https://cache.nixos.org"
     "https://app.cachix.org/cache/nix-gaming"
   ];
   binaryCachePublicKeys = [
     "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
     "nix-gaming.cachix.org-1:vn/szRSrx1j0IA/oqLAokr/kktKQzsDgDPQzkLFR9Cg="
    ];
  };

rebuilt my system, and then I kept getting errors like this:

# nix-channel --update
error: NAR info file '62alyjx5pnyag6rdz9yr7kh8dfx2wsi2.narinfo' is corrupt
error: program '/nix/store/g8mk88hzi3igv8jy4bl0cxhxashj7yss-nix-2.3.15/bin/nix-build' failed with exit code 1

I'm not sure why this breaks my system.

osu-lazer-bin broken

Seems to be pointing to a dead link

   > trying https://github.com/ppy/osu/releases/download/2023.1207.0/osu.AppImage
   >   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
   >                                  Dload  Upload   Total   Spent    Left  Speed
   >   0     9    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
   > curl: (22) The requested URL returned error: 404
   > error: cannot download osu.AppImage from any mirror
   For full logs, run 'nix log /nix/store/8vxai4vk3qbk8svc3y6vl3i1bqrv9d2s-osu.AppImage.drv'.

Change of behavior for the format task in CI

8844795 introduced a new way of checking files, but the behavior is different from before, and I don't think it's intended.

The old behavior was that Alejandra would check for files that weren't properly formatted. Now it formats them directly.

Cannot install osu-stable and osu-lazer at the same time

I'm not sure what's going on :(

(installed via home-manager)

{config, pkgs, inputs, ...}: {
  home.packages = [
    pkgs.osu-lazer-bin
    (inputs.nix-gaming.packages.${pkgs.stdenv.hostPlatform.system}.osu-stable.override {
      location = "${config.xdg.dataHome}/osu-stable";
    })
  ];
}

nixos-rebuild --flake . switch

error: builder for '/nix/store/qh4c8byaicwdfdx656k7kf227gjjl8cj-home-manager-path.drv' failed with exit code 2
error: 1 dependencies of derivation '/nix/store/d1c12asygbw7c2ccxrqgyd329vcazl54-home-manager-generation.drv' failed to build
error: 1 dependencies of derivation '/nix/store/8x5a9a0vc79g0wnzjhbhn5hxrbpnvvmp-user-environment.drv' failed to build
error: 1 dependencies of derivation '/nix/store/6f4g0d78ldryr0cwv3j1gs8i9nld765w-etc.drv' failed to build
error: 1 dependencies of derivation '/nix/store/1h4hzk2jz625kxmgpsshkpa1hmqq4qmw-nixos-system-Aristotle-24.05.20240102.bd645e8.drv' failed to build

nix log /nix/store/8w7yz2w0fbcnxih200gi04b1bywqx5bd-home-manager-path.drv

warning: different permissions in `/nix/store/qmilf5gjzf09f65xc1nj32s9jdf514xq-osu-stable/share/icons/hicolor/16x16/apps/osu!.png' and `/nix/store/x1w93kxfizzxwjf8xfk6l26i0kh1li2y-osu-lazer-bin-2023.1229.0/share/icons/hicolor/16x16/apps/osu!.png': 0444 <-> 0555 at /nix/store/w1qzwvqwv127nblp4hjydp8c9hhmb7zk-builder.pl line 103.
error: collision between `/nix/store/x1w93kxfizzxwjf8xfk6l26i0kh1li2y-osu-lazer-bin-2023.1229.0/share/icons/hicolor/16x16/apps/osu!.png' and `/nix/store/qmilf5gjzf09f65xc1nj32s9jdf514xq-osu-stable/share/icons/hicolor/16x16/apps/osu!.png'

Regarding the inclusion of GoG games

Hi everyone,

I have a bunch of DRM-free, linux native, GoG games on my library that I've decided to package.

I could have perfectly run them from lutris or other solutions but instead I've created proper packages for them.
This helps reducing overhead and, in my humble opinion, it brings a better gaming experience to NixOS.

I thought that maybe they could fit here, I would like to contribute back to the nix community and this seams like a cool way to it.

Although there are some problems, while I do already have a few working games the nix code could be drastically improved. They are my first take at packaging so I did what I could. I also lack the knowledge to even create packages outside an standalone flake...

I want to contribute but I would need some aid, and well, I don't even know if those kind of things fit here.

Thanks in advice.

Wine-ge questions

It would be great if wine-ge could be updated, currently its wine-8.0 (Staging) which is quite old, thanks.

winediscordipcbridge-steam.sh does not work

To my understanding, I just need to use winediscordipcbridge-steam.sh %command% in launch options of a Steam game.

I installed the bridge by adding nix-gaming.packages.${pkgs.hostPlatforn.system}.wine-discord-ipc-bridge to environment.systemPackages in configuration.nix.

The Discord client is Vesktop, if it is relevant.

[Request] GitHub Actions to update packages

wine-tkg and wine-ge are frequently updated, and I think that having them be automatically updated here to the latest version via GitHub Actions would be nice to have.

Unfortunately, I have zero experience with GitHub Actions.

(Also, flakes.lock needs to be updated too, since mono and gecko are fetched from nixpkgs. For that, I think that this can be used?)

Problems using nix-gaming as a flake

it is extremely confusing how you want me to install it
as a flake
error: attribute 'inputs' missing

in nix stable way
error: in pure evaluation mode, 'fetchTarball' requires a 'sha256' argument

Can't launch star-citizen

Hi, I'm trying to get star-citizen working with the help of this flake.

Here's the the relevant part of my config adding star-citizen.

However when launching star-citzen, I get the following error:

Error: File not found - /home/sntx/.games/star-citizen/drive_c/Program
Error: File not found - Files/Roberts
Error: File not found - Space
Error: File not found - Industries/RSI
Error: File not found - Launcher/RSI
Error: File not found - Launcher.exe
fsync: up and running.
wine: Using setpriority to control niceness in the [-10,10] range
002c:fixme:winediag:LdrInitializeThunk wine-staging 8.0 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
wine: could not load kernel32.dll, status c0000135
fsync: up and running.
wine: Using setpriority to control niceness in the [-10,10] range
wine: could not load kernel32.dll, status c0000135
gamemodeauto: 
gamemodeauto: 
fsync: up and running.
wine: Using setpriority to control niceness in the [-10,10] range
002c:fixme:winediag:LdrInitializeThunk wine-staging 8.0 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
wine: failed to open "/home/sntx/.games/star-citizen/drive_c/Program Files/Roberts Space Industries/RSI Launcher/RSI Launcher.exe": c0000135
gamemodeauto:

Please tell me if you have any suggestions on how to circumvent the problem.

Cachix seems to be inconsistent

Right now, if I try to install wine-ge, Nix will compile it instead of grabbing it from Cachix.
This is despite the latest version being released 3 days ago, shouldn't it have already been built by this point?
It's not the first time it happens, and I fear this will not be the last.
(Also, wine-tkg is grabbed just fine, so I don't know...)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.