<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
On 26/04/2022 23:27, Denis 'GNUtoo' Carikli wrote:
<br>
<blockquote type="cite" style="color: #007cff;">Hi,
<br>
<br>
Thanks a lot for the test/work!!!
<br>
<br>
This looks really promising.
<br>
</blockquote>
<br>
I was looking through the LibrePlanet wiki and saw the hardware
research section, I wasn't sure if people were still trying to work
on it. Nevertheless, thank you for the assistance and I'm happy to
help.
<br>
<br>
So I changed gfx to gmc, to which the module still doesn't load but
there was a few additional lines.
<br>
<br>
Here is the output from dmesg: <a class="moz-txt-link-freetext"
href="https://termbin.com/ycc9p">https://termbin.com/ycc9p</a>
<br>
<br>
I'm not entirely sure what I'm doing, so I just started picking out
things in the log and seeing if there were any more of those "r =
..." relevant statements. Searching for "Failed to load MC
firmware" only brought me to one place which was relevant to my
card, which is at gmc_v8_0.c:1230
<br>
<br>
<blockquote type="cite" style="color: #007cff;"> if
(adev->asic_type == CHIP_TONGA) {
<br>
r = gmc_v8_0_tonga_mc_load_microcode(adev);
<br>
if (r) {
<br>
DRM_ERROR("Failed to load MC
firmware!\n");
<br>
return r;
<br>
}
<br>
} else if (adev->asic_type == CHIP_POLARIS11 ||
<br>
adev->asic_type == CHIP_POLARIS10 ||
<br>
adev->asic_type == CHIP_POLARIS12) {
<br>
r = gmc_v8_0_polaris_mc_load_microcode(adev);
<br>
if (r) {
<br>
DRM_ERROR("Failed to load MC
firmware!\n");
<br>
return r;
<br>
}
<br>
}
<br>
</blockquote>
I went ahead and added the clean_sed for that section as well.
Nothing seemed to change from the output of dmesg.
<br>
<br>
But regardless, here it is: <a class="moz-txt-link-freetext"
href="https://termbin.com/5cbm">https://termbin.com/5cbm</a>
<br>
<br>
As another attempt I tried seeing if the gmc_v8_0_hw_init function
had to do anything with it. Which can be found at gmc_v8_0.c:1266
<br>
<br>
<blockquote type="cite" style="color: #007cff;">static int
gmc_v8_0_resume(void *handle)
<br>
{
<br>
int r;
<br>
struct amdgpu_device *adev = (struct amdgpu_device
*)handle;
<br>
<br>
r = gmc_v8_0_hw_init(adev);
<br>
if (r)
<br>
return r;
<br>
<br>
[...]
<br>
<br>
</blockquote>
I replaced the return statement here and there was still nothing
different in the dmesg output, but it didn't seem like it would work
in the first place.
<br>
<br>
This is what my deblob-5.10 script currently looks like: <a
class="moz-txt-link-freetext" href="https://termbin.com/9oi6">https://termbin.com/9oi6</a>
<br>
<br>
<blockquote type="cite" style="color: #007cff;">Your GPU has several
processors, and for now many of them require
<br>
nonfree firmwares, so there may be several parts in the code where
<br>
the amdgpu driver needs to be patched.
<br>
</blockquote>
<br>
Is there anything else I should be looking for besides the "r = ..."
statements? The dmesg output has brought me to amdgpu_kms.c and
amdgpu_device.c but I couldn't find any relevant statements there.
<br>
<br>
<blockquote type="cite" style="color: #007cff;">As for testing it
might be best if you manage to disable somehow the
<br>
login screen (it can been done with systemctl disable lightdm or
<br>
systemctl disable gdm and by rebooting after that).
<br>
</blockquote>
<br>
I'm pulling the logs from within the console so xorg shouldn't be
interfering with loading the amdgpu module.
<br>
<br>
-- Morris Zuss
<br>
</body>
</html>