GPU Memory allocation for Steam Link usage

I am using OSMC with my Pi 3 and it works great for a media center with one exception. I want to use the steam link plugin with OSMC. When it runs it says that Steam Link should be run with at least 128MB memory allocated to the GPU. For the life of me I can’t figure out how to do this.

Usually this is done via Raspi-Config but OSMC disables it. I tried using My OSMC → RPi settings, but GPU Memory allocation is disabled in that menu. Raspberry Pi allows you to change the GPU memory allocation in /boot/config.txt, but OSMC restores this file on update. Raspberry Pi does not allow changing GPU memory allocation from any boot config file other than /boot/config.txt which means adding such settings to /boot/config-user.txt will not work.

Is there any way for me to change the GPU memory allocation permanently?

Have you checked that 128MB helps and is needed?

If it’s not necessary, you could ask the maintainer to relax this requirement.
If it is needed it can be made persistent, but we chose to no longer hardcode gpu memory on this device for a reason… It’s now dynamically allocated and seems to work well…

The application itself recommends 128mb. To test whether this is actually needed requires changing the GPU memory and seeing if it improves performance so I would still want to know how to change this in OSMC.

I think dynamic GPU memory allocation is only available for the raspberry pi 4. I am using a pi 3b, but I will see if that is true for the 3b.

“Just buy a pi 4” is not an acceptable answer to this problem.

Have you tried changing it manually in /boot/config.txt?

While this may work for testing, I would prefer a permanent solution. From what I have read in the documentation and these forums, changes to /boot/config.txt get overwritten when osmc updates itself.

While I will research if GPU memory allocation is actually needed for steam link. I would still like to know if it is possible in OSMC even if it is not needed for steam link, so let’s please focus on my original question. If the answer to my question is, “No, it is not possible to change the GPU memory allocation on the pi 3b in OSMC” then I won’t be happy about it, but I will accept that answer.

Is there a reason the GPU memory allocation has been deliberately disabled in OSMC? Is it not better to give embedded linux users the ability to change the GPU memory allocation and deal with the consequences themselves as the Pi Foundation intended? They can always change the GPU memory allocation back.

Nothing stops you from editing /boot/config.txt. It is simply not persistent across updates.

It was advised that the GPU memory allocation was redundant for Kodi use some time ago, so we dropped it.

I wouldn’t worry about it as Raspberry Pi 3 won’t be updated for much longer. The focus is on the Raspberry Pi 4 and 5 models as the Pi 2/3 start to show their age.

Nothing stops you from editing /boot/config.txt. It is simply not persistent across updates.

It was advised that the GPU memory allocation was redundant for Kodi use some time ago,

I think it would be worth ascertaining whether adjusting GPU memory is actually needed at all before seeking a solution to a potentially non-existent problem…

It is not currently possible at this time to change it inside of Kodi as that has been switched to only editing the includes file and this particular setting cannot be set outside of config.txt itself. It is also true that config.txt CAN be overwritten with updates, but this will only happen if there is an actual update to this file. This has only happened a couple times in years so this may not be as much of a concern as you may be thinking. The dynamic memory is as you state only for the RPi 4 and newer and the older models still use the same memory split setup as they always have done. Setting this to 128 should not pose any issue on a model B. To effect this change just…

sudo nano /boot/config.txt

and in the [all] section add the following line…

gpu_mem_1024=128

Then just ctrl+x, then y, and then enter to save and quit. The change will take effect on reboot.