Slow performance using eGPU with lid closed
quwenruo.btrfs at gmx.com
Mon Apr 29 13:04:33 UTC 2019
On 2019/4/29 下午6:41, Michel Dänzer wrote:
> On 2019-04-28 2:02 a.m., Qu Wenruo wrote:
>> When tweaking eGPU under Linux, I hit one strange behavior.
>> The integrated GPU is Intel HD630, using the DDX driver.
>> The eGPU is an RX580, using amdgpu driver. Using thunderbolt 3
>> connection. (4x lanes)
>> All 2 monitors are connected to the eGPU, using DP and HDMI.
>> At first glance, it works with some quirks (hot plug doesn't work, hot
>> unplug crash the kernel), but at least it works without any config.
>> Also tested DRI_PRIME=1 with offload for games, it works well playing
>> games in the laptop display.
>> But when I try to close the lid, the external monitors get very laggy.
>> (WM is muffer from cinnamon)
>> My guess is, without any config, the external monitor is still rendered
>> by the Intel GPU, as all monitor shares the same screen space.
>> And when the lid is closed, eGPU is forced to its lowest performance.
> It's because the Present extension (used for presentation with DRI3)
> only supports the primary GPU (as far as Xorg is concerned), in your
> case the Intel one. When all outputs of the primary GPU are disabled,
> Present cannot use any of them for timing purposes, so it falls back to
> a 1 Hz timer for presentation.
Is it possible to disable Intel one completely at X start time?
Just regular xorg.conf.d with amdgpu only device section?
> Potential workarounds:
> Disable DRI3.
> Force-enable the laptop's internal output while the lid is closed, e.g.
> using xrandr.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 488 bytes
Desc: OpenPGP digital signature
More information about the xorg