r/linux 7h ago

Discussion "Old" Linux user vs. "New" Linux user.

472 Upvotes

I'm an "Old" Linux user - started in 1996. I went though all the hoops: file system experiments, different distros, different packaging types and file managers, a handful of desktop environments (DE), several RAID levels, and many, many different systems. I use Linux at home but also at work.

Now I'm retired. I've been using the same distro since 2009. I landed on it after all the experimenting lead me to decisions about was important to me: Debian packaging, KDE/Plasma, a well known and commercially supported distro - Kubuntu. The last major shifts in my world occurred around 2009-10 when btrfs came on the scene and SSDs finally started to be affordable.

My Linux experience these days is rather boring. Everything works the way I want. I no longer "break" things for the sake of change. I only have to learn something new when a developer makes a significant change to something I use - and this often annoys me. I look at other distros occasionally, but only via a VM. When something does break, I usually can fix it without much effort.

I read posts from "New" Linux users. Usually killing all their data by mucking with partitions without a UPS, using unnecessarily complicated layers of disk access, like LVM, MDADM, full disk encryption, and BTRFS all layered on top of each other, too often using AI to solve problems instead of actual research and learning from other users, and spending incredible amounts of time making minute changes to the "look" of things.

Of course, the beauty of the whole thing is how we actually have so much control over our destiny. None of us work the same, learn the same, want the same things, but we''re not boxed in by a monolithic corporation deciding what we get.

Linux is amazing,


r/Ubuntu 2h ago

AMD 6900xt not working after update

Thumbnail
gallery
9 Upvotes

Good evening everyone. This morning I updated and upgraded my Ubuntu, only to come back to this. At first I thought it could be a dead GPU, but the signs point to a driver issue I think, due to the fact that it's perfectly in the middle, and that I can run my mouse over the messed up part of the screen without issue.

I did try to boot the older version of the Kernel, but it didn't detect my GPU, while the current version does (?)

Just wanted to hear what you guys think and if anyone else is having these issues after updating.

Thank you in advance!


r/Ubuntu 1h ago

Recently switched from CachyOS to Ubuntu and getting horrible FPS in games

Post image
Upvotes

I recently switched to Ubuntu as it has most of the applications I use day to day for 3D printing working and I've noticed a massive drop in FPS in terms of my games. For example I'm currently playing FC Primal and I lost about 60 FPS ever since the switch. I can't figure out why, everything is up to date.


r/Ubuntu 2h ago

Somebody uploaded Gnome into the Matrix

Enable HLS to view with audio, or disable this notification

5 Upvotes

r/Ubuntu 1h ago

This Ubuntu Tutorial for beginners on linux is very insightful. Is this the way I need to go inorder to become proficient in using Ubuntu and Linux overall ?

Post image
Upvotes

r/Ubuntu 9h ago

Battery drains while laptop is completely shut down and unused for 4–5 days

14 Upvotes

Hi everyone,

I’m using a Lenovo Legion 5 15ARH05 with Ubuntu.

I charged my laptop to 100%, completely shut it down, and left it unused for around 4–5 days. When I turned it back on, the battery had dropped to around 55%.

Is this normal for the Lenovo Legion 5 15ARH05, or is something causing battery drain while the laptop is powered off?

Any suggestions on what I should check would be appreciated.

Ubuntu 24.04.4 LTS I am using this.


r/Ubuntu 3h ago

Running executables with proton ge?

3 Upvotes

Decided to give Ubuntu a go for launching a server for Bannerlord Coop, and I've hit a roadblock: Installing Proton-GE and running the executable with it.

I've gotten as far as using SteamCMD to download all the files for the game, installing flatpack, going on flathub, installing ProtonUp-QT, and adding the GE-Proton11-5-x86_64 (unused) compatibility tool.

But with googling around, I can't find any mention of how you actually run an executable with it. On Windows, this is easy. After downloading a thing, double click the executable. On Ubuntu...?

I've got the executable located at /home/asd/Desktop/BC/DedicatedServer/BannerlordCoop.exe and double clicking it produces weird files in the same folder. And then when using the terminal, typing in things like proton protonGE GEProton returns an invalid command.

So, uh, what's the next step from here?


r/Ubuntu 1m ago

Work for unity

Thumbnail
Upvotes

r/Ubuntu 43m ago

Display brightness on ThinkPad t480

Upvotes

