r/linux_gaming 11h ago

guide Getting started: the monthly-ish newbie advice thread! (September 2026)

8 Upvotes

Welcome to the newbie advice thread!

If you’ve read the FAQ and still have questions like “Should I switch to Linux?”, “Which distro should I install?”, or “Which desktop environment is best for gaming?”, this is where to ask them.

Alternatively, try r/linux4noobs and r/linuxquestions: both are active subreddits supporting new Linux users.

Please sort by “new” so new questions can get a chance to be seen.

The previous thread is here: https://www.reddit.com/r/linux_gaming/comments/1ukoung/getting_started_the_monthlyish_newbie_advice/


r/linux_gaming May 18 '26

guide Frequently Asked Questions 2.0

Thumbnail old.reddit.com
44 Upvotes

Here’s a link to this subreddit’s FAQ document (which attempts to answer many common questions).

This thread is not meant for asking frequently asked questions. There is a pinned monthly-ish “Getting Started” thread for those.

You can post suggestions for improvement below, though! Just please explain what you’re talking about. The number of FAQ editors has been 1 (one) for a while now, and that one’s a dummy that doesn’t use 95% of the fancy gaming stuff y’all do.

Reposted as an Old Reddit link because New Reddit, in addition to being generally confusing, does not display the table of contents.


r/linux_gaming 8h ago

North American Linux market share at 16%

486 Upvotes

Worldwide is at 8.88%


r/linux_gaming 3h ago

Linux market share hit a historical high of 8.88%, according to Statcounter. Congratulations!

Post image
118 Upvotes

r/linux_gaming 14h ago

wine/proton Ubisoft's FOR HONOR will block SteamOS / Linux on September 10

Thumbnail
gamingonlinux.com
864 Upvotes

r/linux_gaming 4h ago

s&box Native Linux Client Is OUT!

Thumbnail
steamcommunity.com
97 Upvotes

r/linux_gaming 6h ago

wine/proton Fortnite OG on linux (EZFN)

Post image
134 Upvotes

EZFN offers a guide on their official website explaining how to launch the EZFN Launcher using Proton. https://ezfn.dev/


r/linux_gaming 7h ago

steam/steam deck Steam Deck / SteamOS hit over 30,000 Verified + Playable games

Thumbnail
gamingonlinux.com
112 Upvotes

r/linux_gaming 7h ago

tool/utility endjynn/ frame-pacer > an actual good frame limiter

Enable HLS to view with audio, or disable this notification

57 Upvotes

When looking for reflex markers/times in the video, mind that LOW_LATENCY_LAYER was toggled on.

I've been trying to find a similar tool for so long, but mangohud/gamescope all gave worse frame latency and/or inconsistent frametime. Not a single one was similar to the Windows RTSS experience... frame-pacer is the closer it gets.

The tool is open source : https://github.com/endjynn/frame-pacer , and seems to be in active development.


r/linux_gaming 3h ago

emulation How is Linux for retrogaming compared to Windows ? Do emulators works well on Linux ? Is there any retrogaming oriented distros ?

18 Upvotes

By retro gaming I mean the PS2/Xbox generation or older (NES, SNES, Megadrive, PS1 etc...) or old PC games (PC games from 90s or 2000s)


r/linux_gaming 2h ago

Wardogs won't work during 03.09 closed beta on Linux (temporarly?)

10 Upvotes

From Wardogs discord - Wardogs won't work during the closed beta in 2 days on Linux while it worked perfectly during last beta. Lets hope its just a temporary step back and it will be alright during the launch on 10th


r/linux_gaming 4h ago

Testing Gameplay on Linux

Enable HLS to view with audio, or disable this notification

14 Upvotes

OS : Arch Linux Desktop Environment: SwayWM Steam-Proton version : Proton-GE Game Launcher : Faugus CPU : AMD Ryzen 3400G RAM : 16x2 (3200MHz)

