geerlingguy / raspberry-pi-pcie-devices

Raspberry Pi PCI Express device compatibility database
http://pipci.jeffgeerling.com
GNU General Public License v3.0
1.59k stars 144 forks source link

Add Intel Arc A750 #510

Closed geerlingguy closed 1 year ago

geerlingguy commented 1 year ago

I am testing an Intel Arc A750 8GB graphics card:

DSC00672

660240_513655_01_front_zoom

It requires external PCIe power, so needs to be used with a suitable power supply. Intel seems to only officially support Ubuntu 22.04, and by default only AMD64/x86_64... Here's the full Ubuntu installation guide for Arc drivers.

Not sure if I can get it to work at all on Debian, and I also haven't confirmed if aarch64/ARM64 support is at all existing, planned, or not planned. Would like to find out, because I'll soon have another ARM64 system to test this in with a bit more firepower.

See also: Intel Arc Graphics A750/A770 Performance Ahead Of Linux 6.2 + Mesa 23.0 — it may be possible if the Pi OS kernel is up to 6.2 (it was 6.1 last time I checked) to compile the driver and see what happens.

geerlingguy commented 1 year ago

There's a good deal of coil whine on my card—when testing on the PC and it needs to render anything. At idle there isn't much, but when the fans stop spinning and the card is not displaying anything, or alternatively when the GPU is under heavy load, there's a lot of coil whine, enough to be pretty distracting.

geerlingguy commented 1 year ago

On Twitter someone mentioned this commit: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/drivers/gpu/drm/i915/Kconfig?h=next-20230210 — it looks like the i915 has some hardcoded x86 dependencies:

# SPDX-License-Identifier: GPL-2.0-only
config DRM_I915
    tristate "Intel 8xx/9xx/G3x/G4x/HD Graphics"
    depends on DRM
    depends on X86 && PCI
    depends on !PREEMPT_RT
geerlingguy commented 1 year ago

lspci output:

01:00.0 PCI bridge: Intel Corporation Device 4fa0 (rev 01) (prog-if 00 [Normal decode])
    Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Interrupt: pin A routed to IRQ 255
    Region 0: Memory at 610000000 (64-bit, prefetchable) [disabled] [size=8M]
    Bus: primary=01, secondary=02, subordinate=04, sec-latency=0
    I/O behind bridge: 0000f000-00000fff [disabled]
    Memory behind bridge: d8000000-d9bfffff [size=28M]
    Prefetchable memory behind bridge: 00000000c0000000-00000000cfffffff [size=256M]
    Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
    BridgeCtl: Parity- SERR+ NoISA- VGA- VGA16- MAbort- >Reset- FastB2B-
        PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
    Capabilities: [40] Power Management version 3
        Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
        Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
    Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
        Address: 0000000000000000  Data: 0000
        Masking: 00000000  Pending: 00000000
    Capabilities: [70] Express (v2) Upstream Port, MSI 00
        DevCap: MaxPayload 128 bytes, PhantFunc 0
            ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ SlotPowerLimit 0.000W
        DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
            RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop-
            MaxPayload 128 bytes, MaxReadReq 512 bytes
        DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr+ TransPend-
        LnkCap: Port #0, Speed 16GT/s, Width x16, ASPM L1, Exit Latency L1 <64us
            ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
        LnkCtl: ASPM Disabled; Disabled- CommClk+
            ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
        LnkSta: Speed 5GT/s (downgraded), Width x1 (downgraded)
            TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
        DevCap2: Completion Timeout: Not Supported, TimeoutDis- NROPrPrP+ LTR+
             10BitTagComp+ 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
             EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
             FRS+
             AtomicOpsCap: Routing+ 32bit+ 64bit+ 128bitCAS-
        DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR+ OBFF Disabled,
             AtomicOpsCtl: EgressBlck-
        LnkCap2: Supported Link Speeds: 2.5-16GT/s, Crosslink- Retimer+ 2Retimers+ DRS+
        LnkCtl2: Target Link Speed: 16GT/s, EnterCompliance- SpeedDis-
             Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
             Compliance De-emphasis: -6dB
        LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete- EqualizationPhase1-
             EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
             Retimer- 2Retimers- CrosslinkRes: Upstream Port
    Capabilities: [100 v2] Advanced Error Reporting
        UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
        UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
        UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
        CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr-
        CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
        AERCap: First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
            MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
        HeaderLog: 00000000 00000000 00000000 00000000
    Capabilities: [158 v1] Secondary PCI Express
        LnkCtl3: LnkEquIntrruptEn- PerformEqu-
        LaneErrStat: 0
    Capabilities: [188 v1] Physical Layer 16.0 GT/s <?>
    Capabilities: [1b8 v1] Lane Margining at the Receiver <?>
    Capabilities: [20c v1] Latency Tolerance Reporting
        Max snoop latency: 0ns
        Max no snoop latency: 0ns
    Capabilities: [214 v1] L1 PM Substates
        L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
              PortCommonModeRestoreTime=10us PortTPowerOnTime=14us
        L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1-
               T_CommonMode=0us LTR1.2_Threshold=29696ns
        L1SubCtl2: T_PwrOn=14us
    Capabilities: [230 v1] Vendor Specific Information: ID=0002 Rev=4 Len=100 <?>
    Capabilities: [330 v1] Vendor Specific Information: ID=0001 Rev=1 Len=038 <?>
    Capabilities: [368 v1] Data Link Feature <?>

