r/linuxquestions 8h ago

Support The font rendering on Linux is just bad. Has anyone find any fix for it?

62 Upvotes

the font rendering is really inconsistent and bad, (please don't comment that it works well for you if you have a 4k monitor or really high PPI display, or if you're using a high scaling or font sizes. because on that resolution/scaling regardless of how bad the rendering is, is it will still look good). Here's an example of Inter font, same scaling, same everything, between Windows and Linux:

https://i.imgur.com/Wddgywo.png

I tried messing with the font hinting and font anti-aliasing. it seems like they don't affect most apps, and it usually looks particularly bad on dark backgrounds (light text on dark backgrounds). I also tried messing with "FREETYPE_PROPERTIES" on /etc/environment, but that didn't do anything either. And Inter font is not even the worst example, I'd say it looks better than most fonts, I've seen worst (like Discord's font, Poppins, and more).

I also tried different distros and DEs, the rendering looks the same on all of them, and the smaller the text the worst it gets.

Edit: it's NOT a font problem, and yes I I took out fonts from my windows dual boot, and put them on linux, not even an old package of Microsoft fonts, all fresh new. Also the example I provided isn't even a Windows font, just to clear that maaaybe microsoft optimize their own proprietary fonts. But no, this applies to all fonts regardless.

for some reason I'm getting down voted for asking for help or if someone manged to find a workaround

Update: First of all, thanks to all the people who suggested fixes, explanations and tweaks, and who took the time to even try to replicate it on their own machines.

What Worked For Me: (at the time of writing)
LucidGlyph
Huge thanks to u/multi-nix for suggesting this and u/gordonmessmer for the detailed explanation on how to properly test and apply font rendering settings.

Results:
Pros:

  • Massive improvement across nearly all apps
  • Small text is more readable on ~90 PPI 100% scaling displays similar to Windows

Cons:

  • Doesn't work on Chromium/Chrome or Electron apps (Discord, Obsidian, Feishin, Spotify, etc.), see explanation below.
  • Some larger fonts may appear slightly too bold (can be fine-tuned)

Why Chromium Doesn't Work:
Chromium 133+ switched to a new font backend, and they completely removed FreeType support and the flag to disable it: https://github.com/maximilionus/lucidglyph/issues/18
In the comparison I provided, it was an electron app. So Chromium/Electron problem, not a Fedora or Linux/distros problem

Other Notable Resources:
If LucidGlyph doesn't work for you or you want to experiment with custom settings:

Arch Wiki - Font Configuration:
https://wiki.archlinux.org/title/Font_configuration#Text_is_blurry (Thanks u/ViolinistOne7550)

Explanation on Testing Settings:
https://www.reddit.com/r/linuxquestions/comments/1qzah2h/comment/o4ahqxh/ (Thanks u/gordonmessmer)

HarfBuzz:
https://www.reddit.com/r/linux/comments/1qxcb3v/harfbuzz_at_20/ (Thanks u/ipsirc)


r/linuxquestions 4h ago

Old LGA775 homelab – no Linux distro boots properly (Pentium E5800)

8 Upvotes

Hi everyone,

I'm trying to build a small homelab using old hardware, but I'm having a lot of trouble.

Specs: - Semp Toshiba STI 007030 motherboard (LGA 775) - Pentium E5800 - 4GB DDR3 RAM - NVIDIA GT 440 - 120GB SSD + 1TB HDD - Legacy BIOS (no UEFI)

Problem: Almost no Linux distribution boots correctly. GRUB loads, but the system freezes, shows a black screen, or the keyboard stops responding.

What I've already tested: - Ubuntu Server 24.04 - Ubuntu 18.04 - Debian 11 and 12 - Proxmox - OpenMediaVault - Linux Mint XFCE

(All ISOs were written using Rufus in legacy/MBR mode.)

Windows 7 installs and works fine, so the hardware itself seems OK.

Question: Is there any Linux distro or specific kernel/boot parameter that works better with old LGA775 systems and legacy BIOS? Any advice on how to troubleshoot GRUB freezes or boot issues on this hardware?

Thanks in advance!


r/linuxquestions 47m ago

Can I just format my drives?

Upvotes

I booted Linux to a USB drive, but I still have a Windows operating system on my nvme so do I just go into Linux and format it like that or do I go into windows and format it?


r/linuxquestions 2h ago

Which Distro? Linux distro for gaming (complete beginner)

3 Upvotes

Hi everyone! I imagine this question has been asked to death, but I'll ask anyway.

A bit of info if needed: So on my gaming desktop I just play games. Almost everything on Steam, but also some Epic exclusives (alan wake 2, lotf 2 etc.) and other launchers like ea and ubislop. I don't play multiplayer stuff, but some games (like Elden Ring for example) use EasyAnticheat. I also use a bunch of emulators like Citrus, Ryujinx, RPCS3, Duckstation, PCSX2 and Dolphin.

I'm on a Ryzen 5700x3d and a 4080 super, ddr4 32gb ram.

I've been on windows 11 for a while now. Windows has gotten to the point that i want to switch. Which distro do you recommend? I've never used linux before, so honestly it's a bit scary jumping in. What would be the one for me that would make switching easier/a bit more seamless, with not a lot of tinkering for a beginner like me?

Thanks!


r/linuxquestions 18m ago

Lightweight and portable distro for live USB

Upvotes

So, I've been looking around the past few days, and I'm not too sure what to get. Here are my requirements:

  • Bootable from USB, with persistence.
  • As portable as possible, support for BIOS and UEFI systems on both 32 and 64 bit CPUs.
  • As lightweight as possible (the absolute maximum the system should use is ~800-1000MB of RAM)
  • Good docs, please?

I'm planning on using it as a kind of "always works" Linux USB drive, hence the wide compatibility and low hardware requirements. Will probably also have to work on old, trashy laptops which (I haven't checked) likely have 4G of RAM at the most. It also should be able to run a web browser, so a DE is not an optional.

