From 19c8991a44641ebbf44eec73a0ecd9db05241c49 Mon Sep 17 00:00:00 2001 From: sanasol Date: Tue, 24 Feb 2026 13:56:21 +0100 Subject: [PATCH] v2.4.0: Add Send Logs, fix Intel Arc iGPU misdetection - Add Send Logs button for one-click log submission to support - Fix Intel Arc Graphics (Meteor Lake/Lunar Lake) on bus 00 being classified as discrete GPU instead of integrated --- backend/utils/platformUtils.js | 10 ++++++++-- package.json | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/backend/utils/platformUtils.js b/backend/utils/platformUtils.js index bb0605d..9e95770 100644 --- a/backend/utils/platformUtils.js +++ b/backend/utils/platformUtils.js @@ -164,8 +164,14 @@ function detectGpuLinux() { const isAmd = lowerLine.includes('amd') || lowerLine.includes('radeon') || vendorId === '1002'; const isIntel = lowerLine.includes('intel') || vendorId === '8086'; - // Intel Arc detection - const isIntelArc = isIntel && (lowerName.includes('arc') || lowerName.includes('a770') || lowerName.includes('a750') || lowerName.includes('a380')); + // Intel Arc discrete GPU detection + // Discrete Arc cards have specific model numbers: A310, A380, A580, A750, A770, B570, B580 + // Integrated "Intel Arc Graphics" (Meteor Lake, Lunar Lake, Arrow Lake) have NO model suffix + // and sit on bus 00 (slot 00:02.0) — these are iGPUs, not dGPUs + const pciSlot = line.split(' ')[0] || ''; + const pciBus = parseInt(pciSlot.split(':')[0], 16) || 0; + const hasArcModelNumber = isIntel && /\b[ab]\d{3}\b/i.test(lowerName); + const isIntelArc = isIntel && (hasArcModelNumber || (lowerName.includes('arc') && pciBus > 0)); let vendor = 'unknown'; if (isNvidia) vendor = 'nvidia'; diff --git a/package.json b/package.json index 2211450..a1c919b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hytale-f2p-launcher", - "version": "2.3.9", + "version": "2.4.0", "description": "A modern, cross-platform launcher for Hytale with automatic updates and multi-client support", "homepage": "https://git.sanhost.net/sanasol/hytale-f2p", "main": "main.js",