GAME tested :

  1. Stray
  2. Hollow knight silksong
  3. GTA San Andreas
  4. The Witcher 3 Wild Hunt

Everything was smooth 🤌 And setting things up was easy AF


r/linux_gaming 1h ago

gamedev/testers wanted I built a community database for VM gaming and it now supports Proton too

Upvotes

Hey Linux gamers!

I released VMDB about four months ago.

It was originally intended just for VM gaming, but as of yesterday, it also supports Proton.

You’re probably wondering: why use VMDB when ProtonDB exists?

My answer is that VMDB offers plenty of convenient features like "My Setup" and much more.

Personally, I also think the design looks better, though I’m certainly biased.

Unfortunately, there isn't much data for Proton yet, so I’d really appreciate it if you checked out VMDB and if you like it submitted some reports.

Thanks for your time!

Happy gaming!

VMDB https://vmdb.it


r/linux_gaming 1h ago

Looking for a program that'll let me simulate being in the movie theater using VR.

Upvotes

I know this is reddit, so people are going to feel compelled to vote me done. Here is the situation though. I love going to the theater, but all my local theaters like AMC run their projectors until they break. So every movie at the theater now is dark and blurry. What I want is a program that I can use that'll run locally that has a theater level and I can play movies on the VR screen preferably somehow using MPV. I want to see if all of this is possible before buying a VR headset. I am thinking about getting the quest 3s and yes I know it has a bunch of bs with it, but I plan to activate it and then set it to offline and use it with my PC via WiFi. It would also be nice if I could test a program with mouse and keyboard just to see if the videos render before I invest in a headset.


r/linux_gaming 10h ago

guide windows update broke my pc AGAIN so im switching but which one is easiest and no audiolatency

15 Upvotes

so i wana switch like rn, windows is pissing me off and broken again but i heard mint is easy but it has audio latency and thats a big problem bcuz i play games like osu where timing is the most important thing (music game where u click on beat) so whats a rly easy distro to use? i tried bazzite once and idk what went wrong or it just didnt work on my pc but it was compleatly broken and unusable so i wouldnt want to try that one again PLS HELP

edit: thanks everyone, im leaning toward mint or nobara. ill first get to know how linux works more before switching but it seems like the easiest one to atleast start with!


r/linux_gaming 7m ago

wine/proton Wardogs had Proton support in EAC in the last beta, which worked perfectly fine. The next beta one week before launch (early access) wont support Proton.

Post image
Upvotes

r/linux_gaming 19h ago

Virtual monitor for streaming/sunshine and moonlight

59 Upvotes

Dynamic Virtual Monitor for Sunshine/Moonlight on KDE Wayland — KRFB + Any Resolution + Dynamic Refresh Rate

I originally made a guide for using a KDE KRFB virtual monitor with Sunshine/Moonlight at 1920×1080 @ 120 Hz.

Since then, I changed the setup significantly.

The new version is fully dynamic:

  • No dummy HDMI/DisplayPort plug
  • Physical monitor can remain enabled
  • No hard-coded resolution
  • Resolution comes from the Sunshine/Moonlight client request
  • Automatically creates the requested virtual monitor resolution
  • Automatically creates missing refresh-rate modes
  • Supports 60/90/120/240 Hz
  • Works with resolutions such as 1280×800, 1920×1080, 1920×1200, 2560×1440 and 3840×2160
  • Automatically positions the virtual monitor beside the physical displays
  • No need to manually fix the display position in KDE Display Settings every time

The important part is that KRFB creates the virtual display and KScreen controls its resolution, refresh rate and position.

What the setup does

The basic flow is:

Moonlight
    │
    ▼
Sunshine
    │
    │ client requests resolution/FPS
    ▼
sunshine-vm-dynamic.sh
    │
    ├── creates KRFB virtual monitor
    │
    ├── detects the virtual KScreen output
    │
    ├── positions it automatically
    │
    ├── checks for requested refresh rate
    │
    ├── creates custom mode if necessary
    │
    └── activates requested mode
    │
    ▼
