Skip to content
Back to skills

Fedora Warm Colors

ASecurity

Make a Fedora GNOME (Wayland) display look warm and pleasant like Windows instead of cold/washed out. Use when the user asks to fix cold colors, set up gamma, night light, color temperature, or "make it like Windows" on Fedora/GNOME/Wayland.

  • 15 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
toolspythongoshellbashgit

Works with

  • cursor
  • terminal

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned November 7, 2026

npx -y skills add youlianvr/oper-share --skill fedora-warm-colors --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Fedora Warm Colors?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Fedora Warm Colors
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/youlianvr-fedora-warm-colors/badge)](https://www.skillsdirectory.com/skills/youlianvr-fedora-warm-colors)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: fedora-warm-colors
description: Make a Fedora GNOME (Wayland) display look warm and pleasant like Windows instead of cold/washed out. Use when the user asks to fix cold colors, set up gamma, night light, color temperature, or "make it like Windows" on Fedora/GNOME/Wayland.
---


# Fedora warm display colors (GNOME + Wayland)

Goal: replicate the pleasant, warm Windows-like display look on Fedora Workstation
(GNOME + Wayland). Windows drivers apply gamma/color corrections; Linux does not,
so the panel often looks cold and flat.

Environment: Fedora, GNOME + Wayland, NVIDIA GPU (proprietary driver — DDC/CI over
i2c works; with nouveau it does NOT respond), external monitor on DP-1. Tested on
GNOME 45–50 (50.3). Color work is driver-agnostic (colord VCGT + Mutter).
Mutter's Wayland does not expose wlr-gamma-control, so gammastep/wl-gammactl will
NOT work. Night Light is one gamma path, plus colord ICC profiles via VCGT.

The single biggest "cold/flat" fix is usually the MONITOR's own color preset —
many ship at 7500 K (bluish); set it to 6500 K via DDC (§4).

**Windows 11 look beyond colors** (dark theme, Segoe UI, cursors, sounds,
extensions, terminals, passwordless sudo) — `references/windows-look-extras.md`,
load only when the task needs it.

## 1. Night Light (warmth) — built-in, no packages

```bash
gsettings set org.gnome.settings-daemon.plugins.color night-light-enabled true
gsettings set org.gnome.settings-daemon.plugins.color night-light-schedule-automatic false
gsettings set org.gnome.settings-daemon.plugins.color night-light-temperature 4200
```

- `temperature`: 6500 = neutral, lower = warmer. 4000–4200 = comfortable warm.
- GUI alternative: Settings → Displays → Night Light → always on + slider.
- GOTCHA (observed): gsd-color may silently set `night-light-enabled` back to
  `false` when the other keys change. Always re-verify and set it LAST.
- Prefer the VCGT temperature from §2 instead — same warmth, no Night Light
  flakiness, survives reboots.

## 2. gnome-gamma-tool (gamma / temperature / contrast / brightness) — persistent via VCGT

Works on GNOME Wayland by cloning the active ICC profile and adding a VCGT gamma
table; survives reboot and stacks with Night Light. Does NOT change saturation or
hue (VCGT limitation). Re-running the tool on GNOME 50 works (it replaces the
active profile with a new UUID and re-applies via colord).

```bash
git clone --depth 1 https://github.com/zb3/gnome-gamma-tool ~/gnome-gamma-tool
cd ~/gnome-gamma-tool
./gnome-gamma-tool.py -g 0.95 -t 5200   # FINAL (2026-08-06): warm 5200K via VCGT, night light OFF
```

- `-g 0.95` — gamma (0.9 = brighter/softer midtones but washed out; 0.95 is the
  sweet spot; 1.0 = neutral). Per channel: `-g 0.95:0.95:0.95`.
- `-t 5200` — color temperature (warm, "Windows feel", works WITHOUT Night Light).
  Tuning history on this setup: 4800–5300 all tested, user landed at 5200.
- `-c 1.05` — contrast (1 = default; `-1` inverts).
- `-b 0.7` — brightness (decrease only, max output; 1 = neutral). `-bm 0.05` — minimum black level.
- `-a` — apply to all monitors; `-d N` — display index (same order as Settings → Color).

Prerequisite check (Fedora):
```bash
python3 -c "import gi; gi.require_version('Colord','1.0'); from gi.repository import Colord"
```
(Debian/Ubuntu needs `gir1.2-colord-1.0`, openSUSE `typelib-1_0-Colord-1_0`.)

## 3. Verify the profile is active

```bash
colormgr get-devices
```
The active profile should show `gnome-gamma-tool-<uuid>.icc` under `Profile 1`
(original EDID profile under `Profile 2`).


## 4. Monitor OSD + DDC/CI (brightness/color) — needs proprietary NVIDIA driver

STATUS: with the proprietary NVIDIA driver DDC/CI works; with nouveau it is dead
(no monitor responds on any i2c bus). Find the display's bus:
`ddcutil detect` → note the `I2C bus: /dev/i2c-N` next to `Display 1`.
GOTCHA: `ddcutil` always prints "Device /dev/i2c-0 ... EACCES" — that bus is the
GPU adapter with no display; IGNORE it, the display bus works fine.

Findings + fixes (the REAL cause of the cold/flat look):
- **Color preset was 7500 K** (cold!) → set to **6500 K**: `ddcutil setvcp 14 0x05`.
  Available presets (VCP 0x14): 01=sRGB, 05=6500K, 06=7500K, 08=9300K, 0b=User 1.
- **Contrast was 50/100** (flat, washed out) → set to **75**: `ddcutil setvcp 12 75`.
- **Brightness was 99/100** (max — harsh white) → set to **80**: `ddcutil setvcp 10 80`.
- After the 6500K preset, per-channel video gain (VCP 16/18/1A) auto-adjusted to
  R > B (warmer at hardware level).
- Save into monitor EEPROM: `ddcutil setvcp 0C 1` (also via OSD menu save).
- GOTCHA: switching the color preset (0x14) RESETS contrast back to 50 and the
  gains — always re-apply in this order: preset → contrast → brightness → save.
  After saving, values persist across power cycles.
- Other commands: `ddcutil getvcp 14` (check preset), `ddcutil capabilities`
  (list features). Works on Wayland. Permissions: Fedora ships 60-ddcutil-i2c.rules
  with uaccess tag (works for the logged-in user without sudo).
- Manual OSD options (monitor buttons): RGB range = **full** (not limited), picture
  mode "Warm"/"sRGB", saturation/vivid control — the only way to get
  "Digital Vibrance" punch (VCGT cannot change saturation).

## 5. Verify after relogin / next session

One command checks everything at once (windows-look parts — see the reference):

```bash
echo "== Night Light (expect false or user-chosen)"; gsettings get org.gnome.settings-daemon.plugins.color night-light-enabled; \
gsettings get org.gnome.settings-daemon.plugins.color night-light-temperature; \
gsettings get org.gnome.settings-daemon.plugins.color night-light-schedule-automatic
echo "== Gamma profile (expect gnome-gamma-tool-*.icc under Profile 1)"; \
colormgr get-devices | grep -E 'Profile 1|Profile 2'
echo "== Monitor via DDC (expect 6500 K / 75 / 80)"; ddcutil getvcp 14 2>/dev/null | grep -iE 'current'; \
ddcutil getvcp 12 2>/dev/null | grep -iE 'current'; ddcutil getvcp 10 2>/dev/null | grep -iE 'current'
echo "== UI (expect Segoe UI 11 / Cascadia Mono 11 / Fluent-dark / win11-aero / prefer-dark / appmenu:minimize,maximize,close / blue / 1.1 / Windows-10-Fluent-Dark)"; \
gsettings get org.gnome.desktop.interface font-name; gsettings get org.gnome.desktop.interface monospace-font-name; \
gsettings get org.gnome.desktop.interface icon-theme; gsettings get org.gnome.desktop.interface cursor-theme; \
gsettings get org.gnome.desktop.interface color-scheme; gsettings get org.gnome.desktop.wm.preferences button-layout; \
gsettings get org.gnome.desktop.interface accent-color; gsettings get org.gnome.desktop.interface text-scaling-factor; \
gsettings get org.gnome.desktop.interface gtk-theme
echo "== Wallpaper (expect solid black)"; gsettings get org.gnome.desktop.background primary-color; \
gsettings get org.gnome.desktop.background picture-uri-dark; gsettings get org.gnome.desktop.background color-shading-type
echo "== Sounds (expect win11)"; gsettings get org.gnome.desktop.sound theme-name
echo "== Fonts installed"; fc-list | grep -ci segoe; fc-list | grep -ci cascadia
echo "== Extensions (expect State: ACTIVE for all 4)"; \
for u in dash-to-panel@jderose9.github.com arcmenu@arcmenu.com blur-my-shell@aunetx ding@rastersoft.com; do \
  echo "$u: $(gnome-extensions info "$u" 2>/dev/null | grep -i -E 'state' | head -1)"; done
echo "== Extension schemas visible to gsettings"; gsettings list-schemas | grep -E 'dash-to-panel|arcmenu|blur-my-shell|ding' | wc -l
```

Expected results / what each check means:
- Night Light: `false` by user choice (2026-08-06) — do NOT force it on; if user
  enabled it and it flipped back to `false` (known gsd-color behavior — flips
  coincide with gsd-color service restarts), re-set it LAST (see §1).
- Extensions: `INITIALIZED` = shell scanned them but not enabled → enable via the
  gdbus call (see reference §4); `ACTIVE` = running. Empty output = extension dir
  not scanned → relogin needed (shell only scans at startup).
- `accent-color` returns nothing on GNOME < 47 (fine).
- Schema count should be 4+ (includes blur sub-schemas). If 0 → recreate
  `~/.local/share/glib-2.0/schemas/` from the extensions' `schemas/*.xml` (reference §4).
- Fonts count ≥ 1 each (Segoe UI / Cascadia). If 0 → re-run the fc-cache/install steps (reference §3).
- DDC lines: `6500 K (sl=0x05)` / contrast `75` / brightness `80`. `ddcutil` prints
  an EACCES warning about /dev/i2c-0 — harmless noise, the display is on another bus.

## Rollback

- Night Light: `gsettings set org.gnome.settings-daemon.plugins.color night-light-enabled false`
- Gamma: re-run tool with neutral values (`-g 1.0`) or remove the profile via
  `colormgr delete-profile <profile-id>` (list ids with `colormgr get-profiles`).
- The tool itself can be deleted after applying; the profile persists.
- Windows-look rollbacks (cursors, sounds, extensions, dark theme, sudo) —
  `references/windows-look-extras.md` §Rollback.

## Notes

- GPU matters: with NVIDIA proprietary driver, `nvidia-settings` color controls
  are X11-only and do nothing under GNOME Wayland. The proprietary driver is also
  required for DDC/CI to work (nouveau: no i2c response).
- The single biggest "cold/flat" fix is the monitor's own color preset (7500 K → 6500 K).
  Combined stack: 6500K preset × VCGT 5000K × gamma 0.95 × DDC brightness 80 × contrast 75.
- Everything here is user-scope (gsettings, `~/.local/share/icc/`), no sudo needed
  except for package installs and system-extension installs.

Files in this skill

  • SKILL.md9.4 KB
  • references/windows-look-extras.md19.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.