Graphical tool to configure config.txt on Pi... how should it be done?
|
Should there be a single “!BCMSetup” for setting all of the Pi-specific settings, or should !BootSetup, !CPUSetup, !DiscSetup, and !ScrnSetup all be modified to handle the Pi’s config.txt (even in cases where the settings are highly Pi-specific)? Or maybe a combination approach of some sort? I’m thinking that such a graphical utility would be useful, so… |
|
Difficult to say. Answering your question with more questions: What are the Pi things that might be applicable elsewhere? One idea might be to have a ‘system-specific’ BoardSetup plugin with tabs for the various features, and buttons on the various other main pages (display setup, sound setup, etc) to open BoardSetup at the appropriate tab. So you go into display setup, choose your resolution, then click a ‘system settings’ button to select HDMI or composite out via BoardSetup. That saves having to scatter settings all over the place, and means it’s easier to drop in a version for the Pandora, or the Pandaboard, or whatever. In the Pi case that means PiSetup is the only thing that has to manage config.txt, rather than every xxxSetup fighting for it. Probably there’s better wording than ‘system settings’ though? ‘Hardware settings’ maybe? How does this sound from a UI perspective? |
|
I would like to see extra tabs in the relevant sections, and have a Pi section that duplicates them. I would also like to see the package manager able to be launched from configure. |
|
Yuck. No thanks. Not only is that bad for users (they never quite know which route to take and whether they are somehow different), it’s bad for developers because you massively increase the amount of work and number of components you have to change when something changes. This stuff should just go into one plug-in: and that should probably be an expanded version of CPUsetup (renamed to suit).
That’s not a bad idea. I’d suggest that rather than PackMan, we have an “Update manager” in !Configure, which simply checks for available updates to currently-installed components. This would really just be a subset of what PackMan offers, so there might also be a button somewhere to start PackMan itself. Seeing as it’s a !Boot component, it could also be used to configure the schedule for automatic update checking. |
|
Settings that could be useful elsewhere, but would be set in completely different ways: Clock speed and voltage settings Settings that are incredibly Pi-specific: MPEG2 and VC1 codec licenses However, everything on this list is done in a different way for each platform. Most of the stuff that this configures is in the SoC, so !CPUSetup makes sense… really, that already is kinda platform specific as it is (well, CPU version specific, anyway). The main problem that I could see is… let’s say, video. You have a monitor with a corrupt EDID (it’s more likely than you think), so you only get 1024×768 on a 1280×1024 panel. (I have about 150 monitors at work with this problem.) To work around this, you first have to go into !CPUSetup (or, right now, config.txt), force hdmi_group=2 and hdmi_mode=35, then you can go into !ScrnSetup and select Generic and 1280×1024. Granted, it’s a pain NOW involving fixing things in two places, but… I’m not sure what the most user-friendly way to handle that would be. The Pi acts really weird in that respect (even in Linux you end up having to mess with config.txt, and video mode settings from within the OS (unless you use Pi-specific tools) are disrespected). |
|
The configure windows can be made machine specific, you just need to do OS_Hardware 4 comms,GPIO and it returns info on the board you are running on. |