02:01.0 PCI bridge: Intel Corporation Device 4fa4 (prog-if 00 [Normal decode])
    Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Bus: primary=02, secondary=03, subordinate=03, sec-latency=0
    I/O behind bridge: 0000f000-00000fff [disabled]
    Memory behind bridge: d8000000-d97fffff [size=24M]
    Prefetchable memory behind bridge: 00000000c0000000-00000000cfffffff [size=256M]
    Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
    BridgeCtl: Parity- SERR+ NoISA- VGA- VGA16- MAbort- >Reset- FastB2B-
        PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
    Capabilities: [40] Express (v2) Downstream Port (Slot-), MSI 00
        DevCap: MaxPayload 128 bytes, PhantFunc 0
            ExtTag+ RBE+
        DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
            RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop-
            MaxPayload 128 bytes, MaxReadReq 512 bytes
        DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr- TransPend-
        LnkCap: Port #8, Speed 2.5GT/s, Width x1, ASPM L1, Exit Latency L1 <1us
            ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
        LnkCtl: ASPM Disabled; Disabled- CommClk-
            ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
        LnkSta: Speed 2.5GT/s (ok), Width x1 (ok)
            TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
        DevCap2: Completion Timeout: Not Supported, TimeoutDis- NROPrPrP- LTR+
             10BitTagComp+ 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
             EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
             FRS- ARIFwd+
             AtomicOpsCap: Routing-
        DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR+ OBFF Disabled, ARIFwd+
             AtomicOpsCtl: EgressBlck-
        LnkCap2: Supported Link Speeds: 2.5GT/s, Crosslink- Retimer+ 2Retimers+ DRS-
        LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB
             Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
             Compliance De-emphasis: -6dB
        LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete- EqualizationPhase1-
             EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
             Retimer- 2Retimers- CrosslinkRes: unsupported
    Capabilities: [a0] Power Management version 3
        Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
        Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
    Capabilities: [7c] Subsystem: Intel Corporation Device 4fa4
    Capabilities: [100 v1] Advanced Error Reporting
        UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
        UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
        UESvrt: DLP+ SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP+ ECRC- UnsupReq- ACSViol-
        CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr-
        CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
        AERCap: First Error Pointer: 00, ECRCGenCap- ECRCGenEn- ECRCChkCap- ECRCChkEn-
            MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
        HeaderLog: 00000000 00000000 00000000 00000000
    Capabilities: [148 v1] Access Control Services
        ACSCap: SrcValid+ TransBlk+ ReqRedir+ CmpltRedir+ UpstreamFwd+ EgressCtrl- DirectTrans+
        ACSCtl: SrcValid- TransBlk- ReqRedir- CmpltRedir- UpstreamFwd- EgressCtrl- DirectTrans-

