[Assist] HDMI: AMD Ryzen 5 2500U Radeon Vega Mobile Gfx

Denis 'GNUtoo' Carikli GNUtoo at cyberdimension.org
Mon Apr 15 14:52:02 GMT 2019

On Mon, 15 Apr 2019 04:41:55 +0000
edgar at openmail.cc wrote:

> > As the upstream Linux driver refuses to load when the nonfree
> > firmware is not used, linux-libre's deblob script patches the
> > radeon driver to still be able to use it.  
It's informative. It tells you that the upstream driver don't work at
all with the nonfree firmware.

Linux-libre has to patch it to make it work with the limitations
mentioned below, but it only does that for some GPUs.

It's most probably not patched for one you are using, as the symptoms
are similar than the ones you have in that case.

This is also why my previous mail has a lot of background.

This was done in the hope that it would help you or any other person
reading this, to fix the problem.

> I gather that this is informative. It tells me that I am actually
> using the radeon drivers, right?
You are most probably not using the radeon driver. The fact that the
radeon module is loaded doesn't mean that the driver is used.

A quick way to verify that is to run the 'dmesg | grep radeon' command
and check if you have something like that appearing:
> radeon: probe of 0000:00:01.0 failed with error -22
This is an error that appears when the driver refuses to work because
the firmware was not loaded. It could also do this error for other
reasons as well.

> > Here's an example of how the patching is done in deblob-5.0 for the 
> > r600
> > class of ATI/AMD GPUs:  
> >> clean_sed '
> >> /r = r600_init_microcode(rdev);/,/}/ s,return r;,/*(DEBLOBBED)*/,
> >> ' drivers/gpu/drm/radeon/r600.c 'enable blobless activation'  
> > 
> > I don't remember the exact details, but the code above makes sure
> > that the driver doesn't return an error code when the firmware
> > (which is called microcode here) cannot be loaded.  
This explains how to fix the problem. It's an example on how
linux-libre makes the radeon driver work for the r600 GPU family.

> > So it's probably a matter of:
> > - Finding the GPU class you have and understand which file to patch.
> > - Downloading linux-libre scripts, which are also available in
> > git[1]
> > - Patching them and testing the change
> > - Sending the patch to the linux-libre mailing list  
> Are you suggesting that I do this? (it may be dumb, but it's an
> actual question).
Yes, someone needs to do that for fixing the issue for your GPU and by
extension all the other GPUs in the same family.

> > == Future directions ==  
>   ---8<--- Snip
> >   - The patch enables the driver to load.  
> All of this looks like a message to someone else or general
> information that may be useful at some point. Is it meant for me?
It's some thoughts on how to fix it for all radeon GPUs that are more
recent than the one I added support for, and it's meant for anybody
that is potentially involved in linux-libre.

The issue is that:
- I don't have all radeon GPUs, so I cannot add support for the
  hardware that I don't have.
- I also have limited time.
- Having the driver not work can be really problematic: it makes many
  computers potentially unusable[1] with the distributions that respects
  the free software distribution guidelines (FSDG), and people are
  probably not able to get new computers that often.
- So far nobody added support for more GPUs. Because of that most
  radeon GPU still don't work with linux-libre.

[1]Some of the limitations of the VESA or GOP(same thing than VESA but
   for UEFI) drivers can be really problematic. For instance if you
   have a netbook that has a 1024x600 native resolution, you could end
   up only having 800x600 with VESA, which as of today, probably still
   makes many websites unusable.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.parabola.nu/pipermail/assist/attachments/20190415/3d28743c/attachment.sig>

More information about the Assist mailing list