Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

osu not starting #12

Closed
Millrocious opened this issue Jan 29, 2022 · 34 comments
Closed

osu not starting #12

Millrocious opened this issue Jan 29, 2022 · 34 comments

Comments

@Millrocious
Copy link

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

@fufexan
Copy link
Owner

fufexan commented Jan 29, 2022

If you don't use gamemode, can you do cp $(which osu-stable) ., then sudo chmod +wx osu-stable, then edit the file and remove the gamemoderun? I haven't tested if it works when there's no daemon present, only when it's turned off.

Otherwise, remove the wine-discord-ipc-bridge line as well, and test again by running the script.

@Millrocious
Copy link
Author

I tried this but it still not working

if I disable programs.gamemode.enable = false, i had this issue

GameMode ERROR: D-Bus error: Could not call method 'RegisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
gamemodeauto: D-Bus error: Could not call method 'RegisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
GameMode ERROR: D-Bus error: Could not call method 'RegisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
gamemodeauto: D-Bus error: Could not call method 'RegisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
GameMode ERROR: D-Bus error: Could not call method 'RegisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
gamemodeauto: D-Bus error: Could not call method 'RegisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
GameMode ERROR: D-Bus error: Could not call method 'RegisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
gamemodeauto: D-Bus error: Could not call method 'RegisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
GameMode ERROR: D-Bus error: Could not call method 'RegisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
gamemodeauto: D-Bus error: Could not call method 'RegisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
GameMode ERROR: D-Bus error: Could not call method 'RegisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
gamemodeauto: D-Bus error: Could not call method 'RegisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
GameMode ERROR: D-Bus error: Could not call method 'RegisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
gamemodeauto: D-Bus error: Could not call method 'RegisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
GameMode ERROR: D-Bus error: Could not call method 'RegisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
gamemodeauto: D-Bus error: Could not call method 'RegisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
GameMode ERROR: D-Bus error: Could not call method 'RegisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
gamemodeauto: D-Bus error: Could not call method 'RegisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
GameMode ERROR: D-Bus error: Could not call method 'RegisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
gamemodeauto: D-Bus error: Could not call method 'RegisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
GameMode ERROR: D-Bus error: Could not call method 'RegisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
gamemodeauto: D-Bus error: Could not call method 'RegisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
GameMode ERROR: D-Bus error: Could not call method 'RegisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
gamemodeauto: D-Bus error: Could not call method 'RegisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
GameMode ERROR: D-Bus error: Could not call method 'UnregisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
gamemodeauto: D-Bus error: Could not call method 'UnregisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
GameMode ERROR: D-Bus error: Could not call method 'RegisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
gamemodeauto: D-Bus error: Could not call method 'RegisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
0024:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
GameMode ERROR: D-Bus error: Could not call method 'RegisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
gamemodeauto: D-Bus error: Could not call method 'RegisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
GameMode ERROR: D-Bus error: Could not call method 'UnregisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
gamemodeauto: D-Bus error: Could not call method 'UnregisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
0024:fixme:nls:GetFileMUIPath stub: 0x10, L"C:\windows\system32\tzres.dll", (null), 0031EBB8, 001A3E00, 0031EBBC, 0031EBB0
0024:fixme:nls:GetFileMUIPath stub: 0x10, L"C:\windows\system32\tzres.dll", (null), 0031EBB8, 001A3E00, 0031EBBC, 0031EBB0
ATTENTION: default value of option vblank_mode overridden by environment.
015c:fixme:avrt:AvSetMmThreadCharacteristicsW (L"Audio",0B79FF10): stub
0024:fixme:win:RegisterTouchWindow (00010060 00000002): stub
0024:fixme:rawinput:RegisterRawInputDevices Unhandled flags 0x2100 for device 0.
0024:fixme:rawinput:RegisterRawInputDevices Unhandled flags 0x2100 for device 1.
0024:fixme:win:RegisterDeviceNotificationA The notification filter will requires an A->W when filter support is implemented
0024:fixme:service:I_ScRegisterDeviceNotification Notification filters are not yet implemented.
0114:fixme:wincodecs:jpeg_decoder_get_metadata_blocks stub
0108:fixme:ole:thread_context_info_QueryInterface interface not implemented {51372ae0-cae7-11cf-be81-00aa00a2fa25}
0108:fixme:ole:thread_context_info_QueryInterface interface not implemented {51372ae0-cae7-11cf-be81-00aa00a2fa25}
0108:fixme:wmiutils:path_GetInfo some flags are not implemented
0108:fixme:wmiutils:path_GetInfo some flags are not implemented
0108:fixme:ole:thread_context_info_QueryInterface interface not implemented {51372ae0-cae7-11cf-be81-00aa00a2fa25}
0108:fixme:ole:thread_context_info_QueryInterface interface not implemented {51372ae0-cae7-11cf-be81-00aa00a2fa25}
0108:fixme:wbemprox:wbem_locator_ConnectServer authentication not supported
0108:fixme:wbemprox:wbem_locator_ConnectServer specific locale not supported
0108:fixme:wbemprox:wbem_locator_ConnectServer unsupported flags
0058:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0058:fixme:mountmgr:harddisk_ioctl The DISK_PARTITION_INFO and DISK_DETECTION_INFO structures will not be filled
0108:fixme:ole:thread_context_info_QueryInterface interface not implemented {51372ae0-cae7-11cf-be81-00aa00a2fa25}
0108:fixme:wbemprox:wbem_services_CreateInstanceEnum unsupported flags 0x00000011
0058:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0058:fixme:mountmgr:harddisk_ioctl The DISK_PARTITION_INFO and DISK_DETECTION_INFO structures will not be filled
0108:fixme:ole:thread_context_info_QueryInterface interface not implemented {51372ae0-cae7-11cf-be81-00aa00a2fa25}
0108:fixme:wmiutils:status_code_GetErrorCodeText 1044D1A0, 0x80041002, 0x0000, 0x00000001, 07C0F384
01a8:fixme:wincodecs:jpeg_decoder_get_metadata_blocks stub
GameMode ERROR: D-Bus error: Could not call method 'UnregisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
gamemodeauto: D-Bus error: Could not call method 'UnregisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
GameMode ERROR: D-Bus error: Could not call method 'UnregisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
gamemodeauto: D-Bus error: Could not call method 'UnregisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
GameMode ERROR: D-Bus error: Could not call method 'UnregisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
gamemodeauto: D-Bus error: Could not call method 'UnregisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
GameMode ERROR: D-Bus error: Could not call method 'UnregisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
gamemodeauto: D-Bus error: Could not call method 'UnregisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
GameMode ERROR: D-Bus error: Could not call method 'UnregisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
gamemodeauto: D-Bus error: Could not call method 'UnregisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
GameMode ERROR: D-Bus error: Could not call method 'UnregisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
gamemodeauto: D-Bus error: Could not call method 'UnregisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
GameMode ERROR: D-Bus error: Could not call method 'UnregisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
gamemodeauto: D-Bus error: Could not call method 'UnregisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
GameMode ERROR: D-Bus error: Could not call method 'UnregisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files
gamemodeauto: D-Bus error: Could not call method 'UnregisterGame' on 'com.feralinteractive.GameMode': The name com.feralinteractive.GameMode was not provided by any .service files