02:04.0 PCI bridge: Intel Corporation Device 4fa4 (prog-if 00 [Normal decode])
    Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Bus: primary=02, secondary=04, subordinate=04, sec-latency=0
    I/O behind bridge: 0000f000-00000fff [disabled]
    Memory behind bridge: d9800000-d98fffff [size=1M]
    Prefetchable memory behind bridge: 00000000fff00000-00000000000fffff [disabled]
    Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
    BridgeCtl: Parity- SERR+ NoISA- VGA- VGA16- MAbort- >Reset- FastB2B-
        PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
    Capabilities: [40] Express (v2) Downstream Port (Slot-), MSI 00
        DevCap: MaxPayload 128 bytes, PhantFunc 0
            ExtTag+ RBE+
        DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
            RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop-
            MaxPayload 128 bytes, MaxReadReq 512 bytes
        DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr- TransPend-
        LnkCap: Port #8, Speed 2.5GT/s, Width x1, ASPM L1, Exit Latency L1 <1us
            ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
        LnkCtl: ASPM Disabled; Disabled- CommClk+
            ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
        LnkSta: Speed 2.5GT/s (ok), Width x1 (ok)
            TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
        DevCap2: Completion Timeout: Not Supported, TimeoutDis- NROPrPrP- LTR+
             10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
             EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
             FRS- ARIFwd+
             AtomicOpsCap: Routing-
        DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR+ OBFF Disabled, ARIFwd-
             AtomicOpsCtl: EgressBlck-
        LnkCap2: Supported Link Speeds: 2.5GT/s, Crosslink- Retimer+ 2Retimers+ DRS-
        LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB
             Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
             Compliance De-emphasis: -6dB
        LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete- EqualizationPhase1-
             EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
             Retimer- 2Retimers- CrosslinkRes: unsupported
    Capabilities: [a0] Power Management version 3
        Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
        Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
    Capabilities: [7c] Subsystem: Intel Corporation Device 0000
    Capabilities: [100 v1] Advanced Error Reporting
        UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
        UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
        UESvrt: DLP+ SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP+ ECRC- UnsupReq- ACSViol-
        CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr-
        CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
        AERCap: First Error Pointer: 00, ECRCGenCap- ECRCGenEn- ECRCChkCap- ECRCChkEn-
            MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
        HeaderLog: 00000000 00000000 00000000 00000000
    Capabilities: [148 v1] Access Control Services
        ACSCap: SrcValid+ TransBlk+ ReqRedir+ CmpltRedir+ UpstreamFwd+ EgressCtrl- DirectTrans+
        ACSCtl: SrcValid- TransBlk- ReqRedir- CmpltRedir- UpstreamFwd- EgressCtrl- DirectTrans-

03:00.0 VGA compatible controller: Intel Corporation Device 56a1 (rev 08) (prog-if 00 [VGA controller])
    Subsystem: Intel Corporation Device 1021
    Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Region 0: Memory at 618000000 (64-bit, non-prefetchable) [disabled] [size=16M]
    Region 2: Memory at 600000000 (64-bit, prefetchable) [disabled] [size=256M]
    Expansion ROM at 619000000 [virtual] [disabled] [size=2M]
    Capabilities: [40] Vendor Specific Information: Len=0c <?>
    Capabilities: [70] Express (v2) Endpoint, MSI 00
        DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
            ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 0.000W
        DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
            RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+ FLReset-
            MaxPayload 128 bytes, MaxReadReq 128 bytes
        DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr- TransPend-
        LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <64ns, L1 <1us
            ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
        LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk-
            ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
        LnkSta: Speed 2.5GT/s (ok), Width x1 (ok)
            TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-
        DevCap2: Completion Timeout: Range B, TimeoutDis+ NROPrPrP- LTR+
             10BitTagComp+ 10BitTagReq+ OBFF Not Supported, ExtFmt+ EETLPPrefix-
             EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
             FRS- TPHComp- ExtTPHComp-
             AtomicOpsCap: 32bit- 64bit- 128bitCAS-
        DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR+ OBFF Disabled,
             AtomicOpsCtl: ReqEn-
        LnkCap2: Supported Link Speeds: 2.5GT/s, Crosslink- Retimer- 2Retimers- DRS-
        LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
             Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
             Compliance De-emphasis: -6dB
        LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete- EqualizationPhase1-
             EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
             Retimer- 2Retimers- CrosslinkRes: unsupported
    Capabilities: [ac] MSI: Enable- Count=1/1 Maskable+ 64bit+
        Address: 0000000000000000  Data: 0000
        Masking: 00000000  Pending: 00000000
    Capabilities: [d0] Power Management version 3
        Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold-)
        Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
    Capabilities: [100 v1] Alternative Routing-ID Interpretation (ARI)
        ARICap: MFVC- ACS-, Next Function: 0
        ARICtl: MFVC- ACS-, Function Group: 0
    Capabilities: [420 v1] Physical Resizable BAR
        BAR 2: current size: 256MB, supported: 256MB 512MB 1GB 2GB 4GB 8GB
    Capabilities: [400 v1] Latency Tolerance Reporting
        Max snoop latency: 0ns
        Max no snoop latency: 0ns