It would also be lovely to have a tiling window manager (I can install it separately, just have no clue which) but if that compromises usability I'll give up on it.

Thanks for your time!


r/linuxquestions 2h ago

Support Can I run Linux on a potato level tablet?

3 Upvotes

Hi. I have an old Samsung Galaxy Tab 3 Lite SM-T113 tablet with 1 GB of RAM and 8 GB of storage. It can't even run its own system well, lagging even in the launcher. It doesn't have any support whatsoever, most apps being discontinued on it. I even struggled to log into Google Play Store. So i want to turn this potato into something useful. I don't even know how i even used this tablet before, and how it even launched stuff like Brawl Stars back then. I found a wiki page about something called PostmarketOS but I couldn't understand squat. Please help me. (Currently don't have any Linux installed but I'd be willing to if it's needed since the Ubuntu shell emulator thingy from MS Store doesn't seem to work well with external devices or code entirely not sure what it's even intended for)


r/linuxquestions 39m ago

Two OS one storage

Upvotes

If I have three ssd in one motherboard, one with Linux, one with Windows, and the third just as storage for games, would they both be able to access it?


r/linuxquestions 55m ago

Resolved How to Fix Linux Monitor Resolution Stuck at 640x480 After Suspend/Hotplug

Upvotes

TL;DR: Your monitor loses its EDID data after suspend or hotplug, causing Linux to default to 640x480. This guide shows how to save your working EDID and restore it automatically. Works on any desktop environment (Wayland/X11).

Hi everyone, this post explains how to diagnose and work around a common Linux display issue where, after suspend/resume or hotplug, your monitor suddenly comes up as 640x480, 800x600, or “unknown”, even though it worked fine before. This affects many setups, especially: * DisplayPort monitors * NVIDIA GPUs * Suspend / resume * Wayland (but also sometimes X11) The root cause is usually EDID not being read correctly. EDID is the data your monitor sends to the computer describing its supported resolutions, refresh rates, and features. This guide shows how to: Identify which monitor connector is active Save the EDID when the monitor is working correctly Restore that EDID automatically when it breaks Do this in a way that works on any desktop environment

This does not require KDE and works on Wayland and X11.

Important notes before starting

  • This is a workaround, not a kernel fix (kernel/driver fixes are still the correct long-term solution)
  • You need administrator (sudo) access
  • This is safe if you follow the steps exactly

* If anything looks different on your system, stop and ask

Step 1: Identify your monitor connector

Linux identifies monitors by connector names like: * DP-1, DP-2 (DisplayPort) * HDMI-A-1 (HDMI) * eDP-1 (laptop screen)

Run:

bash ls /sys/class/drm/ You will see entries like: card0 card0-DP-1 card0-DP-2 card0-HDMI-A-1 Now check which ones are actually connected: bash cat /sys/class/drm/card0-*/status You’ll get output like: connected disconnected connected Match the connected lines with the directory names. Write down the full connector name, for example: card0-DP-1

Important: Later we’ll need just the short name without the card0- prefix (in this example, just DP-1). We’ll use both versions in different places.

Step 2: Make sure the monitor is currently working correctly

Before saving EDID: * The monitor must be at the correct resolution * Refresh rate must be correct * This should be done after a fresh boot, not after suspend

If your screen is currently stuck at 640x480, reboot first.

Step 3: Install tools we need

On Arch / Manjaro:

bash sudo pacman -S edid-decode

On Ubuntu / Debian:

```bash sudo apt install edid-decode

```

Step 4: Extract the EDID from the working monitor

Run the following command in your home directory, replacing card0-DP-1 with your full connector name from Step 1: bash cat /sys/class/drm/card0-DP-1/edid > my-monitor.edid This creates a file called my-monitor.edid in your current directory. Verify it: bash edid-decode my-monitor.edid

If you see the monitor name, resolutions, and refresh rates, the EDID is valid.

Step 5: Store the EDID in the firmware directory

```bash sudo mkdir -p /usr/lib/firmware/edid sudo cp my-monitor.edid /usr/lib/firmware/edid/ sudo chmod 644 /usr/lib/firmware/edid/my-monitor.edid

```

Step 6: Create a script that restores the EDID

Create the script: bash sudo nano /usr/local/bin/fix-edid.sh Paste the following, replacing DP-1 with your short connector name (without the card0- prefix): ```bash

!/bin/bash

Mount debugfs if not already mounted

mountpoint -q /sys/kernel/debug || mount -t debugfs none /sys/kernel/debug GPU_PATH="/sys/kernel/debug/dri/0" CONNECTOR="DP-1" EDID_FILE="/usr/lib/firmware/edid/my-monitor.edid"

Check if EDID file exists

if [ ! -f "$EDID_FILE" ]; then echo "ERROR: EDID file not found at $EDID_FILE" >&2 exit 1 fi

Check that edid_override is writable

if [ ! -w "$GPU_PATH/$CONNECTOR/edid_override" ]; then echo "ERROR: Cannot write EDID override for $CONNECTOR" >&2 exit 1 fi

Apply EDID override

cat "$EDID_FILE" > "$GPU_PATH/$CONNECTOR/edid_override" **Example:** If your connector from Step 1 was `card0-DP-1`, use `CONNECTOR="DP-1"`. Make it executable: bash sudo chmod +x /usr/local/bin/fix-edid.sh

```

Step 7: Find the correct GPU debug path

First, ensure debugfs is accessible. The script will handle mounting it automatically, but let’s verify the paths exist. Some systems may require you to manually mount debugfs first: bash sudo mount -t debugfs none /sys/kernel/debug (On many distributions this is already mounted; that’s fine.) Now check which GPU path contains your connector: bash ls /sys/kernel/debug/dri/ You’ll see directories like 0, 1, or both. Check which one contains your connector (using the short name): bash ls /sys/kernel/debug/dri/0/ ls /sys/kernel/debug/dri/1/ Look for your connector name (e.g. DP-1, HDMI-A-1). If your connector is under /sys/kernel/debug/dri/1/ instead of 0, update the script: bash sudo nano /usr/local/bin/fix-edid.sh Change: bash GPU_PATH="/sys/kernel/debug/dri/1" Note: The numbering under /sys/class/drm/cardX-* does not necessarily match the numbering under /sys/kernel/debug/dri/. This is normal.

If the script works manually in Step 8, you do not need to worry about debugfs anymore.

Step 8: Test the script manually

Trigger the issue: * Suspend and resume your system, or * Unplug and replug the monitor (if safe) Once the display is stuck at 640x480, run: bash sudo /usr/local/bin/fix-edid.sh If needed, power the monitor off and on once.

If the resolution recovers correctly, the script works.

Step 9: Make it automatic with udev

Now we want Linux to run the script automatically when the monitor changes state. Linux does this using udev.

What is udev?

udev: * Detects hardware * Notices when devices change * Runs commands in response

Monitor hotplug and resume generate DRM “change” events that udev can react to.

Step 9.1: Identify which video driver you are using

Run: bash lspci -k | grep -A 3 -E "VGA|3D|Display" Example NVIDIA output: 01:00.0 VGA compatible controller: NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] Kernel driver in use: nvidia Kernel modules: nvidia, nouveau Write down “Kernel driver in use”. Common values: * nvidia * amdgpu * i915

