<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
	
	>
<channel>
	<title>Comments on: Misc. Linux Questions</title>
	<atom:link href="https://braid-game.com/news/2008/08/misc-linux-questions/feed/" rel="self" type="application/rss+xml" />
	<link>https://braid-game.com/news/2008/08/misc-linux-questions/</link>
	<description></description>
	<lastBuildDate>Wed, 25 May 2016 15:09:43 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.7.2</generator>
	<item>
		<title>By: Cathryn</title>
		<link>https://braid-game.com/news/2008/08/misc-linux-questions/#comment-5905757</link>
		<dc:creator><![CDATA[Cathryn]]></dc:creator>
		<pubDate>Sat, 18 Oct 2014 08:27:45 +0000</pubDate>
		<guid isPermaLink="false">https://braid-game.com/news/?p=364#comment-5905757</guid>
		<description><![CDATA[Thanks for fijnally writung about &#062; Braid ? Blog Archive ? Misc.
Linux Questions &#060; Loved it!]]></description>
		<content:encoded><![CDATA[<p>Thanks for fijnally writung about &gt; Braid ? Blog Archive ? Misc.<br />
Linux Questions &lt; Loved it!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex</title>
		<link>https://braid-game.com/news/2008/08/misc-linux-questions/#comment-9266</link>
		<dc:creator><![CDATA[Alex]]></dc:creator>
		<pubDate>Tue, 18 Jan 2011 15:26:46 +0000</pubDate>
		<guid isPermaLink="false">https://braid-game.com/news/?p=364#comment-9266</guid>
		<description><![CDATA[John,
Like many others here, I feel the need to apologize for the grief that many of these responses have put you through, and find it amazing that the thread is alive over two years after it started.

Anyway, I find Tomek\&#039;s comment about his test program for SDL audio interesting. If that isn\&#039;t sufficiently low-latency, then JACK probably is the way to go.

If I were you, I would ship JACK along with Braid, attempt to connect to a running server and start your own copy if there isn\&#039;t one. JACK takes a bit of setup to determine the best latency offered by the hardware available, but once you\&#039;ve determined what latency is available, JACK will guarantee the latency settings you give it. Just spend some time playing with JACK settings in QJackCtl on your own machine to see how buffer sizes can effect latency.]]></description>
		<content:encoded><![CDATA[<p>John,<br />
Like many others here, I feel the need to apologize for the grief that many of these responses have put you through, and find it amazing that the thread is alive over two years after it started.</p>
<p>Anyway, I find Tomek\&#8217;s comment about his test program for SDL audio interesting. If that isn\&#8217;t sufficiently low-latency, then JACK probably is the way to go.</p>
<p>If I were you, I would ship JACK along with Braid, attempt to connect to a running server and start your own copy if there isn\&#8217;t one. JACK takes a bit of setup to determine the best latency offered by the hardware available, but once you\&#8217;ve determined what latency is available, JACK will guarantee the latency settings you give it. Just spend some time playing with JACK settings in QJackCtl on your own machine to see how buffer sizes can effect latency.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tomek Bury</title>
		<link>https://braid-game.com/news/2008/08/misc-linux-questions/#comment-8684</link>
		<dc:creator><![CDATA[Tomek Bury]]></dc:creator>
		<pubDate>Wed, 15 Sep 2010 13:20:54 +0000</pubDate>
		<guid isPermaLink="false">https://braid-game.com/news/?p=364#comment-8684</guid>
		<description><![CDATA[Here&#039;s SDL bug report I filed:

http://bugzilla.libsdl.org/show_bug.cgi?id=1052

It outlines the problems and suggests use of XInput2 as a solution.]]></description>
		<content:encoded><![CDATA[<p>Here&#8217;s SDL bug report I filed:</p>
<p><a href="http://bugzilla.libsdl.org/show_bug.cgi?id=1052" rel="nofollow">http://bugzilla.libsdl.org/show_bug.cgi?id=1052</a></p>
<p>It outlines the problems and suggests use of XInput2 as a solution.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tomek Bury</title>
		<link>https://braid-game.com/news/2008/08/misc-linux-questions/#comment-8683</link>
		<dc:creator><![CDATA[Tomek Bury]]></dc:creator>
		<pubDate>Wed, 15 Sep 2010 10:27:59 +0000</pubDate>
		<guid isPermaLink="false">https://braid-game.com/news/?p=364#comment-8683</guid>
		<description><![CDATA[Hello Jonathan,

As for the mouse what you might need are not events from mouse *cursor* but from *mouse* itself. 

I&#039;m not sure how is it implemented in SDL but a quick test I made suggest SDL does not report actual mouse movements. SDL seems to recreate them from mouse cursor movements, which has issues with focus and edges you were experiencing.

I suggest to try this command:

$ xinput test-xi2 &quot;Virtual core pointer&quot;

It should report relative *mouse* movements (event type 17), regardless of mouse cursor position, edges, focus and so on. This is what you&#039;re after if I understood correctly. This also what SDL should report, if you ask me.  

Whan the mouse cursor happens to be over the xinput window, you&#039;ll also get mouse *cursor* events reported (event type 6), which contain cursor position, both, absolute and relative to the window.

Cheers,
Tomek]]></description>
		<content:encoded><![CDATA[<p>Hello Jonathan,</p>
<p>As for the mouse what you might need are not events from mouse *cursor* but from *mouse* itself. </p>
<p>I&#8217;m not sure how is it implemented in SDL but a quick test I made suggest SDL does not report actual mouse movements. SDL seems to recreate them from mouse cursor movements, which has issues with focus and edges you were experiencing.</p>
<p>I suggest to try this command:</p>
<p>$ xinput test-xi2 &#8220;Virtual core pointer&#8221;</p>
<p>It should report relative *mouse* movements (event type 17), regardless of mouse cursor position, edges, focus and so on. This is what you&#8217;re after if I understood correctly. This also what SDL should report, if you ask me.  </p>
<p>Whan the mouse cursor happens to be over the xinput window, you&#8217;ll also get mouse *cursor* events reported (event type 6), which contain cursor position, both, absolute and relative to the window.</p>
<p>Cheers,<br />
Tomek</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tomek Bury</title>
		<link>https://braid-game.com/news/2008/08/misc-linux-questions/#comment-8673</link>
		<dc:creator><![CDATA[Tomek Bury]]></dc:creator>
		<pubDate>Tue, 14 Sep 2010 07:47:46 +0000</pubDate>
		<guid isPermaLink="false">https://braid-game.com/news/?p=364#comment-8673</guid>
		<description><![CDATA[Hello Jonathan,

I wrote a small SDL program to test audio latency on Ubuntu Lucid. I can not notice it. 

The program is crude but does roughly what you want to achieve. It plays back an audio from a buffer using SDLs callback. On key press it resets the read pointer and additionally toggles background colour. There&#039;s no noticeable delay. 

The SDL by default chooses playback through Pulse. I haven&#039;t modified any audio preferences on my box and I was using libSDL from Ubuntu repository.

I can send you the source, if you&#039;re interested.]]></description>
		<content:encoded><![CDATA[<p>Hello Jonathan,</p>
<p>I wrote a small SDL program to test audio latency on Ubuntu Lucid. I can not notice it. </p>
<p>The program is crude but does roughly what you want to achieve. It plays back an audio from a buffer using SDLs callback. On key press it resets the read pointer and additionally toggles background colour. There&#8217;s no noticeable delay. </p>
<p>The SDL by default chooses playback through Pulse. I haven&#8217;t modified any audio preferences on my box and I was using libSDL from Ubuntu repository.</p>
<p>I can send you the source, if you&#8217;re interested.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James</title>
		<link>https://braid-game.com/news/2008/08/misc-linux-questions/#comment-8624</link>
		<dc:creator><![CDATA[James]]></dc:creator>
		<pubDate>Wed, 01 Sep 2010 20:29:45 +0000</pubDate>
		<guid isPermaLink="false">https://braid-game.com/news/?p=364#comment-8624</guid>
		<description><![CDATA[I have Linux 10 &#038; the audio is making a constant high pitched whining sound. I have no idea what the problem is.If you can help me I&#039;d greatly appreciate it. Thanx]]></description>
		<content:encoded><![CDATA[<p>I have Linux 10 &amp; the audio is making a constant high pitched whining sound. I have no idea what the problem is.If you can help me I&#8217;d greatly appreciate it. Thanx</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: cheesybagel</title>
		<link>https://braid-game.com/news/2008/08/misc-linux-questions/#comment-8396</link>
		<dc:creator><![CDATA[cheesybagel]]></dc:creator>
		<pubDate>Thu, 10 Jun 2010 23:35:00 +0000</pubDate>
		<guid isPermaLink="false">https://braid-game.com/news/?p=364#comment-8396</guid>
		<description><![CDATA[For all you Apple zealots ranting about the superiority of XCode over GCC and GDB, I remind you that XCode uses the GCC and GDB you loathe underneath. It merely provides some UI sugar on top of these tools.

I remember using the DDD graphical interactive UI for GDB like a decade ago. DDD features debugging data display capabilities that I have never seen in any of these supposedly superior IDEs you mentioned. Oh and I do use Visual Studio 10 on Windows on occasion. The fact is VS isn&#039;t that great a tool for developing C/C++ code. Try merely visualizing a linked list data structure in one of those IDE debuggers and you will see what I mean.

Emacs and Vim with their zillion extensions can do anything an high end C/C++ IDE can do and more. If you have some kind of phobia of multiple CTRL key combos or have a defective Escape key, you can always use Eclipse CDT for C/C++.

As for the solutions to the sound and mouse problems, Ryan C. Gordon said it all here in the start of the thread. Use SDL for everything you can in your game. If you need sophisticated audio use OpenAL. If you need 3D graphics use OpenGL.

Hitting the lower level multimedia API layers in Linux sucks. It also sucks on Windows. Just do not use them unless you are a middleware person, like an SDL or OpenAL developer. Last time I tried that battle (on Windows and Linux) I spent so much time chasing platform dependent bugs and writing backends for zillions of mostly deprecated low level APIs someone, somewhere, still used, that I went back to middleware sound APIs.]]></description>
		<content:encoded><![CDATA[<p>For all you Apple zealots ranting about the superiority of XCode over GCC and GDB, I remind you that XCode uses the GCC and GDB you loathe underneath. It merely provides some UI sugar on top of these tools.</p>
<p>I remember using the DDD graphical interactive UI for GDB like a decade ago. DDD features debugging data display capabilities that I have never seen in any of these supposedly superior IDEs you mentioned. Oh and I do use Visual Studio 10 on Windows on occasion. The fact is VS isn&#8217;t that great a tool for developing C/C++ code. Try merely visualizing a linked list data structure in one of those IDE debuggers and you will see what I mean.</p>
<p>Emacs and Vim with their zillion extensions can do anything an high end C/C++ IDE can do and more. If you have some kind of phobia of multiple CTRL key combos or have a defective Escape key, you can always use Eclipse CDT for C/C++.</p>
<p>As for the solutions to the sound and mouse problems, Ryan C. Gordon said it all here in the start of the thread. Use SDL for everything you can in your game. If you need sophisticated audio use OpenAL. If you need 3D graphics use OpenGL.</p>
<p>Hitting the lower level multimedia API layers in Linux sucks. It also sucks on Windows. Just do not use them unless you are a middleware person, like an SDL or OpenAL developer. Last time I tried that battle (on Windows and Linux) I spent so much time chasing platform dependent bugs and writing backends for zillions of mostly deprecated low level APIs someone, somewhere, still used, that I went back to middleware sound APIs.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: srdagalp</title>
		<link>https://braid-game.com/news/2008/08/misc-linux-questions/#comment-8248</link>
		<dc:creator><![CDATA[srdagalp]]></dc:creator>
		<pubDate>Sun, 23 May 2010 12:04:42 +0000</pubDate>
		<guid isPermaLink="false">https://braid-game.com/news/?p=364#comment-8248</guid>
		<description><![CDATA[I am a Linux user and programmer, and if  I move from Windows to Linux my way to work does not fit in the windows. The same goes for windows to linux. Anyway when I need to work on windows I focus on having the job done, and do not write to Microsoft to make comparisons between what I have in Linux. All these posts and debates about what is best seem to me useless, the conversation should be about reaching a goal. Apparently Jonathan Blow just want to unload their frustrations about linux on who have the patience to answer it, and for what?]]></description>
		<content:encoded><![CDATA[<p>I am a Linux user and programmer, and if  I move from Windows to Linux my way to work does not fit in the windows. The same goes for windows to linux. Anyway when I need to work on windows I focus on having the job done, and do not write to Microsoft to make comparisons between what I have in Linux. All these posts and debates about what is best seem to me useless, the conversation should be about reaching a goal. Apparently Jonathan Blow just want to unload their frustrations about linux on who have the patience to answer it, and for what?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tayron</title>
		<link>https://braid-game.com/news/2008/08/misc-linux-questions/#comment-8205</link>
		<dc:creator><![CDATA[Tayron]]></dc:creator>
		<pubDate>Tue, 11 May 2010 10:45:02 +0000</pubDate>
		<guid isPermaLink="false">https://braid-game.com/news/?p=364#comment-8205</guid>
		<description><![CDATA[quote:
Jonathan Blow Says:
September 9th, 2008 at 9:29 am 
SDL_GetMouseState only tells you the position of the mouse pointer, not how much the user has moved the mouse.

I don&#039;t mean to be disrespectful, but that&#039;s extremely easy to do. just keep the old mouse position and subtract it from the new one, each update...]]></description>
		<content:encoded><![CDATA[<p>quote:<br />
Jonathan Blow Says:<br />
September 9th, 2008 at 9:29 am<br />
SDL_GetMouseState only tells you the position of the mouse pointer, not how much the user has moved the mouse.</p>
<p>I don&#8217;t mean to be disrespectful, but that&#8217;s extremely easy to do. just keep the old mouse position and subtract it from the new one, each update&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: JP</title>
		<link>https://braid-game.com/news/2008/08/misc-linux-questions/#comment-8179</link>
		<dc:creator><![CDATA[JP]]></dc:creator>
		<pubDate>Sun, 25 Apr 2010 02:06:16 +0000</pubDate>
		<guid isPermaLink="false">https://braid-game.com/news/?p=364#comment-8179</guid>
		<description><![CDATA[Wow, worst thread ever.  Sorry to see you got so many negative or useless responses, Jon.

If your patience with Linux isn&#039;t still completely exhausted, you could try to write up the problems you ran into - the most purely technical, non-tool (IDE, debugger) ones at least - with X input and OpenAL as bugs or requests to those respective projects.  If the answer you get is the dreaded &lt;a href=&quot;http://chrishecker.com/You_Don%27t_Need_That&quot; rel=&quot;nofollow&quot;&gt;You Don&#039;t Need That&lt;/a&gt;, well, screw them.  If not, then maybe someone in the future will find the platform less lacking.

If you&#039;re paying someone else to do a port, definitely get them to write a postmortem or wishlist of &quot;things that would have made this much easier&quot;.

Barely anyone is really thinking strategically about games on Linux right now, whereas there are thousands of people at MSFT whose full-time job is to improve their platforms.  So it&#039;s a question of first steps.

My hope is that if a few developers started speaking up with experiences like yours, at least some of the drivers of the big component projects might take notice.  Like you said earlier though, it requires some participation on the part of the game devs, and encountering even a bit of regressive resistance is enough to make anyone feel like they&#039;re wasting their precious time.

Linux has grown to where it is now by people scratching itches, though, and if the drivers of this hypercomplex messy amalgam of an OS at least know the itch exists, maybe someday the benefits would start to exceed the costs of said participation.

Until then, though, it&#039;s kind of like volunteering at a homeless shelter, but with more irascible nerds.]]></description>
		<content:encoded><![CDATA[<p>Wow, worst thread ever.  Sorry to see you got so many negative or useless responses, Jon.</p>
<p>If your patience with Linux isn&#8217;t still completely exhausted, you could try to write up the problems you ran into &#8211; the most purely technical, non-tool (IDE, debugger) ones at least &#8211; with X input and OpenAL as bugs or requests to those respective projects.  If the answer you get is the dreaded <a href="http://chrishecker.com/You_Don%27t_Need_That" rel="nofollow">You Don&#8217;t Need That</a>, well, screw them.  If not, then maybe someone in the future will find the platform less lacking.</p>
<p>If you&#8217;re paying someone else to do a port, definitely get them to write a postmortem or wishlist of &#8220;things that would have made this much easier&#8221;.</p>
<p>Barely anyone is really thinking strategically about games on Linux right now, whereas there are thousands of people at MSFT whose full-time job is to improve their platforms.  So it&#8217;s a question of first steps.</p>
<p>My hope is that if a few developers started speaking up with experiences like yours, at least some of the drivers of the big component projects might take notice.  Like you said earlier though, it requires some participation on the part of the game devs, and encountering even a bit of regressive resistance is enough to make anyone feel like they&#8217;re wasting their precious time.</p>
<p>Linux has grown to where it is now by people scratching itches, though, and if the drivers of this hypercomplex messy amalgam of an OS at least know the itch exists, maybe someday the benefits would start to exceed the costs of said participation.</p>
<p>Until then, though, it&#8217;s kind of like volunteering at a homeless shelter, but with more irascible nerds.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