04:00.0 Audio device: Intel Corporation Device 4f90
    Subsystem: Intel Corporation Device 1021
    Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Region 0: Memory at 619800000 (64-bit, non-prefetchable) [disabled] [size=16K]
    Capabilities: [50] Power Management version 3
        Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold+)
        Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
    Capabilities: [60] MSI: Enable- Count=1/1 Maskable- 64bit+
        Address: 0000000000000000  Data: 0000
    Capabilities: [70] Express (v2) Endpoint, MSI 00
        DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <4us, L1 <64us
            ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 0.000W
        DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
            RlxdOrd- ExtTag+ PhantFunc- AuxPwr- NoSnoop+ FLReset-
            MaxPayload 128 bytes, MaxReadReq 512 bytes
        DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr- TransPend-
        LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <64ns, L1 <1us
            ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
        LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
            ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
        LnkSta: Speed 2.5GT/s (ok), Width x1 (ok)
            TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
        DevCap2: Completion Timeout: Not Supported, TimeoutDis+ NROPrPrP- LTR+
             10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
             EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
             FRS- TPHComp- ExtTPHComp-
             AtomicOpsCap: 32bit- 64bit- 128bitCAS-
        DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR+ OBFF Disabled,
             AtomicOpsCtl: ReqEn-
        LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
             Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
             Compliance De-emphasis: -6dB
        LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete- EqualizationPhase1-
             EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
             Retimer- 2Retimers- CrosslinkRes: unsupported
    Capabilities: [100 v1] Latency Tolerance Reporting
        Max snoop latency: 0ns
        Max no snoop latency: 0ns

And dmesg:

