<?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>Ray Strode &#187; Graphical Boot</title>
	<atom:link href="http://blogs.gnome.org/halfline/category/graphical-boot/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.gnome.org/halfline</link>
	<description>So...</description>
	<lastBuildDate>Tue, 17 Nov 2009 15:43:27 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Plymouth Multi-head support</title>
		<link>http://blogs.gnome.org/halfline/2009/09/29/plymouth-multi-head-support/</link>
		<comments>http://blogs.gnome.org/halfline/2009/09/29/plymouth-multi-head-support/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 20:03:27 +0000</pubDate>
		<dc:creator>halfline</dc:creator>
				<category><![CDATA[Graphical Boot]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/halfline/?p=52</guid>
		<description><![CDATA[So it&#8217;s been a while since I&#8217;ve blogged.
This is just a short blog post to say that I landed multi-head support on plymouth master yesterday.  More details here:
http://lists.freedesktop.org/archives/plymouth/2009-September/000188.html
What this means is the boot splash redraws itself once per monitor,  in a way that looks good for the native resolution each monitor.  Previously, we&#8217;d draw right [...]]]></description>
			<content:encoded><![CDATA[<p>So it&#8217;s been a while since I&#8217;ve blogged.</p>
<p>This is just a short blog post to say that I landed multi-head support on plymouth master yesterday.  More details here:</p>
<p>http://lists.freedesktop.org/archives/plymouth/2009-September/000188.html</p>
<p>What this means is the boot splash redraws itself once per monitor,  in a way that looks good for the native resolution each monitor.  Previously, we&#8217;d draw right on the fb console, which is cloned across all monitors.  That made the splash have large black margins on some monitors, or look stretched.</p>
<p>One implication of this change is we now use libdrm directly when possible instead of going through the /dev/fb interface.</p>
<p>We still don&#8217;t do any accelerated rendering.  We don&#8217;t really need it, since plymouth splashes are normally designed to be very simple (Think &#8220;cell phone splash&#8221; not &#8220;3D video grame&#8221;).</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/halfline/2009/09/29/plymouth-multi-head-support/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>detached directories</title>
		<link>http://blogs.gnome.org/halfline/2007/06/18/detached-directories/</link>
		<comments>http://blogs.gnome.org/halfline/2007/06/18/detached-directories/#comments</comments>
		<pubDate>Mon, 18 Jun 2007 16:57:55 +0000</pubDate>
		<dc:creator>halfline</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Graphical Boot]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/halfline/2007/06/18/detached-directories/</guid>
		<description><![CDATA[So one thing I wanted for my Graphical Boot stuff was a standalone environment for it to work in.  I wanted it to have its own /proc, device nodes, etc, because it gets run so early in the boot process that those things aren&#8217;t set up yet globally. If   I make my [...]]]></description>
			<content:encoded><![CDATA[<p>So one thing I wanted for my <a href="http://blogs.gnome.org/halfline/2007/06/09/graphical-boot-up">Graphical Boot</a> stuff was a standalone environment for it to work in.  I wanted it to have its own /proc, device nodes, etc, because it gets run so early in the boot process that those things aren&#8217;t set up yet globally. If   I make my program set them up globally, then other parts of the boot process get confused that things are set up already.  What I really want is my own private directory that only my process can see and that goes away when my process exits.</p>
<p>This is something you can do with <em>individual</em> files pretty easily.  Something like:<br />
<code><br />
int fd;<br />
char file[] ="/tmp/XXXXXX";<br />
fd = mkstemp (file);<br />
unlink (file);<br />
</code><br />
It turns out you can do something similar with directories, too, although there are some caveats.  If your program</p>
<ol>
<li>creates a temp directory</li>
<li>mounts a ram filesystem in the directory</li>
<li>opens the directory and stores the file descriptor somewhere</li>
<li>lazily unmounts the ram filesystem</li>
<li>remove the temp directory</li>
</ol>
<p>Then the directory will no longer be visible from the filesystem, but will exist as long as the stored file descriptor is opened.  The program can fchdir() to the directory using the saved file descriptor and work with it.  Now some of the caveats are:</p>
<ol>
<li>the program needs to be root to mount the filesystem</li>
<li>MNT_DETACH (the mount flag used to lazily unmount a filesystem) is unsupported api</li>
<li>you can&#8217;t mount other filesystems in your detached directory</li>
</ol>
<p>Overall, it&#8217;s kind of a neat concept, but those caveats make it fairly impractical to use.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/halfline/2007/06/18/detached-directories/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
