+1 for this patch, as it would enable Xe on any non-x86 system. I've successfully tested this change on Ampere and Broadcom (Raspberry Pi) systems.
We've been using the flag `CONFIG_VGA_CONSOLE` instead of `CONFIG_X86` but either should achieve the same goal. See: https://github.com/6by9/linux/commit/6bd4cfe79b5111986dd11a5c6e48d4a963fd7740 With some OSes a later Mesa version needs to be compiled to support newer Xe/Xe2 cards, however I've successfully tested a number of Intel dGPUs at this point. Sometimes setting force probe to '*' (or the particular GPU ID) is required, but otherwise stability is good. For example, the A750: https://github.com/geerlingguy/raspberry-pi-pcie-devices/issues/510#issuecomment-3383284831 > On Jul 15, 2025, at 1:18 AM, zhangzhijie <[email protected]> wrote: > > inb/outb speccial wire not support on other ARCH. > Should detect whether arch platform support or not. > > Signed-off-by: zhangzhijie <[email protected]> > --- > drivers/gpu/drm/i915/display/intel_vga.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/gpu/drm/i915/display/intel_vga.c > b/drivers/gpu/drm/i915/display/intel_vga.c > index 4b98833bfa8c..5e48e3282670 100644 > --- a/drivers/gpu/drm/i915/display/intel_vga.c > +++ b/drivers/gpu/drm/i915/display/intel_vga.c > @@ -33,6 +33,7 @@ void intel_vga_disable(struct drm_i915_private *dev_priv) > if (intel_de_read(dev_priv, vga_reg) & VGA_DISP_DISABLE) > return; > > +#if defined(CONFIG_X86) || defined(CONFIG_X86_64) > /* WaEnableVGAAccessThroughIOPort:ctg,elk,ilk,snb,ivb,vlv,hsw */ > vga_get_uninterruptible(pdev, VGA_RSRC_LEGACY_IO); > outb(0x01, VGA_SEQ_I); > @@ -40,6 +41,7 @@ void intel_vga_disable(struct drm_i915_private *dev_priv) > outb(sr1 | VGA_SR01_SCREEN_OFF, VGA_SEQ_D); > vga_put(pdev, VGA_RSRC_LEGACY_IO); > udelay(300); > +#endif > > intel_de_write(dev_priv, vga_reg, VGA_DISP_DISABLE); > intel_de_posting_read(dev_priv, vga_reg); > @@ -80,6 +82,7 @@ void intel_vga_redisable(struct drm_i915_private *i915) > > void intel_vga_reset_io_mem(struct drm_i915_private *i915) > { > +#if defined(CONFIG_X86) || defined(CONFIG_X86_64) > struct pci_dev *pdev = to_pci_dev(i915->drm.dev); > > /* > @@ -95,6 +98,7 @@ void intel_vga_reset_io_mem(struct drm_i915_private *i915) > vga_get_uninterruptible(pdev, VGA_RSRC_LEGACY_IO); > outb(inb(VGA_MIS_R), VGA_MIS_W); > vga_put(pdev, VGA_RSRC_LEGACY_IO); > +#endif > } > > int intel_vga_register(struct drm_i915_private *i915) > -- > 2.34.1 > >