[    1.192146] brcm-pcie fd500000.pcie: host bridge /scb/pcie@7d500000 ranges:
[    1.192185] brcm-pcie fd500000.pcie:   No bus range found for /scb/pcie@7d500000, using [bus 00-ff]
[    1.192272] brcm-pcie fd500000.pcie:      MEM 0x0600000000..0x063fffffff -> 0x00c0000000
[    1.192355] brcm-pcie fd500000.pcie:   IB MEM 0x0000000000..0x01ffffffff -> 0x0400000000
[    1.239423] brcm-pcie fd500000.pcie: link up, 5.0 GT/s PCIe x1 (SSC)
[    1.239836] brcm-pcie fd500000.pcie: PCI host bridge to bus 0000:00
[    1.239855] pci_bus 0000:00: root bus resource [bus 00-ff]
[    1.239873] pci_bus 0000:00: root bus resource [mem 0x600000000-0x63fffffff] (bus address [0xc0000000-0xffffffff])
[    1.239965] pci 0000:00:00.0: [14e4:2711] type 01 class 0x060400
[    1.240217] pci 0000:00:00.0: PME# supported from D0 D3hot
[    1.244038] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    1.853502] pci 0000:01:00.0: [8086:4fa0] type 01 class 0x060400
[    1.853578] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x007fffff 64bit pref]
[    1.853955] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
[    1.854053] pci 0000:01:00.0: 4.000 Gb/s available PCIe bandwidth, limited by 5.0 GT/s PCIe x1 link at 0000:00:00.0 (capable of 252.048 Gb/s with 16.0 GT/s PCIe x16 link)
[    1.857802] pci 0000:01:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    1.858187] pci 0000:02:01.0: [8086:4fa4] type 01 class 0x060400
[    1.858358] pci 0000:02:01.0: enabling Extended Tags
[    1.858571] pci 0000:02:01.0: PME# supported from D0 D3hot D3cold
[    1.859197] pci 0000:02:04.0: [8086:4fa4] type 01 class 0x060400
[    1.859380] pci 0000:02:04.0: enabling Extended Tags
[    1.859604] pci 0000:02:04.0: PME# supported from D0 D3hot D3cold
[    1.862902] pci 0000:02:01.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    1.862942] pci 0000:02:04.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    1.863223] pci 0000:03:00.0: [8086:56a1] type 00 class 0x030000
[    1.863296] pci 0000:03:00.0: reg 0x10: [mem 0x00000000-0x00ffffff 64bit]
[    1.863348] pci 0000:03:00.0: reg 0x18: [mem 0x00000000-0x0fffffff 64bit pref]
[    1.863421] pci 0000:03:00.0: reg 0x30: [mem 0x00000000-0x001fffff pref]
[    1.863690] pci 0000:03:00.0: PME# supported from D0 D3hot
[    1.863954] pci 0000:03:00.0: vgaarb: VGA device added: decodes=io+mem,owns=none,locks=none
[    1.867451] pci_bus 0000:03: busn_res: [bus 03-ff] end is updated to 03
[    1.867742] pci 0000:04:00.0: [8086:4f90] type 00 class 0x040300
[    1.867822] pci 0000:04:00.0: reg 0x10: [mem 0x00000000-0x00003fff 64bit]
[    1.867975] pci 0000:04:00.0: enabling Extended Tags
[    1.868188] pci 0000:04:00.0: PME# supported from D3hot D3cold
[    1.871916] pci_bus 0000:04: busn_res: [bus 04-ff] end is updated to 04
[    1.871947] pci_bus 0000:02: busn_res: [bus 02-ff] end is updated to 04
[    1.871971] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 04
[    1.872036] pci 0000:00:00.0: BAR 9: assigned [mem 0x600000000-0x617ffffff 64bit pref]
[    1.872056] pci 0000:00:00.0: BAR 8: assigned [mem 0x618000000-0x619bfffff]
[    1.872082] pci 0000:01:00.0: BAR 9: assigned [mem 0x600000000-0x60fffffff 64bit pref]
[    1.872099] pci 0000:01:00.0: BAR 0: assigned [mem 0x610000000-0x6107fffff 64bit pref]
[    1.872143] pci 0000:01:00.0: BAR 8: assigned [mem 0x618000000-0x619bfffff]
[    1.872162] pci 0000:02:01.0: BAR 9: assigned [mem 0x600000000-0x60fffffff 64bit pref]
[    1.872179] pci 0000:02:01.0: BAR 8: assigned [mem 0x618000000-0x6197fffff]
[    1.872194] pci 0000:02:04.0: BAR 8: assigned [mem 0x619800000-0x6198fffff]
[    1.872213] pci 0000:03:00.0: BAR 2: assigned [mem 0x600000000-0x60fffffff 64bit pref]
[    1.872258] pci 0000:03:00.0: BAR 0: assigned [mem 0x618000000-0x618ffffff 64bit]
[    1.872301] pci 0000:03:00.0: BAR 6: assigned [mem 0x619000000-0x6191fffff pref]
[    1.872318] pci 0000:02:01.0: PCI bridge to [bus 03]
[    1.872344] pci 0000:02:01.0:   bridge window [mem 0x618000000-0x6197fffff]
[    1.872366] pci 0000:02:01.0:   bridge window [mem 0x600000000-0x60fffffff 64bit pref]
[    1.872399] pci 0000:04:00.0: BAR 0: assigned [mem 0x619800000-0x619803fff 64bit]
[    1.872445] pci 0000:02:04.0: PCI bridge to [bus 04]
[    1.872470] pci 0000:02:04.0:   bridge window [mem 0x619800000-0x6198fffff]
[    1.872508] pci 0000:01:00.0: PCI bridge to [bus 02-04]
[    1.872531] pci 0000:01:00.0:   bridge window [mem 0x618000000-0x619bfffff]
[    1.872552] pci 0000:01:00.0:   bridge window [mem 0x600000000-0x60fffffff 64bit pref]
[    1.872580] pci 0000:00:00.0: PCI bridge to [bus 01-04]
[    1.872600] pci 0000:00:00.0:   bridge window [mem 0x618000000-0x619bfffff]
[    1.872618] pci 0000:00:00.0:   bridge window [mem 0x600000000-0x617ffffff 64bit pref]
geerlingguy commented 1 year ago

To test out Intel's open source kernel driver, I cloned the 6.2.y branch of Raspberry Pi's linux fork:

git clone -b rpi-6.2.y https://github.com/raspberrypi/linux.git && cd linux
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- bcm2711_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- menuconfig
  # Enable the i915 driver
  -> Device Drivers
    -> Graphics support
      -> Intel 8xx/9xx/G3x/G4x/HD Graphics
make -j8 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- Image modules dtbs
geerlingguy commented 1 year ago

