Skip to content

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

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

Prevent intel-gtk-fix.conf generation without Intel iGPU#4
8r4n wants to merge 615 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.
dylanmtaylor and others added 26 commits April 27, 2026 16:34
…4735)

This prevents `systemctl disable` commands from failing if a unit file does not exist, which specifically addresses the root cause of the ISO build failure.
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…hell/extensions/tmp/bazaar-integration@kolunmi.github.io digest to 3bb9134 (#4740)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(liveiso): remove "enable root account" and legacy branding

* add overrides folder

* move other overrides to its folder

* copy overrides *after* postfs

* don't forcefully copy files on first system copy

it doesn't contain overrides anymore
* feat: add steam first run window

* remove bazzite-steam duplicate for nvidia

* move steamclient.dll check to firstrun script

* wording

* Revert "remove bazzite-steam duplicate for nvidia"

This reverts commit 4c9b2d3.

* add firstrun to nvidia

* add a flag to disable firstrun and add to fix-reset-steam

* do that for nvidia too
* feat: add ger/spa/fr/it translation to steam-first-run

* Update system_files/desktop/shared/usr/bin/bazzite-steam-firstrun

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

---------

Co-authored-by: renner <80410025+renner0e@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* split flatpak blocklist for kionite and silverblue

* split flatpak blocklist for kionite and silverblue

* Delete system_files/desktop/shared/usr/share/ublue-os/flatpak-blocklist
This adds a systemd quadlet for the Cockpit web service along with a "shim" service to allow enablement via ujust. If we put an install section, the Cockpit quadlet would be enabled by default.
nyx1d and others added 30 commits June 3, 2026 22:16
* docs: update Russian README translation

* docs(readme): address markdown lint notices

* docs(readme): use Markdown syntax for count badge
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/blur-my-shell@aunetx digest to 6f78738 (#5028)

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/blur-my-shell@aunetx digest to 6f78738 (#5028)

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

Co-authored-by: ubot-7274[bot] <217212047+ubot-7274[bot]@users.noreply.github.com>
…-beta install (#5036)

* fix: write sunshine.conf capture and system_tray settings before starting beta service

* fix: write sunshine.conf capture and system_tray settings before starting beta service
…5044)

Co-authored-by: ubot-7274[bot] <217212047+ubot-7274[bot]@users.noreply.github.com>
* feat(sunshine): add notice for deck

Add and updated notices for deck and desktop users.
Also adds a conditional to make #5036 (auto-set capture=kms and sys_tray=disabled) activate on deck only.

* feat(sunshine): Prettify messages

Add yellow coloring to any "Sunshine" that refers to the installed package of Sunshine.

Add bold to links and keyword

* feat(sunshine): add option to keep data on delete
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.