diff -Nru kmenuedit-6.3.4/debian/changelog kmenuedit-6.3.4/debian/changelog
--- kmenuedit-6.3.4/debian/changelog 2025-04-03 01:00:13.000000000 +0200
+++ kmenuedit-6.3.4/debian/changelog 2025-05-19 00:58:37.000000000 +0200
@@ -1,3 +1,11 @@
+kmenuedit (4:6.3.4-2) unstable; urgency=medium
+
+ [ Aurélien COUDERC ]
+ * Backport upstream commits:
+ - Add option for configuring GPU per application launcher. (kde#502198)
+
+ -- Aurélien COUDERC <couc...@debian.org> Mon, 19 May 2025 00:58:37 +0200
+
kmenuedit (4:6.3.4-1) unstable; urgency=medium
[ Patrick Franz ]
diff -Nru kmenuedit-6.3.4/debian/patches/series kmenuedit-6.3.4/debian/patches/series
--- kmenuedit-6.3.4/debian/patches/series 1970-01-01 01:00:00.000000000 +0100
+++ kmenuedit-6.3.4/debian/patches/series 2025-05-13 19:19:14.000000000 +0200
@@ -0,0 +1 @@
+upstream_b559cb8f_basictab-Add-option-for-GPU-handling.patch
diff -Nru kmenuedit-6.3.4/debian/patches/upstream_b559cb8f_basictab-Add-option-for-GPU-handling.patch kmenuedit-6.3.4/debian/patches/upstream_b559cb8f_basictab-Add-option-for-GPU-handling.patch
--- kmenuedit-6.3.4/debian/patches/upstream_b559cb8f_basictab-Add-option-for-GPU-handling.patch 1970-01-01 01:00:00.000000000 +0100
+++ kmenuedit-6.3.4/debian/patches/upstream_b559cb8f_basictab-Add-option-for-GPU-handling.patch 2025-05-13 19:19:14.000000000 +0200
@@ -0,0 +1,112 @@
+From b559cb8f487b5ba66d9fe9f471b01b6e2ca4d8bf Mon Sep 17 00:00:00 2001
+From: Oliver Beard <olib...@outlook.com>
+Date: Tue, 1 Apr 2025 15:34:21 +0100
+Subject: [PATCH] basictab: Add option for GPU handling This commit introduces
+ the option to configure the keys PrefersNonDefaultGPU/X-KDE-RunOnDiscreteGpu.
+ Both are considered, but the latter is a fallback and not updated.
+
+It has the same implementation as the file properties dialog, but cannot be contextually disabled (KIO::hasDiscreteGpu is not exposed).
+
+BUG: 502198
+FIXED-IN: 6.4
+---
+ basictab.cpp | 23 +++++++++++++++++++++++
+ basictab.h | 2 ++
+ 2 files changed, 25 insertions(+)
+
+diff --git a/basictab.cpp b/basictab.cpp
+index d95bfb99..2eddcadd 100644
+--- a/basictab.cpp
++++ b/basictab.cpp
+@@ -185,6 +185,13 @@ void BasicTab::initAdvancedTab()
+ userGroupLayout->addWidget(userNameGroup);
+ advancedTabLayout->addWidget(_userGroup);
+
++ // gpu
++ _gpuGroup = new QGroupBox();
++ QHBoxLayout *gpuGroupLayout = new QHBoxLayout(_gpuGroup);
++ _gpuCB = new QCheckBox(i18n("Run using dedicated &graphics card"));
++ gpuGroupLayout->addWidget(_gpuCB);
++ advancedTabLayout->addWidget(_gpuGroup);
++
+ // key binding
+ _keyBindingGroup = new QGroupBox();
+ QHBoxLayout *keyBindingGroupLayout = new QHBoxLayout(_keyBindingGroup);
+@@ -222,6 +229,7 @@ void BasicTab::initConnections()
+ connect(_terminalCB, &QCheckBox::clicked, this, &BasicTab::termcb_clicked);
+ connect(_terminalOptionsEdit, &QLineEdit::textChanged, this, &BasicTab::slotChanged);
+ connect(_userCB, &QCheckBox::clicked, this, &BasicTab::uidcb_clicked);
++ connect(_gpuCB, &QCheckBox::clicked, this, &BasicTab::slotChanged);
+ connect(_userNameEdit, &QLineEdit::textChanged, this, &BasicTab::slotChanged);
+ connect(_keyBindingEdit, &KKeySequenceWidget::keySequenceChanged, this, &BasicTab::slotCapturedKeySequence);
+ }
+@@ -248,6 +256,7 @@ void BasicTab::slotDisableAction()
+ _workPathGroup->setEnabled(false);
+ _terminalGroup->setEnabled(false);
+ _userGroup->setEnabled(false);
++ _gpuGroup->setEnabled(false);
+ _iconButton->setEnabled(false);
+ // key binding part
+ _keyBindingGroup->setEnabled(false);
+@@ -277,6 +286,7 @@ void BasicTab::enableWidgets(bool isDF, bool isDeleted)
+ _terminalGroup->setEnabled(isDF && !isDeleted);
+ _userGroup->setEnabled(isDF && !isDeleted);
+ _keyBindingGroup->setEnabled(isDF && !isDeleted);
++ _gpuGroup->setEnabled(isDF && !isDeleted);
+
+ _terminalOptionsEdit->setEnabled(isDF && !isDeleted && _terminalCB->isChecked());
+ _terminalOptionsLabel->setEnabled(isDF && !isDeleted && _terminalCB->isChecked());
+@@ -310,6 +320,7 @@ void BasicTab::setFolderInfo(MenuFolderInfo *folderInfo)
+ _onlyShowInKdeCB->setChecked(false);
+ _hiddenEntryCB->setChecked(false);
+ _userCB->setChecked(false);
++ _gpuCB->setChecked(false);
+ _keyBindingEdit->clearKeySequence();
+
+ enableWidgets(false, folderInfo->hidden);
+@@ -411,6 +422,12 @@ void BasicTab::setEntryInfo(MenuEntryInfo *entryInfo)
+
+ _userCB->setChecked(df->desktopGroup().readEntry("X-KDE-SubstituteUID", false));
+
++ if (df->desktopGroup().hasKey("PrefersNonDefaultGPU")) {
++ _gpuCB->setChecked(df->desktopGroup().readEntry("PrefersNonDefaultGPU", false));
++ } else {
++ _gpuCB->setChecked(df->desktopGroup().readEntry("X-KDE-RunOnDiscreteGpu", false));
++ }
++
+ enableWidgets(true, entryInfo->hidden);
+ blockSignals(false);
+ }
+@@ -465,6 +482,12 @@ void BasicTab::apply()
+ } else {
+ dg.writeXdgListEntry("OnlyShowIn", onlyShowIn);
+ }
++
++ dg.writeEntry("PrefersNonDefaultGPU", _gpuCB->isChecked());
++ // Delete the old key — it could cause confusion when inspecting .desktop content
++ if (dg.hasKey("X-KDE-RunOnDiscreteGpu")) {
++ dg.deleteEntry("X-KDE-RunOnDiscreteGpu");
++ }
+ } else {
+ _menuFolderInfo->setCaption(_nameEdit->text());
+ _menuFolderInfo->setGenericName(_descriptionEdit->text());
+diff --git a/basictab.h b/basictab.h
+index 5559e1c3..01ce48b6 100644
+--- a/basictab.h
++++ b/basictab.h
+@@ -86,10 +86,12 @@ protected:
+ QCheckBox *_launchCB = nullptr;
+ QCheckBox *_onlyShowInKdeCB = nullptr;
+ QCheckBox *_hiddenEntryCB = nullptr;
++ QCheckBox *_gpuCB = nullptr;
+ KIconButton *_iconButton = nullptr;
+ QGroupBox *_workPathGroup = nullptr;
+ QGroupBox *_terminalGroup = nullptr;
+ QGroupBox *_userGroup = nullptr;
++ QGroupBox *_gpuGroup = nullptr;
+ QGroupBox *_keyBindingGroup = nullptr;
+ QLabel *_terminalOptionsLabel = nullptr;
+ QLabel *_userNameLabel = nullptr;
+--
+GitLab
+