...except I can't select the Intel Graphics support using menuconfig, because of the dependencies:

Symbol: DRM_I915 [=n]                                                                                           │  
  │ Type  : tristate                                                                                                │  
  │ Defined at drivers/gpu/drm/i915/Kconfig:2                                                                       │  
  │   Prompt: Intel 8xx/9xx/G3x/G4x/HD Graphics                                                                     │  
  │   Depends on: HAS_IOMEM [=y] && DRM [=m] && X86 && PCI [=y] && !PREEMPT_RT [=n]                                 │  
  │   Location:                                                                                                     │  
  │     -> Device Drivers                                                                                           │  
  │ (1)   -> Graphics support                                                                                       │  
  │         -> Intel 8xx/9xx/G3x/G4x/HD Graphics (DRM_I915 [=n])                                                    │  
  │ Selects: INTEL_GTT [=n] && INTERVAL_TREE [=y] && SHMEM [=y] && TMPFS [=y] && DRM_DISPLAY_DP_HELPER [=n] && DRM_

I asked about arm/arm64/aarch64 support on Intel Arc/Xe on Twitter and got a few responses, mostly suggesting X86 drivers are the current focus, but they may rewrite the driver and work on getting rid of the X86-specific dependencies...

I also asked about it on Discord, but I noticed most of the active discussion (on Intel's official Arc/Xe community Discord) seems to center around where people can buy Nvidia graphics cards 🤣

Screen Shot 2023-02-15 at 10 39 44 AM

The only other mention on Twitter is from @ric96, and he also seems to notice there's no support for arm64...

Mis012 commented 1 year ago

Just FYI, the most likely reason x86 is listed as a dependency is that historically Intel only had iGPUs, and those can't exactly be plugged into an aarch64 system for obvious reasons. That being said, it seems quite likely that if those dependencies were removed (since they are for all we know completely bogus), chances are the driver would actually compile just fine. It seems quite unlikely that it uses assembly for anything, which is just about the only valid reason for it to not compile for aarch64

pimzand commented 7 months ago

It looks like you could try again with Xe drivers in kernel 6.8: https://www.phoronix.com/review/intel-xe-benchmark

DanaGoyette commented 6 months ago

If you do decide to test this with 6.8, note that Ubuntu's Mesa doesn't have the Intel drivers enabled, and even if you check out the experimental branch of the mesa packaging from debian's "salsa" repo, it doesn't enable the Intel drivers for armhf or arm64/aarch64. You'll want to edit debian/rules:

   # etnaviv, tegra, vc4 and v3d kernel support are only available on armhf and arm64
   ifneq (,$(filter $(DEB_HOST_ARCH), armhf arm64))
-       GALLIUM_DRIVERS += etnaviv panfrost svga tegra vc4 v3d
-       VULKAN_DRIVERS += broadcom freedreno
+       GALLIUM_DRIVERS += iris etnaviv panfrost svga tegra vc4 v3d
+       VULKAN_DRIVERS += intel broadcom freedreno
   endif

On my LX2160A, the kernel driver for my A770 loads once I add xe.force_probe=56a0. It complains about lack of resizable BAR, though. With a manually rebuilt Mesa, Weston works, but gdm3 and sddm both glitch out and freeze, and autologin doesn't give a working desktop either.

[ 4908.671096] xe 0004:03:00.0: [drm] Timedout job: seqno=4294967224, guc_id=7, flags=0x0
[ 4908.679401] xe 0004:03:00.0: [drm] Engine reset: guc_id=7

If you can get the driver to work without glitching out, you'll also run into these chirping crickets: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/234

(I actually bought the A770 to use with arm64, but now it's just sitting unused.)

karatekid430 commented 5 months ago

Only slightly related but if anybody working for Intel is reading this, please note the new arm64 laptops all support USB4 / Thunderbolt and if Intel can release GPU drivers for these for arm64 Windows 11 and arm64 Linux then we would love that for eGPUs! Running a fast and efficient Snapdragon Elite X and then using eGPU for gaming or rendering would be amazing!

geerlingguy commented 5 months ago

@karatekid430 - Sadly, arm64 driver support on Windows for anything besides USB devices is pretty much nonexistent so far. I'm not sure if any graphics card (let alone NICs and other simpler devices) will support PCIe (especially through Thunderbolt/external enclosures) any time soon. Would love to be proven wrong on that!