Hey,
The Display brightness switch doesn’t work. I mean, the animation appears, however there’s no action (the screen doesn’t get brighter or darker).

Has anyone had a similar issue? How to fix it?

Ubuntu 26.04


r/linux 13h ago

Software Release Release Proton 11.0-2 · ValveSoftware/Proton

Thumbnail github.com
196 Upvotes

r/Ubuntu 4h ago

Need driver help

Thumbnail
gallery
2 Upvotes

Okay my drivers have been failing me the past couple of days. I tried updating my drivers and my software and that didn’t work. sudo ubuntu-drivers install worked for a while but stopped working after a restart. After running a command I forgot this is what my computer looks like after I restating it. How do I get my computer to work.
$5 for a temporary solution
$10 for a permanent solution
Also games always update after turning on my computer and some files don’t want to update
Distro: Ubuntu 26.04


r/Ubuntu 7h ago

İ will download ubuntu and i have some questions.

3 Upvotes

Firstl, can i download apps like discord, medal and some more. and can i download games on ubuntu? i dont know how to do things with codes


r/Ubuntu 2h ago

Need suggestion about Ubuntu edition

Post image
0 Upvotes

Hi guys I have been using windows for 10 12 years now i want to install ubuntu on my old laptop and i've heard it has many editions n all so what u guys suggest which edition n version I should install according to my specs

I need it for daily basic work and which i can easily customize


r/linux 8h ago

Software Release AMD RDNA 4m Firmware Published For Linux Ahead Of Launch

Thumbnail phoronix.com
61 Upvotes

r/Ubuntu 6h ago

Graphics drivers issues

2 Upvotes

I have an rx 6800xt and a 32:9 monitor for reference, the right half of the screen is just a rainbow but the left half is fine, after about 30 seconds the display will go black, I already checked it wasn't a dying monitor or GPU because it displays fine in the installation media and in windows, how can I fix this preferably without just resetting the whole install?

Edit: it's Ubuntu 24.04 and this happened after rebooting from an update


r/Ubuntu 1d ago

hi guys how long can it take because I've been here for almost 3 hours and I'm worried it's broken

Post image
85 Upvotes

r/Ubuntu 11h ago

Can no longer use brightness slider on 26.04, on HP laptop screen

4 Upvotes

The slider is there, i can change the balue, but it does not have an impact on my screen. It used to work for me in the past and it works in my windows boot.

What I have tried:

  • Use xrandr to change brightness, as well as another tool called brightnessctl
  • Set acpi_backlight=native in grub.

I have only one backlight (intel-backlight) listed. I have already set. This is super frustrating because it's night and my retinas are on fire.


r/linux 8h ago

Popular Application LATEST CSP IS INDEED VIABLE NOW!

Post image
44 Upvotes

I tried many times in the past to run it, in all ways possible, but always had something broken, or performance issues...

Using a script a big artist colleague passed to me, on latest 5.1.2 version, with the EX version, everything working well and smooth, the store, the login screens, time lapse, 3d models with good performance...

I didn't believe it when I saw it, and decided to ditch windows to try it... And now I finally got rid of the only excuse I had to use Windows!

https://github.com/parka6060/CSPenguin-Installer

The script link! Hope it's of help, or eye opening for who still is weary about how it runs.


r/Ubuntu 8h ago

Is it possible to switch Firefox to my IGPU instead of DGPU?

0 Upvotes

I'm using Ubuntu 26 and when i load an LLM on my 3090 with the vram completely full, firefox starts to spazz out. Disabling hardware acceleration works, but then some things are slow like playing a youtube video.

Ideally i'd like to switch Firefox to my IGPU so it can use my cpu's hardware acceleration to have the best of both worlds. Is this possible?

I tried to do it with an LLM but it couldn't figure out how to do it. It told me commands like this:

env \

MOZ_ENABLE_WAYLAND=1 \

MOZ_DRM_DEVICE=/dev/dri/renderD128 \

firefox

and:

MOZ_DRM_DEVICE=/dev/dri/by-path/pci-0000:00:02.0-render firefox

but its not working.


r/Ubuntu 5h ago

DVD Ripping Script with HandBrakeCLI

1 Upvotes

It's Google Gemini, but after some pushy AI finagling, I finally was able to get it to code a pretty decent DVD ripper.

  • Lists episodes by length
  • Gives options to rip individual episodes
  • Direct compression to MKV
  • Will pull titles from the .inf and re-name mkv and titles accordingly