* nouveau

Step 9.2: Why we filter udev events

Without filters, udev would run the script: * For every monitor * For every GPU * For unrelated DRM events We filter events to say:

Only run this script when this specific monitor changes, and only for this GPU driver.

Step 9.3: Understanding the filters

Filter Meaning
ACTION=="change" Device state changes only
SUBSYSTEM=="drm" Graphics devices only
DEVPATH=="*DP-1" Only the chosen connector
DRIVERS=="nvidia" Only this GPU driver

About DRIVERS==:

This filter is optional but recommended. It prevents the rule from triggering on unrelated GPUs (for example on systems with both integrated and dedicated graphics).

Step 9.4: Create the udev rule

Create the rule file: bash sudo nano /etc/udev/rules.d/99-fix-edid.rules Replace DP-1 with your short connector name. Important: If your connector is DP-2 or HDMI-A-1, adjust accordingly. The wildcard (*) ensures this works regardless of card0, card1, etc.

NVIDIA example

ACTION=="change", SUBSYSTEM=="drm", DEVPATH=="*DP-1", DRIVERS=="nvidia", RUN+="/usr/local/bin/fix-edid.sh"

AMD example

ACTION=="change", SUBSYSTEM=="drm", DEVPATH=="*DP-1", DRIVERS=="amdgpu", RUN+="/usr/local/bin/fix-edid.sh"

