<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Knowledge Base (Posts about jj2)</title><link>https://bgstack15.ddns.net/blog/</link><description></description><atom:link href="https://bgstack15.ddns.net/blog/categories/jj2.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2024 &lt;a href="mailto:bgstack15@gmail.com"&gt;bgstack15&lt;/a&gt; 
&lt;a rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/"&gt;
&lt;img alt="Creative Commons License BY-SA"
style="border-width:0; margin-bottom:12px;"
src="https://bgstack15.ddns.net/.images/l_by-sa_4.0_88x31.png"&gt;&lt;/a&gt;</copyright><lastBuildDate>Sun, 11 Feb 2024 14:11:56 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>X11 wine window not visible: Jazz Jackrabbit 2</title><link>https://bgstack15.ddns.net/blog/posts/2024/02/11/x11-wine-window-not-visible-jazz-jackrabbit-2/</link><dc:creator>bgstack15</dc:creator><description>&lt;p&gt;One of my applications, &lt;a href="https://bgstack15.ddns.net/blog/outbound/https:/www.gog.com/en/game/jazz_jackrabbit_2_collection"&gt;Jazz Jackrabbit 2&lt;/a&gt;, had a problem where the window would not be visible, but the game is running.&lt;/p&gt;
&lt;p&gt;After testing with using a wine virtual desktop environment (failed) and a different wine context (worked), I realized the problem lies between wine and the game. I learned that by deleting the registry key the game uses to store its window state (full screen or windowed) was somehow invalid or incorrect.&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;HKLM\Software\Epic MegaGames\Jazz Jackrabbit 2 Special Edition
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;And anywhere else this Software path would be in the registry, such as HKCU. And then run the game, and you can view the game.&lt;/p&gt;
&lt;p&gt;And a link to the JJ2 community: &lt;a href="https://bgstack15.ddns.net/blog/outbound/https:/www.jazz2online.com/"&gt;Jazz Jackrabbit Online - Jazz Jackrabbit News, Information and Downloads on Jazz Jackrabbit 1, Jazz Jackrabbit 2, and Jazz Jackrabbit Advance - Jazz2Online&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Alternate research&lt;/h2&gt;
&lt;p&gt;I had done a lot of searching for &lt;code&gt;x11 make window visible&lt;/code&gt;. How you would do that is with xdotool:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;$ xwininfo -root -children &lt;span class="p"&gt;|&lt;/span&gt; grep -i mktrayicon
     0x1c00001 &lt;span class="s2"&gt;"mktrayicon"&lt;/span&gt;: &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"mktrayicon"&lt;/span&gt; &lt;span class="s2"&gt;"Mktrayicon"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;  10x10+10+10  +10+10
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;And then you can plug in the id force it to be visible.&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;$ xdotool windowmap 0x1c00001
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;But even after doing that with JJ2 did not make the game contents display.&lt;/p&gt;</description><category>jj2</category><category>wine</category><category>x11</category><guid>https://bgstack15.ddns.net/blog/posts/2024/02/11/x11-wine-window-not-visible-jazz-jackrabbit-2/</guid><pubDate>Sun, 11 Feb 2024 13:51:19 GMT</pubDate></item><item><title>Fix Jazz Jackrabbit 2 on Wine</title><link>https://bgstack15.ddns.net/blog/posts/2018/07/28/fix-jazz-jackrabbit-2-on-wine/</link><dc:creator>bgstack15</dc:creator><description>&lt;pre class="code literal-block"&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="mi"&gt;0009&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;err&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;seh&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;setup_exception_record&lt;/span&gt; &lt;span class="n"&gt;stack&lt;/span&gt; &lt;span class="n"&gt;overflow&lt;/span&gt; &lt;span class="mi"&gt;992&lt;/span&gt; &lt;span class="n"&gt;bytes&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="n"&gt;thread&lt;/span&gt; &lt;span class="mi"&gt;0009&lt;/span&gt; &lt;span class="n"&gt;eip&lt;/span&gt; &lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="n"&gt;e572f2a&lt;/span&gt; &lt;span class="n"&gt;esp&lt;/span&gt; &lt;span class="mi"&gt;00240&lt;/span&gt;&lt;span class="n"&gt;f50&lt;/span&gt; &lt;span class="n"&gt;stack&lt;/span&gt; &lt;span class="mh"&gt;0x240000&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mh"&gt;0x241000&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mh"&gt;0x340000&lt;/span&gt;
&lt;span class="mi"&gt;0044&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;err&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;ntdll&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;RtlpWaitForCriticalSection&lt;/span&gt; &lt;span class="n"&gt;section&lt;/span&gt; &lt;span class="mh"&gt;0x7e5cb7a0&lt;/span&gt; &lt;span class="s2"&gt;"freetype.c: freetype_cs"&lt;/span&gt; &lt;span class="n"&gt;wait&lt;/span&gt; &lt;span class="n"&gt;timed&lt;/span&gt; &lt;span class="n"&gt;out&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="n"&gt;thread&lt;/span&gt; &lt;span class="mi"&gt;0044&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="n"&gt;blocked&lt;/span&gt; &lt;span class="n"&gt;by&lt;/span&gt; &lt;span class="mi"&gt;0009&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="n"&gt;retrying&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;60&lt;/span&gt; &lt;span class="n"&gt;sec&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="o"&gt;^&lt;/span&gt;&lt;span class="n"&gt;C0045&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;fixme&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;console&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;CONSOLE_DefaultHandler&lt;/span&gt; &lt;span class="n"&gt;Terminating&lt;/span&gt; &lt;span class="n"&gt;process&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt; &lt;span class="n"&gt;on&lt;/span&gt; &lt;span class="n"&gt;event&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This issue was particularly difficult to nail down. At one point, I saw a
stack trace (but failed to save the output) where some amd driver was the
next-to-last in the stack, so I think this issue is related to my AMD Radeon
card (nothing to write home about). The error tends to happen when loading a
new level of the game. However, it is possible to trigger it within a level.
Running the game with the "-Safe" flag to run in safe mode prevents the
crashes entirely. I thought at first the freetype.c thing meant it was font-
related, and that possibly I was missing an i686 package for a font. However,
I had every i686 package for every x86_64 one, so it wasn't loading the wrong
type. I also ensured I started wine with WINEARCH=win32. I eventually fixed
the issue by changing the game settings for the audio! &lt;strong&gt;To prevent game
crashes&lt;/strong&gt; , you need to configure "Sound &amp;amp; Music Properties" and uncheck "Use
DirectSound (faster)." If you leave that option checked, it will crash the
game usually when loading levels.&lt;/p&gt;</description><category>game</category><category>jj2</category><category>wine</category><guid>https://bgstack15.ddns.net/blog/posts/2018/07/28/fix-jazz-jackrabbit-2-on-wine/</guid><pubDate>Sat, 28 Jul 2018 12:46:13 GMT</pubDate></item></channel></rss>