Skip to content

Prevent intel-gtk-fix.conf generation without Intel iGPU - #4

Open
8r4n wants to merge 690 commits into
8r4n:mainfrom
ublue-os:main
Open

Prevent intel-gtk-fix.conf generation without Intel iGPU#4
8r4n wants to merge 690 commits into
8r4n:mainfrom
ublue-os:main

Conversation

@8r4n

@8r4n 8r4n commented Mar 21, 2026

Copy link
Copy Markdown
Owner

No description provided.

Copilot AI review requested due to automatic review settings March 22, 2026 15:45

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates dynamic Intel GTK fix detection to avoid creating intel-gtk-fix.conf when the Intel graphics driver isn’t actively used, and includes several installer/runtime packaging tweaks.

Changes:

  • Refine Intel GPU module detection logic in bazzite-dynamic-fixes.
  • Adjust Steam launcher behavior and remove extest preload/install.
  • Modify installer behavior (KDE pins) and introduce an overlay mount for Flatpak state in the live environment.

Reviewed changes

Copilot reviewed 9 out of 10 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
system_files/desktop/shared/usr/libexec/bazzite-dynamic-fixes Changes Intel driver detection gating for intel-gtk-fix.conf creation/removal
system_files/desktop/shared/usr/bin/bazzite-steam Removes ally handling and drops Wayland extest preload path
installer/build.sh Replaces Flatpak “copy” protection with an overlayfs-backed mount unit
installer/titanoboa_hook_postrootfs.sh Adds KDE default pin/layout manipulation via sed
Containerfile Removes downloading/installing extest shared library
system_files/desktop/shared/usr/share/ublue-os/bazaar/content.yaml Adds UZDoom Flatpak entry
.github/workflows/scorecard.yml Updates pinned digest for upload-sarif action
.github/workflows/generate_release.yml Updates pinned digest for action-gh-release
system_files/desktop/silverblue/usr/share/gnome-shell/extensions/tmp/caffeine Bumps subproject commit pointer
system_files/desktop/silverblue/usr/share/gnome-shell/extensions/appindicatorsupport@rgcjonas.gmail.com Bumps subproject commit pointer

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread installer/build.sh Outdated
Comment on lines +24 to +36
# Mount an overlayfs in in order to avoid flatpak files being altered by users on the live session
mv -T /var/lib/flatpak{,_original}
mkdir -p /var/lib/flatpak{,.work}
cat <<EOF >/etc/systemd/system/var-lib-flatpak.mount
[Mount]
Type=overlay
What=overlay
Options=lowerdir=/var/lib/flatpak_original,upperdir=/var/lib/flatpak,workdir=/var/lib/flatpak.work

[Install]
WantedBy=multi-user.target
EOF
systemctl enable var-lib-flatpak.mount

Copilot AI Mar 22, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The generated systemd .mount unit is missing Where=/var/lib/flatpak, which is required for mount units. Also, upperdir=/var/lib/flatpak is the same path as the mountpoint (/var/lib/flatpak), which is not a valid overlayfs configuration and is likely to fail to mount. Use distinct backing directories (e.g., /var/lib/flatpak_upper and /var/lib/flatpak_work) and set Where=/var/lib/flatpak in the unit.

Copilot uses AI. Check for mistakes.
Comment thread installer/build.sh Outdated

# Make a copy of the original flatpak files in order to avoid being altered by users on the live session
cp -aT /var/lib/flatpak{,_original}
# Mount an overlayfs in in order to avoid flatpak files being altered by users on the live session

Copilot AI Mar 22, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct the duplicated word 'in' in the comment.

Suggested change
# Mount an overlayfs in in order to avoid flatpak files being altered by users on the live session
# Mount an overlayfs in order to avoid flatpak files being altered by users on the live session

Copilot uses AI. Check for mistakes.
Comment on lines +12 to +15
if lsmod | awk '$3 > 0' | grep -P "^(xe|i915) " > /dev/null && [ ! -f "$HOME/.config/environment.d/intel-gtk-fix.conf" ]; then
# User is using an Intel GPU
write_intel_gtk_fix
elif ! lsmod | grep -P "^(xe|i915) " > /dev/null && [ -f "$HOME/.config/environment.d/intel-gtk-fix.conf" ]; then
elif ! lsmod | awk '$3 > 0' | grep -P "^(xe|i915) " > /dev/null && [ -f "$HOME/.config/environment.d/intel-gtk-fix.conf" ]; then

Copilot AI Mar 22, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Filtering lsmod by $3 > 0 uses the module refcount/dependency count as a proxy for “GPU present/active”, but Used by may be 0 even when a driver is bound to hardware (no dependent modules). This can prevent intel-gtk-fix.conf from being created on Intel systems. A more reliable approach is to detect Intel DRM devices via /sys/class/drm/card*/device/vendor (0x8086) and/or the bound driver name, rather than relying on lsmod refcounts.