@fufexan
Copy link
Owner

fufexan commented Jan 29, 2022

then can you

export WINEARCH=win32
export WINEPREFIX=$HOME/.osu
wine "$WINEPREFIX/drive_c/osu/osu!.exe"

@Millrocious
Copy link
Author

Millrocious commented Jan 29, 2022

still not working, same

maybe i have some issues with my configuration.nix or i haven't some packages or something else?

configuration.nix

# your system.  Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running ‘nixos-help’).

{ config, pkgs, ... }:

{
  imports =
    [ # Include the results of the hardware scan.
      ./hardware-configuration.nix
      ./cachix.nix
    ];

  # Use the systemd-boot EFI boot loader.
  boot.loader.systemd-boot.enable = true;
  boot.loader.efi.canTouchEfiVariables = true;
  boot.supportedFilesystems = [ "ntfs" ];
  boot.initrd.kernelModules = [ "amdgpu" ];

  networking.hostName = "nixos"; # Define your hostname.
  # networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant.

  # Set your time zone.
  time.timeZone = "Europe/Kiev";

  # The global useDHCP flag is deprecated, therefore explicitly set to false here.
  # Per-interface useDHCP will be mandatory in the future, so this generated config
  # replicates the default behaviour.
  networking.useDHCP = false;
  networking.interfaces.enp5s0.useDHCP = true;

  # Configure network proxy if necessary
  # networking.proxy.default = "http://user:password@proxy:port/";
  # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";

  # Select internationalisation properties.
  i18n.defaultLocale = "en_US.UTF-8";
  console = {
    font = "Lat2-Terminus16";
    keyMap = "us";
  };

  nix = {
    binaryCaches = [ "https://nix-gaming.cachix.org" ];
    binaryCachePublicKeys = [ "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" ];
  };

  # Enable the X11 windowing system.
  services.xserver.enable = true;


  # Enable the GNOME Desktop Environment.
  services.xserver.displayManager.gdm.enable = true;
  services.xserver.desktopManager.gnome.enable = true;
  

  # Configure keymap in X11
  services.xserver.layout = "us";
  services.xserver.xkbOptions = "eurosign:e";

  # Enable CUPS to print documents.
  # services.printing.enable = true;

  # Enable sound.
  sound.enable = true;
  hardware.pulseaudio.enable = true;

  # Enable touchpad support (enabled default in most desktopManager).
  services.xserver.libinput.enable = true;

  # Define a user account. Don't forget to set a password with ‘passwd’.
  users.users.eog = {
    isNormalUser = true;
    extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
  };

  nix.trustedUsers = [ "root" "eog" ];
  
  system.copySystemConfiguration = true;
  programs.gamemode.enable = false;
 
  # List packages installed in system profile. To search, run:
  # $ nix search wget
  environment.systemPackages = with pkgs; [
    vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
    wget
    firefox
    gcc
    git
    opentabletdriver
    wine
    dotnet-sdk_5
    dotnetCorePackages.runtime_5_0
    cachix
    ddnet
  ];

  # OpenTablet
  hardware.opentabletdriver.enable = true;  
  hardware.opentabletdriver.daemon.enable = true;

  boot.kernelPackages = pkgs.linuxPackages_latest;
  boot.kernelParams = [ "amd_iommu=pt" "ivrs_ioapic[32]=00:14.0" "iommu=soft" ];
  services.xserver.videoDrivers = [ "amdgpu" ];
  hardware.cpu.amd.updateMicrocode = true;
  hardware.enableRedistributableFirmware = true;
  hardware.opengl.enable = true;
  hardware.opengl.driSupport = true;
  hardware.opengl.driSupport32Bit = true;
  
  services.xserver.deviceSection = ''
    Option "TearFree" "true"
  '';

  # Some programs need SUID wrappers, can be configured further or are
  # started in user sessions.
  # programs.mtr.enable = true;
  # programs.gnupg.agent = {
  #   enable = true;
  #   enableSSHSupport = true;
  # };

  # List services that you want to enable:

  # Enable the OpenSSH daemon.
  # services.openssh.enable = true;

  # Open ports in the firewall.
  # networking.firewall.allowedTCPPorts = [ ... ];
  # networking.firewall.allowedUDPPorts = [ ... ];
  # Or disable the firewall altogether.
  # networking.firewall.enable = false;

  # This value determines the NixOS release from which the default
  # settings for stateful data, like file locations and database versions
  # on your system were taken. It‘s perfectly fine and recommended to leave
  # this value at the release version of the first install of this system.
  # Before changing this value read the documentation for this option
  # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
  system.stateVersion = "21.11"; # Did you read the comment?

}