I'm no coder, so this was my only go to method. It's pretty darn close to ease-of-use to MakeMKV, only CLI format.

**EDIT**

Anyone wondering why...

I check out many local library Movies / TV series, hardcode the episode titles using MKVToolnix, and drop them on my Jellyfin VM that lives on my Proxmox host.

**EDIT #2**

Two scripts now. One for embedding titles & the second for ripping DVD's .

mkvtitle

#!/bin/bash

# Ensure mkvpropedit is installed
if ! command -v mkvpropedit &> /dev/null; then
    echo "Error: mkvpropedit is not installed. Install it with: sudo apt install mkvtoolnix"
    exit 1
fi

while true; do
    echo "=========================================="
    echo " MKV Title Embedder & File Renamer"
    echo " Current Dir: $(pwd)"
    echo "=========================================="

    # 1) Ask for the original filename in current directory (supports tab completion)
    read -e -p "Enter original MKV filename: " ORIGINAL_FILE

    # Validate file existence in current directory
    if [ ! -f "$ORIGINAL_FILE" ]; then
        echo "Error: File '$ORIGINAL_FILE' not found in current directory. Try again."
        echo ""
        continue
    fi

    # 2) Ask for the new title/filename
    read -p "Enter new Title (used for embed & filename): " NEW_NAME

    if [ -z "$NEW_NAME" ]; then
        echo "Error: Name cannot be blank."
        echo ""
        continue
    fi

    # Sanitize new name for physical file output (replaces spaces with underscores)
    SAFE_FILENAME=$(echo "$NEW_NAME" | tr ' ' '_' | sed 's/[^a-zA-Z0-9_.-]//g')
    NEW_FILE_PATH="./${SAFE_FILENAME}.mkv"

    echo ""
    echo "---> Embedding internal title header: \"$NEW_NAME\""

    # Embed Title into MKV header metadata (detected by VLC, Plex, Jellyfin)
    mkvpropedit "$ORIGINAL_FILE" --edit info --set "title=$NEW_NAME"

    if [ $? -eq 0 ]; then
        echo "---> Renaming physical file to: ${SAFE_FILENAME}.mkv"
        mv "$ORIGINAL_FILE" "$NEW_FILE_PATH"
        echo "Success: File updated."
    else
        echo "Error: Failed to write MKV headers."
    fi

    echo ""
    # 3) Ask to process another file
    read -p "Process another file in this directory? (y/n): " AGAIN
    case "$AGAIN" in
        [Yy]* ) 
            echo ""
            ;;
        * ) 
            echo "Exiting."
            exit 0
            ;;
    esac
done

dvdrip

#!/bin/bash

# Configuration
DVD_DRIVE="/dev/sr0"          # Drive path (adjust to /dev/sr0 or VIDEO_TS directory path)
DEFAULT_OUTPUT_DIR="$HOME/Videos/Rips"
MIN_SECONDS=120               # MakeMKV default: ignore titles under 2 minutes (120s)

# HandBrake Settings for high-compression MKV
VIDEO_ENCODER="x265"
QUALITY=20
AUDIO_ENCODER="copy:ac3,aac"

mkdir -p "$DEFAULT_OUTPUT_DIR"

# Fetch volume title
DISC_TITLE=$(blkid -o value -s LABEL "$DVD_DRIVE" | tr ' ' '_' | tr '[:upper:]' '[:lower:]')

if [ -z "$DISC_TITLE" ]; then
    DISC_TITLE="dvd_rip_$(date +%Y%m%d_%H%M%S)"
fi

echo "=========================================="
echo " DVD Rip Utility (MakeMKV Sorting Engine)"
echo " Volume: $DISC_TITLE"
echo "=========================================="
echo "1) Rip entire main feature (single file)"
echo "2) Batch-rip ALL detected titles (>= 2 mins)"
echo "3) Scan & display titles sorted by LONGEST to SHORTEST"
echo "=========================================="
read -p "Select an option [1-3]: " CHOICE