Copilot uses AI. Check for mistakes.
Comment on lines +324 to +325
sed -i '/const allPanels/,$d' /usr/share/plasma/layout-templates/org.kde.plasma.desktop.defaultPanel/contents/layout.js
sed -i '$r /usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/bazzite-pins.js' /usr/share/plasma/layout-templates/org.kde.plasma.desktop.defaultPanel/contents/layout.js

Copilot AI Mar 22, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These sed -i operations can fail (missing file, upstream layout changes, missing const allPanels marker). In an installer context this can abort the install if the script runs with set -e (or equivalent). Consider guarding with file/marker checks and/or appending || : (similar to the GNOME sed usage later in this script) so the installer remains resilient across Plasma version/layout changes.

Suggested change
sed -i '/const allPanels/,$d' /usr/share/plasma/layout-templates/org.kde.plasma.desktop.defaultPanel/contents/layout.js
sed -i '$r /usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/bazzite-pins.js' /usr/share/plasma/layout-templates/org.kde.plasma.desktop.defaultPanel/contents/layout.js
layout_js="/usr/share/plasma/layout-templates/org.kde.plasma.desktop.defaultPanel/contents/layout.js"
pins_js="/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/bazzite-pins.js"
if [[ -f "$layout_js" && -f "$pins_js" ]] && grep -q 'const allPanels' "$layout_js"; then
sed -i '/const allPanels/,$d' "$layout_js" || :
sed -i '$r '"$pins_js" "$layout_js" || :
fi

Copilot uses AI. Check for mistakes.
Copilot AI review requested due to automatic review settings March 24, 2026 15:02

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 11 changed files in this pull request and generated 3 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread installer/build.sh Outdated
Comment on lines +26 to +31
mkdir -p /var/lib/flatpak{,.work}
cat <<EOF >/etc/systemd/system/var-lib-flatpak.mount
[Mount]
Type=overlay
What=overlay
Options=lowerdir=/var/lib/flatpak_original,upperdir=/var/lib/flatpak,workdir=/var/lib/flatpak.work

Copilot AI Mar 24, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This overlay mount configuration is invalid/fragile because upperdir points to the same path as the mountpoint (/var/lib/flatpak). Overlayfs requires upperdir (and workdir) to be separate directories that are not the mountpoint itself; otherwise the mount can fail (EINVAL) or behave unexpectedly. Use distinct directories (e.g., /var/lib/flatpak.upper and /var/lib/flatpak.work) and mount them onto /var/lib/flatpak.

Suggested change
mkdir -p /var/lib/flatpak{,.work}
cat <<EOF >/etc/systemd/system/var-lib-flatpak.mount
[Mount]
Type=overlay
What=overlay
Options=lowerdir=/var/lib/flatpak_original,upperdir=/var/lib/flatpak,workdir=/var/lib/flatpak.work
mkdir -p /var/lib/flatpak{,.upper,.work}
cat <<EOF >/etc/systemd/system/var-lib-flatpak.mount
[Mount]
Type=overlay
What=overlay
Options=lowerdir=/var/lib/flatpak_original,upperdir=/var/lib/flatpak.upper,workdir=/var/lib/flatpak.work

Copilot uses AI. Check for mistakes.
Comment thread installer/build.sh Outdated
[Mount]
Type=overlay
What=overlay
Options=lowerdir=/var/lib/flatpak_original,upperdir=/var/lib/flatpak,workdir=/var/lib/flatpak.work

Copilot AI Mar 24, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The generated .mount unit is missing Where=/var/lib/flatpak. Even though the unit name implies the mountpoint, systemd mount units typically require an explicit Where= to be set in the [Mount] section; omitting it can cause the unit to be rejected or not behave as intended across systemd versions.

Suggested change
Options=lowerdir=/var/lib/flatpak_original,upperdir=/var/lib/flatpak,workdir=/var/lib/flatpak.work
Options=lowerdir=/var/lib/flatpak_original,upperdir=/var/lib/flatpak,workdir=/var/lib/flatpak.work
Where=/var/lib/flatpak

Copilot uses AI. Check for mistakes.
}

if lsmod | grep -P "^(xe|i915) " > /dev/null && [ ! -f "$HOME/.config/environment.d/intel-gtk-fix.conf" ]; then
if lsmod | awk '$3 > 0' | grep -P "^(xe|i915) " > /dev/null && [ ! -f "$HOME/.config/environment.d/intel-gtk-fix.conf" ]; then

