tiny-pilot / tinypilot

Use your Raspberry Pi as a browser-based KVM.
https://tinypilotkvm.com
MIT License
3.05k stars 255 forks source link

Remove explicit cma specification in `/boot/cmdline.txt` #1580

Closed mtlynch closed 1 year ago

mtlynch commented 1 year ago

We originally added cma=128 to /boot/cmdline.txt because at the time, the kernel allocated too little memory for the TC358743 capture, and we needed at least 128 MB.

Now, it seems like post-Bullseye, Raspbian allocates 512 MiB for CMA, so we're actually limiting memory the kernel allocates for CMA. (see #1576)

We should remove the logic in the uStreamer Ansible role from specificying cma=128 in /boot/cmdline.txt:

https://github.com/tiny-pilot/tinypilot/blob/e3054409299950a8698c5c1dc4ca9e8c7a8bcdd6/ansible-role-ustreamer/tasks/provision_tc358743.yml#L18-L25

https://github.com/tiny-pilot/tinypilot/blob/e3054409299950a8698c5c1dc4ca9e8c7a8bcdd6/ansible-role-ustreamer/tasks/update_boot_cmdline.yml

Testing

We should do a smoke test to verify that video capture still works on a Voyager without the cma=128 param, but we don't need to test more rigorously than that.

Removal

cma=128 doesn't seem to be harming anything, so it's not worth adding in logic to reverse cma=128 in existing installs. If we discover it's a problem in the future, we can always add cleanup logic to tinypilot.postinst.