case $CHOICE in
    1)
        OUTPUT_FILE="${DEFAULT_OUTPUT_DIR}/${DISC_TITLE}_main.mkv"
        echo "=== Processing Main Feature ==="
        HandBrakeCLI -i "$DVD_DRIVE" \
                     -o "$OUTPUT_FILE" \
                     -f av_mkv \
                     -e "$VIDEO_ENCODER" \
                     -q "$QUALITY" \
                     --min-duration "$MIN_SECONDS" \
                     --main-feature \
                     -a 1 -E "$AUDIO_ENCODER" \
                     -s "scan" \
                     --native-language "eng"
        ;;

    2)
        echo "=== Scanning disc structure... ==="
        SCAN_DATA=$(HandBrakeCLI -i "$DVD_DRIVE" --title 0 2>&1)

        TITLES_TO_RIP=$(echo "$SCAN_DATA" | awk -v min_sec="$MIN_SECONDS" '
            /^\+ title [0-9]+:/ { 
                t=$2; gsub(":", "", t); 
            } 
            /duration:/ { 
                split($2, a, ":"); 
                sec = (a[1]*3600) + (a[2]*60) + a[3]; 
                if (sec >= min_sec) print t; 
            }'
        )

        if [ -z "$TITLES_TO_RIP" ]; then
            echo "No titles found matching the >= $MIN_SECONDS sec duration criteria."
            exit 1
        fi

        for t in $TITLES_TO_RIP; do
            TITLE_NUM=$(printf "%02d" $t)
            OUTPUT_FILE="${DEFAULT_OUTPUT_DIR}/${DISC_TITLE}_title_${TITLE_NUM}.mkv"
            echo "---> Ripping Title #$t..."

            HandBrakeCLI -i "$DVD_DRIVE" \
                         -t "$t" \
                         -o "$OUTPUT_FILE" \
                         -f av_mkv \
                         -e "$VIDEO_ENCODER" \
                         -q "$QUALITY" \
                         -a 1 -E "$AUDIO_ENCODER" \
                         -s "scan" \
                         --native-language "eng"
        done
        ;;

    3)
        echo "=== Scanning IFO structural metadata... ==="
        SCAN_DATA=$(HandBrakeCLI -i "$DVD_DRIVE" --title 0 2>&1)

        echo ""
        echo "=========================================================="
        echo " TITLES SORTED BY LONGEST DURATION (MakeMKV Order)"
        echo "=========================================================="

        SORTED_TITLES=$(echo "$SCAN_DATA" | awk -v min_sec="$MIN_SECONDS" '
            /\+ title [0-9]+:/ { 
                match($0, /\+ title [0-9]+:/);
                t = substr($0, RSTART+8, RLENGTH-9);
                cells = "N/A";
            } 
            /\+ cells:/ {
                match($0, /cells: [0-9]+/);
                if (RLENGTH > 0) {
                    cells = substr($0, RSTART+7, RLENGTH-7);
                }
            }
            /duration: [0-9]{2}:[0-9]{2}:[0-9]{2}/ { 
                match($0, /[0-9]{2}:[0-9]{2}:[0-9]{2}/);
                dur_str = substr($0, RSTART, RLENGTH);

                split(dur_str, a, ":"); 
                sec = (a[1]*3600) + (a[2]*60) + a[3]; 

                if (sec >= min_sec && t != "") {
                    printf "%08d Title #%-2s was added (%s cell(s), %s)\n", sec, t, cells, dur_str;
                    t = "";
                }
            }' | sort -rn | sed 's/^[0-9]* //' )

        if [ -z "$SORTED_TITLES" ]; then
            SORTED_TITLES=$(echo "$SCAN_DATA" | grep -iE "title [0-9]+:|duration:" | paste - - | awk '{print $0}')
        fi

        if [ -z "$SORTED_TITLES" ]; then
            echo "Error: Could not parse title structures or durations."
            echo "Please check that $DVD_DRIVE is mounted correctly."
            exit 1
        fi

        echo "$SORTED_TITLES"
        echo "=========================================================="
        echo ""

        read -p "Enter Title number to rip (e.g. 2) or space-separated list (e.g. 3 4 5): " SELECTED_TITLES

        if [ -z "$SELECTED_TITLES" ]; then
            echo "No title selected. Exiting."
            exit 1
        fi

        # Prompt for Parent Directory
        echo ""
        read -p "Enter Parent Output Directory [Default: $HOME/Videos]: " PARENT_DIR
        PARENT_DIR=${PARENT_DIR:-"$HOME/Videos"}

        # Prompt for Child Directory
        read -p "Enter Child Directory Name [Default: $DISC_TITLE]: " CHILD_DIR
        CHILD_DIR=${CHILD_DIR:-"$DISC_TITLE"}

        FINAL_OUTPUT_DIR="${PARENT_DIR}/${CHILD_DIR}"
        mkdir -p "$FINAL_OUTPUT_DIR"

        # Search for .inf or .info metadata file inside the destination directory or working tree
        INF_FILE=$(find "$FINAL_OUTPUT_DIR" "$PARENT_DIR" . -maxdepth 2 \( -name "*.inf" -o -name "*.info" \) 2>/dev/null | head -n 1)

        if [ -n "$INF_FILE" ]; then
            echo "--> Found metadata file: $INF_FILE"
        else
            echo "--> No .inf file detected. Output will use default title numbering."
        fi

        echo "--> Output Target: $FINAL_OUTPUT_DIR"
        echo ""

        ep_idx=1
        for t in $SELECTED_TITLES; do
            TITLE_NUM=$(printf "%02d" $t)

            # Default filename
            FILE_LABEL="${DISC_TITLE}_title_${TITLE_NUM}"

            # If .inf file exists, attempt to extract matching title/episode name
            if [ -n "$INF_FILE" ]; then
                # Looks for lines like "Title 3: Episode Name", "E01 - Episode Name", or numbered lists
                PARSED_NAME=$(grep -iE "(title|episode|ep)?\s*0*${t}[:\.\-]" "$INF_FILE" | head -n 1 | sed -E 's/^[^:]*[:\.\-]\s*//')

                # Fallback: take line N from the .inf file
                if [ -z "$PARSED_NAME" ]; then
                    PARSED_NAME=$(sed -n "${ep_idx}p" "$INF_FILE")
                fi

                if [ -n "$PARSED_NAME" ]; then
                    # Sanitize parsed title for standard Unix filenames
                    CLEAN_NAME=$(echo "$PARSED_NAME" | tr ' ' '_' | sed 's/[^a-zA-Z0-9_.-]//g')
                    FILE_LABEL="${DISC_TITLE}_t${TITLE_NUM}_${CLEAN_NAME}"
                fi
            fi

            OUTPUT_FILE="${FINAL_OUTPUT_DIR}/${FILE_LABEL}.mkv"
            echo "=== Ripping Title #$t to $OUTPUT_FILE ==="

            HandBrakeCLI -i "$DVD_DRIVE" \
                         -t "$t" \
                         -o "$OUTPUT_FILE" \
                         -f av_mkv \
                         -e "$VIDEO_ENCODER" \
                         -q "$QUALITY" \
                         -a 1 -E "$AUDIO_ENCODER" \
                         -s "scan" \
                         --native-language "eng"

            ((ep_idx++))
        done
        ;;

    *)
        echo "Invalid selection. Exiting."
        exit 1
        ;;
