@Civiloid I’ve had success installing an NVIDIA A6000 card in the 3rd slot. I had to squash the cables from the fan headers though.
Is it the fan cables that are getting in the way for you too?
With Intel Arc - no, it is the CMOS battery, as the cooler there is rather large and takes full two slots.
Wow. So this board was clearly designed for other purposes ;D
@hrw yup, it is clearly a server board that just can be used in some workstation use-cases.
Honestly that is one of the questions towards asrock - why top two slots (most accessible/compatible ones) are only x8 on non-Max altra?
For example it mentions a debug console on port 2203, however in reality it is 2200.
That just changed with the latest beta BMC firmware. It used to be 2203.
That just changed with the latest beta BMC firmware. It used to be 2203.
My board had 02.05.00 (doesn’t seems to be available on ASRock website) out of the box and it was 2200 there. I’ve verified that before updating to 02.06.00 BETA
A bit of debugging on what is going on with Xe:
int xe_display_init_noirq(struct xe_device *xe)calls to some old code (intel_display_driver_probe_noirq in i915) that then attempts to enable power wells, then eventually gets tohsw_power_well_post_enableand to that code:
if (has_vga)
intel_vga_reset_io_mem(dev_priv);
intel_vga_reset_io_memdo
vga_get_uninterruptible(pdev, VGA_RSRC_LEGACY_IO);
outb(inb(VGA_MIS_R), VGA_MIS_W);
vga_put(pdev, VGA_RSRC_LEGACY_IO);
and it fails at outb(inb...) line
So it seemed to me that it might be just unnecessary on ARM, so I’ve put a return in the beginning of that function (also seems it is only there to make vgacon happy and I don’t think it is even can be used on ARM).
It went a bit further, get display modes of my capture card, tried to initialize it and eventually have up with:
[ 251.771403] xe 0004:04:00.0: [drm:__drm_atomic_state_free [drm]] Freeing atomic state 00000000b0f7023d
[ 251.787412] xe 0004:04:00.0: [drm:drm_crtc_vblank_helper_get_vblank_timestamp_internal [drm]] crtc 0 : v p(0,-30)@ 252.067673 -> 252.068339 [e 1 us, 0 rep]
[ 251.787444] xe 0004:04:00.0: [drm:drm_update_vblank_count [drm]] updating vblank count on crtc 0: current=13, diff=1, hw=14 hw_last=13
[ 251.787471] xe 0004:04:00.0: [drm:vblank_disable_fn [drm]] disabling vblank on crtc 0
[ 251.787500] xe 0004:04:00.0: [drm:drm_crtc_vblank_helper_get_vblank_timestamp_internal [drm]] crtc 0 : v p(0,-26)@ 252.067760 -> 252.068338 [e 1 us, 0 rep]
[ 251.787528] xe 0004:04:00.0: [drm:drm_update_vblank_count [drm]] updating vblank count on crtc 0: current=14, diff=0, hw=14 hw_last=14
[ 251.877237] xe 0004:04:00.0: [drm:hsw_dp_audio_config_update.isra.0 [xe]] using Maud 512, Naud 3375
[ 253.154320] xe 0004:04:00.0: [drm:intel_power_well_disable [xe]] disabling PW_2
[ 256.726289] xe 0004:04:00.0: [drm:drm_dp_dpcd_probe [drm_display_helper]] AUX A/DDI A/PHY A: 0x00000 AUX -> (ret= 1) 12
[ 256.727040] xe 0004:04:00.0: [drm:drm_dp_dpcd_read [drm_display_helper]] AUX A/DDI A/PHY A: 0x00500 AUX -> (ret= 13) 00 e0 4c 49 4d 43 52 41 42 20 82 01 00
[ 256.983460] xe 0004:04:00.0: [drm:drm_dp_dpcd_access [drm_display_helper]] AUX B/DDI B/PHY B: Too many retries, giving up. First error: -6
[ 256.983487] xe 0004:04:00.0: [drm:drm_dp_dpcd_probe [drm_display_helper]] AUX B/DDI B/PHY B: 0x00000 AUX -> (ret= -6)
[ 257.239446] xe 0004:04:00.0: [drm:drm_dp_dpcd_access [drm_display_helper]] AUX C/DDI C/PHY C: Too many retries, giving up. First error: -6
[ 257.239468] xe 0004:04:00.0: [drm:drm_dp_dpcd_probe [drm_display_helper]] AUX C/DDI C/PHY C: 0x00000 AUX -> (ret= -6)
[ 257.495431] xe 0004:04:00.0: [drm:drm_dp_dpcd_access [drm_display_helper]] AUX D/DDI D/PHY D: Too many retries, giving up. First error: -6
[ 257.495454] xe 0004:04:00.0: [drm:drm_dp_dpcd_probe [drm_display_helper]] AUX D/DDI D/PHY D: 0x00000 AUX -> (ret= -6)
I’m not sure if that happens because previously it complains about Resizable-BAR support not working (AFAIR Arc requires it) or something else.
Full log: gist:4adfa5c87761b58a5f907ee2ce015090 · GitHub (except I’ve removed debug prints that I’ve added to figure out what stage it gets stuck)
EDIT: rebar support is available in the BIOS, it was just turned off. So I’ll try with it enabled.
And a quick update (trick was to enable rebar in the firmware and then to start gdm after driver is loaded, plus commeting out what I’ve mentioned above)
I don’t have OpenGL or Vulkan running, but probably due to old mesa or something. I probably will look into that later.
But yes, with a bit of tinkering Xe at least displays image on ARM.
P.S. I haven’t tried running it without PCIe patch.
P.P.S. And PCIe patch doesn’t seems to be required for it to work, at least Gnome starts without it. But I need to build few more libraries to get 3D Acceleration on it.
P.P.P.S. Also any ideas on what would be upstreamable version of the patch I’ve applied, are welcome.
Currently I’ve just applied that:
--- a/drivers/gpu/drm/i915/display/intel_vga.c
+++ b/drivers/gpu/drm/i915/display/intel_vga.c
@@ -80,6 +80,7 @@ void intel_vga_redisable(struct drm_i915_private *i915)
void intel_vga_reset_io_mem(struct drm_i915_private *i915)
{
+ return;
struct pci_dev *pdev = to_pci_dev(i915->drm.dev);
/*
But to me it seems that at least ifdef’ing it on X86 would be required, and I’m not sure if the function would be able to do anything on non-x86
UPD:
A slightly cleaner patch to make Xe driver compilable:
I probably will try to start discussion on LKML about that later.
About 3D, mesa and other stuff - it is where it gets worse.
My current state:
- On debian, libdrm doesn’t build libdrm_intel on non-x86, that is simple to fix: libdrm-2.4.120-debian-intel-aarch.patch · GitHub
- For mesa, I took 24.1.0-rc3 as there was a lot of work around support of Xe kernel module, but few things in just a build system was required: mesa-24.1.0-rc3-allow-i915-to-compile-on-aarch64.patch
That compiles mesa just fine. Then the problem starts.
I’m getting initial image with a cursor, however gdm hangs immediately, consuming 100% CPU in a busy loop.
Kernel messages are:
[ 687.185731] xe 0004:04:00.0: [drm:drm_open_helper [drm]] comm="systemd-logind", pid=1479, minor=0
[ 687.185771] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="systemd-logind" pid=1479, dev=0xe200, auth=1, DRM_IOCTL_SET_MASTER
[ 687.186257] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_VERSION
<...>
[ 687.276617] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_DEVICE_QUERY
<...>
[ 687.277202] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_SYNCOBJ_CREATE
<...>
[ 687.277219] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_VM_CREATE
[ 687.278073] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_GEM_CREATE
[ 687.278096] xe 0004:04:00.0: [drm:xe_migrate_clear [xe]] Pass 0, size: 262144
[ 687.278159] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_VM_BIND
[ 687.278177] xe 0004:04:00.0: [drm:xe_vm_bind_ioctl [xe]] op=0, addr=0x0000000200000000, range=0x0000000000040000, bo_offset_or_userptr=0x0000000000000000
[ 687.278218] xe 0004:04:00.0: [drm:xe_vm_bind_ioctl [xe]] MAP: addr=0x0000000200000000, range=0x0000000000040000
[ 687.278261] xe 0004:04:00.0: [drm:__xe_pt_bind_vma [xe]] Preparing bind, with range [200000000...200040000) engine 00000000c49156d1.
[ 687.278719] xe 0004:04:00.0: [drm:xe_vm_dbg_print_entries [xe]] 1 entries to update
[ 687.278757] xe 0004:04:00.0: [drm:xe_vm_dbg_print_entries [xe]] 0: Update level 3 at (0 + 1) [0...8000000000) f:0
[ 687.278804] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_GEM_MMAP_OFFSET
[ 687.278846] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_GEM_CREATE
[ 687.278862] xe 0004:04:00.0: [drm:xe_migrate_clear [xe]] Pass 0, size: 65536
[ 687.278908] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_VM_BIND
[ 687.278924] xe 0004:04:00.0: [drm:xe_vm_bind_ioctl [xe]] op=0, addr=0x0000fffeffff0000, range=0x0000000000010000, bo_offset_or_userptr=0x0000000000000000
[ 687.278962] xe 0004:04:00.0: [drm:xe_vm_bind_ioctl [xe]] MAP: addr=0x0000fffeffff0000, range=0x0000000000010000
[ 687.279011] xe 0004:04:00.0: [drm:__xe_pt_bind_vma [xe]] Preparing bind, with range [fffeffff0000...ffff00000000) engine 00000000c49156d1.
[ 687.279400] xe 0004:04:00.0: [drm:xe_vm_dbg_print_entries [xe]] 1 entries to update
[ 687.279436] xe 0004:04:00.0: [drm:xe_vm_dbg_print_entries [xe]] 0: Update level 3 at (511 + 1) [ff8000000000...1000000000000) f:0
[ 687.279653] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_GEM_CREATE
[ 687.279673] xe 0004:04:00.0: [drm:xe_migrate_clear [xe]] Pass 0, size: 65536
[ 687.279720] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_VM_BIND
[ 687.279736] xe 0004:04:00.0: [drm:xe_vm_bind_ioctl [xe]] op=0, addr=0x0000fffefffe0000, range=0x0000000000010000, bo_offset_or_userptr=0x0000000000000000
[ 687.279775] xe 0004:04:00.0: [drm:xe_vm_bind_ioctl [xe]] MAP: addr=0x0000fffefffe0000, range=0x0000000000010000
[ 687.279814] xe 0004:04:00.0: [drm:__xe_pt_bind_vma [xe]] Preparing bind, with range [fffefffe0000...fffeffff0000) engine 00000000c49156d1.
[ 687.279854] xe 0004:04:00.0: [drm:xe_vm_dbg_print_entries [xe]] 1 entries to update
[ 687.279890] xe 0004:04:00.0: [drm:xe_vm_dbg_print_entries [xe]] 0: Update level 0 at (480 + 16) [fffefffe0000...fffeffff0000) f:0
[ 687.279941] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_GEM_MMAP_OFFSET
[ 687.281486] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_SYNCOBJ_CREATE
[ 687.281508] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_SYNCOBJ_WAIT
[ 687.281524] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell", pid=2393, ret=-62
[ 687.281538] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_SYNCOBJ_DESTROY
[ 687.283500] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_GET_CAP
[ 687.287151] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_GEM_CREATE
[ 687.287180] xe 0004:04:00.0: [drm:xe_migrate_clear [xe]] Pass 0, size: 2097152
[ 687.287236] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_VM_BIND
[ 687.287254] xe 0004:04:00.0: [drm:xe_vm_bind_ioctl [xe]] op=0, addr=0x000000013f600000, range=0x0000000000200000, bo_offset_or_userptr=0x0000000000000000
[ 687.287293] xe 0004:04:00.0: [drm:xe_vm_bind_ioctl [xe]] MAP: addr=0x000000013f600000, range=0x0000000000200000
[ 687.287335] xe 0004:04:00.0: [drm:__xe_pt_bind_vma [xe]] Preparing bind, with range [13f600000...13f800000) engine 00000000c49156d1.
[ 687.287734] xe 0004:04:00.0: [drm:xe_vm_dbg_print_entries [xe]] 1 entries to update
[ 687.287772] xe 0004:04:00.0: [drm:xe_vm_dbg_print_entries [xe]] 0: Update level 2 at (4 + 1) [100000000...140000000) f:0
[ 687.287819] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_GEM_MMAP_OFFSET
[ 687.287854] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_GEM_CREATE
[ 687.287871] xe 0004:04:00.0: [drm:xe_migrate_clear [xe]] Pass 0, size: 65536
[ 687.287916] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_VM_BIND
[ 687.287932] xe 0004:04:00.0: [drm:xe_vm_bind_ioctl [xe]] op=0, addr=0x00000001ff7e0000, range=0x0000000000010000, bo_offset_or_userptr=0x0000000000000000
[ 687.287970] xe 0004:04:00.0: [drm:xe_vm_bind_ioctl [xe]] MAP: addr=0x00000001ff7e0000, range=0x0000000000010000
[ 687.288010] xe 0004:04:00.0: [drm:__xe_pt_bind_vma [xe]] Preparing bind, with range [1ff7e0000...1ff7f0000) engine 00000000c49156d1.
[ 687.288288] xe 0004:04:00.0: [drm:xe_vm_dbg_print_entries [xe]] 1 entries to update
[ 687.288325] xe 0004:04:00.0: [drm:xe_vm_dbg_print_entries [xe]] 0: Update level 2 at (7 + 1) [1c0000000...200000000) f:0
[ 687.288379] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_GEM_MMAP_OFFSET
[ 687.288818] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_DEVICE_QUERY
[ 687.288838] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_DEVICE_QUERY
[ 687.288854] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_DEVICE_QUERY
[ 687.288868] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_DEVICE_QUERY
[ 687.288883] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_EXEC_QUEUE_CREATE
[ 687.289028] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_DEVICE_QUERY
[ 687.289043] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_DEVICE_QUERY
[ 687.289057] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_EXEC_QUEUE_CREATE
[ 687.289186] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_DEVICE_QUERY
[ 687.289201] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_DEVICE_QUERY
[ 687.289215] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_EXEC_QUEUE_CREATE
[ 687.289341] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_GEM_CREATE
[ 687.289372] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_VM_BIND
[ 687.289389] xe 0004:04:00.0: [drm:xe_vm_bind_ioctl [xe]] op=0, addr=0x0000fffefffd0000, range=0x0000000000010000, bo_offset_or_userptr=0x0000000000000000
[ 687.289428] xe 0004:04:00.0: [drm:xe_vm_bind_ioctl [xe]] MAP: addr=0x0000fffefffd0000, range=0x0000000000010000
[ 687.289469] xe 0004:04:00.0: [drm:__xe_pt_bind_vma [xe]] Preparing bind, with range [fffefffd0000...fffefffe0000) engine 00000000c49156d1.
[ 687.289510] xe 0004:04:00.0: [drm:xe_vm_dbg_print_entries [xe]] 1 entries to update
[ 687.289547] xe 0004:04:00.0: [drm:xe_vm_dbg_print_entries [xe]] 0: Update level 0 at (464 + 16) [fffefffd0000...fffefffe0000) f:0
[ 687.289599] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_GEM_MMAP_OFFSET
[ 687.289631] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_GEM_CREATE
[ 687.289653] xe 0004:04:00.0: [drm:xe_migrate_clear [xe]] Pass 0, size: 131072
[ 687.289701] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_VM_BIND
[ 687.289716] xe 0004:04:00.0: [drm:xe_vm_bind_ioctl [xe]] op=0, addr=0x0000fffefffb0000, range=0x0000000000020000, bo_offset_or_userptr=0x0000000000000000
[ 687.289754] xe 0004:04:00.0: [drm:xe_vm_bind_ioctl [xe]] MAP: addr=0x0000fffefffb0000, range=0x0000000000020000
[ 687.289794] xe 0004:04:00.0: [drm:__xe_pt_bind_vma [xe]] Preparing bind, with range [fffefffb0000...fffefffd0000) engine 00000000c49156d1.
[ 687.289833] xe 0004:04:00.0: [drm:xe_vm_dbg_print_entries [xe]] 1 entries to update
[ 687.289870] xe 0004:04:00.0: [drm:xe_vm_dbg_print_entries [xe]] 0: Update level 0 at (432 + 32) [fffefffb0000...fffefffd0000) f:0
[ 687.289919] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_GEM_MMAP_OFFSET
[ 687.289945] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_SYNCOBJ_CREATE
[ 687.289962] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_GEM_CREATE
[ 687.289987] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_VM_BIND
[ 687.290004] xe 0004:04:00.0: [drm:xe_vm_bind_ioctl [xe]] op=0, addr=0x0000fffefffa0000, range=0x0000000000010000, bo_offset_or_userptr=0x0000000000000000
[ 687.290042] xe 0004:04:00.0: [drm:xe_vm_bind_ioctl [xe]] MAP: addr=0x0000fffefffa0000, range=0x0000000000010000
[ 687.290081] xe 0004:04:00.0: [drm:__xe_pt_bind_vma [xe]] Preparing bind, with range [fffefffa0000...fffefffb0000) engine 00000000c49156d1.
[ 687.290119] xe 0004:04:00.0: [drm:xe_vm_dbg_print_entries [xe]] 1 entries to update
[ 687.290156] xe 0004:04:00.0: [drm:xe_vm_dbg_print_entries [xe]] 0: Update level 0 at (416 + 16) [fffefffa0000...fffefffb0000) f:0
[ 687.290201] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_GEM_MMAP_OFFSET
[ 687.290223] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_GEM_CREATE
[ 687.290239] xe 0004:04:00.0: [drm:xe_migrate_clear [xe]] Pass 0, size: 131072
[ 687.290282] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_VM_BIND
[ 687.290297] xe 0004:04:00.0: [drm:xe_vm_bind_ioctl [xe]] op=0, addr=0x0000fffefff80000, range=0x0000000000020000, bo_offset_or_userptr=0x0000000000000000
[ 687.290335] xe 0004:04:00.0: [drm:xe_vm_bind_ioctl [xe]] MAP: addr=0x0000fffefff80000, range=0x0000000000020000
[ 687.290374] xe 0004:04:00.0: [drm:__xe_pt_bind_vma [xe]] Preparing bind, with range [fffefff80000...fffefffa0000) engine 00000000c49156d1.
[ 687.290413] xe 0004:04:00.0: [drm:xe_vm_dbg_print_entries [xe]] 1 entries to update
[ 687.290450] xe 0004:04:00.0: [drm:xe_vm_dbg_print_entries [xe]] 0: Update level 0 at (384 + 32) [fffefff80000...fffefffa0000) f:0
[ 687.290499] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_GEM_MMAP_OFFSET
[ 687.290517] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_SYNCOBJ_CREATE
[ 687.290533] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_GEM_CREATE
[ 687.290555] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_VM_BIND
[ 687.290570] xe 0004:04:00.0: [drm:xe_vm_bind_ioctl [xe]] op=0, addr=0x0000fffefff70000, range=0x0000000000010000, bo_offset_or_userptr=0x0000000000000000
[ 687.290608] xe 0004:04:00.0: [drm:xe_vm_bind_ioctl [xe]] MAP: addr=0x0000fffefff70000, range=0x0000000000010000
[ 687.290647] xe 0004:04:00.0: [drm:__xe_pt_bind_vma [xe]] Preparing bind, with range [fffefff70000...fffefff80000) engine 00000000c49156d1.
[ 687.290685] xe 0004:04:00.0: [drm:xe_vm_dbg_print_entries [xe]] 1 entries to update
[ 687.290722] xe 0004:04:00.0: [drm:xe_vm_dbg_print_entries [xe]] 0: Update level 0 at (368 + 16) [fffefff70000...fffefff80000) f:0
[ 687.290768] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_GEM_MMAP_OFFSET
[ 687.290789] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_GEM_CREATE
[ 687.290805] xe 0004:04:00.0: [drm:xe_migrate_clear [xe]] Pass 0, size: 131072
[ 687.290848] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_VM_BIND
[ 687.290863] xe 0004:04:00.0: [drm:xe_vm_bind_ioctl [xe]] op=0, addr=0x0000fffefff50000, range=0x0000000000020000, bo_offset_or_userptr=0x0000000000000000
[ 687.290901] xe 0004:04:00.0: [drm:xe_vm_bind_ioctl [xe]] MAP: addr=0x0000fffefff50000, range=0x0000000000020000
[ 687.290939] xe 0004:04:00.0: [drm:__xe_pt_bind_vma [xe]] Preparing bind, with range [fffefff50000...fffefff70000) engine 00000000c49156d1.
[ 687.290978] xe 0004:04:00.0: [drm:xe_vm_dbg_print_entries [xe]] 1 entries to update
[ 687.291026] xe 0004:04:00.0: [drm:xe_vm_dbg_print_entries [xe]] 0: Update level 0 at (336 + 32) [fffefff50000...fffefff70000) f:0
[ 687.291075] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_GEM_MMAP_OFFSET
[ 687.291094] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_SYNCOBJ_CREATE
[ 687.291148] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_GEM_CREATE
[ 687.291177] xe 0004:04:00.0: [drm:xe_migrate_clear [xe]] Pass 0, size: 65536
[ 687.291221] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_VM_BIND
[ 687.291237] xe 0004:04:00.0: [drm:xe_vm_bind_ioctl [xe]] op=0, addr=0x000000027fff0000, range=0x0000000000010000, bo_offset_or_userptr=0x0000000000000000
[ 687.291275] xe 0004:04:00.0: [drm:xe_vm_bind_ioctl [xe]] MAP: addr=0x000000027fff0000, range=0x0000000000010000
[ 687.291314] xe 0004:04:00.0: [drm:__xe_pt_bind_vma [xe]] Preparing bind, with range [27fff0000...280000000) engine 00000000c49156d1.
[ 687.291588] xe 0004:04:00.0: [drm:xe_vm_dbg_print_entries [xe]] 1 entries to update
[ 687.291625] xe 0004:04:00.0: [drm:xe_vm_dbg_print_entries [xe]] 0: Update level 2 at (9 + 1) [240000000...280000000) f:0
[ 687.291669] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_GEM_MMAP_OFFSET
[ 687.294883] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_EXEC
[ 687.294919] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_SYNCOBJ_HANDLE_TO_FD
[ 687.294947] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_SYNCOBJ_WAIT
[ 687.294964] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell", pid=2393, ret=-62
[ 687.294978] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_SYNCOBJ_WAIT
[ 687.295003] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell", pid=2393, ret=-62
[ 687.295017] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_GEM_CREATE
[ 687.295037] xe 0004:04:00.0: [drm:xe_migrate_clear [xe]] Pass 0, size: 131072
[ 687.295087] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_VM_BIND
[ 687.295104] xe 0004:04:00.0: [drm:xe_vm_bind_ioctl [xe]] op=0, addr=0x0000fffefff30000, range=0x0000000000020000, bo_offset_or_userptr=0x0000000000000000
[ 687.295143] xe 0004:04:00.0: [drm:xe_vm_bind_ioctl [xe]] MAP: addr=0x0000fffefff30000, range=0x0000000000020000
[ 687.295185] xe 0004:04:00.0: [drm:__xe_pt_bind_vma [xe]] Preparing bind, with range [fffefff30000...fffefff50000) engine 00000000c49156d1.
[ 687.295227] xe 0004:04:00.0: [drm:xe_vm_dbg_print_entries [xe]] 1 entries to update
[ 687.295263] xe 0004:04:00.0: [drm:xe_vm_dbg_print_entries [xe]] 0: Update level 0 at (304 + 32) [fffefff30000...fffefff50000) f:0
[ 687.295313] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_GEM_MMAP_OFFSET
[ 687.295343] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_SYNCOBJ_CREATE
[ 687.295360] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_EXEC
[ 687.295380] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_SYNCOBJ_HANDLE_TO_FD
[ 687.295400] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_SYNCOBJ_WAIT
[ 687.295416] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_SYNCOBJ_CREATE
[ 687.295751] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_SYNCOBJ_DESTROY
[ 687.295772] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_SYNCOBJ_CREATE
[ 687.295787] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_EXEC
[ 687.295804] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_SYNCOBJ_DESTROY
[ 687.295818] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_EXEC_QUEUE_DESTROY
[ 687.295838] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_SYNCOBJ_DESTROY
[ 687.295853] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_SYNCOBJ_CREATE
[ 687.295867] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_EXEC
[ 687.295882] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_SYNCOBJ_DESTROY
[ 687.295896] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_EXEC_QUEUE_DESTROY
[ 687.295913] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_SYNCOBJ_DESTROY
[ 687.295918] xe 0004:04:00.0: [drm] Timedout job: seqno=4294967169, guc_id=3, flags=0x0
[ 687.295928] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_SYNCOBJ_CREATE
[ 687.295943] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_EXEC
[ 687.295957] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_SYNCOBJ_DESTROY
[ 687.295971] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, XE_EXEC_QUEUE_DESTROY
[ 687.296030] xe 0004:04:00.0: [drm] Xe device coredump has been created
[ 687.296035] xe 0004:04:00.0: [drm] Check your /sys/class/drm/card0/device/devcoredump/data
[ 687.296212] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_SET_CLIENT_CAP
[ 687.296229] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_SET_CLIENT_CAP
[ 687.296250] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_VERSION
[ 687.296265] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_VERSION
[ 687.296305] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETRESOURCES
[ 687.296326] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_MODE_GETRESOURCES
[ 687.296342] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_GET_CAP
[ 687.296356] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_GET_CAP
[ 687.296369] xe 0004:04:00.0: [drm:drm_ioctl [drm]] comm="gnome-shell" pid=2393, dev=0xe200, auth=1, DRM_IOCTL_GET_CAP
[ 687.296338] xe 0004:04:00.0: [drm:guc_exec_queue_timedout_job [xe]] Timedout signaled job: seqno=4294967169, guc_id=3, flags=0x1
<...>
And after that it is basically stuck. I guess no surprise if something times out and then it suggested to get a coredump (though sysfs path is wrong).
And full log: gist:bee72c168ecc319b8eef89eb12b3db9e · GitHub
But that is on a kernel without PCIe patch, so maybe that is the reason why card is stuck. I’ll verify that.
UPD: And no signicant change if I re-apply the patch. I think I’ve managed to better isolate messages around the problem:
[ +0.000016] [drm:drm_mode_object_put.part.0 [drm]] OBJ ID: 288 (4)
[ +0.000013] [drm:drm_mode_object_get [drm]] OBJ ID: 290 (2)
[ +0.000018] xe 0004:04:00.0: [drm:intel_plane_atomic_check_with_state [xe]] [CRTC:80:pipe A] with [PLANE:31:plane 1A] visible 1 -> 1, off 0, on 0, ms 0
[ +0.000042] [drm:drm_mode_object_get [drm]] OBJ ID: 292 (2)
[ +0.000014] xe 0004:04:00.0: [drm:intel_plane_atomic_check_with_state [xe]] [CRTC:80:pipe A] with [PLANE:76:cursor A] visible 0 -> 1, off 0, on 1, ms 0
[ +0.000047] xe 0004:04:00.0: [drm:intel_atomic_get_global_obj_state [xe]] Added new global object 000000000d80a9ae state 0000000040be01be to 00000000306efab0
[ +0.000044] xe 0004:04:00.0: [drm:intel_atomic_get_global_obj_state [xe]] Added new global object 0000000050377418 state 00000000e1717c20 to 00000000306efab0
[ +0.000040] xe 0004:04:00.0: [drm:skl_compute_wm [xe]] [PLANE:31:plane 1A] level *wm0,*wm1,*wm2,*wm3,*wm4,*wm5,*wm6,*wm7,*twm, swm, stwm -> *wm0,*wm1,*wm2,*wm3,*wm4,*wm5,*wm6,*wm7,*twm, swm, stwm
[ +0.000040] xe 0004:04:00.0: [drm:skl_compute_wm [xe]] [PLANE:31:plane 1A] lines 1, 4, 5, 6, 12, 14, 22, 33, 0, 0, 0 -> 4, 4, 5, 6, 12, 14, 22, 33, 0, 0, 0
[ +0.000041] xe 0004:04:00.0: [drm:skl_compute_wm [xe]] [PLANE:31:plane 1A] blocks 21, 85, 106, 127, 253, 295, 463, 694, 35, 0, 0 -> 82, 82, 103, 123, 244, 285, 447, 670, 177, 0, 0
[ +0.000040] xe 0004:04:00.0: [drm:skl_compute_wm [xe]] [PLANE:31:plane 1A] min_ddb 25, 95, 118, 141, 280, 326, 511, 765, 36, 0, 0 -> 163, 163, 244, 244, 325, 406, 568, 811, 178, 0, 0
[ +0.000040] xe 0004:04:00.0: [drm:skl_compute_wm [xe]] [PLANE:76:cursor A] level wm0, wm1, wm2, wm3, wm4, wm5, wm6, wm7, twm, swm, stwm -> *wm0,*wm1,*wm2,*wm3,*wm4,*wm5,*wm6,*wm7,*twm, swm, stwm
[ +0.000039] xe 0004:04:00.0: [drm:skl_compute_wm [xe]] [PLANE:76:cursor A] lines 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -> 3, 4, 5, 6, 12, 14, 22, 33, 0, 0, 0
[ +0.000040] xe 0004:04:00.0: [drm:skl_compute_wm [xe]] [PLANE:76:cursor A] blocks 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -> 8, 13, 16, 19, 37, 43, 67, 100, 22, 0, 0
[ +0.000040] xe 0004:04:00.0: [drm:skl_compute_wm [xe]] [PLANE:76:cursor A] min_ddb 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -> 10, 16, 19, 22, 42, 49, 75, 111, 23, 0, 0
[ +0.000045] xe 0004:04:00.0: [drm:drm_atomic_commit [drm]] committing 00000000306efab0
[ +5.196998] xe 0004:04:00.0: [drm] Timedout job: seqno=4294967170, guc_id=5, flags=0x0
[ +0.000021] xe 0004:04:00.0: [drm:xe_devcoredump [xe]] Multiple hangs are occurring, but only the first snapshot was taken
[ +0.000492] xe 0004:04:00.0: [drm] Engine reset: guc_id=5
[ +0.000064] xe 0004:04:00.0: [drm:guc_exec_queue_timedout_job [xe]] Timedout signaled job: seqno=4294967171, guc_id=5, flags=0x1
[ +0.000094] xe 0004:04:00.0: [drm:guc_exec_queue_timedout_job [xe]] Timedout signaled job: seqno=4294967171, guc_id=5, flags=0x1
[ +0.000089] xe 0004:04:00.0: [drm:guc_exec_queue_timedout_job [xe]] Timedout signaled job: seqno=4294967171, guc_id=5, flags=0x1
P.S. And I think I’ll move out all of that to a separate thread about Intel Arc. Just not to flood here.
@Civiloid @hrw It seems unfortunate that the Intel ARC 750 doesn’t fit: the NVIDIA A6000 (a full length card) is high enough that it misses the battery by a couple of mm when installed in the 3rd PCIe slot, while the Sparkle Intel Arc A310 ELF fits in the 4th (bottom) slot since it’s not a full-length card.
Well, its a server first motherboard, so design doesn’t take into account those use-cases at all. It is just weird that they haven’t made top-most slots x16, thats all.
Meanwhile, with drm-next kernel branch (drm / xe / xe kernel driver · GitLab) and Altra’s PCIe patch I managed to see a gdm before Arc locked up.
Only briefly though. It still locks up.
UPD: It is probablistic, so I technically managed to grab a fullscreen screenshot because I was lucky. But that might mean that it is actually Altra’s problem now (not fully functional workaround)
I seem to have an issue with the BIOS settings as well. I can change them and reboot, all is fine. But as soon as I remove the power to the machine, they are gone.
The sensors show the BAT at a very low level (0.045 V !!!), but when I removed it and measured it, it was at a nice 3V.
Finally got my ASRock Rack Altra system working, after almost two months!
First, the CPU was dead; either DOA or died by not correctly connecting the 4-pin power connector.
Then, after replacing the CPU, none of my memory modules would be accepted in slots A1-D1. They would work fine in E1-H1. This turned out to be caused by the CPU cooler. See this topic.
Thanks to ASRock Rack tech support for figuring out this was the reason, even without seeing my old cooler. And thanks to other forum members for helping me out. You know who you are.
Hi folks. This is my first time posting here and I’m already bringing a thread back to life, or at least attempting to. Sorry about that but I’m all for recycling. Anyway, has anyone ever seen a bundle from Newegg or somewhere else that included the 32-core CPU instead of 64? From all (Google/DDG/eBay/Amazon/Newegg) evidence the actual CPU isn’t sold separately anywhere. Thanks!
The Q32-17 Ampere Altra is available to buy at Ampere Altra Q32-17 32C 1.70GHz 32MB 65W - AC-103206502 | anafrashop.com (outside the US it’s Ampere Altra Q32-17 32C 1.70GHz 32MB 65W - AC-103206502 | smicro.eu) but they don’t appear to have the Altra CPUs in stock so there might be quite a delay if you order one.
@Nav I’m quite interested in why you want the 32 core. I made the 32 and 64 core parts about the same price. Idle cores use almost no power (3.5 mW) so if you only use 32 of the cores, then the power is practically the same and you have more room to grow your workload or add new applications.
Hi there!
Has anyone been able to use a TPM2 module on the ASRock?
I finally ordered a “legit” ASRock TPM2 SPI module from MITXPC (https://mitxpc.com/products/tpm-spi, thanks @bexcran for the link!), but I don’t see any firmware option or TPM2 ACPI table after having installed it.
Firmware versions (not beta, but latests):
BMC: 2.07.00
UEFI: 2.06
And debian 12 kernel says TPM device is missing.
Cheers,
Cyprien
I’ve installed the TPM2 module in a couple of systems now with no problems: dmesg shows the TPM2 ACPI table and a SMBIOS Type 43 table is present:
Handle 0x006D, DMI type 43, 31 bytes
TPM Device
Vendor ID: IFX
Specification Version: 2.0
Firmware Revision: 7.85
Description: INFINEON
Characteristics:
Family configurable via platform software support
OEM-specific Information: 0x00000000
I’m also running UEFI version 2.06.
Just to double check, this is how I have the module installed:
that was it! Thank you @bexcran !!!
ACPI: TPM2 0x 00000000EF2B0000 000064 (v04 ALASKA A M I 00000001 AMI 00000000)









