arvigeus / nixos-config

13 stars 1 forks source link

Documentation #34

Open arvigeus opened 7 months ago

arvigeus commented 7 months ago

This contains pretty much everything in terms of explanations: https://github.com/mikeroyal/NixOS-Guide

arvigeus commented 7 months ago

Gaming section:

Example repos:


Steam

Run Steam in Big Picture Mode

steam -gamepadui -steamdeck

Run Steam in HDPI mode

Environment variables: GDK_SCALE=2 STEAM_FORCE_DESKTOPUI_SCALING=2.0
Program: steam
Arguments: %U

Gamescope

Read more

System76 Scheduler

System76 scheduler replaces gamemode functionality and do not require a launch option to function properly.

MangoHud

Install

environment.systemPackages = with pkgs; [
  mangohud
];

Enable for all Vulkan games

environment.sessionVariables = {
  MANGOHUD = "1";
};

Keyboard commands

Test MangoHud

mangohud glxgears
mangohud glxgears

Start a Steam game with MangoHud

Have to be set for each game.

Use GameMode with MangoHud

mangohud gamemoderun ...

Read more

Upscaling

Upscaling is the process of enhancing the resolution or frame rate of an image or video sequence. It involves generating additional pixel data to display higher-resolution output on screens that support finer details or creating interpolated frames in a video to increase smoothness and reduce motion blur.

Temporal Upsampling (Temporal Super Resolution)

Temporal Upsampling increases the frame rate of video content without changing the resolution. By analyzing the motion between frames, it generates intermediate frames to create a smoother, high-frame-rate output. It's often used in post-production for videos to achieve a fluid visual experience, especially for high-speed scenes or to create slow-motion effects.

Read mode

NVIDIA DLSS (Deep Learning Super Sampling)

Developed by NVIDIA, DLSS takes a different, more futuristic route. It uses machine learning and AI to upscale images, rendering them at a lower resolution for performance efficiency, and then intelligently scaling up while enhancing details and sharpness. This not only improves image quality in real-time scenarios like gaming but also offers substantial performance gains by offloading the GPU's rendering burden.

Read more

AMD FSR (FidelityFX Super Resolution)

AMD's answer to DLSS, FSR, stands as a more hardware-agnostic solution. It lacks the AI component, relying instead on spatial upscaling techniques to enhance image resolution. This approach ensures broader compatibility across different GPUs, including those without dedicated AI or machine learning capabilities.

TODO:

Read mode

Intel XeSS

Uses AI like DLSS, but works for broader compatibility across different GPUs like FSR

Read more

Comparison

DLSS and FSR improve frame rates by rendering at lower resolutions and then upscaling, with DLSS generally providing better image quality due to AI. Temporal Upsampling specifically boosts frame rates in videos.

TODO

arvigeus commented 6 months ago

KDE section:

arvigeus commented 6 months ago

Selectively Using Service Modules from NixOS Unstable

arvigeus commented 6 months ago

Hardware

AMD Drivers

RADV

A community-driven Vulkan driver, part of the Mesa project (also backed by Valve). It offers good performance (allegedly better than AMDVLK) and wide compatibility with Vulkan applications. It's the default choice in many Linux distributions.

AMDVLK

The open-source Vulkan driver provided by AMD. It is built on the shared Vulkan core used in both open-source and proprietary drivers.

The AMDVLK drivers can be enabled with hardware.amdgpu.amdvlk = true; (nixos-hardware module). They can used in addition to the Mesa RADV drivers - the program will choose which one to use. To force RADV, set environment.variables.AMD_VULKAN_ICD = "RADV";

AMDGPU-PRO

AMD's proprietary driver optimized for professional and workstation use, featuring extended support for enterprise environments and additional optimizations. Generally, it doesn't offer more features or performance.

To enable it: services.xserver.videoDrivers = [ "amdgpu-pro" ];

NOTE: It's often broken in nixpkgs.

Read more

TODO

arvigeus commented 4 months ago

DNS:

Primary Secondary
Cloudflare 1.1.1.1 1.0.0.1
Google 8.8.8.8 8.8.4.4
OpenDNS 208.67.222.222 208.67.220.220
Quad9 9.9.9.9 149.112.112.112
Level3 / CenturyLink 4.2.2.1 4.2.2.2
Verisign 64.6.64.6 64.6.65.6
Comodo Secure DNS 8.26.56.26 8.20.247.20
DNS.WATCH 84.200.69.80 84.200.70.40
CleanBrowsing 185.228.168.9 185.228.169.9
Alternate DNS 76.76.19.19 76.223.122.150
AdGuard DNS 94.140.14.14 94.140.15.15

Also: NextDNS

arvigeus commented 4 months ago

MPV

Check if shaders are loaded: Shift + i, then press 2. Also, press ` (backtick) to check for errors

arvigeus commented 4 months ago

AI

Making AMD GPUs competitive for LLM inference