@fufexan
Copy link
Owner

fufexan commented Jan 29, 2022

What you have in there seems enough. Are you running Gnome on Wayland or X11? It should work on Wayland as well, but try X11 just in case. Also, if nothing works try deleting ~/.osu and re-running osu-stable.
Btw, have you installed it with nix-env?

@Millrocious
Copy link
Author

Yes, i trying in both. I really don't know why but i successfully installed osu before but i had some problems with nixos and i re-installed and trying to install osu like before but i have this issue.

And yea, I installed osu with nix-env

@fufexan
Copy link
Owner

fufexan commented Jan 29, 2022

Not sure if it matters much, but could you install it via configuration.nix instead? Also, enable programs.gamemode.

Does the installer show up after you remove ~/.osu and re-run osu-stable? If not, there may be a problem with it or the software installed by winetricks.

@Millrocious
Copy link
Author

  1. i really don't know how to do this, because i have some troubles with it, it's why i installed with nix-env
  2. installer shows up

@fufexan
Copy link
Owner

fufexan commented Jan 29, 2022

1 is described in the readme, but I'll write it here as well with only the necessary steps:

{ pkgs, config, ... }:

let
  nix-gaming = import (builtins.fetchTarball "https://github.com/fufexan/nix-gaming/archive/master.tar.gz");