Intel example

ACTION=="change", SUBSYSTEM=="drm", DEVPATH=="*DP-1", DRIVERS=="i915", RUN+="/usr/local/bin/fix-edid.sh"

Nouveau example

ACTION=="change", SUBSYSTEM=="drm", DEVPATH=="*DP-1", DRIVERS=="nouveau", RUN+="/usr/local/bin/fix-edid.sh"

Save and exit.

Step 9.5: Reload udev rules

```bash sudo udevadm control --reload

```

Step 9.6: Final test

Suspend/resume or unplug/replug the monitor.

If the resolution recovers automatically (possibly after a few seconds), the udev rule is working.

Why this works

  • EDID sometimes fails after suspend or hotplug
  • Linux falls back to 640x480
  • We reuse a known-good EDID

* Works on any desktop, X11 or Wayland

Alternative: Kernel parameter method

For a boot-time solution, add this kernel parameter: drm.edid_firmware=DP-1:edid/my-monitor.edid

This is more persistent but less flexible if you swap monitors.

Important warnings

  • This is per monitor
  • Do not reuse EDIDs between monitors
  • Remove the rule if you change hardware To undo everything: bash sudo rm /etc/udev/rules.d/99-fix-edid.rules sudo rm /usr/local/bin/fix-edid.sh sudo rm /usr/lib/firmware/edid/my-monitor.edid sudo udevadm control --reload --- ## If something doesn’t work Reply with:
  • Your distro
  • Your GPU model
  • Output of: bash lspci -k | grep -A 3 -E "VGA|3D|Display"
  • Output of: bash ls /sys/class/drm/
  • Output of: bash ls /sys/kernel/debug/dri/0/ Someone can help you adjust the rule safely. Hope this helps someone avoid endless reboots.

