Re: Creator3D resolution switching
Julian Coleman <[email protected]>
| Newsgroups | gmane.os.netbsd.ports.sparc64 |
|---|---|
| Message-ID | <[email protected]> |
Hi, Thanks for the output! > Hello, I made the following changes, however it didn't seem to make any difference > - out_dev = prom_getpropstring(sc->sc_node, "output_device"); > + //out_dev = prom_getpropstring(sc->sc_node, "output_device"); > + out_dev = prom_getpropstring(sc->sc_node, "output-device"); That should work - did you also set `output-device' at the PROM (ok) prompt, and what did you set it to? > Enabled FFB_DEBUG, does this look OK to you? Where does the "Video modes" list > come from, graphics card or the monitor/VGA adapter? The video modes list comes from the monitor via the EDID data, so we can see that your monitor prefers 1920x1080: > Video modes: > 1920x1080 @ 60Hz (148500 2008 2052 2200 1084 1089 1125 +H +V) > 1920x1200 @ 60Hz (193250 2056 2256 2592 1203 1209 1245 +H -V) ... > Preferred mode: 1920x1080 @ 60Hz We pass that the the mode setting function: > ffb_set_vmode: 1920x1080@60 (148500 2008 2052 2200 1084 1089 1125 +H +V) which then calculates the register programming: > ffb_set_vmode: 0x422c 0x0003 0x0008 0x0180 0x0033 > 0x0028 0x0460 0x0004 0x0464 > 0x021a 0x002f 0x020f 0x000a 0x0225 0x020b 0x002b > 0x0000 0x0000 0x0000 > new tgc: 00000033 I wonder about the first line, especially "0x0008 0x0180 0x0033" (ffbreg.h has the definitions of the values). The documentation that I have doesn't explain all the values and combinations, but I would expect that first (UCL) to be 0x0108 (we don't change the first byte - it is set by the PROM). If that's not the problem, it might be in our programming of composite sync instead of separate sync. I'm not sure how to determine the correct settings for that though, and the current code is really only tested with monitors that are known to work with Sun framebuffers and a few others. It might be possible to get this working by altering the sync parameters, but that will probably be mainly guesswork. When I was testing this, I altered each register manually, but that's not great. Regards, Julian