This did not work but I found a clonezilla image from when I was on Silverblue 40 and I was able to mount the boot partition as a loop device and examine the grub.cfg file. From that I extracted part of the script and inserted into the Silverblue 41 grub.cfg file and that worked. I do not think users with high resolution screens should have to do this and the grub.cfg file needs to be appropriately modified by the development team. I am attaching what I added to make it work. I am going to try to simplify it if possible. I really do not understand why there are insmod commands necessary to make it work as the kernel is not involved in displaying the grub menu. This is what I added.
set gfxmode=1920x1080,1280x800,1024x768,1280x1024
load_video
insmod gfxterm
** set locale_dir=$prefix/locale
** set lang=en_US
insmod gettext
insmod gfxterm
insmod gfxmenu
set gfxpayload=keep
terminal_input gfxterm
terminal_output gfxterm
** if [ x$feature_timeout_style = xy ] ; then
** set timeout_style=menu
** set timeout=5
** Fallback normal timeout code in case the timeout_style feature is
** unavailable.
** else
** set timeout=5
** fi
I have commented out some lines that I didn’t think I needed. As I said I think this needs to be fixed to work properly with high resolution screens. It is apparently not possible to take “GRUB_” commands and directly convert them to "set " commands without makeconfig. I have also moved these changes to user.cfg and that works so there is no need to modify grub.cfg. Adding auto to set gfxmode does not work since it sets the resolution to 3840x2400. In my case 1920x1080 gives the best result.