Copilot AI Mar 24, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR title focuses on preventing intel-gtk-fix.conf generation without an Intel iGPU, but this PR also includes unrelated changes (Steam launcher behavior, removal of extest from the image, Flatpak overlay mount in installer, KDE pin edits, workflow pin updates, app list changes, and Gamescope version bump). Consider splitting into separate PRs or updating the title/description to reflect the broader scope.

Copilot uses AI. Check for mistakes.
Lumaeris and others added 26 commits May 9, 2026 17:28
Jellyfin Media Player renamed to Jellyfin Desktop with a new package name for its v2.0 update, breaking the curated link in Bazaar. This commit updates the link to the new package.
Utility is weird, there are Categories made exactly for that
* chore: unpin flatpak runtimes included in legacy installer

* add more fdo runtimes

* and kde too

trying to cover every edge cases
…hell/extensions/blur-my-shell@aunetx digest to 4913b06 (#4897)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(plasmalogin): Migrate sddm workaround to plasmalogin

Fixes #4763

Signed-off-by: Zeglius <33781398+Zeglius@users.noreply.github.com>

* fix(plasmalogin): use upstream fix

Signed-off-by: Zeglius <33781398+Zeglius@users.noreply.github.com>

Co-authored-by: renner <80410025+renner0e@users.noreply.github.com>

---------

Signed-off-by: Zeglius <33781398+Zeglius@users.noreply.github.com>
Co-authored-by: renner <80410025+renner0e@users.noreply.github.com>
ubot-7274 Bot and others added 30 commits July 16, 2026 11:08
Co-authored-by: ubot-7274[bot] <217212047+ubot-7274[bot]@users.noreply.github.com>
Co-authored-by: ubot-7274[bot] <217212047+ubot-7274[bot]@users.noreply.github.com>
Co-authored-by: ubot-7274[bot] <217212047+ubot-7274[bot]@users.noreply.github.com>
Co-authored-by: ubot-7274[bot] <217212047+ubot-7274[bot]@users.noreply.github.com>
Co-authored-by: ubot-7274[bot] <217212047+ubot-7274[bot]@users.noreply.github.com>
…hell/extensions/restartto@tiagoporsch.github.io digest to f0f7c92 (#5288)

Co-authored-by: ubot-7274[bot] <217212047+ubot-7274[bot]@users.noreply.github.com>
Co-authored-by: ubot-7274[bot] <217212047+ubot-7274[bot]@users.noreply.github.com>
Co-authored-by: ubot-7274[bot] <217212047+ubot-7274[bot]@users.noreply.github.com>
Co-authored-by: ubot-7274[bot] <217212047+ubot-7274[bot]@users.noreply.github.com>
Update Surface fixes to check for Vendor ID starting with 'Microsoft'.
…hell/extensions/blur-my-shell@aunetx digest to ac4dec5 (#5277)

Co-authored-by: ubot-7274[bot] <217212047+ubot-7274[bot]@users.noreply.github.com>
Co-authored-by: ubot-7274[bot] <217212047+ubot-7274[bot]@users.noreply.github.com>
Co-authored-by: ubot-7274[bot] <217212047+ubot-7274[bot]@users.noreply.github.com>
…hell/extensions/blur-my-shell@aunetx digest to 5d0c159 (#5292)

Co-authored-by: ubot-7274[bot] <217212047+ubot-7274[bot]@users.noreply.github.com>
…hell/extensions/appindicatorsupport@rgcjonas.gmail.com digest to bd6775a (#5302)

Co-authored-by: ubot-7274[bot] <217212047+ubot-7274[bot]@users.noreply.github.com>
…hell/extensions/blur-my-shell@aunetx digest to 7f8b1ef (#5301)

Co-authored-by: ubot-7274[bot] <217212047+ubot-7274[bot]@users.noreply.github.com>
…hell/extensions/blur-my-shell@aunetx digest to 36ea915 (#5311)

Co-authored-by: ubot-7274[bot] <217212047+ubot-7274[bot]@users.noreply.github.com>
Co-authored-by: ubot-7274[bot] <217212047+ubot-7274[bot]@users.noreply.github.com>
Co-authored-by: ubot-7274[bot] <217212047+ubot-7274[bot]@users.noreply.github.com>
…hell/extensions/blur-my-shell@aunetx digest to 4634a34 (#5326)

Co-authored-by: ubot-7274[bot] <217212047+ubot-7274[bot]@users.noreply.github.com>
Co-authored-by: ubot-7274[bot] <217212047+ubot-7274[bot]@users.noreply.github.com>
Co-authored-by: ubot-7274[bot] <217212047+ubot-7274[bot]@users.noreply.github.com>
…hell/extensions/blur-my-shell@aunetx digest to c0bcb98 (#5332)

Co-authored-by: ubot-7274[bot] <217212047+ubot-7274[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.