AMD GPU on P550 - Display works, OpenGL doesn't

Right now I’m testing various AMD graphics cards on my P550 development system; I have tested both an old R5 230 and a slightly-less-old RX 550.

Both pass through the display output, and I have my debugging info documented over on my GitHub: HiFive Premier P550 · Issue #65 · geerlingguy/sbc-reviews · GitHub

However, there are two issues I’m running into:

  1. Even using the internal Imagination GPU, most OpenGL applications and tests will crash with the error below.
  2. When I plug into the AMD card and boot, all the OpenGL calls still seem to prefer the iGPU and not the AMD GPU, even though it seems like it’s loaded fine.

OpenGL error:

ubuntu@ubuntu:~$ DISPLAY=:1 glxinfo -B
name of display: :1
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  152 (GLX)
  Minor opcode of failed request:  24 (X_GLXCreateNewContext)
  Value in failed request:  0x0
  Serial number of failed request:  68
  Current serial number in output stream:  69

Is there a way I can force everything to use the AMD GPU and not try the internal GPU (specifically, applications like SuperTuxKart and utilities like glmark2)?

Hi Jeff, always a fan of your channel. Have you tried instructions on Sifive’s new ubuntu release page: Release 2025.02.00 · sifive/hifive-premier-p550-ubuntu · GitHub ? Looks hacky but will likely address issues you are facing.

2 Likes

Oh lol, it’s like they knew I was about to start messing around with this… will give that a go.

[Edit: OpenGL now works great on both iGPU and dGPU, thanks for pointing me to those release notes!]

I love your channel, too. We plan on buy a P550, and will eagerly look for your upcoming videos.

1 Like

I also have a slightly-older AAA game running through Box64 + Wine now:

It’s not very fast.

Hey Jeff, off topic question for you. What case are you using for your P550? I have one but haven’t set it up yet.

This one: SDIO WiFi for the P550? - #4 by ESWIN_Support

(Though right now the board is running bare on my desktop for some power testing)