[RESPONDED] External monitor stuck at 30 fps when using egpu

Hello! Currently, my framework laptop refuses to reach higher than 30 FPS on any program when using an external monitor and egpu enclosure (ASUS VS248 HDMI + Saturn Mantiz Pro V2 + AMD Radeon RX6800). OS is EndeavourOS rolling, on a 12th gen intel i5 framework 13. Any ideas?

Hi @Marcus_Taylor , Welcome back to the forums. :slight_smile:

I see you’re using EndeavourOS, have you tried first with Ubuntu or Fedora and see if it’s still just outputing 30 FPS?

not yet, as this is my daily driver. I can try later on tonight, however.

just did a fresh install of Fedora 38, and same result: I plug in my eGPU, launch GLXGears, and get stuck with 30FPS on the external display.

@Loell_Framework

What are your kernel parameters? Will be in a line in /etc/default/grub.

Ensure you blacklist Noveau and have modesetting enabled.

Please read my original post.
parameters are rhgb quiet module_blacklist=hid_sensor_hub nvme.noacpi=1

may we know your xrandr results? for fedora

@Loell_Framework laptop only:

Screen 0: minimum 16 x 16, current 2256 x 1504, maximum 32767 x 32767
XWAYLAND0 connected primary 2256x1504+0+0 (normal left inverted right x axis y axis) 280mm x 190mm
   2256x1504     59.93*+
   1920x1440     59.90  
   1600x1200     59.87  
   1440x1080     59.99  
   1400x1050     59.98  
   1280x1024     59.89  
   1280x960      59.94  
   1152x864      59.96  
   1024x768      59.92  
   800x600       59.86  
   640x480       59.38  
   320x240       59.52  
   1920x1200     59.88  
   1680x1050     59.95  
   1440x900      59.89  
   1280x800      59.81  
   720x480       59.71  
   640x400       59.95  
   320x200       58.96  
   2048x1152     59.90  
   1920x1080     59.96  
   1600x900      59.95  
   1368x768      59.88  
   1280x720      59.86  
   1024x576      59.90  
   864x486       59.92  
   720x400       59.55  
   640x350       59.77

laptop with egpu:

Screen 0: minimum 16 x 16, current 4176 x 1504, maximum 32767 x 32767
XWAYLAND0 connected primary 2256x1504+1920+0 (normal left inverted right x axis y axis) 280mm x 190mm
   2256x1504     59.93*+
   1920x1440     59.90  
   1600x1200     59.87  
   1440x1080     59.99  
   1400x1050     59.98  
   1280x1024     59.89  
   1280x960      59.94  
   1152x864      59.96  
   1024x768      59.92  
   800x600       59.86  
   640x480       59.38  
   320x240       59.52  
   1920x1200     59.88  
   1680x1050     59.95  
   1440x900      59.89  
   1280x800      59.81  
   720x480       59.71  
   640x400       59.95  
   320x200       58.96  
   2048x1152     59.90  
   1920x1080     59.96  
   1600x900      59.95  
   1368x768      59.88  
   1280x720      59.86  
   1024x576      59.90  
   864x486       59.92  
   720x400       59.55  
   640x350       59.77  
XWAYLAND1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 530mm x 300mm
   1920x1080     59.96*+
   1440x1080     59.99  
   1400x1050     59.98  
   1280x1024     59.89  
   1280x960      59.94  
   1152x864      59.96  
   1024x768      59.92  
   800x600       59.86  
   640x480       59.38  
   320x240       59.52  
   1680x1050     59.95  
   1440x900      59.89  
   1280x800      59.81  
   720x480       59.71  
   640x400       59.95  
   320x200       58.96  
   1600x900      59.95  
   1368x768      59.88  
   1280x720      59.86  
   1024x576      59.90  
   864x486       59.92  
   720x400       59.55  
   640x350       59.77  

reports are from xwayland, as I am running wayland gnome fedora 38 right now.

Do you maybe have something like wlr-randr installed or is it possible for you?

What does sudo lspci -vvv -s <BUS-ADDRESS-OF-GPU> return?

You can find out which bus address you have by simply running lspci and look for the graphic card.

wlr = wlroots. gnome uses mutter.

sudo lspci -vvv -s 81:00.0:

81:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21 [Radeon RX 6800/6800 XT / 6900 XT] (rev c3) (prog-if 00 [VGA controller])
	Subsystem: Sapphire Technology Limited Pulse Radeon RX 6800
	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-
	Latency: 0
	Interrupt: pin A routed to IRQ 225
	IOMMU group: 19
	Region 0: Memory at 6060000000 (64-bit, prefetchable) [size=256M]
	Region 2: Memory at 6070000000 (64-bit, prefetchable) [size=2M]
	Region 4: I/O ports at 7000 [size=256]
	Region 5: Memory at 52000000 (32-bit, non-prefetchable) [size=1M]
	Expansion ROM at 52100000 [disabled] [size=128K]
	Capabilities: [48] Vendor Specific Information: Len=08 <?>
	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: [64] Express (v2) Legacy Endpoint, MSI 00
		DevCap:	MaxPayload 256 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited
			ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
		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 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 16GT/s, Width x16
			TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
		DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP- LTR+
			 10BitTagComp+ 10BitTagReq+ OBFF Not Supported, ExtFmt+ EETLPPrefix+, MaxEETLPPrefixes 1
			 EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
			 FRS-
			 AtomicOpsCap: 32bit+ 64bit+ 128bitCAS-
		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR+ 10BitTagReq- OBFF Disabled,
			 AtomicOpsCtl: ReqEn-
		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 Preset/De-emphasis: -6dB de-emphasis, 0dB preshoot
		LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete+ EqualizationPhase1+
			 EqualizationPhase2+ EqualizationPhase3+ LinkEqualizationRequest-
			 Retimer- 2Retimers- CrosslinkRes: unsupported
	Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
		Address: 00000000fee00f78  Data: 0000
	Capabilities: [100 v1] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
	Capabilities: [150 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: [200 v1] Physical Resizable BAR
		BAR 0: current size: 256MB, supported: 256MB 512MB 1GB 2GB 4GB 8GB 16GB
		BAR 2: current size: 2MB, supported: 2MB 4MB 8MB 16MB 32MB 64MB 128MB 256MB
	Capabilities: [240 v1] Power Budgeting <?>
	Capabilities: [270 v1] Secondary PCI Express
		LnkCtl3: LnkEquIntrruptEn- PerformEqu-
		LaneErrStat: 0
	Capabilities: [2a0 v1] Access Control Services
		ACSCap:	SrcValid- TransBlk- ReqRedir- CmpltRedir- UpstreamFwd- EgressCtrl- DirectTrans-
		ACSCtl:	SrcValid- TransBlk- ReqRedir- CmpltRedir- UpstreamFwd- EgressCtrl- DirectTrans-
	Capabilities: [2d0 v1] Process Address Space ID (PASID)
		PASIDCap: Exec+ Priv+, Max PASID Width: 10
		PASIDCtl: Enable- Exec- Priv-
	Capabilities: [320 v1] Latency Tolerance Reporting
		Max snoop latency: 0ns
		Max no snoop latency: 0ns
	Capabilities: [410 v1] Physical Layer 16.0 GT/s <?>
	Capabilities: [440 v1] Lane Margining at the Receiver <?>
	Kernel driver in use: amdgpu
	Kernel modules: amdgpu

curiously, my link speed is x16… shouldn’t that be lower for thunderbolt?

Doesn’t matter, as long as they both speak the same protocol. It’s one of the few wayland advantages, no?

1 Like

supposedly, but they are more close to dialects for the same protocol.

either way, that package is not installed in a default fedora workstation install, and so not on my framework either.

any news doc?

You can simply install it?

Either way, I noticed your Memory Regions and Bars (or rather Bar 0) is quite low (256MB).

Yours:

< 	Region 0: Memory at 6060000000 (64-bit, prefetchable) [size=256M]
< 	Region 2: Memory at 6070000000 (64-bit, prefetchable) [size=2M]

Mine:

> 	Region 0: Memory at 4200000000 (64-bit, prefetchable) [size=8G]
> 	Region 2: Memory at 4100000000 (64-bit, prefetchable) [size=2M]

Yours:

< 		BAR 0: current size: **256MB**, supported: 256MB 512MB 1GB 2GB 4GB 8GB 16GB

Mine:

> 		BAR 0: current size: **8GB**, supported: 256MB 512MB 1GB 2GB 4GB 8GB

Edit:

Maybe check to see what sudo dmesg | grep BAR= returns?
Mine says [301815.117731] [drm] Detected VRAM RAM=8176M, BAR=8192M

resizable bar support. something that I did research on in the forums. it’s supposedly set to auto in the BIOS, but the BIOS is not smart about that feature apparently. See here: ReBAR Support

@Anachron here’s the result of that command:
sudo dmesg | grep BAR=
[16708.178065] [drm] Detected VRAM RAM=16368M, BAR=256M

Do you use dual-RAM or single-RAM slots?

Also can you please install and send me the output of wlr-randr or something similiar that gnome has?