in

{
  environment.systemPackages = with pkgs; [
     #your packages here
     nix-gaming.packages.x86_64-linux.osu-stable
  ];
}

I believe this works, I've tested it some time ago.

@Millrocious
Copy link
Author

I have this when i try nixos-rebuild switch

error: syntax error, unexpected LET, at /etc/nixos/configuration.nix:98:3
(use '--show-trace' to show detailed location information)
building Nix...
error: syntax error, unexpected LET, at /etc/nixos/configuration.nix:98:3
(use '--show-trace' to show detailed location information)
building the system configuration...
error: syntax error, unexpected LET, at /etc/nixos/configuration.nix:98:3
(use '--show-trace' to show detailed location information)

@fufexan
Copy link
Owner

fufexan commented Jan 29, 2022

can you paste the whole file? I think it's in the wrong spot.

@Millrocious
Copy link
Author

Millrocious commented Jan 29, 2022

i fixed, but still osu not running

Edit: but what i see that is the osu not installed by using configuration.nix i removed osu-stable from nix-env and i don't have osu when i trying to rebuild system

configuration.nix:

# Edit this configuration file to define what should be installed on
# your system.  Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running ‘nixos-help’).

{ config, pkgs, ... }:

let
  nix-gaming = import (builtins.fetchTarball "https://github.com/fufexan/nix-gaming/archive/master.tar.gz");
in
  {
  imports =
    [ # Include the results of the hardware scan.
      ./hardware-configuration.nix
      ./cachix.nix
    ];

  # Use the systemd-boot EFI boot loader.
  boot.loader.systemd-boot.enable = true;
  boot.loader.efi.canTouchEfiVariables = true;
  boot.supportedFilesystems = [ "ntfs" ];
  boot.initrd.kernelModules = [ "amdgpu" ];

  networking.hostName = "nixos"; # Define your hostname.
  # networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant.

  # Set your time zone.
  time.timeZone = "Europe/Kiev";

  # The global useDHCP flag is deprecated, therefore explicitly set to false here.
  # Per-interface useDHCP will be mandatory in the future, so this generated config
  # replicates the default behaviour.
  networking.useDHCP = false;
  networking.interfaces.enp5s0.useDHCP = true;

  # Configure network proxy if necessary
  # networking.proxy.default = "http://user:password@proxy:port/";
  # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";

  # Select internationalisation properties.
  i18n.defaultLocale = "en_US.UTF-8";
  console = {
    font = "Lat2-Terminus16";
    keyMap = "us";
  };

  nix = {
    binaryCaches = [ "https://nix-gaming.cachix.org" ];
    binaryCachePublicKeys = [ "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" ];
  };

  # Enable the X11 windowing system.
  services.xserver.enable = true;


  # Enable the GNOME Desktop Environment.
  services.xserver.displayManager.gdm.enable = true;
  services.xserver.desktopManager.gnome.enable = true;
  

  # Configure keymap in X11
  services.xserver.layout = "us";
  services.xserver.xkbOptions = "eurosign:e";

  # Enable CUPS to print documents.
  # services.printing.enable = true;

  # Enable sound.
  sound.enable = true;
  hardware.pulseaudio.enable = true;

  # Enable touchpad support (enabled default in most desktopManager).
  services.xserver.libinput.enable = true;

  # Define a user account. Don't forget to set a password with ‘passwd’.
  users.users.eog = {
    isNormalUser = true;
    extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
  };

  nix.trustedUsers = [ "root" "eog" ];
  
  system.copySystemConfiguration = true;
  programs.gamemode.enable = true;
 
  # List packages installed in system profile. To search, run:
  # $ nix search wget
  environment.systemPackages = with pkgs; [
    vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
    wget
    firefox
    gcc
    git
    opentabletdriver
    dotnet-sdk_5
    dotnetCorePackages.runtime_5_0
    cachix
    ddnet
    wine
    nix-gaming.packages.x86_64-linux.osu-stable
  ];

  # OpenTablet
  hardware.opentabletdriver.enable = true;  
  hardware.opentabletdriver.daemon.enable = true;

  boot.kernelPackages = pkgs.linuxPackages_latest;
  boot.kernelParams = [ "amd_iommu=pt" "ivrs_ioapic[32]=00:14.0" "iommu=soft" ];
  services.xserver.videoDrivers = [ "amdgpu" ];
  hardware.cpu.amd.updateMicrocode = true;
  hardware.enableRedistributableFirmware = true;
  hardware.opengl.enable = true;
  hardware.opengl.driSupport = true;
  hardware.opengl.driSupport32Bit = true;
  
  services.xserver.deviceSection = ''
    Option "TearFree" "true"
  '';

  # Some programs need SUID wrappers, can be configured further or are
  # started in user sessions.
  # programs.mtr.enable = true;
  # programs.gnupg.agent = {
  #   enable = true;
  #   enableSSHSupport = true;
  # };

  # List services that you want to enable:

  # Enable the OpenSSH daemon.
  # services.openssh.enable = true;

  # Open ports in the firewall.
  # networking.firewall.allowedTCPPorts = [ ... ];
  # networking.firewall.allowedUDPPorts = [ ... ];
  # Or disable the firewall altogether.
  # networking.firewall.enable = false;

  # This value determines the NixOS release from which the default
  # settings for stateful data, like file locations and database versions
  # on your system were taken. It‘s perfectly fine and recommended to leave
  # this value at the release version of the first install of this system.
  # Before changing this value read the documentation for this option
  # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
  system.stateVersion = "21.11"; # Did you read the comment?

}

