Skip to content

[Fedora KDE 43] Generic kernel sets to default after updating, kernel-surface-default-watchdog not working #1937

@Chakiki97

Description

@Chakiki97

Whenever a generic kernel update is installed via dnf or discover, it will be set as default and override the linux-surface kernel. The kernel-surface-default-watchdog package is supposed to prevent this but doesn’t appear to be working.

The linux-surface-default-watchdog.py script works to set the default kernel back to linux-surface if invoked manually, and will remain default until the next update. I have checked and linux-surface-default-watchdog.path is enabled and the linux-surface-default-watchdog.service shows as static, which I believe means it is enabled and cannot be disabled.

The issue is the same on both my Surface Laptop Go and on a Surface Pro 4 that I’m messing around with. Not a major issue for the laptop as it seems to work just fine with the generic kernel, however for the pro the touchscreen doesn’t work unless the linux-surface kernel is booted so this becomes a problem. But it doesn’t appear to be a device specific issue for the service but a problem for Fedora and linux-surface in general.

Running journalctl after installing a kernel update shows the script has run and outputs the surface kernel version, which is what it does when run manually so it seems to be working, yet it will still reboot into the generic kernel.

I have tried editing the linux-surface-default-watchdog.path config to remove the default dependencies, add them back in manually except the shutdown dependencies, in case something is happening during shutdown to change the default kernel, but that hasn't helped. See below:

[Unit]
Description=linux-surface default kernel watchdog
DefaultDependencies=no
Before=paths.target
After=sysinit.target
Requires=sysinit.target
#Conflicts=shutdown.target
#Before=shutdown.target

[Path]
PathChanged=/boot

[Install]
WantedBy=default.target

I also tried changing the PathChanged=/boot line to PathModified=/boot and this too made no difference.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions