TL;DR
Install a PWA on Linux with Chrome, and the generated .desktop file points at its icon with a relative path. On some desktop environments, that means a blurry, low-resolution icon even when sharper ones exist. The fix is simple in principle, and the work shows the kind of detail-level bug that’s worth fixing.
The tiny problem you can see from across the room
You install a Progressive Web App on Linux. It launches, it works, and then you notice the icon in your launcher or taskbar looks soft and fuzzy, like a screenshot that’s been resized one too many times.
That was the experience a developer reported on Arch Linux with KDE Plasma, and it’s the heart of the issue fixed by Helmut Januschka in issue 388039768: the PWA desktop icon path should be absolute in the .desktop file on Linux.
What’s going wrong
When Chrome installs a PWA on Linux, it writes a .desktop file into ~/.local/share/applications/. That file tells the desktop environment how to display and launch the app, including which icon to use. The Icon= field was being filled with a relative reference, something like pwa.png.
On the reporter’s Arch Linux system with KDE Plasma, the relative icon reference resulted in a smaller icon being displayed even though larger versions were available. Changing the .desktop file to use an absolute path to a larger icon made it appear sharp. Behavior may vary across Linux desktop environments and window managers.
The proposed fix
The reporter didn’t stop at describing the problem. He proposed a solution and proved it worked:
- Use absolute paths. The icon files live locally on disk anyway, so the
.desktopfile can point at them directly. - Prefer the largest available icon. The reporter suggested making the largest icon the default so it could scale down for smaller display sizes.
To prove it, he hand-edited his own .desktop file to use an absolute path to a larger icon. On his KDE Plasma system, the icon appeared sharp as soon as the edited file was saved.
The issue was subsequently classified as a Feature Request. That’s a useful reminder that some of the most valuable fixes are the ones that make software feel polished rather than merely working.
Where the fix stands
Here’s how the engineering work unfolded:
- Investigation. Early investigation identified
web_app_utils.ccandweb_app_install_task.ccas potentially relevant. - A prototype. A patch was uploaded that writes the largest available icon into the app’s permanent OS-integration resources directory and points
Icon=at that absolute path. It was verified againstweb_applications_unit_tests. - Review. A reviewer flagged a problem with the approach, commenting that the prototype patch seemed wrong, so it wasn’t landed as it was.
- Revised fix and landing. Helmut Januschka reworked the solution to point the generated
.desktopfile at the largest icon already installed in the XDG icon hierarchy. The final patch updatedweb_app_shortcut_linux.ccandweb_app_shortcut_linux_unittest.cc, and landed on Chromium’s main branch in August 2026. The issue is now marked Fixed.
That last step is a normal, healthy part of contributing to Chromium. Code review exists to catch exactly this, and a prototype that doesn’t survive review still narrows down where the real fix belongs.
Why this matters for Chromium developers
The Bug Bounty Program focuses on real bugs that affect real people, and this one is a good example of the type we care about:
- Sharper PWAs on Linux. A crisp icon is part of how a PWA earns its place next to native apps. Fixing this helps installed web apps look as professional as everything else on the desktop.
- Linux gets first-class treatment. Platform-specific polish is easy to overlook. Bugs like this make sure Chromium feels at home on every OS, not just the most common ones.
- A clear starting point. The problem is well understood, the affected files are identified, a working manual fix has been demonstrated, and the reviewer feedback on the first attempt shows what to avoid. That’s a strong head start for a contributor.
Your turn: fix a bug, get paid
The Supporters of Chromium-Based Browsers rewards the developers who make Chromium better for the people and browsers that depend on it every day. Bugs like this one, small on the surface but felt by every affected user, are exactly what our Bug Bounty Program exists to recognize.
The process is simple: pick a bug from one of our approved lists, submit a fix, and get paid:
- Small bugs: $1,000 for targeted fixes with clear user benefit, on the BugBounty-Small hotlist.
- Medium bugs: $5,000 for moderate-impact issues, on the BugBounty-Medium hotlist.
- Large bugs: $20,000 for high-impact bugs with broad user or developer visibility, on the BugBounty-Large hotlist.
Ready to fix your first bug? Find out how to get involved