Sammlung von Newsfeeds
Is this some sort of glitch? No GPU and vram usage? My CPU doesn't have iGPU how is this possible?
Cyberpunk roguelike deckbuilder and dungeon crawler Into The Grid arrives November 10
.
Read the full article on GamingOnLinux.
Quick start on the new POP_OS 24.04 Cosmic Beta + Feedback
- You don't need Secure Boot. POP_OS doesn't support natively Secure Boot. You can do it manually if you are an advanced user. If you dual boot with Windows 11, this will be probably a deal-breaker. You can look at other distro, such as Linux Mint, Fedora, Ubuntu or Bazzite.
- If you are a beginner, I recommend a distro like Bazzite, or something more gaming oriented. Follow any of the guides from your preferred Youtube channel.
- Before switching from Windows, make sure you don't have any deal-breaking incompatibilities with your hardware/software.
- Backup your data !
- Disable Secure Boot in your BIOS
- Flash the ISO with Rufus onto a USB stick. Choose the correct ISO, depending on your GPU.
- Follow the installer, it should be easy and intuitive. You can choose which drive will be wiped for the POP OS install. It doesn't wipe the other drives. You can also do a custom layout.
- When logged in, update your system
- Easy: use the COSMIC Store app and update everything
- Command line: sudo apt update && sudo apt upgrade -y
- If you get a weird error pop-up, just execute this in the command line (COSMIC Terminal): sudo dpkg --configure -a Then, restart step 6.
- Add extra drives (optional): If you use a dedicated drive for your games:
- Steam install (optional)
- In the terminal: sudo apt install steam-devices -y
- Browse the app store for Steam and install it, or use the corresponding flatpak command: flatpak install com.valvesoftware.Steam
- Launch it and login
[link] [comments]
Intel B580 Windows 11 vs Linux Gaming | GPU Benchmark 1080p, 1440p
Just Cause 3 how to block internet access
Hi,
Can someone please explain to me how I can block justcause3.exe from the internet.
It's about the Steam version and I´m on Linux Mint.
https://www.pcgamingwiki.com/wiki/Just_Cause_3#Reduce_load_times
I can´t figure out how to make a rule in Mint's Gufw and firejail doesn´t allow me to skip the intro's.
But the loadingtimes and popups really make this game annoying to play otherwise.
[link] [comments]
"Blocky" videos in wine wayland... bad gamma curve?
In Diablo 2 Resurrected, cutscenes (.webm videos) look like absolute crap when I start Diablo with wine wayland (DISPLAY= wine D2R.exe). Dark areas are full of square block artifacts, whereas under Xwayland (wine D2R.exe) they look fine. Also, what should be black looks almost purple-ish.
I noticed that under wayland I have to reduce the gamma with respect to Xwayland in the game settings to get the same overall brightness, but still the quality is waaaay worse. The gamma slider goes from black crushing to slightly too bright in a couple steps (see video above: 1 step, logo very visible; 2 steps, leftmost square visible; 3 steps, logo too bright), whereas under Xwayland the brightness raises much more gradually: https://streamable.com/2ouq1q (many steps to make the logo and leftmost square visible).
It looks like a bad gamma curve, right? Is there any way to get the same gamma in wine wayland and xwayland? By watching the cutscenes, it is obvious than the Xwayland curve is the correct one. They are a mess in wine wayland.
This is with amdgpu (9060 XT) and sway.
submitted by /u/v44r[link] [comments]
Arch Linux Configuration
Hello everyone! As a bit of context: some months ago I watched Pewdiepie's Linux video and as my old PC was not suitable for Windows 11, I said F*** it and started learning about linux. Me being me I chose the hardest linux distro I knew then: Arch Linux and started playing with it by watchinng Youtube Videos, reddit posts, Arch Wiki, Chat GPT and of course playing with it on my computer. I can't even recount the number of times I deleted it and reinstalled it because I wanted to try something new like: KDE Plasma, Gnome, Hyprland, different filesystems, etc. In the meantime, I have grown quite comfortable with the command line and recently I tried Ubuntu and it was weird to use their package manager and use the GUI so I think I will stick to Arch.
What I wanted to ask you is some advice from noobs, intermidiates and pros to help me choose some things because I want to finally move 100% to Arch Linux and stop using Windows. I haven't completely switched to Linux because I kept messing with DE-s or distros. Now that I made up my mind I want to ask you some questions.
I managed to get a new PC so, first, I will give you some specs and what I want to do with it:
- motherboard: rog crosshair x870e hero
- CPU: amd ryzen 9 9950x3d 16 core
- GPU: amd radeon rx 7900 xtx
- Memory: 2 2TB Samsung NVME Cards (on one I have windows and want to continue distrohopping and on the other one I wan to build my ideal setup)
- RAM: 64 GB RAM
- Use case: Home Desktop PC
- Goals: performance (gaming, video editing, programming) and security
Questions:
- What file system layout, format and mounts should i use?
- Besides the efi and swap partitions, how should I organize the rest: root, home, ...: create different partitions for each or format the root partition and then create subvolumes inside it and mount the the mount points that i need in their respective subvolumes?
- From what I have read I keep oscillating between BTRFS, ZFS and LVM with XFS.
- BTRFS:
- Pros: Tons of guides on the internet, snapshots, subvolumes, good integration with the linux kernel
- Cons: From what I have read, people keep saying that it is slow compared to ZFS and XFS.
- ZFS
- Pros: One of the most used filesystems in the servers industry, a more mature version of BTRFS (snapshots, pools, native encryption)
- Cons: It's not integrated into the linux kernel, not a lot of guides, needs its own bootloader to work with the snapshots
- LVM with XFS or EXT4
- Pros: Extremely good speed compared to other filesystems
- Cons: No native subvolume, snapshots
- I tend towards BTRFS and ZFS because of the snapshots, data integrity and subvolumes/ pools feature. I have read that ZFS is a more mature version of btrfs and has tons of features and better performance, but would all of that matter for a home desktop? I want to add: in the future when I get bored with distro hopping i plan to delete everything on my second nvme and add it to my setup through RAID(sorry if i get sloppy, I am not that well documented in this topic). Again from what I have read, BTRFS is not that great for Raid scenarios. However, I might be misinformed, so I will accept advices, critiques or sources.
- If I want ZFS so much why don't I use it? Well, cause: I m still a noob when it comes to this, there are not a lot of guides out there, in the future my system could break due to incompatibility issues between the linux kernule and the zfs modules (although this problem could be soilved by using the cachy os kernel; I have read on their wiki it has some implementations for the modules and they update them at the same time with the kernel so they will not break/ the chances of the the system breaking is much lower from my understanding).
- I guess my main question would be: people who have used both zfs and btrfs on your desktop setup, did you notice any significant performance differences between the 2 filesystems? I know zfs' performance is better at the servers ' scale, but is it noticeable in home desktops?
- If there is not a signioficant performance difference I would go with btrfs in a heartbeat because I am scared I will not understand the zfs documentation and have to try and learn it and it will cost me some time.
- Also is it possible in the future, let's say if I choose btrfs right now, to change my file system formats to zfs once I get more comfortable?
- Should I encrypt my root partition with LUKS if I have a home, personal, desktop and not a laptop? I know it only protects data at rest.
- I also want to encrypt my bootloader and together with the password for the account that I will use and the password for my root partition, I will have to introduce like 3 passwords everytime I want to use the PC.
- People who did it, why? What advantages does it serve you? I read that it can protect your data if someone gets access to your pc.
- What bootloader should I choose: Grub, Limine or ZFSBootMenu?
- If I choose BTRFS, then between Limine and Grub, which one is faster?
- If i choose ZFS, then can I make Grub/ Limine work with ZFS snapshots or should I just go with the ZFSBootMenu?
- Swap partition vs swappartition + zswap vs zram + swap aprtition vs just zram
- Again, the primary goal of this PC is performance in gaming, programming, video-editing.
- From what I have seen, a lot of oeple use zram. However, I asked chat gpt and IDK how accurate this is, but it said that zram would only help me if I have not that much Ram in the first place?
- Also I have not made my mind yet, but i think I want my pc to be able to hibernate so wouldn'yt that mean that i would need a swap partition which has >= RAM? In this case, wouldn't a swap partition of about 64-72 Gb + zswap be enough?
- Linux vs Linux Zen vs Cachy OS kernel
- For people who have used them, did you notice any significant benefit in performance between them?
- I gravitate towards the Cachy OS kernel because it's much more tweaked than the Linuxand Linux Zen kernels and right now I don't have the knowledge to tweak my own kernel.
- Also the Cachy Os kernel has some impelmentations for zfs and it has it's own sfs package that updates at the same time with the kernel so I will not brick my system.
This is mostly it. Thank you first for managing to read all of this and I would be glad if you leave some advice or sources. Also I want to mention: this is the first time I post something on reddit so sorry if my post seems wacky. Please be kind.
submitted by /u/Inevitable_Tip1140[link] [comments]
Actual PSA for dual booters
Battlefield 6 and Black Ops 7 aren't worth it. A large part of moving to Linux is to get away from lockdown nonsense like Secure Boot and TPM. If you want to play things like BF6 or BO7 so badly, please get a console. You're in r/linux_gaming, so you almost certainly have the money for a Series S at least. All reports suggest that BF6 in particular will be pretty good on a Series S.
Or you could just play literally anything else. There are countless better games to play that work plenty on Linux. You could absolutely play Battlefield 4 instead, for example. Last I checked, Black Ops III is doing pretty well, with the T7 patch anyway (don't even try playing it without it!). I've heard good things about Ready or Not as an actual game (I think you can completely bypass the Epic bits too) once all the awful fake controversy is filtered out. Not really the same thing, but games like Marvel Rivals and the upcoming Deadlock (but see here) are plenty fine on Linux.
Please don't suckered into believing that you have to accept this ridiculous deal you're being forced into. You didn't have to accept Windows 11, you don't have to accept this either.
submitted by /u/SEI_JAKU[link] [comments]
Valve's Proton 10.0-3 RC Enters Testing with Dozens of Fixes and New Game Support
Valve has pushed the Proton 10.0-3 Release Candidate out for public testing, a significant step toward the next stable version of its Windows compatibility layer. This release focuses on stabilizing a vast collection of fixes previously trialed in Proton Experimental and Hotfix. The result is enhanced stability and substantially wider game support for the Linux gaming community.
submitted by /u/UbuntuPIT[link] [comments]
Linux mint is the only distro that worked for me
So I have a gaming pc with intel b580 installed and I tried nobara and bazzite which would both result in not utilizing my GPU it would recognise it but not use it, would sit at 0% all the time and default to software rendering for gaming. Linux mint right out the box recognises and uses my GPU fully.
Quite funny that a distro that doesn't advertise it's self for gamers has turned out to be the best solution for a gamer
submitted by /u/Geekylad97[link] [comments]
Bazzite- System update failes because of lacking space, even though my SSD is empty
I'm a new Bazzite user, and don't know a lot about linux.
A friend helped me and we installed bazzite on a brand new 500 Go SSD and encrypted it in LUKS
But my system seems to think the entirety of the encrypted partition if full, even though I literally installed nothing else than bazzite on it.
It's preventing me from updating my system, but also from installing anything on that partition, and I can't understand why.
Has anyone an idea on what the problem is and how to fix it? Couldn't find anything with my search engine
submitted by /u/numerobis21[link] [comments]
As a newbie (trying to switch to linux for 1 day)
How do torrent work in Linux? In Türkiye we pay 1/4 or 1/5 of our monthly income Just for a game so we use torrent a lot. How does this work on Linux? Is there any website spresific for linux torrents or a boot option of .exe files in linux? (If mentioning or asking about piracy is against the rules, I can understand that but culture shouldn't be available onay for wealthy people, I need to ask. Thanks)
submitted by /u/Salty-Accountant6249[link] [comments]
Around 70,000 users affected in Discord related breach which includes some government ID images
.
Read the full article on GamingOnLinux.
Soma crashing after the intro cutsean
to be more specific im on CachyOS and i did try both with and without proton. can anyone help?
submitted by /u/Session_Illustrious[link] [comments]
Run WoW.exe twice at the same time.
Hey!
I'm playing WoW WotLK on a private server and use two game accounts. I'd like to log in to both at the same time, but I can only have the game open once. I use Nobara and launch the game via Lutris, and it works great. Running the game twice worked without any problems before. After reinstalling Nobara, it unfortunately stopped working, and I don't know why. When I try to open the game a second time, nothing happens until I close the first one. Then the second one opens. The game is listed twice in Lutris, each with a different name. I copied the entire game folder for the second run, but that didn't work either.
I don't know what to do. Can anyone help me?
submitted by /u/ReachFragrant8687[link] [comments]
Can someone please tell me why my GPU is at 0 percent usage?
I've tired nobara now I'm on bazzite and the same thing is happening, all drivers have been updated and on system info it says my graphics card is an intel b580. The cpu doesn't have an integrated GPU either
submitted by /u/Geekylad97[link] [comments]
Battlefield 6 releases today and it will not be playable on any Linux / SteamOS system
.
Read the full article on GamingOnLinux.
Creating a Script to build UMU-RUN commands
I am new to Linux and I am trying to understand how Wine, Proton, Prefixes... basically anything works, to become more independent. I found out the latest powerful tool we have is Umu-launcher, thus I started investigating what it is and how it works.
(this all started because for some reason even if it seems everyone is suggesting to use Lutris for many launchers I was never able to make anything work 100%, so I was frustrated).
When I started exploring things I decided that writing umu-run commands each time is boring, and I wanted an assisted way to generate them, thus I started working on a script I am also writing below and maybe build a GUI or TUI on top of it later.
If anyone is interested to help I am happy to receive your feedbacks.
```Bash
!/bin/bash umu-run Builder (Terminal Edition) - v6set -euo pipefail
=== CONFIG ===UMU_CMD="umu-run" CONFIG_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/umu-builder" mkdir -p "$CONFIG_DIR"
GAME_EXE="" PROTON_PATH="" PREFIX_PATH="" STORE="" GAMEID="" ENV_VARS=() CONFIG_FILE=""
=== DETECT DESKTOP & CHOOSE DIALOG TOOL ===DESKTOP_DIALOG="" if [[ -n "${XDG_CURRENT_DESKTOP:-}" ]]; then case "${XDG_CURRENT_DESKTOP,,}" in kde) DESKTOP_DIALOG="kdialog" ;; gnome) DESKTOP_DIALOG="zenity" ;; xfce) DESKTOP_DIALOG="zenity" ;; mate) DESKTOP_DIALOG="zenity" ;; lxqt) DESKTOP_DIALOG="kdialog" ;; unity) DESKTOP_DIALOG="zenity" ;; *) DESKTOP_DIALOG="" ;; esac fi
Fallback: check what's installedif [[ -z "$DESKTOP_DIALOG" ]]; then if command -v kdialog >/dev/null 2>&1; then DESKTOP_DIALOG="kdialog" elif command -v zenity >/dev/null 2>&1; then DESKTOP_DIALOG="zenity" elif command -v yad >/dev/null 2>&1; then DESKTOP_DIALOG="yad" else DESKTOP_DIALOG="terminal" fi fi
=== HELPERS ===copy_to_clipboard() { if command -v wl-copy >/dev/null 2>&1; then printf '%s' "$1" | wl-copy elif command -v xclip >/dev/null 2>&1; then printf '%s' "$1" | xclip -selection clipboard else echo "⚠️ Clipboard not supported (install xclip or wl-clipboard)" return 1 fi }
choose_file() { case "$DESKTOP_DIALOG" in kdialog) kdialog --getopenfilename . ".exe|Windows Executables" ;; zenity|yad) zenity --file-selection --file-filter=".exe" --title="Select Game Executable" ;; *) read -rp "Enter full path to .exe: " path echo "$path" ;; esac }
choose_dir() { local title="$1" case "$DESKTOP_DIALOG" in kdialog) kdialog --getexistingdirectory . "$title" ;; zenity|yad) zenity --file-selection --directory --title="$title" ;; *) read -rp "Enter directory path: " path echo "$path" ;; esac }
save_file_dialog() { local default_name="$1" case "$DESKTOP_DIALOG" in kdialog) kdialog --getsavefilename "$default_name" ".toml|TOML Configs" ;; zenity) zenity --file-selection --save --confirm-overwrite \ --filename="$default_name" \ --file-filter="TOML Configs (.toml)|*.toml" \ --title="Save Configuration" ;; yad) yad --file --save --confirm-overwrite \ --filename="$default_name" \ --file-filter="TOML Configs | *.toml" \ --title="Save Configuration" ;; *) read -rp "Enter full path to save config: " path echo "$path" ;; esac }
build_command() { if [[ -n "$CONFIG_FILE" ]]; then # If we have a saved TOML config, just use --config echo "$UMU_CMD --config \"$(realpath "$CONFIG_FILE")\"" else # Fallback: build env-prefixed command (for initial run before saving) local parts=() [[ -n "$STORE" ]] && parts+=("STORE=\"$STORE\"") [[ -n "$GAMEID" ]] && parts+=("GAMEID=\"$GAMEID\"") for kv in "${ENV_VARS[@]}"; do parts+=("$kv") done [[ -n "$PROTON_PATH" ]] && parts+=("PROTONPATH=\"$(realpath "$PROTON_PATH")\"") [[ -n "$PREFIX_PATH" ]] && parts+=("WINEPREFIX=\"$(realpath "$PREFIX_PATH")\"") parts+=("$UMU_CMD" "\"$(realpath "$GAME_EXE")\"") IFS=" "; echo "${parts[*]}" fi }
save_config() { local default_name="umu-game.toml" local save_path=$(save_file_dialog "$default_name") [[ -z "$save_path" ]] && { echo "Cancelled."; return; }
if [[ "$save_path" != *.toml && "$save_path" != *.* ]]; then save_path="$save_path.toml" fi mkdir -p "$(dirname "$save_path")" # Start writing TOML with [umu] table { echo "[umu]" echo "exe = \"$(realpath "$GAME_EXE")\"" [[ -n "$PREFIX_PATH" ]] && echo "prefix = \"$(realpath "$PREFIX_PATH")\"" [[ -n "$PROTON_PATH" ]] && echo "proton = \"$(realpath "$PROTON_PATH")\"" [[ -n "$STORE" ]] && echo "store = \"$STORE\"" [[ -n "$GAMEID" ]] && echo "game_id = \"$GAMEID\"" # Add environment variables as individual key-value pairs under [umu] for kv in "${ENV_VARS[@]}"; do if [[ "$kv" == *=* ]]; then key="${kv%%=*}" value="${kv#*=}" echo "$key = \"$value\"" fi done } > "$save_path" echo "✅ Saved TOML config: $save_path" CONFIG_FILE="$save_path"}
save_config_overwrite() { { echo "[umu]" echo "exe = \"$(realpath "$GAME_EXE")\""
[[ -n "$PREFIX_PATH" ]] && echo "prefix = \"$(realpath "$PREFIX_PATH")\"" [[ -n "$PROTON_PATH" ]] && echo "proton = \"$(realpath "$PROTON_PATH")\"" [[ -n "$STORE" ]] && echo "store = \"$STORE\"" [[ -n "$GAMEID" ]] && echo "game_id = \"$GAMEID\"" # Add environment variables as individual key-value pairs under [umu] for kv in "${ENV_VARS[@]}"; do if [[ "$kv" == *=* ]]; then key="${kv%%=*}" value="${kv#*=}" echo "$key = \"$value\"" fi done } > "$CONFIG_FILE" echo "✅ Updated: $CONFIG_FILE"}
load_config_interactive() { local selected=""
case "$DESKTOP_DIALOG" in kdialog) selected=$(kdialog --getopenfilename "$CONFIG_DIR" "*.toml|TOML Configs") ;; zenity|yad) selected=$(zenity --file-selection \ --filename="$CONFIG_DIR/" \ --file-filter="TOML Configs (*.toml)|*.toml" \ --title="Load Umu TOML Config") ;; *) read -rp "Enter full path to .toml file: " selected ;; esac if [[ -z "$selected" ]]; then echo "❌ No config selected." exit 1 fi if [[ ! -f "$selected" ]]; then echo "❌ File not found: $selected" exit 1 fi # Reset vars GAME_EXE=""; PROTON_PATH=""; PREFIX_PATH=""; STORE=""; GAMEID=""; ENV_VARS=() # Simple TOML parser (assumes [umu] structure) local in_umu=false while IFS= read -r line; do # Skip comments and empty lines [[ "$line" =~ ^[[:space:]]*# ]] && continue [[ -z "${line// }" ]] && continue # Detect section headers if [[ "$line" =~ ^\[umu\] ]]; then in_umu=true continue elif [[ "$line" =~ ^\[ ]]; then in_umu=false fi # Match key = "value" inside [umu] section if [[ "$in_umu" == "true" ]] && [[ "$line" =~ ^[[:space:]]*([a-zA-Z_][a-zA-Z0-9_]*)[[:space:]]*=[[:space:]]*\"(.*)\"[[:space:]]*$ ]]; then key="${BASH_REMATCH[1]}" value="${BASH_REMATCH[2]}" case "$key" in exe) GAME_EXE="$value" ;; proton) PROTON_PATH="$value" ;; prefix) PREFIX_PATH="$value" ;; store) STORE="$value" ;; game_id) GAMEID="$value" ;; launch_args) # Handle launch_args if needed # This is an array, but we might not need it for now ;; *) # Everything else is treated as an environment variable ENV_VARS+=("$key=$value") ;; esac fi done < "$selected" CONFIG_FILE="$selected" echo "✅ Loaded: $(basename "$selected")" post_load_menu}
post_load_menu() { local cmd=$(build_command) echo echo "=== LOADED COMMAND ===" echo "$cmd" echo echo "Choose action:" echo "1) Run now" echo "2) Copy to clipboard" echo "3) Modify configuration" echo "4) Update config file (save changes)" echo "5) Quit" read -rp "Choice [1-5]: " choice
case $choice in 1) eval "$cmd" ;; 2) copy_to_clipboard "$cmd" && echo "✅ Copied to clipboard!" ;; 3) modify_config ;; 4) if [[ -n "$CONFIG_FILE" ]]; then save_config_overwrite else echo "⚠️ No original config file. Saving as new..." save_config fi post_load_menu ;; *) echo "Bye!" ;; esac exit 0}
modify_config() { echo # === Game Executable === echo "Current game: $GAME_EXE" read -rp "Change game executable? (y/N): " r if [[ "${r,,}" == "y" ]]; then local new_exe=$(choose_file) if [[ -n "$new_exe" && -f "$new_exe" ]]; then GAME_EXE="$new_exe" else echo "⚠️ Invalid executable. Keeping current." fi fi
# === Proton === echo "Current Proton: ${PROTON_PATH:-[default (umu-managed)]}" if [[ -n "$PROTON_PATH" ]]; then echo "Options:" echo " 1) Keep current Proton version" echo " 2) Use default Proton (umu-managed)" echo " 3) Choose different Proton version" read -rp "Choice [1-3]: " proton_choice case "$proton_choice" in 2) PROTON_PATH="" ; echo "→ Will use default Proton." ;; 3) echo "Select Proton directory (must contain 'proton' script):" local new_proton=$(choose_dir "Select Proton Directory") if [[ -n "$new_proton" && -f "$new_proton/proton" ]]; then PROTON_PATH="$new_proton" else echo "⚠️ Invalid Proton directory. Keeping current." fi ;; *) echo "→ Keeping current Proton version." ;; esac else echo "Options:" echo " 1) Keep default Proton" echo " 2) Choose Proton version" read -rp "Choice [1-2]: " proton_choice if [[ "$proton_choice" == "2" ]]; then echo "Select Proton directory (must contain 'proton' script):" local new_proton=$(choose_dir "Select Proton Directory") if [[ -n "$new_proton" && -f "$new_proton/proton" ]]; then PROTON_PATH="$new_proton" else echo "⚠️ Invalid Proton directory. Keeping default." fi fi fi # === Prefix === echo "Current prefix: ${PREFIX_PATH:-[default (~/.wine)]}" if [[ -n "$PREFIX_PATH" ]]; then echo "Options:" echo " 1) Keep current custom prefix" echo " 2) Use default prefix (umu-managed, usually $HOME/Games/umu/umu-default)" echo " 3) Choose different custom prefix" read -rp "Choice [1-3]: " prefix_choice case "$prefix_choice" in 2) PREFIX_PATH="" ; echo "→ Will use default prefix." ;; 3) PREFIX_PATH=$(choose_dir "Select Prefix Directory") [[ -z "$PREFIX_PATH" ]] && PREFIX_PATH="" ;; *) echo "→ Keeping current custom prefix." ;; esac else echo "Options:" echo " 1) Keep default prefix (umu-managed, usually $HOME/Games/umu/umu-default)" echo " 2) Choose custom prefix" read -rp "Choice [1-2]: " prefix_choice if [[ "$prefix_choice" == "2" ]]; then PREFIX_PATH=$(choose_dir "Select Prefix Directory") [[ -z "$PREFIX_PATH" ]] && PREFIX_PATH="" fi fi # === Store & GAMEID === echo "Current store: ${STORE:-[none]}" echo "Current GAMEID: ${GAMEID:-[none]}" read -rp "Modify store/GAMEID? (y/N): " r if [[ "${r,,}" == "y" ]]; then echo "Select store (for STORE environment variable):" echo "1) Steam (no STORE needed)" echo "2) Epic Games Store (STORE=egs)" echo "3) GOG (STORE=gog)" echo "4) Amazon (STORE=amazon)" echo "5) EA App (STORE=ea)" echo "6) Ubisoft Connect (STORE=uplay)" echo "7) Skip" read -rp "Choice [1-7]: " store_choice case "$store_choice" in 1) STORE=""; echo "→ Steam doesn't use STORE variable." ;; 2) STORE="egs" ;; 3) STORE="gog" ;; 4) STORE="amazon" ;; 5) STORE="ea" ;; 6) STORE="uplay" ;; *) STORE="" ;; esac echo echo "ℹ️ Check the umu-database for your game's GAMEID:" echo " https://github.com/Open-Wine-Components/umu-database/blob/main/umu-database.csv " echo if [[ -n "$STORE" ]]; then echo "Enter the GAMEID from the 'UMU_ID' column (e.g., 'umu-egs-Ginger'):" else echo "Enter the GAMEID (for Steam, use numeric App ID like '292030'):" fi read -rp "> " GAMEID fi # === Environment Variables === echo "Current env vars: ${ENV_VARS[*]:-none}" read -rp "Edit environment variables? (y/N): " r if [[ "${r,,}" == "y" ]]; then ENV_VARS=() echo "Add env vars (KEY=VALUE). Press Enter on empty line when done:" echo "Current env vars: ${ENV_VARS[*]:-none}" echo "Common examples: DXVK_ASYNC=1, VKD3D_CONFIG=dxr, PROTON_NO_ESYNC=1" while true; do read -rp "> " kv [[ -z "$kv" ]] && break if [[ "$kv" == *=* ]]; then ENV_VARS+=("$kv") else echo "⚠️ Use KEY=VALUE format (e.g., DXVK_HUD=full)" fi done fi post_load_menu}
=== MAIN FLOW ===echo "=== Umu-Run Builder (v6) - TOML Config Mode ===" echo "ℹ️ Configs are now saved in TOML format for use with 'umu-run --config'" echo
Option to load config firstread -rp "Load a saved TOML config? (y/N): " load_choice if [[ "${load_choice,,}" == "y" ]]; then load_config_interactive exit 0 fi
1. Game executableecho echo "1. Select game executable (.exe):" GAME_EXE=$(choose_file) [[ -z "$GAME_EXE" || ! -f "$GAME_EXE" ]] && { echo "Invalid executable."; exit 1; }
2. Protonecho read -rp "2. Use custom Proton? [y/N]: " use_custom if [[ "${use_custom,,}" == "y" ]]; then echo "Select Proton directory (must contain 'proton' script):" PROTON_PATH=$(choose_dir "Select Proton Directory") [[ -z "$PROTON_PATH" || ! -f "$PROTON_PATH/proton" ]] && { echo "Invalid Proton path."; exit 1; } fi
3. Prefixecho read -rp "3. Use custom Wine prefix? [y/N]: " use_prefix if [[ "${use_prefix,,}" == "y" ]]; then echo "Select prefix directory:" PREFIX_PATH=$(choose_dir "Select Prefix Directory") [[ -z "$PREFIX_PATH" ]] && { echo "Invalid prefix."; exit 1; } fi
4. Storeecho echo "4. Select store (sets STORE environment variable):" echo "1) Steam (no STORE needed)" echo "2) Epic Games Store (STORE=egs)" echo "3) GOG (STORE=gog)" echo "4) Amazon (STORE=amazon)" echo "5) EA App (STORE=ea)" echo "6) Ubisoft Connect (STORE=ubisoft)" echo "7) Humble (STORE=humble)" echo "8) Skip" read -rp "Choice [1-8]: " store_choice
case "$store_choice" in 1) STORE=""; echo "→ Steam doesn't use STORE variable." ;; 2) STORE="egs" ;; 3) STORE="gog" ;; 4) STORE="amazon" ;; 5) STORE="ea" ;; 6) STORE="ubisoft" ;; 7) STORE="humble" ;; 8) STORE="" ;; *) STORE="" ;; esac
5. GAMEIDecho echo "ℹ️ Check the umu-database for your game's GAMEID:" echo " https://github.com/Open-Wine-Components/umu-database/blob/main/umu-database.csv " echo if [[ -n "$STORE" ]]; then echo "Enter the GAMEID from the 'UMU_ID' column (e.g., 'umu-egs-Ginger'):" else echo "Enter the GAMEID (for Steam, use numeric App ID like '292030'):" fi read -rp "> " GAMEID
6. Environment variablesecho echo "6. Add environment variables (KEY=VALUE). Empty line to finish:" echo "Common examples: DXVK_ASYNC=1, VKD3D_CONFIG=dxr, PROTON_NO_ESYNC=1, WINE_FULLSCREEN_FSR=1" while true; do read -rp "> " kv [[ -z "$kv" ]] && break if [[ "$kv" != = ]]; then echo "⚠️ Use KEY=VALUE format" continue fi ENV_VARS+=("$kv") done
Show command and offer actionsFULL_CMD=$(build_command) echo echo "=== GENERATED COMMAND ===" echo "$FULL_CMD" echo
echo "Choose action:" echo "1) Run now" echo "2) Copy to clipboard" echo "3) Save config as TOML" echo "4) Quit" read -rp "Choice [1-4]: " choice
case $choice in 1) echo "Running..." eval "$FULL_CMD" ;; 2) if copy_to_clipboard "$FULL_CMD"; then echo "✅ Command copied to clipboard!" fi ;; 3) save_config ;; *) echo "Bye!" ;; esac
```
submitted by /u/zuppor[link] [comments]
Blue Protocol: Star Resonance is out now and does work on Linux
.
Read the full article on GamingOnLinux.