Virtual-sunshine-vm
    │
    ▼
Sunshine
    │
    ▼
Moonlight

The physical monitor does not need to be disabled.

Requirements

This guide is intended for:

  • KDE Plasma
  • Wayland
  • KRFB
  • KScreen / kscreen-doctor
  • Sunshine
  • Moonlight

On Arch/Arch-based systems, install KRFB:

sudo pacman -S krfb

Check that the virtual-monitor executable exists:

krfb-virtualmonitor --help

Also check:

kscreen-doctor --help

You should see the addCustomMode functionality.

STEP 1 — Create the script directory

mkdir -p ~/.local/bin

STEP 2 — Create the dynamic virtual-monitor script

Create:

nano ~/.local/bin/sunshine-vm-dynamic.sh

Paste the following:

#!/bin/bash

set -u

WIDTH="${1:-${SUNSHINE_CLIENT_WIDTH:-1920}}"
HEIGHT="${2:-${SUNSHINE_CLIENT_HEIGHT:-1080}}"
FPS="${3:-${SUNSHINE_CLIENT_FPS:-60}}"

OUTPUT="Virtual-sunshine-vm"
NAME="sunshine-vm"
PASSWORD="CHANGE_THIS_PASSWORD"
PORT="5905"

echo "Dynamic Desktop: ${WIDTH}x${HEIGHT}@${FPS}"

KSCREEN="/usr/bin/kscreen-doctor"

kscreen_output() {
    "$KSCREEN" -o 2>/dev/null |
        sed $'s/\033\\[[0-9;]*m//g'
}

# ------------------------------------------------------------
# Detect Wayland
# ------------------------------------------------------------

export XDG_RUNTIME_DIR="${XDG_RUNTIME_DIR:-/run/user/$(id -u)}"

if [ -z "${WAYLAND_DISPLAY:-}" ]; then
    for socket in "$XDG_RUNTIME_DIR"/wayland-*; do
        [ -S "$socket" ] || continue
        WAYLAND_DISPLAY="$(basename "$socket")"
        export WAYLAND_DISPLAY
        break
    done
fi

if [ -z "${WAYLAND_DISPLAY:-}" ]; then
    echo "ERROR: Could not find a Wayland display."
    exit 1
fi

# ------------------------------------------------------------
# Remove any previous virtual monitor.
# ------------------------------------------------------------

pkill -f '/usr/bin/krfb-virtualmonitor' 2>/dev/null || true
sleep 2

# ------------------------------------------------------------
# Create the virtual monitor at the requested resolution.
# ------------------------------------------------------------

/usr/bin/krfb-virtualmonitor \
    --resolution "${WIDTH}x${HEIGHT}" \
    --name "$NAME" \
    --password "$PASSWORD" \
    --desktopfile org.kde.krfb.virtualmonitor \
    --scale 1 \
    --port "$PORT" &

# ------------------------------------------------------------
# Wait for KScreen to register the virtual monitor.
# ------------------------------------------------------------

FOUND=0

for i in $(seq 1 30); do
    if kscreen_output | grep -q "$OUTPUT"; then
        FOUND=1
        break
    fi

    sleep 0.5
done

if [ "$FOUND" -ne 1 ]; then
    echo "ERROR: Virtual monitor was not detected."
    exit 1
fi

# ------------------------------------------------------------
# Get the KScreen output number.
# ------------------------------------------------------------

OUTPUT_ID=$(
    kscreen_output |
    awk -v name="$OUTPUT" '
        $0 ~ name {
            print $2
            exit
        }
    '
)

if [ -z "$OUTPUT_ID" ]; then
    echo "ERROR: Could not determine output ID."
    exit 1
fi

echo "Virtual monitor output ID: ${OUTPUT_ID}"

