Heater wrote: ↑
Tue Mar 31, 2020 6:05 am
rpdom wrote: ↑
Tue Mar 31, 2020 5:49 am
The desktop resolution on the Pi 4 is not affected by entries in config.txt. It should auto-detect the best mode for the monitor that is connected, but if it doesn't you should, as recommended, use the Screen Configuration utility from the preferences menu on the desktop.
Could you elaborate on that. It does not fit my experience.
Back in the day of the first Pi I could not get anything on my monitor at all. Eventually I learned the Pi was not learning a suitable mode from the monitor. I ended up using some utility to retrieve the info from the monitor and then configuring that into config.txt. This was long ago and I forget the details.
Has that changed with the Pi 4 or along the line somewhere?
Thing is, if your screen is not working, because of incorrect mode or something an HDMI switch does not like, then you have no display to "use the Screen Configuration utility from the preferences menu on the desktop". Surely there is a way to do it with a configuration text.
The firmware does the best it can to pass a preferred mode to the kernel via the kernel command line. This is based on the settings in config.txt and the firmware's parsing of the monitor EDID. eg
Code: Select all
pi@raspberrypi:~ $ cat /proc/cmdline
coherent_pool=1M 8250.nr_uarts=1 cma=64M cma=256M video=HDMI-A-1:1920x1200M@60 smsc95xx.macaddr=B8:27:EB:xx:xx:xx vc_mem.mem_base=0x3dc00000 vc_mem.mem_size=0x3f000000 snd_bcm2835.enable_headphones=0 snd_bcm2835.enable_hdmi=0 snd_bcm2835.enable_compat_alsa=1 cma=384M dwc_otg.lpm_enable=0 console=ttyS0,115200 console=tty1 root=PARTUUID=89e86878-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait plymouth.ignore-serial-consoles earlyprintk
DRM/KMS takes this and will choose it for the console mode, but it also has the monitor EDID to populate all the other modes that are available.
When Xserver takes over, it makes a choice of mode for itself that I have found no way of influencing.
The Screen Configuration app works with xrandr and stores a boot time script with the chosen mode in it.
The one exception is that if you set the hdmi_timings/hdmi_cvt and group=2/mode=87, then the EDID is not passed through and you end up with one fixed mode available to you.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.