<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<p style="font-family:Arial;font-size:10pt;color:#0078D7;margin:15pt;" align="Left">
[AMD Official Use Only - Internal Distribution Only]<br>
</p>
<br>
<div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Suggest you use something more demanding that glxgears as a test - part of the problem is that glxgears runs so fast normally (30x faster than your display) that even a small amount of overhead copying a frame from one place to another makes a huge difference
 in FPS. <br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
If you use a test program that normally runs at 90 FPS you'll probably find that the "slow" speed is something like 85 FPS, rather than the 6:1 difference you see with glxgears.
<br>
</div>
<div>
<div id="appendonsend"></div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font style="font-size:11pt" face="Calibri, sans-serif" color="#000000"><b>From:</b> amd-gfx <amd-gfx-bounces@lists.freedesktop.org> on behalf of Javad Karabi <karabijavad@gmail.com><br>
<b>Sent:</b> May 19, 2020 9:16 PM<br>
<b>To:</b> Alex Deucher <alexdeucher@gmail.com><br>
<b>Cc:</b> amd-gfx list <amd-gfx@lists.freedesktop.org><br>
<b>Subject:</b> Re: slow rx 5600 xt fps</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt">
<div class="PlainText">thanks for the answers alex.<br>
<br>
so, i went ahead and got a displayport cable to see if that changes<br>
anything. and now, when i run monitor only, and the monitor connected<br>
to the card, it has no issues like before! so i am thinking that<br>
somethings up with either the hdmi cable, or some hdmi related setting<br>
in my system? who knows, but im just gonna roll with only using<br>
displayport cables now.<br>
the previous hdmi cable was actually pretty long, because i was<br>
extending it with an hdmi extension cable, so maybe the signal was<br>
really bad or something :/<br>
<br>
but yea, i guess the only real issue now is maybe something simple<br>
related to some sysfs entry about enabling some powermode, voltage,<br>
clock frequency, or something, so that glxgears will give me more than<br>
300 fps. but atleast now i can use a single monitor configuration with<br>
the monitor displayported up to the card.<br>
<br>
also, one other thing i think you might be interested in, that was<br>
happening before.<br>
<br>
so, previously, with laptop -tb3-> egpu-hdmi> monitor, there was a<br>
funny thing happening which i never could figure out.<br>
when i would look at the X logs, i would see that "modesetting" (for<br>
the intel integrated graphics) was reporting that MonitorA was used<br>
with "eDP-1",  which is correct and what i expected.<br>
when i scrolled further down, i then saw that "HDMI-A-1-2" was being<br>
used for another MonitorB, which also is what i expected (albeit i<br>
have no idea why its saying A-1-2)<br>
but amdgpu was _also_ saying that DisplayPort-1-2 (a port on the<br>
radeon card) was being used for MonitorA, which is the same Monitor<br>
that the modesetting driver had claimed to be using with eDP-1!<br>
<br>
so the point is that amdgpu was "using" Monitor0 with DisplayPort-1-2,<br>
although that is what modesetting was using for eDP-1.<br>
<br>
anyway, thats a little aside, i doubt it was related to the terrible<br>
hdmi experience i was getting, since its about display port and stuff,<br>
but i thought id let you know about that.<br>
<br>
if you think that is a possible issue, im more than happy to plug the<br>
hdmi setup back in and create an issue on gitlab with the logs and<br>
everything<br>
<br>
On Tue, May 19, 2020 at 4:42 PM Alex Deucher <alexdeucher@gmail.com> wrote:<br>
><br>
> On Tue, May 19, 2020 at 5:22 PM Javad Karabi <karabijavad@gmail.com> wrote:<br>
> ><br>
> > lol youre quick!<br>
> ><br>
> > "Windows has supported peer to peer DMA for years so it already has a<br>
> > numbers of optimizations that are only now becoming possible on Linux"<br>
> ><br>
> > whoa, i figured linux would be ahead of windows when it comes to<br>
> > things like that. but peer-to-peer dma is something that is only<br>
> > recently possible on linux, but has been possible on windows? what<br>
> > changed recently that allows for peer to peer dma in linux?<br>
> ><br>
><br>
> A few things that made this more complicated on Linux:<br>
> 1. Linux uses IOMMUs more extensively than windows so you can't just<br>
> pass around physical bus addresses.<br>
> 2. Linux supports lots of strange architectures that have a lot of<br>
> limitations with respect to peer to peer transactions<br>
><br>
> It just took years to get all the necessary bits in place in Linux and<br>
> make everyone happy.<br>
><br>
> > also, in the context of a game running opengl on some gpu, is the<br>
> > "peer-to-peer" dma transfer something like: the game draw's to some<br>
> > memory it has allocated, then a DMA transfer gets that and moves it<br>
> > into the graphics card output?<br>
><br>
> Peer to peer DMA just lets devices access another devices local memory<br>
> directly.  So if you have a buffer in vram on one device, you can<br>
> share that directly with another device rather than having to copy it<br>
> to system memory first.  For example, if you have two GPUs, you can<br>
> have one of them copy it's content directly to a buffer in the other<br>
> GPU's vram rather than having to go through system memory first.<br>
><br>
> ><br>
> > also, i know it can be super annoying trying to debug an issue like<br>
> > this, with someone like me who has all types of differences from a<br>
> > normal setup (e.g. using it via egpu, using a kernel with custom<br>
> > configs and stuff) so as a token of my appreciation i donated 50$ to<br>
> > the red cross' corona virus outbreak charity thing, on behalf of<br>
> > amd-gfx.<br>
><br>
> Thanks,<br>
><br>
> Alex<br>
><br>
> ><br>
> > On Tue, May 19, 2020 at 4:13 PM Alex Deucher <alexdeucher@gmail.com> wrote:<br>
> > ><br>
> > > On Tue, May 19, 2020 at 3:44 PM Javad Karabi <karabijavad@gmail.com> wrote:<br>
> > > ><br>
> > > > just a couple more questions:<br>
> > > ><br>
> > > > - based on what you are aware of, the technical details such as<br>
> > > > "shared buffers go through system memory", and all that, do you see<br>
> > > > any issues that might exist that i might be missing in my setup? i<br>
> > > > cant imagine this being the case because the card works great in<br>
> > > > windows, unless the windows driver does something different?<br>
> > > ><br>
> > ><br>
> > > Windows has supported peer to peer DMA for years so it already has a<br>
> > > numbers of optimizations that are only now becoming possible on Linux.<br>
> > ><br>
> > > > - as far as kernel config, is there anything in particular which<br>
> > > > _should_ or _should not_ be enabled/disabled?<br>
> > ><br>
> > > You'll need the GPU drivers for your devices and dma-buf support.<br>
> > ><br>
> > > ><br>
> > > > - does the vendor matter? for instance, this is an xfx card. when it<br>
> > > > comes to different vendors, are there interface changes that might<br>
> > > > make one vendor work better for linux than another? i dont really<br>
> > > > understand the differences in vendors, but i imagine that the vbios<br>
> > > > differs between vendors, and as such, the linux compatibility would<br>
> > > > maybe change?<br>
> > ><br>
> > > board vendor shouldn't matter.<br>
> > ><br>
> > > ><br>
> > > > - is the pcie bandwidth possible an issue? the pcie_bw file changes<br>
> > > > between values like this:<br>
> > > > 18446683600662707640 18446744071581623085 128<br>
> > > > and sometimes i see this:<br>
> > > > 4096 0 128<br>
> > > > as you can see, the second value seems significantly lower. is that<br>
> > > > possibly an issue? possibly due to aspm?<br>
> > ><br>
> > > pcie_bw is not implemented for navi yet so you are just seeing<br>
> > > uninitialized data.  This patch set should clear that up.<br>
> > > <a href="https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatchwork.freedesktop.org%2Fpatch%2F366262%2F&amp;data=02%7C01%7Cjohn.bridgman%40amd.com%7C07bde460768d4af97a0a08d7fc5b7e3f%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637255342498350409&amp;sdata=LnoK84DCjYelteqMR7w2UZ2VH6lM0vojz9eeTH7odXI%3D&amp;reserved=0">
https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatchwork.freedesktop.org%2Fpatch%2F366262%2F&amp;data=02%7C01%7Cjohn.bridgman%40amd.com%7C07bde460768d4af97a0a08d7fc5b7e3f%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637255342498350409&amp;sdata=LnoK84DCjYelteqMR7w2UZ2VH6lM0vojz9eeTH7odXI%3D&amp;reserved=0</a><br>
> > ><br>
> > > Alex<br>
> > ><br>
> > > ><br>
> > > > On Tue, May 19, 2020 at 2:20 PM Javad Karabi <karabijavad@gmail.com> wrote:<br>
> > > > ><br>
> > > > > im using Driver "amdgpu" in my xorg conf<br>
> > > > ><br>
> > > > > how does one verify which gpu is the primary? im assuming my intel<br>
> > > > > card is the primary, since i have not done anything to change that.<br>
> > > > ><br>
> > > > > also, if all shared buffers have to go through system memory, then<br>
> > > > > that means an eGPU amdgpu wont work very well in general right?<br>
> > > > > because going through system memory for the egpu means going over the<br>
> > > > > thunderbolt connection<br>
> > > > ><br>
> > > > > and what are the shared buffers youre referring to? for example, if an<br>
> > > > > application is drawing to a buffer, is that an example of a shared<br>
> > > > > buffer that has to go through system memory? if so, thats fine, right?<br>
> > > > > because the application's memory is in system memory, so that copy<br>
> > > > > wouldnt be an issue.<br>
> > > > ><br>
> > > > > in general, do you think the "copy buffer across system memory might<br>
> > > > > be a hindrance for thunderbolt? im trying to figure out which<br>
> > > > > directions to go to debug and im totally lost, so maybe i can do some<br>
> > > > > testing that direction?<br>
> > > > ><br>
> > > > > and for what its worth, when i turn the display "off" via the gnome<br>
> > > > > display settings, its the same issue as when the laptop lid is closed,<br>
> > > > > so unless the motherboard reads the "closed lid" the same as "display<br>
> > > > > off", then im not sure if its thermal issues.<br>
> > > > ><br>
> > > > > On Tue, May 19, 2020 at 2:14 PM Alex Deucher <alexdeucher@gmail.com> wrote:<br>
> > > > > ><br>
> > > > > > On Tue, May 19, 2020 at 2:59 PM Javad Karabi <karabijavad@gmail.com> wrote:<br>
> > > > > > ><br>
> > > > > > > given this setup:<br>
> > > > > > > laptop -thunderbolt-> razer core x -> xfx rx 5600 xt raw 2 -hdmi-> monitor<br>
> > > > > > > DRI_PRIME=1 glxgears gears gives me ~300fps<br>
> > > > > > ><br>
> > > > > > > given this setup:<br>
> > > > > > > laptop -thunderbolt-> razer core x -> xfx rx 5600 xt raw 2<br>
> > > > > > > laptop -hdmi-> monitor<br>
> > > > > > ><br>
> > > > > > > glx gears gives me ~1800fps<br>
> > > > > > ><br>
> > > > > > > this doesnt make sense to me because i thought that having the monitor<br>
> > > > > > > plugged directly into the card should give best performance.<br>
> > > > > > ><br>
> > > > > ><br>
> > > > > > Do you have displays connected to both GPUs?  If you are using X which<br>
> > > > > > ddx are you using?  xf86-video-modesetting or xf86-video-amdgpu?<br>
> > > > > > IIRC, xf86-video-amdgpu has some optimizations for prime which are not<br>
> > > > > > yet in xf86-video-modesetting.  Which GPU is set up as the primary?<br>
> > > > > > Note that the GPU which does the rendering is not necessarily the one<br>
> > > > > > that the displays are attached to.  The render GPU renders to it's<br>
> > > > > > render buffer and then that data may end up being copied other GPUs<br>
> > > > > > for display.  Also, at this point, all shared buffers have to go<br>
> > > > > > through system memory (this will be changing eventually now that we<br>
> > > > > > support device memory via dma-buf), so there is often an extra copy<br>
> > > > > > involved.<br>
> > > > > ><br>
> > > > > > > theres another really weird issue...<br>
> > > > > > ><br>
> > > > > > > given setup 1, where the monitor is plugged in to the card:<br>
> > > > > > > when i close the laptop lid, my monitor is "active" and whatnot, and i<br>
> > > > > > > can "use it" in a sense<br>
> > > > > > ><br>
> > > > > > > however, heres the weirdness:<br>
> > > > > > > the mouse cursor will move along the monitor perfectly smooth and<br>
> > > > > > > fine, but all the other updates to the screen are delayed by about 2<br>
> > > > > > > or 3 seconds.<br>
> > > > > > > that is to say, its as if the laptop is doing everything (e.g. if i<br>
> > > > > > > open a terminal, the terminal will open, but it will take 2 seconds<br>
> > > > > > > for me to see it)<br>
> > > > > > ><br>
> > > > > > > its almost as if all the frames and everything are being drawn, and<br>
> > > > > > > the laptop is running fine and everything, but i simply just dont get<br>
> > > > > > > to see it on the monitor, except for one time every 2 seconds.<br>
> > > > > > ><br>
> > > > > > > its hard to articulate, because its so bizarre. its not like, a "low<br>
> > > > > > > fps" per se, because the cursor is totally smooth. but its that<br>
> > > > > > > _everything else_ is only updated once every couple seconds.<br>
> > > > > ><br>
> > > > > > This might also be related to which GPU is the primary.  It still may<br>
> > > > > > be the integrated GPU since that is what is attached to the laptop<br>
> > > > > > panel.  Also the platform and some drivers may do certain things when<br>
> > > > > > the lid is closed.  E.g., for thermal reasons, the integrated GPU or<br>
> > > > > > CPU may have a more limited TDP because the laptop cannot cool as<br>
> > > > > > efficiently.<br>
> > > > > ><br>
> > > > > > Alex<br>
_______________________________________________<br>
amd-gfx mailing list<br>
amd-gfx@lists.freedesktop.org<br>
<a href="https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfx&amp;data=02%7C01%7Cjohn.bridgman%40amd.com%7C07bde460768d4af97a0a08d7fc5b7e3f%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637255342498350409&amp;sdata=h%2BvYNKSx6vPQ5PNDKW2dBO3I4oEr3wV%2FkyLHJv08e6A%3D&amp;reserved=0">https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfx&amp;data=02%7C01%7Cjohn.bridgman%40amd.com%7C07bde460768d4af97a0a08d7fc5b7e3f%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637255342498350409&amp;sdata=h%2BvYNKSx6vPQ5PNDKW2dBO3I4oEr3wV%2FkyLHJv08e6A%3D&amp;reserved=0</a><br>
</div>
</span></font></div>
</div>
</div>
</body>
</html>