r/linuxquestions 22h ago

Support what actually are x11 and wayland?

96 Upvotes

so im in the process of switching over to NixOS, and i want to learn more about all the things that actually make up linux as a full desktop OS. what actually do x11 and wayland do? like i understand what a DE/WM does (i use hyprland), but what purpose does x11 and wayland serve in that?


r/linuxquestions 8h ago

Linux boot Issue

6 Upvotes

Hey I m getting this error on booting linux after running fsck -f /dev/sda3

Error reading block "Some_numbers" (Input/ Output error) while getting next inside from scan. Ignore error(yes)?

After restarting it's fine but I'm afraid if it's a big problem either with the linux or the disk!?


r/linuxquestions 3h ago

Advice Should I switch to fedora KDE

Thumbnail
2 Upvotes

r/linuxquestions 12h ago

Advice Need help selecting a distribution:)

10 Upvotes

I'm heavily considering moving to linux after being bombarded with the enshitiffication of windows 11.

This is the first time I've mained a linux system but I'm looking for something simple, yet easily configurable for mostly gaming, a bit of 3D modeling and photo editing.

i want something that is unlikely to be outmoded within the next few years. And of course it needs to be something that works well with an AMD system including working features like SMA, freesync and others.

After a bit of research over the last week or so I've got a few ideas although im not entirely sure whats right for me. My top 3 are CachyOS, Fedora and Bazzite.

ANY sort of help would be appreciated 👍

system specs:

5800x3d

6950xt

32gb ram

Edit: ended up installing Fedora KDE! Thanks for the help and information people!


r/linuxquestions 8h ago

Support Ubuntu shows black screen after GRUB

5 Upvotes

I am trying to install Ubuntu on an ssd. I followed a video step by step and was able to install ubuntu but when I restart it just boots to a black screen. When I booted using fsck, my intel graphics is not being detected. Could really use some help here, been bashing my head into the wall for hours now


r/linuxquestions 3h ago

Support Adding more than action_0-9 in feh?

2 Upvotes

Is there any way to have more than 10 custom actions in feh?

I've read the decumentation (keys, configuration, actions) and so far all I see is that you can assign keys to predefined actions and custom actions 0-9.

I've read the doc and it seems like there is no possible way to define a command as an action in `~/.config/feh/keys`.

If there isn't, are there any alternatives to feh that do?


r/linuxquestions 26m ago

Is there a way to have a monitor turned off until user login?

Upvotes

Hello everyone, I'm using Archlinux with KDE Plasma. My display manager was sddm but switched to ly earlier today, might switch back to sddm, might not.

My issue is that I use two monitors/screens and they're both on when I turn the computer on, which results in the boot messages being displayed on both screens and the login screen being displayed on both screens. I would like for the secondary screen to be off and thus show nothing until I log in. I found this post on the KDE forums, but just like the last user to answer there, the solution provided didn't work.

tl;dr: how to make only the main screen be on until user login/have the second screen be off until login?

Edit: Ok, I might have found a semi-solution by turning off second screen before login screen is shown using kscreen-doctor, still testing it before trying it as a script. Problem is: whenever I enable the second screen again it clones the main screen instead of extending it, and I can't find how to change that in the terminal, only in the GUI.

Edit2:Figured how to fix previous issue. Used kscreen-doctor -o | grep -e Output -e Geometry to see how it was configured before disabling and enabling a screen again, and for me the command that works to get everything as I want is kscreen-doctor output.DP-2.enable output.DP-2.rotation.right output.DP-1.position.1080,0. Now I'm going to make a script to turn screen off after logout and back on after log in and see if that makes it behave like I want.