# ------------------------------------------------------------
# Automatically position the virtual monitor.
#
# Find the rightmost physical display and place the virtual
# monitor immediately to its right.
#
# No physical resolution is hard-coded.
# ------------------------------------------------------------

PHYSICAL_RIGHT=0
PHYSICAL_Y=0

while read -r ID NAME; do

    if [ "$ID" = "$OUTPUT_ID" ]; then
        continue
    fi

    GEOMETRY=$(
        kscreen_output |
        awk -v id="$ID" '
            $0 ~ "^Output: " id " " {
                inside=1
                next
            }

            inside && /^Output:/ {
                exit
            }

            inside && /Geometry:/ {
                print $2, $3
                exit
            }
        '
    )

    if [ -z "$GEOMETRY" ]; then
        continue
    fi

    POSITION=${GEOMETRY%% *}
    SIZE=${GEOMETRY#* }

    X=${POSITION%,*}
    Y=${POSITION#*,}

    DISPLAY_WIDTH=${SIZE%x*}

    RIGHT=$((X + DISPLAY_WIDTH))

    if [ "$RIGHT" -gt "$PHYSICAL_RIGHT" ]; then
        PHYSICAL_RIGHT="$RIGHT"
        PHYSICAL_Y="$Y"
    fi

done < <(
    kscreen_output |
    awk '/^Output:/ {print $2, $3}'
)

echo "Positioning virtual monitor at ${PHYSICAL_RIGHT},${PHYSICAL_Y}"

if ! "$KSCREEN" \
    "output.${OUTPUT_ID}.position.${PHYSICAL_RIGHT},${PHYSICAL_Y}"; then

    echo "WARNING: Could not automatically position virtual monitor."
else
    echo "Virtual monitor positioned automatically."
fi

# ------------------------------------------------------------
# Find or create the requested refresh rate.
#
# KScreen/KRFB may report 120 Hz as something like 119.xx Hz.
# Therefore a small tolerance is used.
# ------------------------------------------------------------

MODE_ID=""

echo "Checking for ${WIDTH}x${HEIGHT}@${FPS} Hz..."

MODE_ID=$(
    kscreen_output |
    awk \
        -v name="$OUTPUT" \
        -v res="${WIDTH}x${HEIGHT}" \
        -v target="$FPS" '
        $0 ~ name {
            inside=1
            next
        }

        inside && /^Output:/ {
            exit
        }

        inside && /Modes:/ {
            best_id=""
            best_diff=999999

            for (i=1; i<=NF; i++) {

                token=$i

                if (token ~ /^[0-9]+:/ && token ~ res "@") {

                    id=token
                    sub(/:.*/, "", id)

                    mode=token
                    sub(/^[0-9]+:/, "", mode)

                    split(mode, p, "@")
                    rate=p[2] + 0

                    diff=rate-target

                    if (diff < 0)
                        diff=-diff

                    if (diff <= 2 && diff < best_diff) {
                        best_diff=diff
                        best_id=id
                    }
                }
            }

            if (best_id != "") {
                print best_id
                exit
            }
        }
    '
)

# ------------------------------------------------------------
# Requested mode does not exist.
# Create it as a custom mode.
# ------------------------------------------------------------

if [ -z "$MODE_ID" ]; then

    echo "No ${WIDTH}x${HEIGHT}@${FPS} mode found."
    echo "Adding custom ${WIDTH}x${HEIGHT}@${FPS} Hz mode..."

    if ! "$KSCREEN" \
        "output.${OUTPUT_ID}.addCustomMode.${WIDTH}.${HEIGHT}.${FPS}000.full"; then

        echo "ERROR: Failed to add ${WIDTH}x${HEIGHT}@${FPS} custom mode."
        exit 1
    fi

    sleep 1

    # Find the newly-created mode.
    MODE_ID=$(
        kscreen_output |
        awk \
            -v name="$OUTPUT" \
            -v res="${WIDTH}x${HEIGHT}" \
            -v target="$FPS" '
            $0 ~ name {
                inside=1
                next
            }

            inside && /^Output:/ {
                exit
            }

            inside && /Modes:/ {

                best_id=""
                best_diff=999999

                for (i=1; i<=NF; i++) {

                    token=$i

                    if (token ~ /^[0-9]+:/ && token ~ res "@") {

                        id=token
                        sub(/:.*/, "", id)

                        mode=token
                        sub(/^[0-9]+:/, "", mode)

                        split(mode, p, "@")
                        rate=p[2] + 0

                        diff=rate-target

                        if (diff < 0)
                            diff=-diff

                        if (diff < best_diff) {
                            best_diff=diff
                            best_id=id
                        }
                    }
                }

                if (best_id != "") {
                    print best_id
                    exit
                }
            }
        '
    )
fi

# ------------------------------------------------------------
# Verify that a mode was found.
# ------------------------------------------------------------

if [ -z "$MODE_ID" ]; then

    echo "ERROR: Could not find ${WIDTH}x${HEIGHT}@${FPS} mode."
    echo
    echo "Available virtual monitor modes:"
    kscreen_output | sed -n "/${OUTPUT}/,/^Output:/p"

    exit 1
fi

echo "Using KScreen mode ID: ${MODE_ID}"

# ------------------------------------------------------------
# Apply the mode.
# ------------------------------------------------------------

if ! "$KSCREEN" \
    "output.${OUTPUT_ID}.mode.${MODE_ID}"; then

    echo "ERROR: Failed to configure ${WIDTH}x${HEIGHT}@${FPS}."
    exit 1
fi

echo "Configured ${WIDTH}x${HEIGHT}@${FPS}"

exit 0

IMPORTANT

Change:

PASSWORD="CHANGE_THIS_PASSWORD"

to your own KRFB password.

Do not use the password from this Reddit post.

STEP 3 — Make the script executable

chmod +x ~/.local/bin/sunshine-vm-dynamic.sh

Check the script before running it:

bash -n ~/.local/bin/sunshine-vm-dynamic.sh

There should be no output.

STEP 4 — Test the virtual monitor

The script accepts:

WIDTH HEIGHT FPS

For example:

~/.local/bin/sunshine-vm-dynamic.sh 1920 1080 60

Then:

~/.local/bin/sunshine-vm-dynamic.sh 1920 1080 120

You can also test:

~/.local/bin/sunshine-vm-dynamic.sh 1280 800 90


~/.local/bin/sunshine-vm-dynamic.sh 1280 800 120


~/.local/bin/sunshine-vm-dynamic.sh 1920 1200 60


~/.local/bin/sunshine-vm-dynamic.sh 1920 1200 120


~/.local/bin/sunshine-vm-dynamic.sh 2560 1440 120


~/.local/bin/sunshine-vm-dynamic.sh 3840 2160 60


~/.local/bin/sunshine-vm-dynamic.sh 3840 2160 120

And even:

~/.local/bin/sunshine-vm-dynamic.sh 1920 1080 240

If the requested refresh rate doesn't already exist, the script uses:

kscreen-doctor output.<ID>.addCustomMode.<width>.<height>.<refresh>

For example, 240 Hz becomes:

240000 mHz

The important part is that the script doesn't assume that 120 Hz is the maximum.

STEP 5 — Verify the virtual monitor

Run:

kscreen-doctor -o

You should see something similar to:

Output: 1 Virtual-sunshine-vm
        enabled
        connected
        Modes:
            1:1920x1080@60.00
            2:1920x1080@119.93
            3:1920x1080@239.XX

The exact mode numbers and refresh-rate values will vary.

For example, KDE may report:

119.93

instead of:

120

That is normal.

Likewise, a requested 90 Hz mode may appear as:

89.89

The script intentionally allows a small refresh-rate difference when selecting a mode.

STEP 6 — Sunshine configuration

The important difference from my original guide:

There is no "Force Capture Method" step in this setup.

Do not look for a "Force Capture" option and don't add one just because an older version of this guide mentioned it.

The dynamic script is responsible for creating and configuring the virtual monitor.

Configure the script as the Sunshine preparation command used when a client connects.

The script already understands Sunshine's client environment variables:

SUNSHINE_CLIENT_WIDTH
SUNSHINE_CLIENT_HEIGHT
SUNSHINE_CLIENT_FPS

Therefore, when Moonlight requests a particular resolution/FPS, Sunshine can pass that information to the script.

For example, a client request can result in:

SUNSHINE_CLIENT_WIDTH=2560
SUNSHINE_CLIENT_HEIGHT=1440
SUNSHINE_CLIENT_FPS=120

and the script effectively performs:

2560x1440@120

without you hard-coding 2560×1440 into the script.

STEP 7 — Why this is better than the old version

The old setup was essentially:

1920x1080
      +
120 Hz

Everything was hard-coded.

The new setup is:

Moonlight request
       │
       ▼
Requested width
Requested height
Requested FPS
       │
       ▼
Dynamic script
       │
       ├── KRFB resolution
       ├── KScreen mode detection
       ├── custom mode creation
       └── automatic positioning

So the same script can handle:

1280x800 @ 60
1280x800 @ 90
1280x800 @ 120

1920x1080 @ 60
1920x1080 @ 90
1920x1080 @ 120
1920x1080 @ 240

1920x1200 @ 60
1920x1200 @ 120

2560x1440 @ 60
2560x1440 @ 120

3840x2160 @ 60
3840x2160 @ 120

You don't need a separate script for each resolution.

STEP 8 — Automatic monitor positioning

One problem with the earlier version was that after creating the virtual monitor, part of the display could overlap the physical monitor.

The new script fixes this automatically.

It examines the current KScreen geometry:

Geometry: X,Y WIDTHxHEIGHT

It finds the rightmost physical display and calculates its right edge.

Then it places the virtual monitor there:

physical monitor
        │
        │
        ▼
┌───────────────────┐ ┌───────────────────┐
│                   │ │                   │
│ Physical monitor  │ │ Virtual monitor   │
│                   │ │                   │
└───────────────────┘ └───────────────────┘

There is no hard-coded physical resolution in this calculation.

This is important for systems with different monitor layouts.

STEP 9 — Start it automatically

Once manual testing works, the script can be connected to your Sunshine startup/client preparation workflow.

The important part is that the script should be executed as the user running the KDE Wayland session.

It needs access to:

XDG_RUNTIME_DIR
WAYLAND_DISPLAY
KScreen
KWin
KRFB

Do not run the virtual-monitor configuration as a normal system service without access to the user's Wayland session.

STEP 10 — Check the logs

If something doesn't work, first run:

kscreen-doctor -o

Then run the script manually:

~/.local/bin/sunshine-vm-dynamic.sh 1920 1080 120

The output is very useful.

For example:

Dynamic Desktop: 1920x1080@120
Virtual monitor output ID: 1
Positioning virtual monitor at 5405,0
Virtual monitor positioned automatically.
Checking for 1920x1080@120 Hz...
Using KScreen mode ID: 2
Configured 1920x1080@120

If a mode doesn't exist:

Checking for 1920x1080@240 Hz...
No 1920x1080@240 mode found.
Adding custom 1920x1080@240 Hz mode...
Using KScreen mode ID: 10
Configured 1920x1080@240

That means the script successfully created the missing mode.

STEP 11 — Test with Moonlight

Open Moonlight on your client.

Connect to your Sunshine host and start the desktop.

Try different resolutions and refresh rates.

For example:

1920×1080 @ 60
1920×1080 @ 120
2560×1440 @ 120
3840×2160 @ 60

If your client exposes 90 Hz or 240 Hz:

1280×800 @ 90
1920×1080 @ 240

can also be tested.

The virtual monitor should automatically change to the requested configuration.

Troubleshooting

Virtual monitor isn't created

Check:

krfb-virtualmonitor --help

and:

kscreen-doctor -o

Make sure you are running KDE Wayland.

The requested mode doesn't exist

Run:

kscreen-doctor -o

The script should automatically create a custom mode when necessary.

For example:

No 1920x1080@240 mode found.
Adding custom 1920x1080@240 Hz mode...

is expected.

KDE reports 119.xx instead of 120

This is normal.

For example:

119.93 Hz

is the mode corresponding to the requested 120 Hz refresh rate on this setup.

The script accounts for this small difference.

KDE reports 89.xx instead of 90

Also normal.

For example:

89.89 Hz

can be the actual reported mode for a requested 90 Hz mode.

Displays overlap

The current script automatically calculates the position of the virtual display.

Run:

kscreen-doctor -o

and look for:

Geometry:

The script uses the physical display geometry rather than assuming a particular resolution.

Sunshine cannot see the virtual display

First check:

kscreen-doctor -o

You should see:

Virtual-sunshine-vm

Then make sure Sunshine is running inside the same KDE Wayland user session.

Final result

The finished setup looks like this:

                 KDE Plasma / Wayland
                         │
                         ▼
                 KRFB Virtual Monitor
                         │
                         ▼
                 Virtual-sunshine-vm
                         │
              ┌──────────┴──────────┐
              │                     │
        Dynamic resolution     Dynamic refresh
              │                     │
        1280×800              60 / 90 / 120
        1920×1080                  240
        1920×1200
        2560×1440
        3840×2160
              │                     │
              └──────────┬──────────┘
                         ▼
                      Sunshine
                         │
                         ▼
                      Moonlight

Notes

This setup is specifically for KDE Plasma Wayland using KRFB's virtual-monitor functionality. KRFB creates the compositor-level virtual output, while KScreen controls its modes and geometry

If you are using a different desktop environment, X11 instead of Wayland, or a different virtual-display implementation, the commands in this guide may not apply.

These steps written with the help of chatgpt because I can't find anything related to virtual monitor on Linux and I tried alot of steps didn't work out well and then I found this post

https://discuss.kde.org/t/how-to-create-a-virtual-monitor-display/2725/13

And there is alot good suggestion provided by other users and after alot of trial and error I manage to start sunshine using virtual monitor instead of physical monitor and without using any physical display port I.e., when using edid method hope it will help someone


r/linux_gaming 3h ago

tech support wanted Random Special Ability triggers in Grand Theft Auto V

3 Upvotes

I installed CachyOS on my PC in like February, installed and played GTA V Expanded and Enhanced and had zero issues. Now, I want to play it again, but it seems like the universe is telling me not to.

Occasionally, my special either turns on randomly, or turns off randomly. It's so annoying and I don't even know where to even continue to troubleshoot it, I've switched to CachyOS's Proton build, updated Linux, nothing helps. Heck I've even set the game ID to umu-271590 and it didn't help.

The actual worst thing is that it's random, I can do a whole day without experiencing it once, but I can also play the game for 5 minutes and have it happen a million times. It's not even the keyboard, the caps lock LED light doesn't even turn on. It feels like the only thing that might help me here is to either switch to Windows (ew), or remap the key, which I don't want to do because I am so used to pressing Caps Lock.

Can a kind soul please help me? I am going insane here :(

Unsure if my hardware is relevant but:
CPU: AMD Ryzen 5 3600
GPU: Radeon RX 6700 XT
RAM: 16GB 3200 MHz
OS: CachyOS Wayland and KDE

And the game is from Epic Games, and I'm launching it with Heroic Games Launcher.
I can try sending a log to you guys if you want it. Mind you it's half a gig because I tried to get as much data in it as possible.


r/linux_gaming 1d ago

Looking for Discord alternatives

112 Upvotes

Hi friends. Recently, a Brazilian politician decided that Discord was to blame for a crime committed by some idiotic teenagers, and since August 17th, Discord has blocked streaming here. I'm looking for alternatives (if any exist) that support screen and audio sharing; I tested Zoom, and while it works well, it's unfortunately limited to 15 fps.


r/linux_gaming 3h ago

Looking for monitor switching software

2 Upvotes

I'm looking for something that will allow me to swap monitors with a hotkey.

I'd like to use my desktop setup and sim gear on the same PC.

It's a pain swapping out cables ever time.


r/linux_gaming 5h ago

guide Fixed Cosmic byte blitz controller not working on linux

3 Upvotes

I recently bought a cosmic byte and tried to get it to work on linux so all the resources i found used it in nintendo mode which disabled the analog triggers or android mode which is just bad.

so I finally got it working properly in xinput mode with analog triggers. I created a program to help anyone that needs it -> https://github.com/yashchaurasia667/xpad-detection-fix

or you just run a few commands->

$ sudo modprobe xpad

$ lsusb
Bus 001 Device 031: ID 0281:0112  Controller

$ echo "0281 0112" | sudo tee /sys/bus/usb/drivers/xpad/new_id

$ sudo udevadm control --reload-rules && sudo udevadm trigger

then to make it permanent:

$ echo xpad | sudo tee /etc/modules-load.d/xpad.conf

$ echo 'ACTION=="add", SUBSYSTEM=="module", KERNEL=="xpad", RUN+="/bin/sh -c '\''echo 0281 0112 > /sys/bus/usb/drivers/xpad/new_id'\''"' | sudo tee /etc/udev/rules.d/90-xpad-blitz.rules

$ sudo udevadm control --reload-rules && sudo udevadm trigger

r/linux_gaming 3h ago

Shader Pre-caching update as large as the entire game

2 Upvotes

I'm new to Linux. I tried gaming on Mint Cinnamon and hated it, but I'm enjoying my experience on Bazzite so far, even with my Nvidia GPU. As far as I understand, the shader pre-caching updates are essentially when a new version of the shaders are developed that fix linux stuttering issues and things like that. I hopped on steam a few minutes ago and Marvel Rivals is trying to get some new shaders- that are 81 GB.

Does this mean that it wants to use of 81 GB of storage space for shaders or is it basically having to reinstall the game to apply the shaders that it's installing with that update?

Like i said, I have an Nvidia card (a 3050, to be exact) so installing shaders while the game's running creates a massive amount of stutter, so that's why pre-caching's enabled


r/linux_gaming 25m ago

Help with finding a really old, linux-only game/tech demo from possibly over a decade ago?

Upvotes

Ages and ages ago i remember seeing a very interesting tech demo, which demonstrated some weird morphing effect. I remember the "game" had a lot of hallways and it seemed like everything was textured in coloured static noise, and if you activated something or pressed a button youd be in a different location but it looked like nothing moved like your previous view was mapped onto the geometry of the new one? think of a "datamoshing" kind of effect idk

I don't remember the details at all, but i saw this a long time ago and i was dissapointed to see it was linux only. I realize, i now use linux! But i have no idea what that even was, or why i was so interested in it. That might be it, I don't know.

I remember the videos of it being very low quality, it may be nearing 20 years old instead of 10, but my memory isn't great, it might even be less than 10 years.


r/linux_gaming 1h ago

tech support wanted R6 Siege no longer working on linux

Post image
Upvotes

load up rainbow 6 to play the new season, after updating, I get this error and it doesnt launch, it worked perfectly fine the other day before the new season, is this a me thing or am I fried?

(running brazzite os)


r/linux_gaming 1h ago

Other people using an eGPU in SteamOS?

Thumbnail
Upvotes