@fufexan
Copy link
Owner

fufexan commented Jan 29, 2022

Just re-checked, that is indeed correct syntax. Maybe try logging out/in or rebooting after the rebuild?
I suggest manually running all the commands in the script and check which one doesn't work. If wine "$OSU" does, there's either a missing dep which wasn't installed by winetricks, or some really weird software:tm: issue.

@Millrocious
Copy link
Author

hmm, now i have this

0024:err:module:process_init L"C:\windows\system32\.exe" not found

@fufexan
Copy link
Owner

fufexan commented Jan 29, 2022

yeah I think the problem is the different versions of wine with which you attempt to run osu. Can you add nix-gaming.packages.x86_64-linux.wine-osu to systemPackages instead of wine, remove the osudir and try running the script then debugging it again?

@Millrocious
Copy link
Author

[eog@nixos:~]$ wine "$OSU"
0024:err:module:process_init L"C:\\windows\\system32\\.exe" not found

[eog@nixos:~]$ 

@Millrocious
Copy link
Author

simplescreenrecorder-2022-01-29_18.18.50.mp4

@fufexan
Copy link
Owner

fufexan commented Jan 29, 2022

Can you post printenv PATH?

Also, is this list the same as yours when running winetricks list-installed in the osu wine prefix?

› winetricks list-installed
Executing mkdir -p /home/mihai/Games
Using winetricks 20210206-next - sha256sum: d99c0de24bec06cbe136820d7b78822882113b464d0a82f3119e6caea8df14e0 with wine-6.14 and WINEARCH=win32
gdiplus
w_workaround_wine_bug-34803
remove_mono
winxp
dotnet40
meiryo

@Millrocious
Copy link
Author

Millrocious commented Jan 29, 2022

[eog@nixos:~]$ printenv PATH
/run/wrappers/bin:/home/eog/.nix-profile/bin:/etc/profiles/per-user/eog/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin

[eog@nixos:~]$ winetricks list-installed
Executing mkdir -p /home/eog
------------------------------------------------------
warning: You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Using winetricks 20210206-next - sha256sum: f5e67be08d026fc4c916f002994bd3f684c82bd34c015fd2f1d739201550687d with wine-6.0.1 and WINEARCH=win64
warning: /home/eog/.wine/winetricks.log not found; winetricks has not installed anything in this prefix.

[eog@nixos:~]$ 

@fufexan
Copy link
Owner

fufexan commented Jan 29, 2022

From what I see you haven't set export WINEPREFIX=$HOME/.osu.

@Millrocious
Copy link
Author

[eog@nixos:~/tmp]$ export WINEPREFIX=$HOME/.osu

[eog@nixos:~/tmp]$ winetricks list-installed
Executing mkdir -p /home/eog
Using winetricks 20210206-next - sha256sum: f5e67be08d026fc4c916f002994bd3f684c82bd34c015fd2f1d739201550687d with wine-6.0.1 and WINEARCH=win32
warning: /home/eog/.osu/winetricks.log not found; winetricks has not installed anything in this prefix.