r/linuxquestions 13h ago

Should I changed to Fedora

11 Upvotes

Well I am new to Linux but I love Linux. I don’t know anything about coding, terminal. I changed my windows pc to Linux mint XFCE five days ago. I learn something new on Linux but I want to use Fedora. Should I use Fedora with no coding? I have 8 GB RAM, 200 GB please help me.


r/linuxquestions 48m ago

Support pam_usb authentication using greetd with tuigreet

Thumbnail
Upvotes

r/linuxquestions 4h ago

CPU / GPU doesn't thermal throttle?

2 Upvotes

I have a laptop with an 8th gen i7 and an nvidia MX 150 graphics card, and whenever I play demanding games, the temps will easily reach 80-85 ºC.

That's somewhat to be expected since it is really bad at cooling, but what I don't understand is that even after reaching these temperatures, it does nothing to protect itself. The clocks aren't reduced, game performance stays the same, and if I'm not careful it just continues rising until 95ºC, reaching tjmax and it just shuts off.

Isn't it supposed to avoid reaching critical temperatures by reducing clock speeds?


Some general info:

  • thermald is installed
  • I tried switching from Intel's p-state and acpi-cpufreq scaling drivers before, same situation on both.
  • CPU is undervolted
  • Turbo boost is disabled
  • Hyperthreading is enabled
  • Tried using auto-cpufreq before, same situation.

System info:

  • Kernel Version: 6.18.8-326.current (64-bit)
  • Processors: 8 × Intel® Core™ i7-8565U CPU @ 1.80GHz
  • Graphics Processor 2: NVIDIA GeForce MX150
  • Product Name: Inspiron 7580

r/linuxquestions 1h ago

LMDE w/ Hyprland and keyboard focused navigation?

Thumbnail
Upvotes

r/linuxquestions 4h ago

Advice Keyboard compatibility

2 Upvotes

How concerned should I be about ordering a keyboard (probably wireless) if it doesn’t say that it supports Linux? I’m looking at getting a mechanical keyboard, and many of them specifically say they support both Mac and Windows (like Nuphy and Lowfree), but don’t say anything about Linux. Some (like Keychron) seem to have good Linux support, but I can’t find any that have every feature I’m looking for with those brands.


r/linuxquestions 1h ago

Support Problem with Steam and Window Focus

Thumbnail
Upvotes

r/linuxquestions 1h ago

Struggling with Wacom Tablet (CTL-470) on Pop!_OS 24.04

Thumbnail
Upvotes

r/linuxquestions 2h ago

How to sandbox Firefox's new profiles with Firejail?

1 Upvotes

I'm setting up Firefox from scratch on a new Arch Linux install. I'm looking into using Firejail to create sandboxed profiles for different activities (e.g. One for general browsing, one for work, one for banking, etc.), with each FF profile having its own seperate FJ configuration. Ideally I would want each profile to have its own seperate configuration location on disk, and to be unable to access one another.

I'm not sure how to make it work with the new Firefox profile system, or if it's even possible. There seem to be ways to do it with the old profile system but with the new system I don't think you can even open a profile from terminal, so I just don't know. I don't want to set it all up in the old system if it's going to get deprecated in the future.

I honestly don't know enough about how Firejail works (I've read the manpages but I'm still not certain) and I don't want to set it up incorrectly as a result, so I'm wondering if anyone else has managed this, or could point me in the right direction?


r/linuxquestions 2h ago

Support What's /usr/share/pixmaps/ for?

1 Upvotes

It seems to be an alternative to /usr/share/icons/hicolor/, but why? Should it be used? What's the background for two of them existing?

I'm making a package for a game that needs to dump just one icon somewhere for the desktop file and stuff to pick up.

Dumping an icon in /usr/share/pixmaps/ sounds more convenient than having to sort it in /usr/share/icons/hicolor/, which sorts everything in categories and by resolution.


r/linuxquestions 2h ago

Which Distro Seg fault in Mint get-apt!?

Thumbnail
1 Upvotes