{"id":1378,"date":"2005-05-06T01:38:55","date_gmt":"2005-05-05T23:38:55","guid":{"rendered":"http:\/\/vizZzion.org\/blog\/2005\/05\/guidances-displayconfig-mockup\/"},"modified":"2005-05-06T01:38:55","modified_gmt":"2005-05-05T23:38:55","slug":"guidances-displayconfig-mockup","status":"publish","type":"post","link":"https:\/\/vizZzion.org\/blog\/2005\/05\/guidances-displayconfig-mockup\/","title":{"rendered":"guidance&#8217;s displayconfig mockup."},"content":{"rendered":"<p><a href=\"http:\/\/vizZzion.org\/images\/blog\/dualhead-mockup020050504.png\" title=\"a mockup of displayconfig\"><img decoding=\"async\" src=\"http:\/\/vizZzion.org\/images\/blog\/dualhead-mockup020050504-thumb.png\" alt=\"a mockup of displayconfig\" title=\"a mockup of displayconfig\" align=\"right\" class=\"showonplanet\" \/><\/a><br \/>\n\t\tLast night, I visited <a href=\"http:\/\/www.simonzone.com\">Simon<\/a> in order to discuss some<br \/>\nnew stuff we want to put into displayconfig, one of the applications in <a\nhref=\"http:\/\/www.simonzone.com\/software\/guidance\">guidance<\/a>.<br \/>\n\t\tBesides discussing some minor issues, we made good progress with respect to the user<br \/>\ninterface and code design of displayconfig, especially of the configuration of multiheaded setups.<br \/>\nWe discussed how we wanted to design the user interface, so that it&#8217;s not only possible to do<br \/>\n&#8220;simple&#8221; things, such as switching resolutions. We&#8217;re planning to implement functionality to<br \/>\nconfigure a dual screen Xorg setup from within KDE. One of the results of yesterday night&#8217;s session<br \/>\nis the screenshot of a mockup, that should give some idea how that&#8217;s going to look like.<br \/>\n\t\tMoreover, we had a look at different solutions to detect hardware. Basically we need to know<br \/>\nthe number of graphics adapters, which is pretty simple since they&#8217;re attached via the PCI bus in<br \/>\nmost cases. More complex is the problem of detecting the number of monitors attached, the actual<br \/>\nsize of monitors, the technical capabilities of the screens (such as refresh and sync rates). There<br \/>\nare a couple of tools which can help with that, but all of them have their problems and limits.<br \/>\nMandrake ships <em>ddcxinfo<\/em>, which did a pretty good job detecting Simon&#8217;s TFT display and its<br \/>\ncapabilities, but it pretty much sucked on my notebook, which was in that case reporting a display<br \/>\nsize of 90&#8243; (!!). <em>xresprobe<\/em>, which is shipped by e.g. Debian and Kubuntu let my notebook<br \/>\nscreen flicker, which scared me a little, and it only managed to return my native resolution, but<br \/>\nnot for example the sync and refresh rates. Then, there&#8217;s ddcxinfo-kanotix &#8211; obviously not packaged<br \/>\nfor Debian in that incarnation. It printed out a lot of modelines, which is probably not too bad,<br \/>\nbut also not sufficient for what we need. In other words: We still need a good way to get an idea of<br \/>\nthe hardware topology of all display-related devices, suggestions &#8211; of course &#8211; are welcome (<a\nhref=\"http:\/\/vizzzion.org\/?id=contact\">contact<\/a>).<\/p>\n<p>\t\tAlso the configuration of the X server is a pretty complex complex issue since a lot of the<br \/>\nsetup depends on the driver used. The most generic solution for a dual screen setup is<br \/>\n<em>Xinerama<\/em>. However, <em>Xinerama<\/em> has the disadvantage of limiting 3D \/ hardware<br \/>\nacceleration capabilities. Vendors like nvidia and ATi work around that in their drivers by<br \/>\nproviding support for e.g. proper window placement from &#8220;<em>merged framebuffer<\/em>&#8221; mode, which is<br \/>\na quite different setup with respect to xorg.conf compared to traditional <em>Xinerama<\/em>. So we<br \/>\nhave to decide which way we want to do the configuration for the user, depending on the driver used,<br \/>\nthe resolutions chosen and so on (Xinerama does work with different resolutions and color depths on<br \/>\nthe respective &#8216;heads&#8217;, merged framebuffer does not seem to be capable of that) &#8230;<\/p>\n<p>\t\tAll in all, sticking our heads together was quite productive. Things are much clearer now<br \/>\nand there&#8217;s lots of code to be written. Sounds like we&#8217;re making good progress. :-)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Last night, I visited Simon in order to discuss some new stuff we want to put into displayconfig, one of the applications in guidance. Besides discussing some minor issues, we made good progress with respect to the user interface and code design of displayconfig, especially of the configuration of multiheaded setups. We discussed how we&hellip; <a class=\"more-link\" href=\"https:\/\/vizZzion.org\/blog\/2005\/05\/guidances-displayconfig-mockup\/\">Continue reading <span class=\"screen-reader-text\">guidance&#8217;s displayconfig mockup.<\/span> <span class=\"meta-nav\" aria-hidden=\"true\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[29],"tags":[],"class_list":["post-1378","post","type-post","status-publish","format-standard","hentry","category-kde"],"_links":{"self":[{"href":"https:\/\/vizZzion.org\/blog\/wp-json\/wp\/v2\/posts\/1378","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vizZzion.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vizZzion.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vizZzion.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vizZzion.org\/blog\/wp-json\/wp\/v2\/comments?post=1378"}],"version-history":[{"count":0,"href":"https:\/\/vizZzion.org\/blog\/wp-json\/wp\/v2\/posts\/1378\/revisions"}],"wp:attachment":[{"href":"https:\/\/vizZzion.org\/blog\/wp-json\/wp\/v2\/media?parent=1378"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vizZzion.org\/blog\/wp-json\/wp\/v2\/categories?post=1378"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vizZzion.org\/blog\/wp-json\/wp\/v2\/tags?post=1378"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}