<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Plugable &#187; udlfb</title>
	<atom:link href="http://plugable.com/category/project/udlfb/feed/" rel="self" type="application/rss+xml" />
	<link>http://plugable.com</link>
	<description>USB Devices - Hubs, Cables, Graphics, Video, Docking, SATA, Keyboards, more</description>
	<lastBuildDate>Fri, 03 Feb 2012 19:55:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Howto: DisplayLink USB Single Monitor on Linux</title>
		<link>http://plugable.com/2011/12/23/usb-graphics-and-linux/</link>
		<comments>http://plugable.com/2011/12/23/usb-graphics-and-linux/#comments</comments>
		<pubDate>Fri, 23 Dec 2011 23:23:27 +0000</pubDate>
		<dc:creator>jerome</dc:creator>
				<category><![CDATA[DC-125]]></category>
		<category><![CDATA[Display]]></category>
		<category><![CDATA[Installing]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[UD-160-A]]></category>
		<category><![CDATA[udlfb]]></category>
		<category><![CDATA[UGA-165]]></category>
		<category><![CDATA[USB-VGA-165]]></category>
		<category><![CDATA[USB2-HDMI-165]]></category>
		<category><![CDATA[Using]]></category>
		<category><![CDATA[amazon:asin=B0038P1TP4]]></category>
		<category><![CDATA[amazon:asin=B004AIJE9G]]></category>
		<category><![CDATA[amazon:asin=B004PXPPNA]]></category>

		<guid isPermaLink="false">http://plugable.com/?p=3540</guid>
		<description><![CDATA[Unfortunately, Linux doesn&#8217;t support multiple graphics adapters the way Windows does, which means you can&#8217;t just plug in USB graphics adapters and expect them to extend your desktop (the good news is there is progress on this support). What is possible, however, is running a single DisplayLink adapter, or several with a Xinerama or multiseat [...]]]></description>
			<content:encoded><![CDATA[<p>Unfortunately, Linux doesn&#8217;t support multiple graphics adapters the way Windows does, which means you can&#8217;t just plug in USB graphics adapters and expect them to extend your desktop (the good news is <a href="http://www.phoronix.com/scan.php?page=news_item&#038;px=MTAzMjM" target="_blank">there is progress</a> on this support).</p>
<p>What is possible, however, is running a single DisplayLink adapter, or several with a Xinerama or multiseat configuration &#8212; just as long as you don&#8217;t expect to use your main GPU at the same time.</p>
<p>The single-display case is relatively easy to set up, and we&#8217;ll cover that here.</p>
<p>First, make sure you&#8217;re running kernel version 2.6.35 or later (Ubuntu 10.10 or later).  For older kernel versions, you&#8217;ll need to update udlfb and run a modified fbdev X server (not covered in this post).  On these kernel versions, when you plug in your DisplayLink-based USB graphics device, you should get a green screen. This means that at the driver built into the Linux kernel is happy, healthy, and talking to the device.</p>
<p>Second, if you are running Unity Desktop in Ubuntu 11.04 or later, you&#8217;ll need to switch back to Classic Mode so you&#8217;re running straight X.  Here&#8217;s how on Ubuntu: </p>
<p>Click on the power button in the upper right corner (mine looks like a light switch) and choose the last option, System Settings.  Search for Login Screen, Double-click to display, Choose Unlock and enter your password, Select Ubuntu Classic as default session.  </p>
<p>Third, if you&#8217;re running kernel versions between 2.6.35 to 3.1, enable the fb_defio option of udlfb. To do this, create or edit a file like<br />
/etc/modprobe.d/50-displaylink.conf</p>
<p>and add the single line</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">options udlfb <span style="color: #007800;">fb_defio</span>=<span style="color: #000000;">1</span></pre></div></div>

<p>And reboot (or run &#8220;sudo depmod -a&#8221; and unplug/replug your adapter). This will turn on defio (page fault change detection) support. This option is already enabled by default in kernels 3.2+.</p>
<p>Lastly, create an X config file called 60-plugable.conf (or similar) with the following contents and place it in /usr/share/X11/xorg.conf.d (on recent distros; on older distros, make this your xorg.conf):</p>

<div class="wp_syntax"><div class="code"><pre class="xorg_conf" style="font-family:monospace;">&nbsp;
<span style="color: #b1b100;">Section</span> <span style="color: #0000ff;">&quot;Device&quot;</span> 
  <span style="color: #990000;">Identifier</span> <span style="color: #0000ff;">&quot;uga&quot;</span> 
  <span style="color: #990000;">driver</span> <span style="color: #0000ff;">&quot;fbdev&quot;</span> 
  <span style="color: #990000;">Option</span> <span style="color: #0000ff;">&quot;fbdev&quot;</span> <span style="color: #0000ff;">&quot;/dev/fb0&quot;</span> 
<span style="color: #b1b100;">EndSection</span> 
&nbsp;
<span style="color: #b1b100;">Section</span> <span style="color: #0000ff;">&quot;Monitor&quot;</span> 
  <span style="color: #990000;">Identifier</span> <span style="color: #0000ff;">&quot;monitor&quot;</span> 
<span style="color: #b1b100;">EndSection</span> 
&nbsp;
<span style="color: #b1b100;">Section</span> <span style="color: #0000ff;">&quot;Screen&quot;</span> 
  <span style="color: #990000;">Identifier</span> <span style="color: #0000ff;">&quot;screen&quot;</span> 
  <span style="color: #990000;">Device</span> <span style="color: #0000ff;">&quot;uga&quot;</span> 
  <span style="color: #990000;">Monitor</span> <span style="color: #0000ff;">&quot;monitor&quot;</span> 
<span style="color: #b1b100;">EndSection</span> 
&nbsp;
<span style="color: #b1b100;">Section</span> <span style="color: #0000ff;">&quot;ServerLayout&quot;</span> 
  <span style="color: #990000;">Identifier</span> <span style="color: #0000ff;">&quot;default&quot;</span> 
  <span style="color: #990000;">Screen</span> <span style="color: #cc66cc;">0</span> <span style="color: #0000ff;">&quot;screen&quot;</span> <span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">0</span> 
<span style="color: #b1b100;">EndSection</span></pre></div></div>

<p>Note: if your main GPU creates a /dev/fb0 even when the USB display is not attached, then your USB display is probably getting assigned to /dev/fb1. In that case, change /dev/fb0 in the &#8220;Device&#8221; section above to /dev/fb1</p>
<p>Now, on reboot, you should (hopefully!) see your login come up on your DisplayLink USB attached display!</p>
<p>This kind of simple setup is useful for:</p>
<ul>
<li>Testing or playing with your USB graphics adatper on Linux.</li>
<li>Embedded systems with USB but no GPU.</li>
<li>As a backup method when the main GPU or its driver isn&#8217;t available or working.</li>
<li>Systems where a USB graphics adapter enables higher modes (up to 2048&#215;1152) than the main GPU screen.</li>
</ul>
<p>Please comment if you have any trouble with this single display case.  See our <a href="http://plugable.com/category/project/udlfb/">past posts</a> for additional information about the DisplayLink Linux kernel driver and some more involved setups.</p>
<p>The instructed here work on all <a href="http://plugable.com/products/graphics-adapters/">Plugable USB 2.0 graphics adapters</a> and <a href="http://plugable.com/products/laptop-docking/">Plugable USB 2.0 docking stations and thin clients</a> (and should also generally work on all DisplayLink based products).</p>
]]></content:encoded>
			<wfw:commentRss>http://plugable.com/2011/12/23/usb-graphics-and-linux/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Plugable Open Source Hardware Samples Program</title>
		<link>http://plugable.com/2010/09/16/plugable-open-source-hardware-samples-program/</link>
		<comments>http://plugable.com/2010/09/16/plugable-open-source-hardware-samples-program/#comments</comments>
		<pubDate>Thu, 16 Sep 2010 20:22:03 +0000</pubDate>
		<dc:creator>Bernie Thompson</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[udlfb]]></category>
		<category><![CDATA[amazon:asin=B003UDCPEI]]></category>
		<category><![CDATA[amazon:asin=B003UI62AG]]></category>
		<category><![CDATA[amazon:asin=B003VSTDFG]]></category>
		<category><![CDATA[amazon:asin=B00425S1H8]]></category>
		<category><![CDATA[amazon:asin=B004AIJE9G]]></category>

		<guid isPermaLink="false">http://plugable.com/?p=1422</guid>
		<description><![CDATA[From time to time Plugable has extra test hardware around our labs. Rather than have it gather dust, we&#8217;d like to send it out to the open source community to help foster driver development. We know how much work open source driver development is &#8212; getting hardware should be the easiest part of it. So [...]]]></description>
			<content:encoded><![CDATA[<p>From time to time Plugable has extra test hardware around our labs. Rather than have it gather dust, we&#8217;d like to send it out to the open source community to help foster driver development.  </p>
<p>We know how much work open source driver development is &#8212; getting hardware should be the easiest part of it.  So today we&#8217;re announcing a new program to better get test devices out to developers who can use them.</p>
<p>If you&#8217;re a developer with a history submitting patches for Linux or other platforms, please <a href="http://plugable.com/projects/plugable-open-source-hardware-samples-program/">submit your request for Plugable sample hardware here</a>.  Because we&#8217;ll have only a trickle of each type over device over time, an important part of this is having some idea of what prior driver development contributions you&#8217;ve made.  We&#8217;ll try to focus on matching hardware to the developers most likely to be able to contribute improvements in that area.</p>
<p>Plugable&#8217;s products cover a fairly wide range of USB and other devices. See <a href="http://plugable.com/shop/">http://plugable.com/shop/</a> for our products that will be available from time to time under this program. </p>
<p>We&#8217;ve long been doing this kind of thing with the commercial vendors. Having worked on Windows and at Microsoft, we try to drop off samples to get them using, testing, and developing against our hardware. We&#8217;d do the same for Apple or others.  This is our attempt to get these same benefits going with the wider open source community.</p>
<p>We hope this will seed some good things over time.  And we welcome any feedback or suggestions on this program anytime.</p>
]]></content:encoded>
			<wfw:commentRss>http://plugable.com/2010/09/16/plugable-open-source-hardware-samples-program/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>DisplayLink Linux kernel driver (udlfb) updates slated for 2.6.37</title>
		<link>http://plugable.com/2010/08/18/displaylink-linux-kernel-driver-udlfb-updates-slated-for-2-6-37/</link>
		<comments>http://plugable.com/2010/08/18/displaylink-linux-kernel-driver-udlfb-updates-slated-for-2-6-37/#comments</comments>
		<pubDate>Thu, 19 Aug 2010 05:28:20 +0000</pubDate>
		<dc:creator>Bernie Thompson</dc:creator>
				<category><![CDATA[Display]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[UD-160-A]]></category>
		<category><![CDATA[udlfb]]></category>
		<category><![CDATA[UGA-125]]></category>
		<category><![CDATA[UGA-2K-A]]></category>
		<category><![CDATA[UT-1]]></category>
		<category><![CDATA[amazon:asin=B002PONXAI]]></category>
		<category><![CDATA[amazon:asin=B0038P1TP4]]></category>
		<category><![CDATA[amazon:asin=B003IE49T8]]></category>

		<guid isPermaLink="false">http://plugable.com/?p=1271</guid>
		<description><![CDATA[The latest set of patches for udlfb, the Linux kernel framebuffer driver for DisplayLink chips, has been submitted and looks on track for kernel 2.6.37. This will catch the kernel up to everything on http://git.plugable.com/ Linux is a big and constantly shifting platform. With our USB graphics products (and generally for DisplayLink based products, since [...]]]></description>
			<content:encoded><![CDATA[<p>The latest set of patches for udlfb, the Linux kernel framebuffer driver for DisplayLink chips, has been submitted and looks on track for kernel 2.6.37.  This will catch the kernel up to everything on <a href="http://git.plugable.com/">http://git.plugable.com/</a></p>
<p>Linux is a big and constantly shifting platform. With our USB graphics products (and generally for DisplayLink based products, since we try to make them work for all devices), it&#8217;s easy to output a few pixels, but configuring a USB display as an X terminal, or certainly for an extended desktop, is still a process on Linux that requires manual xorg.conf editing and is for very advanced users only.  But we try to contribute what we can at Plugable, and that has meant focusing on making the kernel driver that actually talks to the hardware and everything else builds on, as solid as possible.</p>
<p>The contributed patches start with <a href="http://driverdev.linuxdriverproject.org/pipermail/devel/2010-August/008147.html">this post to the linux driver project list</a>.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8211;<br />
To: devel-request@linuxdriverproject.org<br />
[PATCH 0/11] staging: udlfb: patches from udlfb development branch (Bernie Thompson)</p>
<p>This patch series contains all current fixes and features from<br />
the udlfb development branch.</p>
<p>udlfb is a framebuffer driver for DisplayLink USB 2.0 era chips.</p>
<p>Diffstat of this 11 part patch series:</p>
<p> udlfb.c |  989 +++++++++++++++++++++++++++++++++++++++++&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
 udlfb.h |   41 +-<br />
 2 files changed, 664 insertions(+), 366 deletions(-)</p>
<p>Major changes:</p>
<p>* Added summary documentation for users of udlfb<br />
* Added logic to query DisplayLink chip for max area mode,<br />
so low-end chips on high-end monitors no longer get black screen<br />
* Added support for DPMS. X servers now control monitor<br />
power with existing standard interface<br />
* Added back in support for char interface (e.g. cat file > /dev/fb0)<br />
* Systems without EDID or with failing EDID can now supply fixed<br />
EDID to sysfs interface, also avoiding black screen<br />
* Fixed big-endian (PowerPC) rendering<br />
* Fixed teardown race conditions that could result in shutdown hang<br />
* Added fb_defio and fb console module options (default off)<br />
* Fixed udlfb&#8217;s fb_defio client code so no longer incorrectly shares<br />
state across udlfb device instances &#8211; fixes hangs and errant rendering<br />
* Removed IFDEFs for building against older kernels &#8211; those will<br />
be retained in the udlfb development branches at git.plugable.com</p>
<p>Todo:</p>
<p>There have been no additional reported bugs in the last few months,<br />
although there are several wishlist features.  Udlfb may be ready<br />
to move out of staging at this point.</p>
<p>Patches are against Linus&#8217; latest 2.6 tree.</p>
<p>This complete quilt patch series can be downloaded from <a href="http://plugable.com/udlfb-patches-2.6.35-v2.tgz">http://plugable.com/udlfb-patches-2.6.35-v2.tgz</a></p>
]]></content:encoded>
			<wfw:commentRss>http://plugable.com/2010/08/18/displaylink-linux-kernel-driver-udlfb-updates-slated-for-2-6-37/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Nexus One Phone and Plugable’s Universal Dock</title>
		<link>http://plugable.com/2010/06/27/google-nexus-one-phone-and-plugables-universal-dock/</link>
		<comments>http://plugable.com/2010/06/27/google-nexus-one-phone-and-plugables-universal-dock/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 04:42:22 +0000</pubDate>
		<dc:creator>Bernie Thompson</dc:creator>
				<category><![CDATA[Laptop Dock]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[UD-160-A]]></category>
		<category><![CDATA[udlfb]]></category>
		<category><![CDATA[Using]]></category>
		<category><![CDATA[amazon:asin=B002PONXAI]]></category>

		<guid isPermaLink="false">http://plugable.com/?p=1118</guid>
		<description><![CDATA[Sven Killig has posted a few more bits of his cool Google Nexus One USB host mode work, this time running with the Plugable Universal Docking Station. This setup uses the udlfb DisplayLink Linux driver work from here (git.plugable.com) and a bunch of other components Sven has developed or pulled together, to turn the phone [...]]]></description>
			<content:encoded><![CDATA[<p>Sven Killig has posted a few more bits of his cool Google Nexus One USB host mode work, this time running with the Plugable Universal Docking Station</a>.</p>
<div id="attachment_1119" class="wp-caption aligncenter" style="width: 310px"><a href="http://sven.killig.de/android/N1/2.2/usb_host/"><img src="http://plugable.com/wp-content/uploads/2010/06/Sven-UD-160-A-Nexus-One-300x165.jpg" alt="Plugable UD-160-A driving big display and more for Nexus One" title="Sven-UD-160-A-Nexus-One" width="300" height="165" class="size-medium wp-image-1119" /></a><p class="wp-caption-text">Plugable UD-160-A driving 1920x1080 display and more, all from a humble Nexus One phone</p></div>
<p>This setup uses the udlfb DisplayLink Linux driver work from here (git.plugable.com) and a bunch of other components Sven has developed or pulled together, to turn the phone into a full computer with display, keyboard, audio and more.  His video of this has gone viral (over 85,000 views).  You can <a href="http://sven.killig.de/android/N1/2.2/usb_host/">see the video and full instructions at Sven&#8217;s site</a>.  Very cool.</p>
<p>The photo above is of the <a href="http://plugable.com/products/ud-160-a/">Plugable UD-160-A Universal Docking Station</a>, in use at Sven&#8217;s desk (the dock is laying on its side to better fit in the photo &#8211; Sven has removed the weighted bottom stand).  </p>
<p>The Plugable dock is perfect for this kind of application with the Nexus One phone &#8212; it includes all the USB devices in one place, all with open source drivers. The dock has its own 2.5A AC power (see the USB dual-power Y cable plugged into the front USB A and back USB B ports), along with driving the 1920&#215;1080 monitor (the big DVI cable in the back), and providing ethernet (above the DVI) and audio (in the front &#8211; he doesn&#8217;t have them plugged in in the pic).</p>
<p>So this all is great for geeks, but when will this work out of the box? Several comments on Sven&#8217;s work are messages like &#8220;Google! Integrate this into Android now!&#8221;  </p>
<p>With Google offices near here, and with related USB terminal work on the same Plugable dock being funded as a Google Summer of Code project, it would be great to demo this and get things moving&#8230; Whatcha say, Google!?</p>
]]></content:encoded>
			<wfw:commentRss>http://plugable.com/2010/06/27/google-nexus-one-phone-and-plugables-universal-dock/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The Nexus One Phone-Top</title>
		<link>http://plugable.com/2010/06/09/the-nexus-one-phone-top/</link>
		<comments>http://plugable.com/2010/06/09/the-nexus-one-phone-top/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 18:09:13 +0000</pubDate>
		<dc:creator>Bernie Thompson</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[UD-160-A]]></category>
		<category><![CDATA[udlfb]]></category>

		<guid isPermaLink="false">http://plugable.com/?p=959</guid>
		<description><![CDATA[Sven Killig has a sense of where computing is headed: Powerful computers are everywhere, including in your pocket. And he has the skills to push things ahead, to show us glimpses of what&#8217;s coming. Last year, he demoed turning your router into a full-fledged computer. This year, it&#8217;s the Google Nexus One phone as a [...]]]></description>
			<content:encoded><![CDATA[<p>Sven Killig has a sense of where computing is headed:  Powerful computers are everywhere, including in your pocket. And he has the skills to push things ahead, to show us glimpses of what&#8217;s coming.</p>
<p>Last year, he demoed turning <a href="http://sven.killig.de/openwrt/slugterm_dl.html">your router into a full-fledged computer</a>.</p>
<p>This year, it&#8217;s the <a href="http://sven.killig.de/android/N1/2.2/usb_host/">Google Nexus One phone as a full computer</a> &#8212; with attached external keyboard, mouse, display, and more.</p>
<p>The Nexus One demo is using the <a href="http://plugable.com/category/project/udlfb/">udlfb</a> Linux kernel module to talk with the DisplayLink device, and it will work with any DisplayLink device, including Plugable&#8217;s.  </p>
<p>Note the version of udlfb in the 2.6.34 staging tree unfortunately didn&#8217;t work for Sven. So he&#8217;s now using the latest udlfb from <a href="http://git.plugable.com/">http://git.plugable.com/</a>, which will likely get merged in for kernel 2.6.36.</p>
<p>Also, he used a dual headed cable to get enough power.  A powered hub or a docking station/terminal like the <a href="http://plugable.com/products/UD-160-A">UD-160-A</a> won&#8217;t need that &#8212; it supplies its own power from AC &#8211; all the hardware needed is in the one package.</p>
<p>It&#8217;s exciting to have all this open source work come together in interesting demos like this.</p>
<p>There was a question recently why udlfb doesn&#8217;t use the same compression technique as the Windows drivers.  Among other reasons, one is that the RL compression used by udlfb scales down to devices like the ones Sven has been working on &#8212; it&#8217;s as light as possible on CPU load, while getting decent compression.  </p>
<p>Stepping back, it&#8217;s clear Apple (and now Microsoft) are making a mistake by limiting the hardware ecosystem around their devices.  Android and the other Linux variants have an opportunity here &#8212; and considering the Apple juggernaut, they definitely need every advantage.</p>
<p>Sven&#8217;s demos show how powerful these scenarios can be.  The hardware is ready. Devices like Plugable&#8217;s are designed with these scenarios in mind. Now we need to get the software refined and included in standard distributions, so normal consumers can take advantage of all the possibilities and benefits here.</p>
]]></content:encoded>
			<wfw:commentRss>http://plugable.com/2010/06/09/the-nexus-one-phone-top/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Endurance Technology Contributions</title>
		<link>http://plugable.com/2010/05/28/endurance-technology-contributions/</link>
		<comments>http://plugable.com/2010/05/28/endurance-technology-contributions/#comments</comments>
		<pubDate>Fri, 28 May 2010 20:27:58 +0000</pubDate>
		<dc:creator>Bernie Thompson</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Other]]></category>
		<category><![CDATA[udlfb]]></category>

		<guid isPermaLink="false">http://plugable.com/?p=947</guid>
		<description><![CDATA[Endurance Technology, a software consulting company in the UK who has done previous work on DisplayLink devices, has contributed back a branch of work done on the Fall 2009-era DisplayLink kernel framebuffer (udlfb) and X driver (xf86-video-displaylink). The goal of their project was to get an embedded platform working on Centos 5.3. You can read [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://endurancetech.co.uk/">Endurance Technology</a>, a software consulting company in the UK who has done previous work on DisplayLink devices, has contributed back a branch of work done on the Fall 2009-era DisplayLink kernel framebuffer (udlfb) and X driver (xf86-video-displaylink).</p>
<p>The goal of their project was to get an embedded platform working on Centos 5.3.  You can read more in their <a href="http://git.plugable.com/gitphp/index.php?p=udlfb&#038;a=blob&#038;h=db1baa3bc25b6ca3a8eba7134ca24e8600319c59&#038;hb=6494b586c38ab4dc7a7e22c5e38aa10deeea0b1a&#038;f=Endurance-Centos-ReleaseNote.txt">release note</a> for the work.</p>
<p>To make the contributions easier to diff, they&#8217;ve been checked into a git branch from a (best guess) of the code Endurance started from. </p>
<p>The changes are available <a href="http://git.plugable.com/gitphp/index.php?p=udlfb&#038;a=commitdiff&#038;h=6494b586c38ab4dc7a7e22c5e38aa10deeea0b1a">here for the kernel driver</a> and <a href="http://git.plugable.com/gitphp/index.php?p=xf-video-udlfb&#038;a=commitdiff&#038;h=727ef3545a092b04333aaf499c9762f600d2bc2d">here for the X server</a>.</p>
<p>To actually build it, you may need their <a href="http://plugable.com/public/3rdparty/endurance-linux-centos-fbdev-x.tar.bz2">full package</a>.</p>
<p>It&#8217;s unclear what of these changes might get picked up, as things have moved on since.  One of the main features of this code is providing a default EDID blob in udlfb.  The plan for udlfb at this point is to allow the edid sysfs interface of udlfb to be written to, to allow (and give responsibility) to a user-mode entity to supply a default edid, if one isn&#8217;t available from hardware.  </p>
<p>Thanks again to Endurance for being diligent about contributing changes back.</p>
]]></content:encoded>
			<wfw:commentRss>http://plugable.com/2010/05/28/endurance-technology-contributions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Summer of Code Work Kicks Off</title>
		<link>http://plugable.com/2010/05/24/google-summer-of-code-work-kicks-off/</link>
		<comments>http://plugable.com/2010/05/24/google-summer-of-code-work-kicks-off/#comments</comments>
		<pubDate>Mon, 24 May 2010 23:28:43 +0000</pubDate>
		<dc:creator>Bernie Thompson</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[UD-160-A]]></category>
		<category><![CDATA[udlfb]]></category>

		<guid isPermaLink="false">http://plugable.com/?p=934</guid>
		<description><![CDATA[Today is the kickoff of coding work for Google SoC 2010 projects. We&#8217;re very excited about the Google funded project to refine USB multiseat on Linux, with the winning proposal from Lucas Nascimento Ferreira at the Federal University of Parana in Brazil. In addition to providing mentoring, Plugable is also providing donated hardware for this [...]]]></description>
			<content:encoded><![CDATA[<p>Today is the kickoff of coding work for Google SoC 2010 projects.</p>
<p>We&#8217;re very excited about the Google funded project to refine USB multiseat on Linux, with the winning proposal from Lucas Nascimento Ferreira at the Federal University of Parana in Brazil.</p>
<p>In addition to providing mentoring, Plugable is also providing donated hardware for this project. Two <a href="/products/ud-160-a/" target="_blank">Plugable Universal Docking stations</a> with recent enhancements for use as a terminal, were just picked up by Lucas in Brazil today.  By next month, we expect to have updated versions of the <a href="/products/uga-125-hub/" target="_blank">UGA-125-HUB</a> for terminal use to send down.</p>
<p>For those interested in learning more and potentially following Lucas&#8217; work:</p>
<ul>
<li><a href="http://socghop.appspot.com/document/show/gsoc_program/google/gsoc2010/timeline" target="_blank">Google&#8217;s SoC 2010 Timeline</a></li>
<li><a href="http://www.inf.ufpr.br/lnf07/gsoc.txt" target="_blank">Lucas&#8217; winning USB Multiseat Proposal</a></li>
</ul>
<p>And we&#8217;ll post periodic status updates here.</p>
]]></content:encoded>
			<wfw:commentRss>http://plugable.com/2010/05/24/google-summer-of-code-work-kicks-off/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux Support For Higher-Res Monitors on Lower-Res DisplayLink Devices</title>
		<link>http://plugable.com/2010/05/21/linux-support-for-higher-res-monitors-on-lower-res-displaylink-devices/</link>
		<comments>http://plugable.com/2010/05/21/linux-support-for-higher-res-monitors-on-lower-res-displaylink-devices/#comments</comments>
		<pubDate>Fri, 21 May 2010 16:40:19 +0000</pubDate>
		<dc:creator>Bernie Thompson</dc:creator>
				<category><![CDATA[Display]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[UD-160-A]]></category>
		<category><![CDATA[udlfb]]></category>
		<category><![CDATA[UGA-125]]></category>
		<category><![CDATA[UGA-2K-A]]></category>

		<guid isPermaLink="false">http://plugable.com/?p=914</guid>
		<description><![CDATA[On Windows and Mac, if you plug in a monitor with a higher resolution than your adapter supports, the driver will automatically fall back to the best common mode between the two. Linux hasn&#8217;t had that support &#8212; it would try to set the highest mode the monitor is capable of, often resulting in a [...]]]></description>
			<content:encoded><![CDATA[<p>On Windows and Mac, if you plug in a monitor with a higher resolution than your adapter supports, the driver will automatically fall back to the best common mode between the two.</p>
<p>Linux hasn&#8217;t had that support &#8212; it would try to set the highest mode the monitor is capable of, often resulting in a black screen.  Especially common for the DL-125 chip, with its mode limits of 1440&#215;900/1280&#215;1024.</p>
<p>That&#8217;s a shame because the DL-125 chip is a smart choice in many cases &#8211; by limiting itself to those lower modes, it stays more consistently within the limits of the USB 2.0 bus, resulting in more consistent performance.</p>
<p>So coinciding with the launch of Plugable&#8217;s DisplayLink DL-125 based products (<a href="/products/uga-125">UGA-125</a> and <a href="/products/uga-125-hub">UGA-125-HUB</a>), changes have been implemented to bring Linux roughly up to the level of Windows and Mac in this area for DisplayLink devices.  This also helps devices like the <a href="/products/ud-160-a">UD-160-A</a> when running on monitors greater than its limit of 1920&#215;1080.</p>
<p>The kernel framebuffer driver udlfb <a href="http://git.plugable.com/gitphp/index.php?p=udlfb&#038;a=commitdiff&#038;h=1bbba9e8123453ce1677fc247abc356c7040892c">has been enhanced to read the resolution limit from the firmware descriptors of the device, and adhere to it</a>.</p>
<p>On the X server side, we needed a driver which would limit itself to the resulting reduced mode list.  Unfortunately, the existing displaylink X server reads EDID directly, and assumes the adapter can do whatever the monitor can do. </p>
<p>We&#8217;ve been wanting to get rid of the need for a displaylink-specific X server, and the standard xf86-video-fbdev driver runs with the best existing mode, rather than trying to set a higher one in EDID.  So this was a good trigger for converting over.</p>
<p>So <a href="http://git.plugable.com/gitphp/index.php?p=xf86-video-fbdev&#038;a=commitdiff&#038;h=388fd2b6a20eb396ccface5b2cf2ec907ec96ba4">xf86-video-fbdev has been enhanced with X Damage protocol support</a>, ported from Roberto&#8217;s displaylink driver.  This is still a little in-flux from an interface perspective, but from a functional perspective it&#8217;s done and fully performant.  </p>
<p>So it&#8217;s now possible to run with a modified generic fbdev driver, which talks to udlfb, with full performance and without needing defio (although there&#8217;s also some good news in the defio space, which will be posted about later).</p>
<p>You can grab the latest udlfb kernel module with a &#8220;git clone http://git.plugable.com/webdav/udlfb&#8221;. Compile with &#8220;make &#038;&#038; sudo make install &#038;&#038; sudo depmod -a&#8221;</p>
<p>And you can grab the latest modified xf86-video-fbdev with a &#8220;git clone http://git.plugable.com/webdav/xf86-video-fbdev&#8221;.  Compile with &#8220;./autogen.sh &#038;&#038; make &#038;&#038; sudo make install&#8221;</p>
<p>You&#8217;ll need a very recent xorg-macros version (1.4), which in package &#8220;sudo apt-get install xutils-dev&#8221;</p>
<p>To use the new X server, you must turn on the new &#8220;ReportDamage&#8221; option to fbdev. Modify your <a href="http://plugable.com/2009/11/16/setting-up-usb-multiseat-with-displaylink-on-linux-gdm-up-to-2-20/">existing xorg conf </a>like this:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">Section <span style="color: #ff0000;">&quot;Device&quot;</span>
  Identifier <span style="color: #ff0000;">&quot;dl&quot;</span>
  Driver <span style="color: #ff0000;">&quot;fbdev&quot;</span>
  Option <span style="color: #ff0000;">&quot;ReportDamage&quot;</span> <span style="color: #ff0000;">&quot;true&quot;</span>
  Option <span style="color: #ff0000;">&quot;fbdev&quot;</span> <span style="color: #ff0000;">&quot;/dev/fb0&quot;</span>
EndSection</pre></div></div>

<p>And you should be all set to go.   This new X server should work with the existing udlfb in the staging tree of kernel 2.6.31+ for now, as it&#8217;s re-using the same original ioctl.  But may require modeset changes that are only in 2.6.34+.</p>
]]></content:encoded>
			<wfw:commentRss>http://plugable.com/2010/05/21/linux-support-for-higher-res-monitors-on-lower-res-displaylink-devices/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Google Summer of Code – USB Multiseat</title>
		<link>http://plugable.com/2010/04/06/google-summer-of-code-usb-multiseat/</link>
		<comments>http://plugable.com/2010/04/06/google-summer-of-code-usb-multiseat/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 00:17:11 +0000</pubDate>
		<dc:creator>Bernie Thompson</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[UD-160-A]]></category>
		<category><![CDATA[udlfb]]></category>
		<category><![CDATA[amazon:asin=B002PONXAI]]></category>

		<guid isPermaLink="false">http://plugable.com/?p=788</guid>
		<description><![CDATA[Plugable is offering mentoring and donated hardware for USB graphics projects that are funded as part of Google Summer of Code 2010. Plugable is working through X.Org as a sponsoring organization. The main focus is USB multiseat, and the details are on the xorg wiki for SoC 2010 With all the pieces that are just [...]]]></description>
			<content:encoded><![CDATA[<p>Plugable is offering mentoring and donated hardware for USB graphics projects that are funded as part of Google Summer of Code 2010.  Plugable is working through X.Org as a sponsoring organization.</p>
<p>The main focus is USB multiseat, and the details are on the <a href="http://www.x.org/wiki/SummerOfCodeIdeas">xorg wiki for SoC 2010</a></p>
<p>With all the pieces that are just coming together now, there is a potential here to do a project with huge impact, without a massive amount of engineering.  There is already a very solid proposal coming from a student in Brazil who has previously been involved with the MDM multiseat project.  </p>
<p>Google&#8217;s deadline for applications <a href="http://socghop.appspot.com/document/show/program/google/gsoc2009/timeline">is now just a few days away: April 9th</a>.</p>
<p>If there&#8217;s interest from other parties, we&#8217;ll get everyone talking &#8211; or there are other related proposals that we might be able to get in at the last minute. Foremost among those is conversion of the DisplayLink USB driver udlfb and matching X server from a fbdev driver to the KMS model. </p>
<p>Here&#8217;s the basics of the USB multiseat opportunity:</p>
<blockquote><p>USB Multiseat Refinement</p>
<p>Linux Multiseat setups have potential to significantly reduce the cost of computing, but can be hard to configure. Some progress has been made on USB multiseat, where all components of the &#8220;terminal&#8217; (display, keyboard, mouse, and more) are on USB, so configuration can be fully plug and play &#8211; you can just assume that all devices on the same USB hub constitute a terminal.</p>
<p>Some early prototypes of this are working (see http://plugable.com/2009/11/16/setting-up-usb-multiseat-with-displaylink-on-linux-gdm-up-to-2-20/). The underlying kernel drivers and X servers are largely in place.</p>
<p>But recent changes to the X Server, ConsoleKit, and other components open the possibility for a cleaner implementation.</p>
<p>This SoC project would constitute the refinement/creation of configuration scripts to enable a standard Linux or *nix computer to automatically launch additional seats when a USB terminal is plugged in</p>
<p>* udev rules to detect hubs/devices which should be collectively treated as terminals<br />
* udev attributes to label the set of devices with a common seat id<br />
* udev triggers for on-demand generation of the appropriate Xorg config files, to allow seats to coexist with the primary display/devices.<br />
* ConsoleKit scripts to launch independent GDM/X sessions for each USB terminal seat<br />
* InputClass rules to cause the primary X session to ignore multiseat-assigned devices, and the appropriate seat to use them<br />
* udev rules and X init scripts to grant access to audio, storage, and other devices to the person logged into the matching seat </p>
<p>The one-sentence goal of this project: To make USB multiseat fully plug and play for the end-user, and ready for any distro to safely and cleanly drop in at any time.</p></blockquote>
<p>Know any aspiring software engineering students that might be interested?  Check <a href="http://code.google.com/soc/">SoC info from Google</a> and the <a href="http://wiki.x.org/wiki/GSoCApplication">SoC guidelines from xorg</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://plugable.com/2010/04/06/google-summer-of-code-usb-multiseat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>xorg-server 1.8.0 released</title>
		<link>http://plugable.com/2010/04/02/xorg-server-1-8-0-released/</link>
		<comments>http://plugable.com/2010/04/02/xorg-server-1-8-0-released/#comments</comments>
		<pubDate>Fri, 02 Apr 2010 18:14:11 +0000</pubDate>
		<dc:creator>Bernie Thompson</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[UD-160-A]]></category>
		<category><![CDATA[udlfb]]></category>
		<category><![CDATA[UGA-2K-A]]></category>

		<guid isPermaLink="false">http://plugable.com/?p=770</guid>
		<description><![CDATA[xorg-server 1.8.0 has been released. There will still be some bugs and issues to resolve &#8212; but this release has most of the features, specifically related to input handling and udev-based dynamic configuration, of a more solid USB multiseat solution. In short: udev rules, which already can detect a grouping of USB devices that constitute [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://lists.freedesktop.org/archives/xorg/2010-April/049784.html">xorg-server 1.8.0 has been released</a>.  </p>
<p>There will still be some bugs and issues to resolve &#8212; but this release has most of the features, specifically related to input handling and udev-based dynamic configuration, of a more solid <a href="http://plugable.com/2009/11/16/setting-up-usb-multiseat-with-displaylink-on-linux-gdm-up-to-2-20/">USB multiseat</a> solution.</p>
<p>In short:</p>
<ul>
<li> udev rules, which already can detect a grouping of USB devices that constitute a terminal, can now tell X to ignore or use particular devices more easily through udev attributes and more dynamic/independent xorg.conf.d scripts.</li>
<li> udev is now the default configuration mechanism (the torch has been passed from the less flexible hal)</li>
</ul>
<p>So the challenges to explore are now more in the area of ConsoleKit integration and whether we can use these new capabilities support not just pure-USB multiseat setups, but also a mix of seats with PCIe attached graphics, and with fully USB seats.</p>
]]></content:encoded>
			<wfw:commentRss>http://plugable.com/2010/04/02/xorg-server-1-8-0-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

