<?xml version='1.0' encoding='utf-8' ?>

<rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/' xmlns:atom10='http://www.w3.org/2005/Atom'>
<channel>
  <title>kernel_joe</title>
  <link>https://kernel-joe.dreamwidth.org/</link>
  <description>kernel_joe - Dreamwidth Studios</description>
  <lastBuildDate>Wed, 24 Aug 2011 17:42:13 GMT</lastBuildDate>
  <generator>LiveJournal / Dreamwidth Studios</generator>
  <lj:journal>kernel_joe</lj:journal>
  <lj:journaltype>personal</lj:journaltype>
  <image>
    <url>https://v2.dreamwidth.org/935785/762926</url>
    <title>kernel_joe</title>
    <link>https://kernel-joe.dreamwidth.org/</link>
    <width>64</width>
    <height>64</height>
  </image>

<item>
  <guid isPermaLink='true'>https://kernel-joe.dreamwidth.org/1313.html</guid>
  <pubDate>Wed, 24 Aug 2011 17:42:13 GMT</pubDate>
  <title>Интервью с Артуром Выжинским</title>
  <link>https://kernel-joe.dreamwidth.org/1313.html</link>
  <description>Вчера зашел в IRC на канал #haiku@irc.freenode.net и распизделись с чувачком Артурчиком из Польши. В конце взял у него интервью по поводу его работы и планов. Надо понимать что ни я ни он английского не знаем.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Artur Wyszynski&lt;/strong&gt;&lt;br /&gt;Haiku OpenGL Kit&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 51, 153); &quot;&gt;&lt;strong&gt;Maxim&lt;/strong&gt;&lt;/span&gt;: Tell us about yourself ?&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 0, 0); &quot;&gt;&lt;strong&gt;Artur&lt;/strong&gt;&lt;/span&gt;: I&apos;m a 27 years old, working as a game developer in GameLion Studios,&amp;nbsp;long time BeOS user and almost 2-3 years Haiku developer :)&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 51, 153); &quot;&gt;&lt;strong&gt;Maxim&lt;/strong&gt;&lt;/span&gt;: What is current OpenGL state in Haiku ?&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 0, 0); &quot;&gt;&lt;strong&gt;Artur&lt;/strong&gt;&lt;/span&gt;: OpenGL state in Haiku OpenGL Kit is so simple that even Windows GL API beat us in that&amp;nbsp;manner it was designed 10-12 years ago, without current GPU&apos;s&amp;nbsp;multi-threading&amp;nbsp;rendering etc.&amp;nbsp;My plan if nobody beats me is to implement TTM memory menager in kernel,&amp;nbsp;then port DRM on kernel side, provide a simple test cases which shows that it works&amp;nbsp;and then rewrite from scratch Haiku OpenGL kit but as a base use Apple&apos;s OpenGL framework.&amp;nbsp;It&apos;s mature, well designed and great :)&lt;br /&gt;&lt;br /&gt;For example, current implementation of OpenGL Kit doesn&apos;t allow you to have more contexts,&amp;nbsp;and for example, current engines uses multiple threads in their engines and in current design you can&apos;t divide application to use multiple context,&amp;nbsp;for example one to render, one to process, one to physics etc.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 51, 153); &quot;&gt;&lt;strong&gt;Maxim&lt;/strong&gt;&lt;/span&gt;: Tell us about &lt;a href=&quot;http://en.wikipedia.org/wiki/Gallium3D&quot;&gt;Gallium3D&lt;/a&gt; in Haiku ?&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 0, 0); &quot;&gt;&lt;strong&gt;Artur&lt;/strong&gt;&lt;/span&gt;: softpipe in Ggallium3D takes a role of a reference driver. If you want to write&amp;nbsp;driver for gallium you can take a look at softpipe. It&apos;s a pure software implementation,&amp;nbsp;designed without performance in mind but as a reference. It doesn&apos;t touch GPU,&amp;nbsp;and works only on cpu. There is a fork of softpipe, called llvmpipe, which uses LLVM to&amp;nbsp;produce highly optimized multithreaded code, which on linux (pure software without GPU)&amp;nbsp;can play Open Arena game at 32 fps on 800x600. It&apos;s pretty amazing, pure mesa have&amp;nbsp;performance at 3-5 fps.&lt;br /&gt;&lt;br /&gt;First I need to implement TTM and DRM, then I could focus on bringing OpenGL kit up to date.&amp;nbsp;TTM is an API for managing memory on GPU&apos;s, DRM is a direct rendering manager,&amp;nbsp;kernel side implementation of how to talk to graphics card, popular on Linux.&amp;nbsp;I&apos;m using code from FreeBSD and some parts from Linux. But lately I&apos;m trying to&amp;nbsp;get more from Linux as FreeBSD port of Mesa and GL stack at all isn&apos;t complete as much as Linux ones.&amp;nbsp;But there are limits, for example linux GL stack on kernel side (DRM) is GPL&apos;ed and&amp;nbsp;on Haiku we are focusing on having much not GPL code as we can.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 51, 153); &quot;&gt;&lt;strong&gt;Maxim&lt;/strong&gt;&lt;/span&gt;: You mentioned LLVM. Will you use it ?&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 0, 0); &quot;&gt;&lt;strong&gt;Artur&lt;/strong&gt;&lt;/span&gt;: LLVM is a Low Level Virtual Machine, it&apos;s another topic, but it allows&amp;nbsp;to generate higly optimized code for cpu. Nope, i&apos;m not planning to use it.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=&quot;color: rgb(51, 51, 153); &quot;&gt;Maxim&lt;/span&gt;&lt;/strong&gt;: What GPU will be accelerated first in plans ?&lt;br /&gt;&lt;strong&gt;&lt;span style=&quot;color: rgb(255, 0, 0); &quot;&gt;Artur&lt;/span&gt;&lt;/strong&gt;: What GPU ? Which I have, nVidia :D If we&apos;re going to provide an OpenGL Kit,&amp;nbsp;it should be a fully accelerated by GPU, not a software implementation.&amp;nbsp;But really, my plans are first to use VMware vGPU driver and if it works,&amp;nbsp;then try with real hardware. VMware vGPU is a virtual GPU architecture, which translates&amp;nbsp;guests OpenGL calls into native calls from hosts, so you can get native performance&amp;nbsp;from your nvidia card running on linux on your Haiku runned from VMware.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 51, 153); &quot;&gt;&lt;strong&gt;Maxim&lt;/strong&gt;&lt;/span&gt;: Will Haiku support Linux DRM drivers ?&lt;br /&gt;&lt;strong&gt;&lt;span style=&quot;color: rgb(255, 0, 0); &quot;&gt;Artur&lt;/span&gt;&lt;/strong&gt;: If we don&apos;t want to reinvent the wheel on haiku, we should implement DRM on our&amp;nbsp;side and use stable, bug-free linux drivers. TTM and DRM are to be implemented&amp;nbsp;as kernel mode code. And Haiku DRM will provide DRM API that is compatible on source level&amp;nbsp;with Linux DRM drivers, similar as it was done by our colleages with FreeBSD&amp;nbsp;network compatibility layer which we have for network drivers.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=kernel_joe&amp;ditemid=1313&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://kernel-joe.dreamwidth.org/1313.html</comments>
  <category>interviews</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
</channel>
</rss>