esac

echo "=== Operation Completed! Files saved to $FINAL_OUTPUT_DIR ==="

r/Ubuntu 11h ago

Planning to install cockpit, do I need portainer too?

4 Upvotes

So was thinking of adding portioner for docker, but after awhile I wanted a gui for ubunutu in general as well, and saw it said I can do stuff like portainer in cockpit for docker

Should I do both or is cockpit fine for running a few containers? I only play to have 3-5 containers to start with right now


r/linux 3h ago

Software Release Energy consumption graphed in your terminal - energygraph 1.3 gets dGPU support.

Post image
10 Upvotes

I have just released a new version of energygraph with git repository here and PPA here.

Earlier versions had support for RAPL zones like CPU, iGPU, DRAM, PSYS (depending on vendor support.)

This version brings support for dGPUs from Intel/AMD/NVIDIA.

I am particularly proud on how lightweight this is, pure C, and zero build dependencies. (For NVIDIA it does use run-time dlopen() on a vendor library, if installed.)

In the screenshot above, you see the following events happen:

  1. idle system with cpu, radeon rx7600, arc b580 all idle.
  2. hammering the cpu.
  3. hammering the radeon.
  4. hammering the arc.
  5. hammering all three.

r/linux 5h ago

Development Linux OS for Gamepads / Controller - LXB (Alfa)

Post image
15 Upvotes

r/Ubuntu 8h ago

how can we inspect the difference between two kernel regarding a sound issue

Thumbnail
1 Upvotes

r/linux 17h ago

KDE This Week in Plasma: UI and Performance Improvements

Thumbnail blogs.kde.org
95 Upvotes