<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml"
>

<channel>
	<title>xyzzy xyzzy... &#187; linux</title>
	<atom:link href="http://xyzzyxyzzy.net/topics/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://xyzzyxyzzy.net</link>
	<description>...you are in a grid of twisty, little links, all alike. there's a teleport gate here.</description>
	<lastBuildDate>Thu, 19 Jan 2012 10:09:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>adding a USB monitor</title>
		<link>http://xyzzyxyzzy.net/2011/03/09/adding-a-usb-monitor/</link>
		<comments>http://xyzzyxyzzy.net/2011/03/09/adding-a-usb-monitor/#comments</comments>
		<pubDate>Wed, 09 Mar 2011 13:30:18 +0000</pubDate>
		<dc:creator>dirk husemann</dc:creator>
				<category><![CDATA[hacking]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[directvnc]]></category>
		<category><![CDATA[displaylink]]></category>
		<category><![CDATA[third monitor]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[vnc]]></category>
		<category><![CDATA[vnc2dl]]></category>

		<guid isPermaLink="false">http://xyzzyxyzzy.net/?p=540</guid>
		<description><![CDATA[i&#8217;ve long been using an external 22&#8243; monitor with my ubuntu linux powered X200 thinkpad. while ubuntu maverick (10.10) has some issues with attaching and detaching the second monitor and subsequent suspend–resume cycles (the second suspend after a detach would not resume, d&#8217;oh), ubuntu lucid (10.04.02) works just fine (as befitting a long-term-support release). for [...]]]></description>
			<content:encoded><![CDATA[<p>i&#8217;ve long been using an external 22&#8243; monitor with my ubuntu linux powered X200 thinkpad. while ubuntu maverick (10.10) has some issues with attaching and detaching the second monitor and subsequent suspend–resume cycles (the second suspend after a detach would not resume, d&#8217;oh), ubuntu lucid (10.04.02) works just fine (as befitting a long-term-support release).</p>

<p>for quite a while i&#8217;ve had the old 20&#8243; monitor which i had been using previously sitting on my desktop along with an <a href="http://en.wikipedia.org/wiki/DisplayLink">USB DisplayLink</a> adapter — the idea being to hook the old monitor up as well as a third monitor<sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup>. the displaylink driver provided by ubuntu lucid seemed to work properly — the monitor&#8217;s screen would turn green on connecting it and a framebuffer device (<code>/dev/fb1</code>) and so i tried various recipes floating around on ubuntu forums and elsewhere — all promising to achieve a grand unified desktop comprising all three monitors — and they either didn&#8217;t work or if they achieved the <em>grand unified desktop</em> it was unusable.</p>

<p>so, after another prolonged period during which the monitor and the displaylink adapter gathered even more dust, i tried a different approach: give up on the grand unified desktop goal and instead just try to make use of the monitor. the idea this time was to start up a <a href="http://en.wikipedia.org/wiki/Virtual_Network_Computing">VNC</a> server, then use a VNC client to directly render the server into the framebuffer device (<code>/dev/fb1</code>) provided by linux&#8217;s displaylink driver. the vncserver bit is actually quite easy:</p>

<p><pre class="brush: bash; title: ; notranslate">
vncserver -name hidden -geometry 1600x1200 -depth 16 :42
</pre></p>

<p>which starts a VNC server for the <code>:42</code> display.</p>

<p>the VNC client bit turned out to be a bit more difficult. ubuntu lucid does have <code>directvnc</code> client which is &#8220;a vnc client for the linux framebuffer device&#8221;<sup id="fnref:2"><a href="#fn:2" rel="footnote">2</a></sup>. that client does seem to require keyboard and mouse access and in some configurations did not work at all or locked up my keyboard (not the mouse, though, funnily enough) or crashed the running X session, so no points on that one. further research luckily turned up <a href="https://github.com/quentinsf/vnc2dl">vnc2dl</a> by none other than quentin stafford-fraser one of the <a href="http://en.wikipedia.org/wiki/Virtual_Network_Computing#History">original VNC developers</a> (and also the <a href="http://en.wikipedia.org/wiki/Quentin_Stafford-Fraser">inventor of the webcam</a> it seems). <code>vnc2dl</code> seemed a bit more promising and — after slightly modifying<sup id="fnref:3"><a href="#fn:3" rel="footnote">3</a></sup> <code>dldevice.c</code> — did do the job:</p>

<p><pre class="brush: bash; title: ; notranslate">
sudo vnc2dl :42
</pre></p>

<p>next up was fusing display :42 to my main display :0 on a keyboard and mouse level so that i could just move the mouse pointer over to the left and end up on display :42 — here <code>x2x</code> (in the equally named ubuntu package) came into play:</p>

<p><pre class="brush: bash; title: ; notranslate">
x2x -west -to :42 &gt;/dev/null 2&gt;&amp;1 &amp;
</pre></p>

<p>and, hey, presto!, both displays are linked mouse and keyboard wise.</p>

<p>only thing still bothering me was that cut and paste was not working. to fix that required adding</p>

<p><pre class="brush: bash; title: ; notranslate">
vncconfig -nowin &amp;
</pre></p>

<p>to my <code>.vnc/xstartup</code> file.</p>

<p>to have firefox run on display :42 required creation of a new firefox profile — i added that to <code>.vnc/xstartup</code> as well.<sup id="fnref:4"><a href="#fn:4" rel="footnote">4</a></sup></p>

<div class="footnotes">
<hr />
<ol>

<li id="fn:1">
<p>yep, even more screen real estate; can&#8217;t have enough of that:  the ur-IDE emacs in one screen, instant messaging app pidgin on the other (for communicating with the team), the third screen would be really useful to host a firefox window with the API docs and so forth.&#160;<a href="#fnref:1" rev="footnote">&#8617;</a></p>
</li>

<li id="fn:2">
<p>see <code>man directvnc</code> for more information about that one.&#160;<a href="#fnref:2" rev="footnote">&#8617;</a></p>
</li>

<li id="fn:3">
<p><code>vnc2dl</code> in the version on <a href="https://github.com/quentinsf/vnc2dl">quentin&#8217;s github</a> is hard-wired to 1280&#215;1040/24bpp which my old monitor doesn&#8217;t quite grok, changing the wiring to 1600&#215;1200/16bpp made it more grokkable for my setup.&#160;<a href="#fnref:3" rev="footnote">&#8617;</a></p>
</li>

<li id="fn:4">
<p>to get the new profile synchronized with the default profile i used firefox&#8217;s recently added <em>Firefox Sync</em> add-on.&#160;<a href="#fnref:4" rev="footnote">&#8617;</a></p>
</li>

</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://xyzzyxyzzy.net/2011/03/09/adding-a-usb-monitor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point featurename="[47.308883299155255, 8.544209003448486]">47.308883299155255 8.544209003448486</georss:point>
	</item>
		<item>
		<title>fixing failing suspend on maverick system</title>
		<link>http://xyzzyxyzzy.net/2010/12/30/fixing-failing-suspend-on-maverick-system/</link>
		<comments>http://xyzzyxyzzy.net/2010/12/30/fixing-failing-suspend-on-maverick-system/#comments</comments>
		<pubDate>Thu, 30 Dec 2010 13:26:40 +0000</pubDate>
		<dc:creator>dirk husemann</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[maverick]]></category>
		<category><![CDATA[suspend/resume]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://xyzzyxyzzy.net/?p=476</guid>
		<description><![CDATA[i recently got my first real desktop system &#8212; as in: not a thinkpad. it&#8217;s an 8 core, 8GB, 1 terabyte system with an nvidia graphics chipset allowing two large displays to be powered: really sweet. installing ubuntu maverick 10.10 from the alternate install CD1 was simple and straight forward. installing the latest nvidia drivers [...]]]></description>
			<content:encoded><![CDATA[<p>i recently got my first real desktop system &#8212; as in: not a thinkpad. it&#8217;s an 8 core, 8GB, 1 terabyte system with an nvidia graphics chipset allowing two large displays to be powered: really sweet. installing ubuntu maverick 10.10 from the alternate install CD<sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup> was simple and straight forward. installing the latest nvidia drivers from the <a href="https://launchpad.net/~ubuntu-x-swat/+archive/x-updates"><code>x-updates</code> ppa</a> and running <code>nvidia-xconfig</code> provides the correct configuration for the 1920&#215;1200 display (second display on order <img src='http://xyzzyxyzzy.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  and, except for suspend&#8211;resume, everything works fine.</p>

<p>the issue with suspend&#8211;resume is that the machine goes through the motions of suspending but then just comes back <img src='http://xyzzyxyzzy.net/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' />  d&#8217;oh. googling around for &#8220;maverick suspend problem&#8221; i stumble over a <a href="http://art.ubuntuforums.org/showthread.php?t=1614891">post in the ubuntu forums</a> citing the <a href="https://wiki.ubuntu.com/MaverickMeerkat/ReleaseNotes">maverick release notes</a> &#8212;</p>

<blockquote>
  <p><em>When the XHCI module is loaded for USB 3.0 operation the system cannot suspend.</em> Manually unloading XHCI will allow suspend to complete normally. To avoid future suspend problems, the workaround is to add SUSPEND_MODULES=&#8221;xhci-hcd&#8221; to /etc/pm/config.d/unload_module then the system can suspend normally.</p>
</blockquote>

<p>&#8212; hmph. following those instructions, suspend&#8211;resume are working. <img src='http://xyzzyxyzzy.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>

<div class="footnotes">
<hr />
<ol>

<li id="fn:1">
<p>&#8230;to be able to use disk level encryption! the home directory encryption offered by the normal ubuntu install CD suffers from path length issues and also stability issues. disk level encryption has so far worked quite well and we use it on <em>all</em> our machines now.&#160;<a href="#fnref:1" rev="footnote">&#8617;</a></p>
</li>

</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://xyzzyxyzzy.net/2010/12/30/fixing-failing-suspend-on-maverick-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point featurename="[47.131074826701266, 8.747992515563965]">47.131074826701266 8.747992515563965</georss:point>
	</item>
		<item>
		<title>debianized rezzme</title>
		<link>http://xyzzyxyzzy.net/2010/01/05/debianized-rezzme/</link>
		<comments>http://xyzzyxyzzy.net/2010/01/05/debianized-rezzme/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 10:50:03 +0000</pubDate>
		<dc:creator>dirk husemann</dc:creator>
				<category><![CDATA[from the grid]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[opensim]]></category>
		<category><![CDATA[redhat]]></category>
		<category><![CDATA[rezzme]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://xyzzyxyzzy.net/?p=381</guid>
		<description><![CDATA[the latest rezzme now contains the necessary code to build debian/ubuntu dpkgs &#8212; making it as easy to install rezzme packages on the latest debian/ubuntu systems as it already is for windows and mac OSX machines as the dpkg format allows me to explicitly specify the prerequisites (such as PyQt4). while working on the dpkg [...]]]></description>
			<content:encoded><![CDATA[<p>the <a href="http://github.com/drscofield/rezzme">latest rezzme</a> now contains the necessary code to build debian/ubuntu dpkgs &#8212; making it as easy to install rezzme packages on the latest debian/ubuntu systems as it already is for windows and mac OSX machines as the dpkg format allows me to explicitly specify the prerequisites (such as PyQt4).</p>

<p>while working on the dpkg support i also found out that debian/ubuntu has the very useful <code>/etc/firefox-3.0</code>, <code>/etc/firefox-3.5</code>, and <code>/etc/thunderbird</code> directories that allow me to provide package specific javascript to, for example, add a protocol handler for the <code>rezzme:</code> URI scheme. that along with gnome&#8217;s gconf tool gives us the same seamless rezzme user experience as on windows or mac OSX &#8212; unfortunately, it seems that nothing comparable exists for redhat/fedora based systems.<sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup></p>

<p>also the windows build code has been cleaned up and the no longer required dependency on setuptools removed.</p>

<div class="footnotes">
<hr />
<ol>

<li id="fn:1">
<p>at least i couldn&#8217;t find anything comparable; if you know how to do this &#8212; independent of minor version upgrades of firefox and thunderbird &#8212; i&#8217;d appreciate it very much to learn about that.&#160;<a href="#fnref:1" rev="footnote">&#8617;</a></p>
</li>

</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://xyzzyxyzzy.net/2010/01/05/debianized-rezzme/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<georss:point featurename="[47.131074826701266, 8.747992515563965]">47.131074826701266 8.747992515563965</georss:point>
	</item>
		<item>
		<title>using F19/F20 to switch tabs in thunderbird 3</title>
		<link>http://xyzzyxyzzy.net/2009/12/09/using-f19f20-to-switch-tabs-in-thunderbird-3/</link>
		<comments>http://xyzzyxyzzy.net/2009/12/09/using-f19f20-to-switch-tabs-in-thunderbird-3/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 17:14:18 +0000</pubDate>
		<dc:creator>dirk husemann</dc:creator>
				<category><![CDATA[hacking]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[keyconfig]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[tabbed UI]]></category>
		<category><![CDATA[tabmail]]></category>
		<category><![CDATA[TB3]]></category>
		<category><![CDATA[thunderbird 3]]></category>

		<guid isPermaLink="false">http://xyzzyxyzzy.net/?p=375</guid>
		<description><![CDATA[i just switched over from thunderbird 2 to the new sparkly thunderbird 3 &#8212; and i like it very much. particularly the tabbed user interface is quite nice but also lightning 1.0 seems to cope much better with those lotus notes generated calender invites what did bother me was that i couldn&#8217;t find an easy [...]]]></description>
			<content:encoded><![CDATA[<p>i just switched over from thunderbird 2 to the new sparkly thunderbird 3 &#8212; and i like it very much. particularly the tabbed user interface is quite nice but also lightning 1.0 seems to cope much better with those lotus notes generated calender invites <img src='http://xyzzyxyzzy.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>

<p>what did bother me was that i couldn&#8217;t find an easy to use function for <a href="http://forums.mozillazine.org/viewtopic.php?f=48&amp;t=72994">keyconfig</a> to bind the <em>page left</em> and <em>page right</em> keys (aka F19 and F20) of my X200 keyboard to &#8220;previous tab&#8221; and &#8220;next tab&#8221;. after some digging i stumbled across the mozilla thunderbird 3 <a href="http://mxr.mozilla.org/comm-central/source/mail/base/content/tabmail.xml">tabmail</a> page which then allowed me to figure out how to create the code for keyconfig:</p>

<p><pre class="brush: jscript; title: ; notranslate">
// next tab
var windowManager = Components.classes['@mozilla.org/appshell/window-mediator;1'].
    getService(Components.interfaces.nsIWindowMediator);
var winId = windowManager.getMostRecentWindow(&quot;mail:3pane&quot;);
var tabmail = winId.document.getElementById('tabmail')
tabmail.switchToTab((tabmail.tabContainer.selectedIndex + 1) % tabmail.tabInfo.length)
</pre>
and
<pre class="brush: jscript; title: ; notranslate">
// previous tab
var windowManager = Components.classes['@mozilla.org/appshell/window-mediator;1'].
    getService(Components.interfaces.nsIWindowMediator);
var winId = windowManager.getMostRecentWindow(&quot;mail:3pane&quot;);
var tabmail = winId.document.getElementById('tabmail')
tabmail.switchToTab((tabmail.tabContainer.selectedIndex + tabmail.tabInfo.length - 1) % tabmail.tabInfo.length)
</pre></p>

<p>copy &amp; paste the code snippets and use <a href="http://forums.mozillazine.org/viewtopic.php?f=48&amp;t=72994">keyconfig&#8217;s</a> &#8220;add key&#8221; feature to bind the code to whatever key you&#8217;d like to use.</p>
]]></content:encoded>
			<wfw:commentRss>http://xyzzyxyzzy.net/2009/12/09/using-f19f20-to-switch-tabs-in-thunderbird-3/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<georss:point featurename="[47.131074826701266, 8.747992515563965]">47.131074826701266 8.747992515563965</georss:point>
	</item>
		<item>
		<title>fixing ugly {emacs, firefox} fonts on (x)ubuntu karmic</title>
		<link>http://xyzzyxyzzy.net/2009/11/23/fixing-ugly-emacs-firefox-fonts-on-xubuntu-karmic/</link>
		<comments>http://xyzzyxyzzy.net/2009/11/23/fixing-ugly-emacs-firefox-fonts-on-xubuntu-karmic/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 15:52:50 +0000</pubDate>
		<dc:creator>dirk husemann</dc:creator>
				<category><![CDATA[hacking]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[fontconfig]]></category>
		<category><![CDATA[karmic]]></category>
		<category><![CDATA[KDE 4]]></category>
		<category><![CDATA[kubuntu]]></category>
		<category><![CDATA[ugly fonts]]></category>
		<category><![CDATA[XFCE]]></category>
		<category><![CDATA[xubuntu]]></category>

		<guid isPermaLink="false">http://xyzzyxyzzy.net/?p=371</guid>
		<description><![CDATA[i recently switched all my systems from running kubuntu hardy heron 08.04.02 to xubuntu karmic koala 09.101 &#8212; a rather pleasant switch over. the only thing that was bothering me was the really crappy fonts in firefox and emacs. in firefox, no matter what i configured in firefox itself or in the appearance settings dialog [...]]]></description>
			<content:encoded><![CDATA[<p>i recently switched all my systems from running kubuntu hardy heron
08.04.02 to <em>xubuntu karmic koala 09.10</em><sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup> &#8212; a rather pleasant
switch over. the only thing that was bothering me was the really
crappy fonts in firefox and emacs. in firefox, no matter what i
configured in firefox itself or in the appearance settings dialog of
xubuntu (tried both gnome-control-center and XFCE&#8217;s appearance dialog)
the fonts would still be blurry and below a certain size unreadable
almost. in emacs i was suffering from the blurriness plus humongous
menu fonts (i am getting older, i know, but so far i don&#8217;t need that
large a print, really).</p>

<p>after a lot of research i finally managed to track it down to the following:</p>

<ol>
<li>firefox doesn&#8217;t seem to be really interested in what the user&#8217;s
desktop settings say, the only guy it will listen to is fontconfig
configured via <code>/etc/fonts/conf.d</code>! </li>
<li>to get rid of the blurry fonts i needed to drop the
<code>10-hinting-{full,medium,slight}.conf</code> from fontconfig&#8217;s
<code>/etc/fonts.conf.d</code> directory</li>
</ol>

<p>that fixed the blurry fonts in firefox and emacs.</p>

<p>to get emacs menu&#8217;s back to a more sensible size i had to edit
<code>$HOME/.emacs.d/gtkrc</code> &#8212; changing the default face via <code>M-x
customize-face</code> only affected the buffer and modeline fonts but not
the menu itself. i&#8217;m using the DejaVu Sans fonts, so my <code>gktrc</code> file
looks like this:</p>

<pre><code>style "user-font"
{
    font_name="DejaVu Sans 8"
}
widget_class "*" style "user-font"
gtk-font-name="DejaVu Sans 8"

style "default"
{
    font_name="DejaVu Sans 8"
    bg[NORMAL] = { 1.0, 1.0, 1.0 }
}
</code></pre>

<p>that one fixed emacs.</p>

<div class="footnotes">
<hr />
<ol>

<li id="fn:1">
<p>yes, i did try kubuntu 09.10 in the hopes that the KDE 4 gang
  had gotten their act together and had produced by now something
  as usuable (as opposed to blinky, flashy, sparkly) as KDE 3.5
  &#8212; alas, that hope was in vain: a lot of the features that i&#8217;d
  valued in KDE 3.5 were still missing, usability was still not on
  par with KDE 3.5&#8242;s usability &#8212; but, hey, it&#8217;s blinky, flashy,
  sparkly, surely that counts for something? no, not really. i&#8217;m
  less interested in being an onlooker in the continuing
  GUI-blinky, flashy, sparkly pissing contest with windows/mac
  osx, and rather interested in a desktop that i can adapt to my
  needs <strong>without</strong> having to go on an archaeological expedition
  into the innards of KDE 4. sorry about that.</p>

<p>and, also, yes, i know about the KDE 3.5 repo for karmic &#8212;
  tried that, in fact, it mostly works, but with <CTRL-ALT-DEL>
  producing &#8220;cannot contact session manager&#8221; (no matter which
  session manager i tried) that was no longer usable
  either. really sorry.&#160;<a href="#fnref:1" rev="footnote">&#8617;</a></p>
</li>

</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://xyzzyxyzzy.net/2009/11/23/fixing-ugly-emacs-firefox-fonts-on-xubuntu-karmic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point featurename="[48.04114700748514, 10.723342895507812]">48.04114700748514 10.723342895507812</georss:point>
	</item>
		<item>
		<title>japanese language support for OpenSim</title>
		<link>http://xyzzyxyzzy.net/2009/09/01/japanese-language-support-for-opensim/</link>
		<comments>http://xyzzyxyzzy.net/2009/09/01/japanese-language-support-for-opensim/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 14:07:57 +0000</pubDate>
		<dc:creator>dirk husemann</dc:creator>
				<category><![CDATA[from the grid]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[fonts]]></category>
		<category><![CDATA[japanese]]></category>
		<category><![CDATA[kochi mincho]]></category>
		<category><![CDATA[opensim]]></category>
		<category><![CDATA[unicode]]></category>

		<guid isPermaLink="false">http://xyzzyxyzzy.net/?p=353</guid>
		<description><![CDATA[a colleague of mine in japan contacted us asking whether our in-world collaboration tools could be extended to support japanese characters &#8212; he had tried our internal, public sametime 3d servers and had noticed that while in-world chat and instant messaging worked just fine, our flipcharts, brain storming boards, calendar, and voting tools did just [...]]]></description>
			<content:encoded><![CDATA[<p>a colleague of mine in japan contacted us asking whether our in-world
collaboration tools could be extended to support japanese characters
&#8212; he had tried our internal, public <em>sametime 3d</em> servers and had
noticed that while in-world chat and instant messaging worked just
fine, our flipcharts, brain storming boards, calendar, and voting
tools did just display rather boring little rectangles <img src='http://xyzzyxyzzy.net/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </p>

<p>not good. even worse when it means lost leads. so i set out to
investigate. since OpenSim <strong>is</strong> being used in japan, it was a fair
assumption that we might have a font problem here. this was confirmed
by <a href="http://twitter.com/AdamFrisby/status/3555720286">a twitter from
adamfrisby</a>:</p>

<blockquote>
  <p>@DrScofield so it should load fine.Only issue you need to be aware
  of is fonts &#8211; you need to use a font with the correct charset
  availible.</p>
</blockquote>

<p>so, first port of call: how are we specifying the font to use for text
rendering? digging through the OpenSim source i ended up in the
<code>VectorRenderModule</code>:</p>

<p><pre class="brush: csharp; title: ; notranslate">
    private void GDIDraw(string data, Graphics graph, char dataDelim)
    {
        Point startPoint = new Point(0, 0);
        Point endPoint = new Point(0, 0);
        Pen drawPen = new Pen(Color.Black, 7);
        string fontName = &quot;Arial&quot;;
        float fontSize = 14;
        Font myFont = new Font(fontName, fontSize);
        SolidBrush myBrush = new SolidBrush(Color.Black);
        ...
</pre></p>

<p>gulp: we&#8217;ve got it <em>hard coded</em> <img src='http://xyzzyxyzzy.net/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </p>

<p>so, next question: can we change it dynamically? looking through the
code, it seems like we might:</p>

<p><pre class="brush: csharp; title: ; notranslate">
    ...
    else if (nextLine.StartsWith(&quot;FontName&quot;))
    {
        nextLine = nextLine.Remove(0, 8);
        fontName = nextLine.Trim();
        myFont = new Font(fontName, fontSize);
    }
    ...
</pre></p>

<p>except, hmph, there is no <code>osSetFontName()</code> OSSL function <img src='http://xyzzyxyzzy.net/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </p>

<p>a couple of <a href="http://en.wikipedia.org/wiki/SMOP">SMOP</a>s later, we had <code>osSetFontName()</code> and could also
configure the default font name in <code>OpenSim.ini</code>, good. now to figure
out which linux font would do the trick.</p>

<p>i tried:<sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup></p>

<ul>
<li><em>Arial</em> &#8212; no good: doesn&#8217;t have japanese script support</li>
<li><em>DejaVu Sans/Serif</em> &#8212; again, no good, no japanese script support</li>
<li><em>Kochi Mincho</em> &#8212; works!</li>
</ul>

<p>&#8212; the configuration for that one is:</p>

<p><pre class="brush: plain; title: ; notranslate">
[VectorRender]
    font_name = &quot;Kochi Mincho&quot;
</pre></p>

<p>my next quest was to see whether i could find a font that would
support the whole range: european scripts as well as japanese and also
chinese.</p>

<p>&#8230;unfortunately, while windows users have <em>Arial Unicode MS</em> there is
no such complete beast available to linux users &#8212; yes, there are
fonts such as <em>bitstream cybit</em>, but their license conditions either
don&#8217;t allow commercial use or only for a single user. so, if you are
running under linux you need to localize your OpenSim installation via
<code>OpenSim.ini</code>.</p>

<p>but! at least we figured out how to get japanese character sets
supported in OpenSim on linux and can now configure one of our
<em>sametime 3d</em> servers to support japanese OpenSim users properly! <img src='http://xyzzyxyzzy.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>

<div class="footnotes">
<hr />
<ol>

<li id="fn:1">
<p>lest you get the wrong impression: i know <strong>no</strong> japanese,
  instead i&#8217;m using <a href="http://translate.google.com/translate_t#en|ja|OpenSim%20rocks!">google translate</a> to produce suchs gems as
  &#8220;OpenSimは岩！&#8221;<sup id="fnref:2"><a href="#fn:2" rel="footnote">2</a></sup>&#160;<a href="#fnref:1" rev="footnote">&#8617;</a></p>
</li>

<li id="fn:2">
<p>and hoping that the good folks at google don&#8217;t do a &#8220;<a href="http://www.imdb.com/title/tt0259446/quotes">Έχω τρεις
  όρχεις</a>&#8221; on me&#8230;&#160;<a href="#fnref:2" rev="footnote">&#8617;</a></p>
</li>

</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://xyzzyxyzzy.net/2009/09/01/japanese-language-support-for-opensim/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point featurename="[47.308883299155255, 8.544209003448486]">47.308883299155255 8.544209003448486</georss:point>
	</item>
		<item>
		<title>threading opensim through mono needles</title>
		<link>http://xyzzyxyzzy.net/2009/04/22/threading-opensim-through-mono-needles/</link>
		<comments>http://xyzzyxyzzy.net/2009/04/22/threading-opensim-through-mono-needles/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 08:07:04 +0000</pubDate>
		<dc:creator>dirk husemann</dc:creator>
				<category><![CDATA[from the grid]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[opensim]]></category>
		<category><![CDATA[sametime3d]]></category>
		<category><![CDATA[threading]]></category>

		<guid isPermaLink="false">http://xyzzyxyzzy.net/?p=274</guid>
		<description><![CDATA[our Sametime3D test server is running a number of regions, some of them are rather on the monster side of things with gazillion scripts (ah, those brainstorming boards). until recently our opensim startup scripts would just grap a copy of mono and let it loose on OpenSim.exe and things would be working just fine. sometime [...]]]></description>
			<content:encoded><![CDATA[<p>our Sametime3D test server is running a number of regions, some of
them are rather on the monster side of things with gazillion scripts
(ah, those brainstorming boards). until recently our opensim startup
scripts would just grap a copy of mono and let it loose on
<code>OpenSim.exe</code> and things would be working just fine.</p>

<p>sometime over the course of the last 10&#8211;14 days opensim must have
crossed some (invisible) line drawn in the sandy thread beaches of
monomania, as all of a sudden we noticed that three-avatar-meetings
were working fine (chat &amp; movement work) but as soon as we were joined
by the fourth avatar, things came to a grinding halt: no movement, no
chat (voice was still working but that&#8217;s to be expected as SL voice is
pretty much running independent most of the time from what&#8217;s going on
inside the region).</p>

<p>after some nose cone polishing, some more befuddled staring at the log
files, and not finding anything immediately obvious, i went and
discussed this problem with fellow opensimers on our intranet IRC
opensim channel &#8212; <a href="http://dague.net/">sean</a> had the good idea of mentioning the
<a href="http://www.mono-project.com/ThreadPool_DeadLocks"><code>MONO_THREADS_PER_CPU</code> environment variable.</a> checking
our startup script (just to make sure) showed that we were not setting
it &#8212; and, thus, it was at its default setting of 50&#8230;</p>

<p>&#8230;so we went ahead and added it, setting it to 500. why 500? good
question. and a question to which there is no clear answer: ask two
opensimers and you&#8217;ll likely get three different recommendations, i&#8217;ve
heard 75, 500, 1000, and also 2000. <a href="http://www.mail-archive.com/mono-list@lists.ximian.com/msg29284.html">ralf haifisch recently tried to
obtain clarity on this issue</a> but so far the exact
value for <code>MONO_THREADS_PER_CPU</code> remains a bit of magic.</p>

<p>and, guess what? that did the trick, it seems. we got over the three-avatar-limit.</p>
]]></content:encoded>
			<wfw:commentRss>http://xyzzyxyzzy.net/2009/04/22/threading-opensim-through-mono-needles/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<georss:point featurename="[47.308883299155255, 8.544209003448486]">47.308883299155255 8.544209003448486</georss:point>
	</item>
		<item>
		<title>updated mono build script: mono 2.2</title>
		<link>http://xyzzyxyzzy.net/2009/02/17/updated-mono-build-script-mono-22/</link>
		<comments>http://xyzzyxyzzy.net/2009/02/17/updated-mono-build-script-mono-22/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 14:55:20 +0000</pubDate>
		<dc:creator>dirk husemann</dc:creator>
				<category><![CDATA[from the grid]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[opensim]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://xyzzyxyzzy.net/?p=264</guid>
		<description><![CDATA[here is the updated mono-build script for ubuntu hardy (intrepid might work as well). update: since posting this i&#8217;ve been experiencing intermittent (that is, non-deterministic) mono crashes when running OpenSim, and have reverted to mono 2.0.1 which runs much more stable.]]></description>
			<content:encoded><![CDATA[<p><a href="http://xyzzyxyzzy.net/wp-content/uploads/2009/02/mono-22-build2.sh">here is the updated mono-build script</a> for ubuntu hardy (intrepid might work as well).</p>

<p><strong>update:</strong> since posting this i&#8217;ve been experiencing intermittent (that is, non-deterministic) mono crashes when running OpenSim, and have reverted to mono 2.0.1 which runs much more stable.</p>
]]></content:encoded>
			<wfw:commentRss>http://xyzzyxyzzy.net/2009/02/17/updated-mono-build-script-mono-22/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		<georss:point featurename="[47.308883299155255, 8.544209003448486]">47.308883299155255 8.544209003448486</georss:point>
	</item>
		<item>
		<title>the mystery of the blank opengl window on screen 2</title>
		<link>http://xyzzyxyzzy.net/2009/01/08/the-mystery-of-the-blank-opengl-window-on-screen-2/</link>
		<comments>http://xyzzyxyzzy.net/2009/01/08/the-mystery-of-the-blank-opengl-window-on-screen-2/#comments</comments>
		<pubDate>Thu, 08 Jan 2009 18:01:15 +0000</pubDate>
		<dc:creator>dirk husemann</dc:creator>
				<category><![CDATA[hacking]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[research]]></category>
		<category><![CDATA[glxgears]]></category>
		<category><![CDATA[hardy]]></category>
		<category><![CDATA[kubuntu]]></category>
		<category><![CDATA[opengl]]></category>
		<category><![CDATA[second display]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://xyzzyxyzzy.net/?p=240</guid>
		<description><![CDATA[the x200 i&#8217;m using has enough omph to power OpenGL on both the builtin display and the 1600&#215;1200 external display. unfortunately whenever i moved that glxgears window on to the second screen it would just show&#8230;nothing. googling around for that showed that a number of people had the same problem but nobody had found a [...]]]></description>
			<content:encoded><![CDATA[<p>the <a href="http://www.thinkwiki.org/wiki/Category:X200">x200</a> i&#8217;m using has enough omph to power OpenGL on both the builtin display <strong>and</strong> the 1600&#215;1200 external display. unfortunately whenever i moved that <code>glxgears</code> window on to the second screen it would just show&#8230;nothing. googling around for that showed that a number of people had the same problem but nobody had found a solution.</p>

<p>repeated staring at the <code>intel(4)</code> man pages resulted in the hunch to try and switch from EXA acceleration to XAA acceleration</p>

<pre><code>Section "Device"
Identifier      "intel"
Driver          "intel"

Option          "monitor-VGA" "VGA"
Option          "monitor-LVDS" "LVDS"

Option          "AccelMethod" "XAA"
EndSection
</code></pre>

<p>an X server restart later, and, voilá!, <code>glxgears</code> shows its gears on
screen 2. problem solved.</p>
]]></content:encoded>
			<wfw:commentRss>http://xyzzyxyzzy.net/2009/01/08/the-mystery-of-the-blank-opengl-window-on-screen-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point featurename="[47.308883299155255, 8.544209003448486]">47.308883299155255 8.544209003448486</georss:point>
	</item>
		<item>
		<title>mono 2.0 build script</title>
		<link>http://xyzzyxyzzy.net/2009/01/06/mono-20-build-script/</link>
		<comments>http://xyzzyxyzzy.net/2009/01/06/mono-20-build-script/#comments</comments>
		<pubDate>Tue, 06 Jan 2009 15:04:02 +0000</pubDate>
		<dc:creator>dirk husemann</dc:creator>
				<category><![CDATA[from the grid]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[build script]]></category>
		<category><![CDATA[mono-2.0]]></category>
		<category><![CDATA[opensim]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://xyzzyxyzzy.net/?p=226</guid>
		<description><![CDATA[a little while ago i posted a shell script to build mono 1.9.1 on ubuntu. since then mono 2.0.1 has been released and today i finally took some time to update the build script. have fun.]]></description>
			<content:encoded><![CDATA[<p>a little while ago <a href="http://xyzzyxyzzy.net/2008/03/27/installing-mono-19/">i posted a shell script to build mono 1.9.1</a> on ubuntu. since then <a href="http://www.mono-project.com/Main_Page">mono 2.0.1</a> has been released and today i finally took some time to update the <a href="http://xyzzyxyzzy.net/wp-content/uploads/2009/01/mono-2-build1.sh">build script</a>. have fun.</p>
]]></content:encoded>
			<wfw:commentRss>http://xyzzyxyzzy.net/2009/01/06/mono-20-build-script/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<georss:point featurename="[47.308883299155255, 8.544209003448486]">47.308883299155255 8.544209003448486</georss:point>
	</item>
	</channel>
</rss>