[eog@nixos:~/tmp]$ 

@fufexan
Copy link
Owner

fufexan commented Jan 29, 2022

hmm, I see. try winetricks -q -f dotnet40 meiryo gdiplus

@Millrocious
Copy link
Author

hmm, i can't install dotnet40

@fufexan
Copy link
Owner

fufexan commented Jan 29, 2022

hmm, interesting. does it say any reason why?

try dotnet45 instead.

@Millrocious
Copy link
Author

it didn't want to install because win64 was used
and i successfully installed dotnet40 and meiryo but not installed gdiplus

[eog@nixos:~]$ winetricks -q -f gdiplus
Executing mkdir -p /home/eog
Using winetricks 20210206-next - sha256sum: f5e67be08d026fc4c916f002994bd3f684c82bd34c015fd2f1d739201550687d with wine-6.0.1 and WINEARCH=win32
Executing w_do_call gdiplus
Executing mkdir -p /home/eog
Executing load_gdiplus 
------------------------------------------------------
warning: Checksum for /home/eog/.cache/winetricks/win7sp1/windows6.1-KB976932-X86.exe did not match, but --force was used, so ignoring and trying anyway.
------------------------------------------------------
Executing cabextract -q -d /home/eog/.osu/dosdevices/c:/windows/temp -L -F x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.7601.17514_none_72d18a4386696c80/gdiplus.dll /home/eog/.cache/winetricks/win7sp1/windows6.1-KB976932-X86.exe
/home/eog/.cache/winetricks/win7sp1/windows6.1-KB976932-X86.exe: no valid cabinets found
------------------------------------------------------
warning: Note: command cabextract -q -d /home/eog/.osu/dosdevices/c:/windows/temp -L -F x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.7601.17514_none_72d18a4386696c80/gdiplus.dll /home/eog/.cache/winetricks/win7sp1/windows6.1-KB976932-X86.exe returned status 1. Aborting.
------------------------------------------------------

[eog@nixos:~]$ winetricks list-installed
Executing mkdir -p /home/eog
Using winetricks 20210206-next - sha256sum: f5e67be08d026fc4c916f002994bd3f684c82bd34c015fd2f1d739201550687d with wine-6.0.1 and WINEARCH=win32
w_workaround_wine_bug-34803
remove_mono
winxp
remove_mono
winxp
dotnet40
meiryo

[eog@nixos:~]$ 

@fufexan
Copy link
Owner

fufexan commented Jan 29, 2022

In theory osu should work even without gdiplus, but will miss some features, such as storyboard backgrounds will be monochrome afair. Does it not crash though?

@Millrocious
Copy link
Author

yay now it works!
but i have problems with font

@Millrocious
Copy link
Author

I have two question:

  1. why script not doing that authomatically?
  2. can i change osu directory? because i have existing directory with all files

@fufexan
Copy link
Owner

fufexan commented Jan 29, 2022

  1. the script actually does that automatically, I don't know why it didn't work for you. I'll have to investigate further.
  2. yes. if you want to move the wineprefix completely, you can modify the package in systemPackages like this
environment.systemPackages = with pkgs; [
  # stuff
  (nix-gaming.packages.x86_64-linux.osu-stable.override { location = "$HOME/your/preferred/location"; })
];

Otherwise, if you only want your osu folder to be the one you have, you can symlink it instead of ~/.osu/drive_c/osu.

@Millrocious
Copy link
Author

I changed this path in script, or it's bad?

OSU="/run/media/eog/Local_disk/Games/osu!/osu!.exe"

@fufexan
Copy link
Owner

fufexan commented Jan 29, 2022

If you prefer to run osu-stable always instead of having the desktop entry do the same thing, then yes. though running the copied script doesn't guarantee the osuinstall.exe will always be there, as the file is seldom updated on the download page. if it doesn't bother you, then that's fine.

@Millrocious
Copy link
Author

so if I upgrade package it will work anyway or it would be changed?

@fufexan
Copy link
Owner

fufexan commented Jan 29, 2022

it will most likely work, as all the package does is install and run osu. but if osu's already installed, it'll keep working.

@Millrocious
Copy link
Author

Okey. Thank you very much for help!!!

PedroHLC pushed a commit to PedroHLC/nix-gaming that referenced this issue Sep 2, 2022
flake-utils -> flake-utils-plus
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants