| Index: ch7036_monitor.c
|
| diff --git a/ch7036_monitor.c b/ch7036_monitor.c
|
| index 08683e9b55a3977903d626ae00e7d994e7455e39..2b41bab223be51b5676eb8187437fd7e5e33448d 100644
|
| --- a/ch7036_monitor.c
|
| +++ b/ch7036_monitor.c
|
| @@ -722,7 +722,8 @@ int main(int argc, char *argv[])
|
| fprintf(stderr, "Could not open %s: %s\n", gpiofile, strerror(errno));
|
| exit(1);
|
| }
|
| - }
|
| + } else
|
| + gpiodev = 0;
|
|
|
| dpy = XOpenDisplay(":0.0");
|
| if (dpy == NULL) {
|
| @@ -880,6 +881,8 @@ int main(int argc, char *argv[])
|
| mon_timing = &known_modes[force_mode];
|
| aspect = find_aspect(mon_timing->ha, mon_timing->va);
|
| enable_audio = 1;
|
| + if (verbose) printf("Force mode %d with aspect %d\n",
|
| + force_mode, aspect);
|
| why_res = "Mode forced on command line";
|
| why_aud = "Audio forced on";
|
| } else if ((forcen_x == 0) &&
|
| @@ -924,7 +927,7 @@ int main(int argc, char *argv[])
|
| show_ch_timing(&lcd_timing, "input (laptop lcd)");
|
| show_ch_timing(mon_timing, "output (hdmi port)");
|
| }
|
| - if (width_fix != NULL)
|
| + if ((width_fix != NULL) && (aspect >= 0))
|
| new_width = width_fix[aspect];
|
| else
|
| new_width = xmode->width;
|
| @@ -974,8 +977,10 @@ int main(int argc, char *argv[])
|
| }
|
| hdmiOn = 1;
|
|
|
| - if (new_width != xmode->width)
|
| + if (new_width != xmode->width) {
|
| + if (verbose) printf("Change X active width to %d\n", new_width);
|
| set_x_size(dpy, root, new_width, xmode->height, 1, bwin);
|
| + }
|
| if (verbose) printf("Monitor should be on!\n");
|
| if ((edidlog = fopen(EDID_LOG, "w")) != NULL) {
|
| fprintf(edidlog, "HDMI output %dx%d%s. Use %dx%d on local LCD.\n",
|
| @@ -1026,8 +1031,10 @@ int main(int argc, char *argv[])
|
| } while (!needReload && ch_hdmi_detected(i2cdev));
|
| if (verbose) printf("Exit displaying needReload = %d, hdmiOn = %d\n",
|
| needReload, hdmiOn);
|
| - if (new_width != xmode->width)
|
| + if (new_width != xmode->width) {
|
| + if (verbose) printf("Change X active width to %d\n", xmode->width);
|
| set_x_size(dpy, root, xmode->width, xmode->height, 0, bwin);
|
| + }
|
| if (hdmiOn && !needReload) {
|
| ch_monitor_off_keep_ddc(i2cdev);
|
| hdmiOn = 0;
|
|
|