<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>Z-Ray Documentation</title>
    <link rel="self" type="application/atom+xml" href="https://docs.z-ray.de/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://docs.z-ray.de"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2025-12-28T17:38:00+00:00</updated>
    <id>https://docs.z-ray.de/atom.xml</id>
    <entry xml:lang="en">
        <title>Facetracker FAQ</title>
        <published>2025-12-28T17:38:00+00:00</published>
        <updated>2025-12-28T17:38:00+00:00</updated>
        
        <author>
          <name>
            Vortex Acherontic
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://docs.z-ray.de/facetracker/faq/"/>
        <id>https://docs.z-ray.de/facetracker/faq/</id>
        
        <content type="html" xml:base="https://docs.z-ray.de/facetracker/faq/">&lt;h2 id=&quot;why-does-facetracker-not-use-portals-to-access-webcams&quot;&gt;Why does Facetracker not use Portals to access Webcams&lt;&#x2F;h2&gt;
&lt;p&gt;While in theory Facetracker could use Portals to access webcam devices it is OpenSeeFace which uses OpenVC to access webcams which in return has a hard requirement on Video4Linux2 (v4l2). Video 4 Linux 2 is the legacy API to access webcam devices on Linux and Unix based systems. To work with Portals it is required to access Webcams via PipeWire as Portals do not magically map a v4l2 device into the Flatpak sandbox. OpenVC however does not work with PipeWire and depends on v4l2.&lt;&#x2F;p&gt;
&lt;p&gt;We could implement a dummy webcam which mimics a v4l2 device but actually talks to PipeWire. But this means a lot of additional work we&#x27;re not willing to invest.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;opencv&#x2F;opencv&#x2F;issues&#x2F;23045&quot;&gt;OpenVC PipeWire support&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;codeberg.org&#x2F;ZRayEntertainment&#x2F;Facetracker&#x2F;issues&#x2F;22&quot;&gt;Facetracker attempt to implement Portals - #22&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;does-facetracker-support-handtracking&quot;&gt;Does Facetracker support handtracking?&lt;&#x2F;h2&gt;
&lt;p&gt;No. Facetracker is only an OpenSeeFace wrapper application which does not have support for handtracking.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;does-facetracker-use-gpu-acceleration&quot;&gt;Does Facetracker use GPU Acceleration?&lt;&#x2F;h2&gt;
&lt;p&gt;While the GTK4 interface itself is GPU accelerated this does not apply for the facetracker of OpenSeeFace. This one only runs on CPU.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;where-can-i-find-the-source-code-of-facetracker&quot;&gt;Where can I find the source code of Facetracker?&lt;&#x2F;h2&gt;
&lt;p&gt;The source code of Facetracker is hosted on &lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;codeberg.org&#x2F;ZRayEntertainment&#x2F;Facetracker&quot;&gt;Codeberg&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;where-can-i-install-facetracker-from&quot;&gt;Where can I install Facetracker from?&lt;&#x2F;h2&gt;
&lt;p&gt;Officially we only support &lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;flathub.org&#x2F;apps&#x2F;de.z_ray.Facetracker&quot;&gt;Flathub&lt;&#x2F;a&gt; as a distribution platform. It might still very well be possible for any Linux Distribution to ship Facetracker in their repositories.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Installing Kalpa Desktop</title>
        <published>2025-12-28T14:25:00+00:00</published>
        <updated>2025-12-28T14:25:00+00:00</updated>
        
        <author>
          <name>
            Vortex Acherontic
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://docs.z-ray.de/docs/kalpa-desktop-install-guide/"/>
        <id>https://docs.z-ray.de/docs/kalpa-desktop-install-guide/</id>
        
        <content type="html" xml:base="https://docs.z-ray.de/docs/kalpa-desktop-install-guide/">&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;kalpa&#x2F;kalpa-inline.webp&quot; title=&quot;openSUSE MicroOS Installer GRUb Screen&quot; alt=&quot;openSUSE MicroOS Installer GRUb Screen&quot;&gt;
&lt;&#x2F;div&gt;  
While Kalpa Desktop is aimed at novice users due to it&#x27;s ALPHA development stage it is not very trivial to install it. Once setup even your grandma can use it. On this page we describe the necessary steps to install and setup Kalpa Desktop.
&lt;h2 id=&quot;prepare-installer&quot;&gt;Prepare installer&lt;&#x2F;h2&gt;
&lt;ol&gt;
&lt;li&gt;Download the openSUSE MicroOS ISO from &lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;download.opensuse.org&#x2F;tumbleweed&#x2F;iso&#x2F;openSUSE-MicroOS-DVD-x86_64-Current.iso&quot;&gt;here&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Burn the ISO onto a USB stick with at least 4 GB
&lt;ul&gt;
&lt;li&gt;On &lt;strong&gt;Windows&lt;&#x2F;strong&gt; you may want to use &lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;rufus.ie&#x2F;&quot;&gt;&lt;strong&gt;Rufus&lt;&#x2F;strong&gt;&lt;&#x2F;a&gt; for this&lt;&#x2F;li&gt;
&lt;li&gt;On &lt;strong&gt;Linux&lt;&#x2F;strong&gt; you may want to use &lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;flathub.org&#x2F;en&#x2F;apps&#x2F;io.gitlab.adhami3310.Impression&quot;&gt;&lt;strong&gt;Impression&lt;&#x2F;strong&gt;&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Note:&lt;&#x2F;strong&gt; Some might prefer &lt;del&gt;&lt;strong&gt;Balena Etcher&lt;&#x2F;strong&gt;&lt;&#x2F;del&gt;, but this tool is known to &lt;strong&gt;modify&lt;&#x2F;strong&gt; the installer image&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Attention:&lt;&#x2F;strong&gt; Make sure you do not have any important files on that &lt;strong&gt;USB drive&lt;&#x2F;strong&gt; as all data will be &lt;strong&gt;erased&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h2 id=&quot;install-kalpa&quot;&gt;Install Kalpa&lt;&#x2F;h2&gt;
&lt;p&gt;Once the installer has been copied onto a USB drive as explained above you now need to stick it into the target device where Kalpa should be installed. Shutdown the system if it is running and while booting it up press &lt;em&gt;F1&lt;&#x2F;em&gt;, &lt;em&gt;F12&lt;&#x2F;em&gt;, &lt;em&gt;DEL&lt;&#x2F;em&gt;, &lt;em&gt;ESC&lt;&#x2F;em&gt; to enter the &lt;em&gt;UEFI Boot menu&lt;&#x2F;em&gt;. Which button applies depends on the device and UEFI.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;start-the-installer&quot;&gt;Start the installer&lt;&#x2F;h3&gt;
&lt;p&gt;After the system has booted from the USB drive the &lt;em&gt;openSUSE MicroOS&lt;&#x2F;em&gt; boot menu should appear. Select &lt;em&gt;Installation&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;kalpa&#x2F;microos-installer-grub.webp&quot; title=&quot;openSUSE MicroOS GRUB Screen&quot; alt=&quot;openSUSE MicroOS GRUB Screen&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;Afterwards wait for the actual installer to boot up. This may take a while.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;language-and-keyboard&quot;&gt;Language and Keyboard&lt;&#x2F;h3&gt;
&lt;p&gt;As the first step, after the installer has been loaded, choose your preferred langauge and keyboard layout.&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;kalpa&#x2F;microos-installer-language.webp&quot; title=&quot;openSUSE MicroOS Language Selection&quot; alt=&quot;openSUSE MicroOS Language Selection&quot;&gt;
&lt;&#x2F;div&gt;
&lt;h3 id=&quot;system-role&quot;&gt;System Role&lt;&#x2F;h3&gt;
&lt;p&gt;Afterwards the installer ask for the System Role. As Kalpa currently shared the same installer as the server orientated MicroOS there are several MicroOS roles. Choose &lt;strong&gt;openSUSE Kalpa (Plasma) [ALPHA]&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;kalpa&#x2F;microos-installer-system-role.webp&quot; title=&quot;openSUSE MicroOS System Role Selection&quot; alt=&quot;openSUSE MicroOS System Role Selection&quot;&gt;
&lt;&#x2F;div&gt;
&lt;h3 id=&quot;ntp-configuration&quot;&gt;NTP Configuration&lt;&#x2F;h3&gt;
&lt;p&gt;You can leave this screen as it and just advance with &lt;strong&gt;Next&lt;&#x2F;strong&gt;.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;local-user&quot;&gt;Local User&lt;&#x2F;h3&gt;
&lt;p&gt;Now you can setup the default user for the new Kalpa system. It is recommended to setup at least one user here.&lt;&#x2F;p&gt;
&lt;p&gt;Choose as &lt;em&gt;User&#x27;s Full Name&lt;&#x2F;em&gt; anything you&#x27;d like. &lt;em&gt;Username&lt;&#x2F;em&gt; will then be filled automatically.&lt;&#x2F;p&gt;
&lt;p&gt;Set any &lt;em&gt;Password&lt;&#x2F;em&gt; you&#x27;d like. Additionally you can &lt;em&gt;Use this password for system administrator&lt;&#x2F;em&gt; (root) if you do not plan on remembering two different passwords. &lt;em&gt;Note:&lt;&#x2F;em&gt; This will NOT make the default user root.&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;kalpa&#x2F;microos-installer-local-user.webp&quot; title=&quot;openSUSE MicroOS Local user Setup&quot; alt=&quot;openSUSE MicroOS Local user Setup&quot;&gt;
&lt;&#x2F;div&gt;
&lt;h3 id=&quot;installation-settings&quot;&gt;Installation Settings&lt;&#x2F;h3&gt;
&lt;p&gt;Here we need to change a few things as Kalpa still shared the same installation media with MicroOS. While MicroOS is a server orientated operating system Kalpa is aimed at desktop users.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Attention:&lt;&#x2F;strong&gt; Kalpa is not meant to be dual booted with other operating system. Therefore this guide assumes Kalpa to be the only system on the target system.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;security&quot;&gt;Security&lt;&#x2F;h4&gt;
&lt;p&gt;Click on the green text &lt;em&gt;Security&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;kalpa&#x2F;microos-installer-installation-settings.webp&quot; title=&quot;openSUSE MicroOS Installation Settings&quot; alt=&quot;openSUSE MicroOS Installation Settings&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;As first &lt;strong&gt;uncheck&lt;&#x2F;strong&gt; &lt;em&gt;Enable SSH Service&lt;&#x2F;em&gt; as we do not run a server which requires remote access.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Optionally&lt;&#x2F;strong&gt; you can also change &lt;em&gt;SELinux Mode&lt;&#x2F;em&gt; to &lt;em&gt;Permissive&lt;&#x2F;em&gt; or change &lt;em&gt;Selected Module&lt;&#x2F;em&gt; to &lt;em&gt;None&lt;&#x2F;em&gt;.&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;kalpa&#x2F;microos-installer-security-configuration.webp&quot; title=&quot;openSUSE MicroOS Security Configuration&quot; alt=&quot;openSUSE MicroOS Security Configuration&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;&lt;strong&gt;Attention:&lt;&#x2F;strong&gt; Changing the default SELinux mode or disabling it will weaken the over all system security. As we do not have any form of Anti-Virus or Firewall in Kalpa.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Changing&lt;&#x2F;em&gt; the &lt;em&gt;SELinux Mode&lt;&#x2F;em&gt; can be done to &lt;em&gt;skip&lt;&#x2F;em&gt; the later step &lt;a href=&quot;https:&#x2F;&#x2F;docs.z-ray.de&#x2F;docs&#x2F;kalpa-desktop-install-guide&#x2F;#update-selinux-policies&quot;&gt;&lt;em&gt;Update SELinux Policies&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;em&gt;Disabling&lt;&#x2F;em&gt; SELinux all together will &lt;em&gt;prevent&lt;&#x2F;em&gt; the system for occasionally &lt;em&gt;Relabel&lt;&#x2F;em&gt; the entire file system after certain updates. This, depending on the amount of data you have, can take a few seconds up to several minutes.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;selinux&#x2F;selinux-relabel.webp&quot; title=&quot;SELinux Relabel taking over 20 minutes&quot; alt=&quot;SELinux Relabel taking over 20 minutes&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;&lt;em&gt;(NOTE: This is an extreme example with over 5TiB of data across multiple HDDs, relabeling on SSDs or with less data is significantly faster)&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Hit &lt;em&gt;OK&lt;&#x2F;em&gt; and continue with &lt;em&gt;Install&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;system-setup-post-install&quot;&gt;System Setup post install&lt;&#x2F;h2&gt;
&lt;p&gt;After the installation has been completed Kalpa will &lt;strong&gt;boot&lt;&#x2F;strong&gt; right into the &lt;strong&gt;text interface&lt;&#x2F;strong&gt; (also called tty). This is not due to a mistake during install but because, as previously mentioned, Kalpa shares the install media with the server orientated MicroOS. This is why we need to change SELinux and also will not have a graphical user interface enabled by default.&lt;&#x2F;p&gt;
&lt;p&gt;Login as &lt;em&gt;root&lt;&#x2F;em&gt; using the previously set passwort for the system administrator. While typing in the passwort there is not visual indicator that you&#x27;ve typed a character. Be assured it does.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;enable-graphical-interface&quot;&gt;Enable Graphical interface&lt;&#x2F;h3&gt;
&lt;p&gt;Now that we have logged in as root enable the sddm.service as follows:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;systemctl enable --now --force sddm.service&lt;&#x2F;code&gt; and press enter.&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;kalpa&#x2F;microos-installer-enable-sddm.webp&quot; title=&quot;openSUSE MicroOS Enable SDDM&quot; alt=&quot;openSUSE MicroOS Enable SDDM&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;The KDE login screen should appear right away. This step has only to be performed once. Now login with your default user.&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;kalpa&#x2F;kalpa-login.webp&quot; title=&quot;Kalpa Desktop Login Screen&quot; alt=&quot;Kalpa Desktop Login Screen&quot;&gt;
&lt;&#x2F;div&gt;
&lt;h3 id=&quot;kwallet&quot;&gt;KWallet&lt;&#x2F;h3&gt;
&lt;p&gt;If connecting to a WiFi network KDE will show the initial KWallet setup screen. Choose &lt;em&gt;Classic, Blowfish encrypted file&lt;&#x2F;em&gt; type in an easy to remember passwort, or none.&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;kde&#x2F;kwallet-setup.webp&quot; title=&quot;KWallet Setup&quot; alt=&quot;KWallet Setup&quot;&gt;
&lt;&#x2F;div&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;kde&#x2F;kwallet-setup-2.webp&quot; title=&quot;KWallet Setup&quot; alt=&quot;KWallet Setup&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;Hit &lt;em&gt;OK&lt;&#x2F;em&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Attention:&lt;&#x2F;strong&gt; Currently there is a Bug in KWallet which causes it to fail to unlock after the first setup. If your system can not connect to WiFi and claims the password is wrong. reboot the system and try again.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;update-selinux-policies&quot;&gt;Update SELinux Policies&lt;&#x2F;h3&gt;
&lt;p&gt;As Kalpa is not a server operating system the default SELinux configuration is rather strict. Unless you haven&#x27;t change the SELinux mode to &lt;em&gt;Permissive&lt;&#x2F;em&gt; above or disable it entirely here are some essential tweaks required for a smooth desktop experience.&lt;&#x2F;p&gt;
&lt;p&gt;Open &lt;em&gt;Konsole&lt;&#x2F;em&gt; and enter:&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;sudo setsebool -P selinuxuser_execmod 1
sudo setsebool -P selinuxuser_execheap 1
sudo setsebool -P selinuxuser_execstack 1
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;This is required because applications such as Steam, Wine&#x2F;Proton, native Linux Games and probably others do not work as expected causing all sorts of issues who&#x27;s root cause is not very clear. With these 3 policies enabled there shouldn&#x27;t be any additional SELinux headaches, despite relabeling.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;install-kalpa-for-real-now&quot;&gt;Install Kalpa (for real now)&lt;&#x2F;h3&gt;
&lt;p&gt;As we are currently running MicroOS with KDE Plasma Desktop we&#x27;re still not running Kalpa Desktop. To change this open Konsole and enter:&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;sudo transactional-update -i pkg in --force-resolution patterns-kalpa-base
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Press &lt;em&gt;Enter&lt;&#x2F;em&gt; and wait for the install to finish.&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;kalpa&#x2F;install-patterns-kalpa-base.webp&quot; title=&quot;Install patterns-kalpa-base&quot; alt=&quot;Install patterns-kalpa-base&quot;&gt;
&lt;&#x2F;div&gt;
&lt;h3 id=&quot;install-language-packs&quot;&gt;Install language packs&lt;&#x2F;h3&gt;
&lt;p&gt;In case you&#x27;re locale is not English (US) you may need to install additional langauge files. Despite choosing the language in the installer.&lt;&#x2F;p&gt;
&lt;p&gt;Open Konsole and enter:&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;sudo transactional-update -c run zypper inr
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Press &lt;em&gt;Enter&lt;&#x2F;em&gt;.&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;kalpa&#x2F;install-language-files.webp&quot; title=&quot;Install Kalpa Desktop Language files&quot; alt=&quot;Install Kalpa Desktop Language files&quot;&gt;
&lt;&#x2F;div&gt;
&lt;h3 id=&quot;install-nvidia-drivers&quot;&gt;Install nVidia drivers&lt;&#x2F;h3&gt;
&lt;p&gt;For installing nvidia drivers reboot your system and continue with our dedicated guide which can be found &lt;a href=&quot;..&#x2F;nvidia-aeon-kalpa&quot;&gt;here&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Or follow the official instruction as provided by Kalpa Desktop at: &lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;kalpadesktop.org&#x2F;documentation&#x2F;nvidia&#x2F;&quot;&gt;https:&#x2F;&#x2F;kalpadesktop.org&#x2F;documentation&#x2F;nvidia&#x2F;&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Note:&lt;&#x2F;em&gt; These guides are more or less identical as I wrote both of them.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;quality-of-life-improvements&quot;&gt;Quality of Life Improvements&lt;&#x2F;h2&gt;
&lt;p&gt;The following steps are not necessary to install Kalpa but are considers QoL tweaks. Restart your system before continuing below.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;silent-boot&quot;&gt;Silent Boot&lt;&#x2F;h3&gt;
&lt;p&gt;If you are not a fan of text scrolling over your display while booting the system we can suppress this screen as follows:&lt;&#x2F;p&gt;
&lt;p&gt;Open Konsole and enter:&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;sudo vim &amp;#x2F;etc&amp;#x2F;kernel&amp;#x2F;cmdline
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Press &lt;em&gt;i&lt;&#x2F;em&gt; to enter &lt;em&gt;Insert&lt;&#x2F;em&gt; mode&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Navigate to &lt;code&gt;systemd.show_status=1&lt;&#x2F;code&gt; and change it to &lt;code&gt;systemd.show_status=auto&lt;&#x2F;code&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;Navigate behind &lt;code&gt;quiet&lt;&#x2F;code&gt; and add &lt;code&gt;loglevel=3&lt;&#x2F;code&gt;. Make sure &lt;em&gt;quit&lt;&#x2F;em&gt; and &lt;em&gt;loglevel&lt;&#x2F;em&gt; are separated by a space.&lt;&#x2F;li&gt;
&lt;li&gt;Press &lt;em&gt;ESC :x&lt;&#x2F;em&gt; to save the file&lt;&#x2F;li&gt;
&lt;li&gt;Run &lt;code&gt;sudo transactional-update initrd&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;kalpa&#x2F;kalpa-silent-boot.webp&quot; title=&quot;Kalpa Desktop Silent Boot&quot; alt=&quot;Kalpa Desktop Silent Boot&quot;&gt;
&lt;&#x2F;div&gt;
&lt;h3 id=&quot;hide-boot-loader&quot;&gt;Hide boot loader&lt;&#x2F;h3&gt;
&lt;p&gt;In case you do not want to see the bootloader and wait for 5 seconds until the system boots you can hide this interface so it only comes up if required (pressing any arrow key or space while booting).&lt;&#x2F;p&gt;
&lt;p&gt;Open Konsole and enter:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;sudo vim &#x2F;boot&#x2F;efi&#x2F;loader&#x2F;loader.conf&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Press &lt;em&gt;i&lt;&#x2F;em&gt; to enter &lt;em&gt;Insert&lt;&#x2F;em&gt; mode&lt;&#x2F;li&gt;
&lt;li&gt;Set &lt;code&gt;timeout 8&lt;&#x2F;code&gt; to &lt;code&gt;timeout 0&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Press &lt;em&gt;ESC :x&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;The boot menu should disappear right away on the next reboot.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;faq&quot;&gt;FAQ&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;why-does-kalpa-not-have-a-dedicated-install-media&quot;&gt;Why does Kalpa not have a dedicated install media?&lt;&#x2F;h3&gt;
&lt;p&gt;This is because KDE Plasma does not have a first boot &#x2F; setup assistant for user creation as Gnome does. This is why the old YaST based openSUSE installer is still used. KDE Plasma was planing on adding &lt;strong&gt;KDE Initial System Setup&lt;&#x2F;strong&gt; (KISS) for Plasma 6.5.0 but it did not made it into the the actual release.&lt;&#x2F;p&gt;
&lt;p&gt;See: &lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;blogs.kde.org&#x2F;2025&#x2F;08&#x2F;23&#x2F;this-week-in-plasma-kde-initial-system-setup&#x2F;&quot;&gt;https:&#x2F;&#x2F;blogs.kde.org&#x2F;2025&#x2F;08&#x2F;23&#x2F;this-week-in-plasma-kde-initial-system-setup&#x2F;&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;As soon as a future release of KDE Plasma has a working Initial System Setup Kalpa will also be separated from the MicroOS installer.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;why-do-we-have-to-install-kalpa-twice&quot;&gt;Why do we have to install Kalpa twice?&lt;&#x2F;h3&gt;
&lt;p&gt;This is related to the previous question. In the first step we install MicroOS with KDE Desktop. But this is still MicroOS (hence the branding you may have noticed during the first boot) but not the actual Kalpa. Since there is no dedicated Kalpa Installer we have to install and tweak our installation for it to become the real thing.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>E:D Market Connector on Linux and Steam Deck</title>
        <published>2025-11-30T16:08:00+00:00</published>
        <updated>2025-11-30T16:08:00+00:00</updated>
        
        <author>
          <name>
            Vortex Acherontic
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://docs.z-ray.de/docs/ed-market-connector-linux/"/>
        <id>https://docs.z-ray.de/docs/ed-market-connector-linux/</id>
        
        <content type="html" xml:base="https://docs.z-ray.de/docs/ed-market-connector-linux/">&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;ed-market-connector&#x2F;ed-market-connector-icon.webp&quot; title=&quot;E:D Market Connector Logo&quot; alt=&quot;E:D Market Connector Logo&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;An essential community tool used for fueling websites like &lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;inara.cz&#x2F;elite&quot;&gt;INARA&lt;&#x2F;a&gt;, &lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.edsm.net&#x2F;&quot;&gt;Elite Dangerous Star Map&lt;&#x2F;a&gt; or &lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;coriolis.io&#x2F;&quot;&gt;coriolis&lt;&#x2F;a&gt; with data about the game the Elite Dangerous Market Connector is used by many. Running it on Linux or the Steam Deck is for new users probably not as straight forward as it might be on Windows. On this page we describe the whole process to install and setup the connector as well as how to launch it automatically along side the game&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;If following this guide on Steam Deck please enter Desktop Mode.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;install&quot;&gt;Install&lt;&#x2F;h2&gt;
&lt;ol&gt;
&lt;li&gt;Download the latest version from &lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;EDCD&#x2F;EDMarketConnector&#x2F;releases&quot;&gt;Github&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Install &lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;flathub.org&#x2F;en&#x2F;apps&#x2F;com.github.Matoking.protontricks&quot;&gt;Protontricks&lt;&#x2F;a&gt; on your Linux system or Steam Deck via the local Software Center (eg. Discover or Gnome-Software)&lt;&#x2F;li&gt;
&lt;li&gt;Launch EDMarketConnector_Installer_(version).exe via Protonticks
&lt;ul&gt;
&lt;li&gt;This can by done by right clicking the installer in your file browser and choose Open with Protonticks&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;ed-market-connector&#x2F;ed-market-connector-protontircks.webp&quot; title=&quot;E:D Market Connector launch with Protontricks&quot; alt=&quot;E:D Market Connector launch with Protontricks&quot;&gt;
&lt;&#x2F;div&gt;
&lt;ol start=&quot;4&quot;&gt;
&lt;li&gt;Choose Elite: Dangerous from the list of installed games&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;ed-market-connector&#x2F;ed-market-connector-protontircks-2.webp&quot; title=&quot;E:D Market Connector launch with Protontricks&quot; alt=&quot;E:D Market Connector launch with Protontricks&quot;&gt;
&lt;&#x2F;div&gt;
&lt;ol start=&quot;5&quot;&gt;
&lt;li&gt;Walk through the installer&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h2 id=&quot;auto-start-e-d-market-connector-with-elite-dangerous&quot;&gt;Auto start E:D Market Connector with Elite: Dangerous&lt;&#x2F;h2&gt;
&lt;p&gt;To not always need to manually launch the connector we can add a little Launch Option to Elite: Dangerous ia Steam.&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Locate the actual file path on your computer &#x2F; Steam Deck&lt;&#x2F;li&gt;
&lt;li&gt;Right-click Elite: Dangerous in Steam&lt;&#x2F;li&gt;
&lt;li&gt;Choose &lt;em&gt;Manage&lt;&#x2F;em&gt; -&amp;gt; &lt;em&gt;Browse installed files&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Move on directory up and enter &lt;em&gt;compatdata&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Enter &lt;em&gt;.&#x2F;359320&#x2F;pfx&#x2F;drive_c&#x2F;Program Files (x86)&#x2F;EDMarketConnector&#x2F;&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Copy the full path to the EDMarketConnector.exe from your file browser adressbar including the name of the .exe itself&lt;&#x2F;li&gt;
&lt;li&gt;Right-click Elite: Dangerous in Steam and choose &lt;em&gt;Properties&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Enter &lt;em&gt;PROTON_REMOTE_DEBUG_CMD=&quot;[path to market connector]&#x2F;EDMarketConnector.exe&quot; %command%&lt;&#x2F;em&gt;
&lt;ul&gt;
&lt;li&gt;If the address contains spaces escape them with &lt;em&gt;\&lt;&#x2F;em&gt; right in front of the space&lt;&#x2F;li&gt;
&lt;li&gt;Example: &lt;code&gt;PROTON_REMOTE_DEBUG_CMD=&quot;&#x2F;opt&#x2F;datalake_ssd&#x2F;vortex&#x2F;.steam&#x2F;steamapps&#x2F;compatdata&#x2F;359320&#x2F;pfx&#x2F;drive_c&#x2F;Program\ Files\ (x86)&#x2F;EDMarketConnector&#x2F;EDMarketConnector.exe&quot; %command%&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;If you now launch Elite: Dangerous the E:D Market Connector should be launched right with it.&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;ed-market-connector&#x2F;ed-market-connector-screenshot.webp&quot; title=&quot;E:D Market Connector atop Elite: Dangerous&quot; alt=&quot;E:D Market Connector atop Elite: Dangerous&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;&lt;em&gt;(right-click open in new tab to enlarge)&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;setup-e-d-market-connector&quot;&gt;Setup E:D Market Connector&lt;&#x2F;h2&gt;
&lt;p&gt;If launching the market connector for the first time it will open up the Frontier Development Authentication page in your default browser. You can allow E:D Market Connector to access your profile here if you wish. This is not mandatory.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;setup-inara-api-key&quot;&gt;Setup INARA API Key&lt;&#x2F;h3&gt;
&lt;p&gt;In order to connect the E:D Market Connector with INARA you have to obtain an API key form inara.cz. For this you&#x27;ll require an account on inara.cz once you have one you can get an api key as follows:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Inside the E:D Market Connector chose &lt;em&gt;File&lt;&#x2F;em&gt; -&amp;gt; &lt;em&gt;Settings&lt;&#x2F;em&gt; -&amp;gt; &lt;em&gt;Inara&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Click on the blue text reading &lt;em&gt;Inara-Logindata&lt;&#x2F;em&gt;
&lt;ul&gt;
&lt;li&gt;This will open up the user settings of inara.cz and will either allow you to generate a new API key or if you have one already right away reveal your API key.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;&lt;em&gt;Copy&lt;&#x2F;em&gt; and &lt;em&gt;paste&lt;&#x2F;em&gt; the &lt;em&gt;API key&lt;&#x2F;em&gt; into the market connector and hit &lt;em&gt;OK&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;ed-market-connector&#x2F;ed-market-connector-inara.webp&quot; title=&quot;E:D Market Connector atop Elite: Dangerous&quot; alt=&quot;E:D Market Connector atop Elite: Dangerous&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;That&#x27;s it you should now be all set to use the E:D Market Connector on Linux and the Steam Deck&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Waydroid on Kalpa Desktop and Aeon Desktop</title>
        <published>2025-11-18T19:44:00+00:00</published>
        <updated>2025-11-18T19:44:00+00:00</updated>
        
        <author>
          <name>
            Vortex Acherontic
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://docs.z-ray.de/docs/waydroid-kalpa-aeon/"/>
        <id>https://docs.z-ray.de/docs/waydroid-kalpa-aeon/</id>
        
        <content type="html" xml:base="https://docs.z-ray.de/docs/waydroid-kalpa-aeon/">&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;waydroid&#x2F;waydroid.webp&quot; title=&quot;Waydroid Logo&quot; alt=&quot;Waydroid Logo&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;While there is a guide online on how to install Waydroid on Tumbleweed it is unfortunately slightly out-dated and does not translate one by one to Aeon or Kalpa Desktop.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;install-longterm-kernel&quot;&gt;Install Longterm Kernel&lt;&#x2F;h2&gt;
&lt;p&gt;Throughout our testings we&#x27;ve noticed some instability using the -default Kernel using the binder kernel module as installed via anbox-modules. This can be Waydroid simply crashing at random or even cause the entire desktop to freeze.&lt;&#x2F;p&gt;
&lt;p&gt;Therefore we recommend installing the -longterm kernel as described on our &lt;a href=&quot;..&#x2F;tumbleweed-switch-longterm-kernel&quot;&gt;dedicated documentation&lt;&#x2F;a&gt; page.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;configure-kernel&quot;&gt;Configure Kernel&lt;&#x2F;h2&gt;
&lt;p&gt;Afterwards we need to add an additional parameter to our kernel commandline. This can be done by editing:&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;sudo vim &amp;#x2F;etc&amp;#x2F;kernel&amp;#x2F;cmdline
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Press &lt;em&gt;i&lt;&#x2F;em&gt; to enter &lt;em&gt;Insert&lt;&#x2F;em&gt; mode and add &lt;code&gt;psi=1&lt;&#x2F;code&gt; at the very end of the cmd line.&lt;&#x2F;p&gt;
&lt;p&gt;It should look similar to this:&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;root=&amp;#x2F;dev&amp;#x2F;nvme0n1p2 [...] psi=1
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Save the file by &lt;em&gt;ESC :x&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Then rebuild the initrd by running &lt;code&gt;sudo transactional-update initrd&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;install-waydroid&quot;&gt;Install Waydroid&lt;&#x2F;h2&gt;
&lt;pre&gt;&lt;code&gt;sudo transactional-update -c run zypper addrepo https:&amp;#x2F;&amp;#x2F;download.opensuse.org&amp;#x2F;repositories&amp;#x2F;home:jimed-rand:waydroid&amp;#x2F;openSUSE_Tumbleweed&amp;#x2F;home:jimed-rand:waydroid.repo
sudo transactional-update -c pkg in waydroid anbox-modules
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Then reboot the machine and continue below.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;secureboot&quot;&gt;SecureBoot&lt;&#x2F;h2&gt;
&lt;p&gt;For SecureBoot enabled systems we also have to enroll the Machine Owner Key for the anbox-modules. As Kalpa has a root account it should prompt you right away with the MOK enroll screen. The default password on Kalpa is the one of the &lt;em&gt;root&lt;&#x2F;em&gt; account.&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;nvidia&#x2F;nvidia-mok.webp&quot; title=&quot;Nvidia MOK Management&quot; alt=&quot;Nvidia MOK Management&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;To enroll the MOK key do the following:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Enroll MOK&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;em&gt;Continue&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;em&gt;Yes&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Enter root passwort (Kalpa) or the chosen password while using mokutils on Aeon&lt;&#x2F;li&gt;
&lt;li&gt;&lt;em&gt;Reboot&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h2 id=&quot;setup-waydroid&quot;&gt;Setup Waydroid&lt;&#x2F;h2&gt;
&lt;p&gt;First start the Waydroid container service:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;sudo systemctl enable waydroid-container&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;After opening Waydroid and downloading the Android image it will ask for two OTAs. Enter these:&lt;&#x2F;p&gt;
&lt;p&gt;System OTA: https:&#x2F;&#x2F;ota.waydro.id&#x2F;system&lt;br &#x2F;&gt;
Vendor OTA: https:&#x2F;&#x2F;ota.waydro.id&#x2F;vendor&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;waydroid&#x2F;waydroid-ota.webp&quot; title=&quot;Waydroid First Start Screen&quot; alt=&quot;Waydroid First Start Screen&quot;&gt;
&lt;&#x2F;div&gt;
&lt;h2 id=&quot;register-device&quot;&gt;Register Device&lt;&#x2F;h2&gt;
&lt;p&gt;If you&#x27;ve chosen the Android Image with Google Apps you also need to register your new &quot;device&quot;. For this you&#x27;ll need a google account.&lt;&#x2F;p&gt;
&lt;p&gt;While Waydroid is running open up a terminal and enter:&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;sudo waydroid shell -- sh -c &amp;quot;sqlite3 &amp;#x2F;data&amp;#x2F;data&amp;#x2F;*&amp;#x2F;*&amp;#x2F;gservices.db &amp;#x27;select * from main where name = \&amp;quot;android_id\&amp;quot;;&amp;#x27;&amp;quot;
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;This should return something similar to this: &lt;code&gt;android_id|xxxxxxxxxxxxxxxxxxx&lt;&#x2F;code&gt;. For the registration to work we only need the number after the pipe &lt;em&gt;|&lt;&#x2F;em&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Open Goggle&#x27;s &lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.google.com&#x2F;android&#x2F;uncertified&quot;&gt;Device registration&lt;&#x2F;a&gt; and login with the Google account you want this device to be connected with.&lt;&#x2F;p&gt;
&lt;p&gt;Enter the previously obtained device number and enter it into the textfield shown on the Device registration page. Confirm you&#x27;re not a Robot and click on &lt;em&gt;Register&lt;&#x2F;em&gt;. Now we have to wait a few minutes up to several hours.&lt;&#x2F;p&gt;
&lt;p&gt;Afterwards you should be able to use Goggle Apps with Waydroid or better said with Lineage OS just fine.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;unroot-waydroid-device&quot;&gt;Unroot Waydroid device&lt;&#x2F;h2&gt;
&lt;p&gt;By default the Android Image running via Waydroid is a rooted device. THis means the ANdroid user has full system access. While some Apps, often times Streaming Apps, do refuse to work on rooted devices. In oder to use them we have to disable root access as follows:&lt;&#x2F;p&gt;
&lt;p&gt;Open the file: &lt;code&gt;sudo vim &#x2F;var&#x2F;lib&#x2F;waydroid&#x2F;waydroid.cfg&lt;&#x2F;code&gt;. Press &lt;em&gt;I&lt;&#x2F;em&gt; on your keyboard to enter Insert mode and add below &lt;code&gt;[properties]&lt;&#x2F;code&gt;:&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;# fix root liapp
ro.product.brand=google
ro.product.manufacturer=Google
ro.system.build.product=redfin
ro.product.name=redfin
ro.product.device=redfin
ro.product.model=Pixel 5
ro.system.build.flavor=redfin-user
ro.build.fingerprint=google&amp;#x2F;redfin&amp;#x2F;redfin:11&amp;#x2F;RQ3A.211001.001&amp;#x2F;eng.electr.20230318.111310:user&amp;#x2F;release-keys
ro.system.build.description=redfin-user 11 RQ3A.211001.001 eng.electr.20230318.111310 release-keys
ro.bootimage.build.fingerprint=google&amp;#x2F;redfin&amp;#x2F;redfin:11&amp;#x2F;RQ3A.211001.001&amp;#x2F;eng.electr.20230318.111310:user&amp;#x2F;release-keys
ro.build.display.id=google&amp;#x2F;redfin&amp;#x2F;redfin:11&amp;#x2F;RQ3A.211001.001&amp;#x2F;eng.electr.20230318.111310:user&amp;#x2F;release-keys
ro.build.tags=release-keys
ro.build.description=redfin-user 11 RQ3A.211001.001 eng.electr.20230318.111310 release-keys
ro.vendor.build.fingerprint=google&amp;#x2F;redfin&amp;#x2F;redfin:11&amp;#x2F;RQ3A.211001.001&amp;#x2F;eng.electr.20230318.111310:user&amp;#x2F;release-keys
ro.vendor.build.id=RQ3A.211001.001
ro.vendor.build.tags=release-keys
ro.vendor.build.type=user
ro.odm.build.tags=release-keys
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Afterwards update the device by running: &lt;code&gt;sudo waydroid upgrade --offline&lt;&#x2F;code&gt;. The issue should now be fixed.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;source&quot;&gt;Source&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;waydroid&#x2F;waydroid&#x2F;discussions&#x2F;1463&quot;&gt; Runa-Chin - Tumbleweed Waydroid Guide - on Jun 18, 2024&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;notes&quot;&gt;Notes&lt;&#x2F;h3&gt;
&lt;p&gt;If you&#x27;re coming form the Tumbleweed Guide provided by Runa-Chin this guide differs in a few things:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;The repository was changed from where we get waydroid and anbox-modules&lt;&#x2F;li&gt;
&lt;li&gt;Installing weston or cage is not explained as both Aeon and Kalpa are Wayland centric distributions and thus do not run via X11. Hence, we already run a Wayland compositor by default.&lt;&#x2F;li&gt;
&lt;li&gt;We added a SecureBoot section which was missing in the original guide.&lt;&#x2F;li&gt;
&lt;li&gt;Changing the Kernel commandline is done differently on Kalpa and Aeon as both use SystemD-Boot by default.&lt;&#x2F;li&gt;
&lt;li&gt;Obviously we also changed every zypper command to transactional-update as zypper can not be used as it on Aeon and Kalpa&lt;&#x2F;li&gt;
&lt;li&gt;Added Register Device section&lt;&#x2F;li&gt;
&lt;li&gt;Added unroot section&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Install Need for Speed Underground, 2, Most Wanted and Carbon on Linux</title>
        <published>2025-11-08T19:39:00+00:00</published>
        <updated>2025-11-08T19:39:00+00:00</updated>
        
        <author>
          <name>
            Vortex Acherontic
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://docs.z-ray.de/docs/need-for-speed-underground-underground-2-most-wanted-and-carbon-on-linux/"/>
        <id>https://docs.z-ray.de/docs/need-for-speed-underground-underground-2-most-wanted-and-carbon-on-linux/</id>
        
        <content type="html" xml:base="https://docs.z-ray.de/docs/need-for-speed-underground-underground-2-most-wanted-and-carbon-on-linux/">&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;logos&#x2F;nfs-cloud.webp&quot; title=&quot;Need for Speed Underground, Underground 2, Most Wanted and Carbon Logos&quot; alt=&quot;Need for Speed Underground, Underground 2, Most Wanted and Carbon Logos&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;Installing Need for Speed Underground, Underground 2, Most Wanted (2005) and Carbon on Linux is rather simple. On this page we will also learn how to setup the No-CD fix and widescreen patch for these games.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;setup-bottles&quot;&gt;Setup Bottles&lt;&#x2F;h2&gt;
&lt;p&gt;In case there is not Bottles environemtn to run these games with create a new one.&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Install Bottles&lt;&#x2F;em&gt; from &lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;flathub.org&#x2F;en&#x2F;apps&#x2F;com.usebottles.bottles&quot;&gt;flathub&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Create a new environment by clicking on the &lt;em&gt;Plus Icon&lt;&#x2F;em&gt; in the top left&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;bottles&#x2F;bottles-new-environment.webp&quot; title=&quot;Bottles add a new environment&quot; alt=&quot;Bottles add a new environment&quot;&gt;
&lt;&#x2F;div&gt;
&lt;ol start=&quot;3&quot;&gt;
&lt;li&gt;Supply a &lt;em&gt;Name&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Select &lt;em&gt;Gaming&lt;&#x2F;em&gt; as preset&lt;&#x2F;li&gt;
&lt;li&gt;Hit &lt;em&gt;Create&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;bottles&#x2F;bottles-new-gaming-env.webp&quot; title=&quot;Bottles add a new environment&quot; alt=&quot;Bottles add a new environment&quot;&gt;
&lt;&#x2F;div&gt;
&lt;h2 id=&quot;install-the-games&quot;&gt;Install the games&lt;&#x2F;h2&gt;
&lt;p&gt;If using disk images make sure Bottles has proper read access to &lt;em&gt;&#x2F;run&#x2F;media&#x2F;&amp;lt;USER_NAME&amp;gt;&lt;&#x2F;em&gt;. You can use Flatseal or KDE&#x27;s Build-in permission screen for this.&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;flatseal&#x2F;flatseal-bottles-run-media-permissions.webp&quot; title=&quot;Flatseal showing Bottles and read &#x2F; write access to &#x2F;run&#x2F;media&#x2F;vortexacherontic&quot; alt=&quot;Flatseal showing Bottles and read &#x2F; write access to &#x2F;run&#x2F;media&#x2F;vortexacherontic&quot;&gt;
&lt;&#x2F;div&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;kde&#x2F;kde-app-permissions.webp&quot; title=&quot;KDE Plasma 6 Application permission screen showing Bottles&quot; alt=&quot;KDE Plasma 6 Application permission screen showing Bottles&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;Restart Bottles after this change.&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Mount&lt;&#x2F;em&gt; the &lt;em&gt;disk images&lt;&#x2F;em&gt; or &lt;em&gt;insert&lt;&#x2F;em&gt; the &lt;em&gt;retail disks&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;em&gt;Open&lt;&#x2F;em&gt; up the newly created &lt;em&gt;Bottles environment&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Choose &lt;em&gt;Run Executable...&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;bottles&#x2F;bottles-run-executable.webp&quot; title=&quot;Bottles run executable inside environment&quot; alt=&quot;Bottles run executable inside environment&quot;&gt;
&lt;&#x2F;div&gt;
&lt;ol start=&quot;4&quot;&gt;
&lt;li&gt;Navigate to the mounted disk or disk image&lt;&#x2F;li&gt;
&lt;li&gt;Choose the game installer&lt;&#x2F;li&gt;
&lt;li&gt;Click on &lt;em&gt;Run&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Walk through the game installer&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;If you plan on using &lt;strong&gt;disk images&lt;&#x2F;strong&gt; the &lt;strong&gt;No-CD fix&lt;&#x2F;strong&gt; is &lt;strong&gt;mandatory&lt;&#x2F;strong&gt; . As the ISO format does not carry all aspects of the &lt;strong&gt;Secure Disk DRM&lt;&#x2F;strong&gt;. Continue with the No-.CD fix section. If using the retail disks all should work as expected already and you can play the game.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;no-cd-fix&quot;&gt;No-CD fix&lt;&#x2F;h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Download&lt;&#x2F;em&gt; the No-CD fix from GameCopyWorld for your game:&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.gamecopyworld.com&#x2F;games&#x2F;pc_nfs_underground.shtml&quot;&gt;Need for Speed Underground&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.gamecopyworld.com&#x2F;games&#x2F;pc_nfs_underground_2.shtml&quot;&gt;Need for Speed Underground 2&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.gamecopyworld.com&#x2F;games&#x2F;pc_nfs_most_wanted.shtml&quot;&gt;Need for Speed Most Wanted (2005)&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.gamecopyworld.com&#x2F;games&#x2F;pc_nfs_carbon.shtml&quot;&gt;Need for Speed Carbon&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ol start=&quot;2&quot;&gt;
&lt;li&gt;&lt;em&gt;Extract&lt;&#x2F;em&gt; the downloaded Archive&lt;&#x2F;li&gt;
&lt;li&gt;&lt;em&gt;Copy and paste&lt;&#x2F;em&gt; all content &lt;em&gt;into&lt;&#x2F;em&gt; the &lt;em&gt;install path&lt;&#x2F;em&gt; of the required game&lt;&#x2F;li&gt;
&lt;li&gt;&lt;em&gt;Overwrite&lt;&#x2F;em&gt; the &lt;em&gt;main game executable&lt;&#x2F;em&gt; if asked or create a backup of it&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;You should now be able to play the game without a disk or disk image required.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;widescreen-fix&quot;&gt;Widescreen fix&lt;&#x2F;h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Download&lt;&#x2F;em&gt; the widescreen fix for your game from &lt;em&gt;GitHub&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;ThirteenAG&#x2F;WidescreenFixesPack&#x2F;releases&#x2F;tag&#x2F;nfsu&quot;&gt;Need for Speed Underground&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;ThirteenAG&#x2F;WidescreenFixesPack&#x2F;releases&#x2F;tag&#x2F;nfsu2&quot;&gt;Need for Speed Underground 2&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;ThirteenAG&#x2F;WidescreenFixesPack&#x2F;releases&#x2F;tag&#x2F;nfsmw&quot;&gt;Need for Speed Most Wanted (2005)&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;ThirteenAG&#x2F;WidescreenFixesPack&#x2F;releases&#x2F;tag&#x2F;nfsc&quot;&gt;Need for Speed Carbon&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ol start=&quot;2&quot;&gt;
&lt;li&gt;&lt;em&gt;Extract&lt;&#x2F;em&gt; the Archive&lt;&#x2F;li&gt;
&lt;li&gt;&lt;em&gt;Copy and paste&lt;&#x2F;em&gt; all containing files and directory into the game &lt;em&gt;install path&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;em&gt;Open&lt;&#x2F;em&gt; Bottles &lt;em&gt;Environment&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Choose &lt;em&gt;Settings&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;bottles&#x2F;bottles-environment-settings.webp&quot; title=&quot;Bottles environment settings&quot; alt=&quot;Bottles environment settings&quot;&gt;
&lt;&#x2F;div&gt;
&lt;ol start=&quot;6&quot;&gt;
&lt;li&gt;Scroll down until you read &lt;em&gt;DLL-Overrides&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;bottles&#x2F;bottles-dll-overrides.webp&quot; title=&quot;Bottles DLL Overrides&quot; alt=&quot;Bottles DLL Overrides&quot;&gt;
&lt;&#x2F;div&gt;
&lt;ol start=&quot;7&quot;&gt;
&lt;li&gt;Add a new entry: &lt;em&gt;dinput8&lt;&#x2F;em&gt; and set it to &lt;em&gt;native, then build-in&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;bottles&#x2F;bottles-add-dll-override.webp&quot; title=&quot;Bottles add DLL Overrides&quot; alt=&quot;Bottles add DLL Overrides&quot;&gt;
&lt;&#x2F;div&gt;
&lt;h2 id=&quot;troubleshooting&quot;&gt;Troubleshooting&lt;&#x2F;h2&gt;
&lt;p&gt;While most of the time these steps are the same for all 4 games there a few occasions where some of them require some special tweaks.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;need-for-speed-underground-2&quot;&gt;Need for Speed Underground 2&lt;&#x2F;h3&gt;
&lt;p&gt;For Underground 2 we will require the No-CD and the widescreen fix in order to be able to play the game without any physical or virtual disk. With just the No-CD fix we would still require a mounted disk image to play. Therefore I recommend using both the No-CD and the widescreen fix for this game.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;need-for-speed-most-wanted&quot;&gt;Need for Speed: Most Wanted&lt;&#x2F;h3&gt;
&lt;p&gt;For Most Wanted we need to configure the widescreen fix as by default the game UI might be misplaced. Therefore if you want to play Most Wanted with the fix you have to open up the &lt;code&gt;scripts&lt;&#x2F;code&gt; directory we copied into the game install from the widescreen fix.&lt;&#x2F;p&gt;
&lt;p&gt;Then open the file &lt;code&gt;NFSMostWanted.WidescreenFix.ini&lt;&#x2F;code&gt; with any text editor you&#x27;d like.&lt;&#x2F;p&gt;
&lt;p&gt;Below &lt;code&gt;[MAIN]&lt;&#x2F;code&gt; change &lt;code&gt;FixHUD = 1&lt;&#x2F;code&gt; to &lt;code&gt;FixHUD = 0&lt;&#x2F;code&gt;. This will keep the in-game user interface at the original 4 by 3 aspect ration and might stretch it. But at least it is not off screen and all elements can still be seen.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;video&quot;&gt;Video&lt;&#x2F;h2&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;embed&#x2F;gl6NzqYXRY4?si=XlOoVnZFmpzmCdoj&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen&gt;&lt;&#x2F;iframe&gt;
&lt;&#x2F;div&gt;</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Long term support (LTS) Linux kernel on openSUSE Tumbleweed</title>
        <published>2025-10-08T15:00:00+00:00</published>
        <updated>2025-10-08T15:00:00+00:00</updated>
        
        <author>
          <name>
            Vortex Acherontic
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://docs.z-ray.de/docs/tumbleweed-switch-longterm-kernel/"/>
        <id>https://docs.z-ray.de/docs/tumbleweed-switch-longterm-kernel/</id>
        
        <content type="html" xml:base="https://docs.z-ray.de/docs/tumbleweed-switch-longterm-kernel/">&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;logos&#x2F;tux.webp&quot; title=&quot;Linux penguin mascot Tux&quot; alt=&quot;Linux penguin mascot Tux&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;The openSUSE Project offers two kernels versions for Tumbleweed. The &lt;em&gt;-default&lt;&#x2F;em&gt; one which is the latest upstream Kernel and the &lt;em&gt;-longterm&lt;&#x2F;em&gt; which is the current LTS version of the Linux Kernel.&lt;&#x2F;p&gt;
&lt;p&gt;Under certain circumstances you may want to switch to the LTS Kernel in order to validate an issue with the recent Kernel or maybe some is reliant on certain proprietary drivers which do not always work correctly with the latest upstream Kernel and hence a slower moving Kernel might be desired.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;install-longterm&quot;&gt;Install -longterm&lt;&#x2F;h2&gt;
&lt;p&gt;To install the long term support kernel is rather simple by running:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Tumbleweed:&lt;&#x2F;strong&gt; &lt;code&gt;sudo zypper in kernel-longterm&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Aeon and Kalpa:&lt;&#x2F;strong&gt; &lt;code&gt;sudo transactional-update pkg in kernel-longterm&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Upon the next boot you&#x27;ll be able to choose which Kernel to boot from the bootloader.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;nvidia&quot;&gt;nVidia&lt;&#x2F;h2&gt;
&lt;p&gt;If you are using the propriatary nVidia driver you may laos install teh appropriate -longterm Kernel module:&lt;&#x2F;p&gt;
&lt;h3 id=&quot;open-kerne-modul&quot;&gt;Open Kerne Modul&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Tumbleweed:&lt;&#x2F;strong&gt; &lt;code&gt;sudo zypper in nvidia-open-driver-G06-signed-kmp-longterm&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Aeon and Kalpa:&lt;&#x2F;strong&gt; &lt;code&gt;sudo transactional-update pkg in nvidia-open-driver-G06-signed-kmp-longterm&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;closed-kernel-modul&quot;&gt;Closed Kernel Modul&lt;&#x2F;h3&gt;
&lt;p&gt;It is also important to know which driver series you have installed. As there are -longtermn modules for G06 and G05. G04 has no such module.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;g06&quot;&gt;G06:&lt;&#x2F;h4&gt;
&lt;p&gt;&lt;strong&gt;Tumbleweed:&lt;&#x2F;strong&gt; &lt;code&gt;sudo zypper in nvidia-driver-G06-kmp-longterm&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Aeon and Kalpa:&lt;&#x2F;strong&gt; &lt;code&gt;sudo transactional-update pkg in nvidia-driver-G06-kmp-longterm&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;h4 id=&quot;g05&quot;&gt;G05:&lt;&#x2F;h4&gt;
&lt;p&gt;&lt;strong&gt;Tumbleweed:&lt;&#x2F;strong&gt; &lt;code&gt;sudo zypper in nvidia-driver-G05-kmp-longterm&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Aeon and Kalpa:&lt;&#x2F;strong&gt; &lt;code&gt;sudo transactional-update pkg in nvidia-driver-G05-kmp-longterm&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;uninstalling-default&quot;&gt;Uninstalling -default&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;Attention:&lt;&#x2F;strong&gt; Uninstalling the -default Kernel will will remove the &lt;strong&gt;patterns-kalpa-base&lt;&#x2F;strong&gt; and &lt;strong&gt;patterns-aeon-base&lt;&#x2F;strong&gt; meta packages. by this future updates which are beyond application and library dependencies and hence make up the full Aeon or Kalpa experience will not get installed. Or in other words you&#x27;ll put your system in an untested and undefined state!&lt;&#x2F;p&gt;
&lt;p&gt;If you do not plan on using the default Kernel afterward consider uninstalling it. This way there will only be one bootloader entry available for the LTS Kernel.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Tumbleweed:&lt;&#x2F;strong&gt; &lt;code&gt;sudo zypper rm kernel-default&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Aeon and Kalpa:&lt;&#x2F;strong&gt; &lt;code&gt;sudo transactional-update pkg rm kernel-default&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;history&quot;&gt;History&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;2025-11-19:
&lt;ul&gt;
&lt;li&gt;Added warning about uninstalling -default Kernel&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>CUDA cuInit: Unknown error on Linux</title>
        <published>2025-09-27T21:02:00+00:00</published>
        <updated>2025-09-27T21:02:00+00:00</updated>
        
        <author>
          <name>
            Vortex Acherontic
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://docs.z-ray.de/docs/nvidia-cuinit-fails/"/>
        <id>https://docs.z-ray.de/docs/nvidia-cuinit-fails/</id>
        
        <content type="html" xml:base="https://docs.z-ray.de/docs/nvidia-cuinit-fails/">&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;logos&#x2F;nvidia.webp&quot; title=&quot;Nvidia brand logo&quot; alt=&quot;Nvidia brand logo&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;With recent Linux Kernels and flatpak, podman and docker CUDA does not get correctly initialized from within a sandbox or a container. Affected workloads are:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Games using compute shaders and running via flatpak or a podman container (eg. Distrobox)
&lt;ul&gt;
&lt;li&gt;Hunt Showdown 1896&lt;&#x2F;li&gt;
&lt;li&gt;The Talos Principle 2&lt;&#x2F;li&gt;
&lt;li&gt;Satisfactory (running in DIrectX 12 mode)&lt;&#x2F;li&gt;
&lt;li&gt;Hellblade II: Senua&#x27;s Saga&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;DaVinci resolve via podman container with shared nvidia driver&lt;&#x2F;li&gt;
&lt;li&gt;Blender and using CUDA to render with Cycles running via flatpak&lt;&#x2F;li&gt;
&lt;li&gt;OBS Studio via flatpak if using NVENC&lt;&#x2F;li&gt;
&lt;li&gt;Upscayl via flatpak&lt;&#x2F;li&gt;
&lt;li&gt;InvokeAI via distrobox eg. pytorch&lt;&#x2F;li&gt;
&lt;li&gt;Ollama via prodman or flatpak for example if using Alpaca&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Common error codes are:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;CUDA cuInit: Unknown error&lt;&#x2F;li&gt;
&lt;li&gt;cuda_init_999&lt;&#x2F;li&gt;
&lt;li&gt;DirectX 12 not supported on your system. Try running without -dx12 or -d3d12 command line argument&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;cuda&#x2F;directx-12-not-supported.webp&quot; title=&quot;DirectX 12 not supported on this system error Unreal Engine 5 message&quot; alt=&quot;DirectX 12 not supported on this system error Unreal Engine 5 message&quot;&gt;
&lt;&#x2F;div&gt;
&lt;h2 id=&quot;kick-start-cuda&quot;&gt;Kick-start CUDA&lt;&#x2F;h2&gt;
&lt;p&gt;To work around this error we found that &quot;kick-starting&quot; CUDA from outside a sandbox and not using any containerization technology does solve the issue. Without a reboot and by simply re-starting affected applications CUDA gets initialized correctly.&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Download Blender from &lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.blender.org&#x2F;download&#x2F;&quot;&gt;blender.org&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Extract and run Blender&lt;&#x2F;li&gt;
&lt;li&gt;Navigate to Edit → Preferences → System&lt;&#x2F;li&gt;
&lt;li&gt;Enable CUDA&lt;&#x2F;li&gt;
&lt;li&gt;If your GPU is shown CUDA is working&lt;&#x2F;li&gt;
&lt;li&gt;Re-start affected applications&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;If you are affected by this error please help to report this issue to nVidia.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;known-affected-systems-configurations&quot;&gt;Known affected systems configurations&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Linux Kernel: 6.14.6 or newer&lt;&#x2F;li&gt;
&lt;li&gt;Flatpak: 1.16.0 or newer&lt;&#x2F;li&gt;
&lt;li&gt;Podman: 5.4.2 or newer&lt;&#x2F;li&gt;
&lt;li&gt;nVidia driver 570.144 or newer&lt;&#x2F;li&gt;
&lt;li&gt;CUDA 12.8 or newer&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Also, this seems to be independent of the desktop environment as this error occurred on KDE Plasma as well as Gnome. This error has been observed on different Linux distributions like Aeon, Kalpa, EndevourOS.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;sources&quot;&gt;Sources&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;forums.developer.nvidia.com&#x2F;t&#x2F;unrelaibale-cuinit-with-sandboxes-and-containers-cuda-cuinit-unknown-error&#x2F;333562&quot;&gt;nVidia Bug report - Unrelaibale cuInit with sandboxes and containers (CUDA cuInit: Unknown error)&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Missing videos in Wine &#x2F; Proton</title>
        <published>2025-09-23T17:45:00+00:00</published>
        <updated>2025-09-23T17:45:00+00:00</updated>
        
        <author>
          <name>
            Vortex Acherontic
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://docs.z-ray.de/docs/wine-proton-troubleshooting-docs/wine-proton-missing-videos/"/>
        <id>https://docs.z-ray.de/docs/wine-proton-troubleshooting-docs/wine-proton-missing-videos/</id>
        
        <content type="html" xml:base="https://docs.z-ray.de/docs/wine-proton-troubleshooting-docs/wine-proton-missing-videos/">&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;proton&#x2F;wine-proton-logo.webp&quot; title=&quot;Wine &#x2F; Proton Logos&quot; alt=&quot;Wine &#x2F; Proton Logos&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;If you encounter missing videos e.g. by seeing a black screen and only hearing sound or by looking at a test image here is what you can do.&lt;&#x2F;p&gt;
&lt;p&gt;On this page you&#x27;ll find steps required for Steam, Bottles and Lutris.&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;proton&#x2F;video-placeholder.webp&quot; title=&quot;Proton Video Placeholder Image&quot; alt=&quot;Proton Video Placeholder Image&quot;&gt;
&lt;&#x2F;div&gt;
&lt;h2 id=&quot;steam&quot;&gt;Steam&lt;&#x2F;h2&gt;
&lt;p&gt;If you play your games via Steam you can install alternative Versions of Proton with additional multimedia codec support. To ease up the setup we recommend also intalling &lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;flathub.org&#x2F;en&#x2F;apps&#x2F;com.vysp3r.ProtonPlus&quot;&gt;ProtonPlus&lt;&#x2F;a&gt; or &lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;flathub.org&#x2F;en&#x2F;apps&#x2F;net.davidotek.pupgui2&quot;&gt;ProtonUp-Qt&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Install &lt;em&gt;ProtonPlus&lt;&#x2F;em&gt; &#x2F; &lt;em&gt;ProtonUp-Qt&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;em&gt;Open&lt;&#x2F;em&gt; the installed application&lt;&#x2F;li&gt;
&lt;li&gt;&lt;em&gt;Select&lt;&#x2F;em&gt; the &lt;em&gt;Launcher&lt;&#x2F;em&gt; you run your game with. In our case this is Steam&lt;&#x2F;li&gt;
&lt;li&gt;Open the &lt;em&gt;GE-Proton&lt;&#x2F;em&gt; section&lt;&#x2F;li&gt;
&lt;li&gt;Install the &lt;em&gt;latest version&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;proton-plus&#x2F;proton-plus-ge-proton.webp&quot; title=&quot;ProtonPlus install GE-Proton for Steam&quot; alt=&quot;ProtonPlus install GE-Proton for Steam&quot;&gt;
&lt;&#x2F;div&gt;
&lt;ol start=&quot;6&quot;&gt;
&lt;li&gt;Restart Steam (or the Launcher you have installed GE-Proton for like Lutris or Bottles)&lt;&#x2F;li&gt;
&lt;li&gt;Set GE-Proton as the runner to run the game with&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h3 id=&quot;set-ge-proton-as-game-runner&quot;&gt;Set GE-Proton as game runner&lt;&#x2F;h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Right-click&lt;&#x2F;em&gt; the game in your library&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;steam&#x2F;right-click-game-settings.webp&quot; title=&quot;Steam right-click game&quot; alt=&quot;Steam right-click game&quot;&gt;
&lt;&#x2F;div&gt;
&lt;ol start=&quot;2&quot;&gt;
&lt;li&gt;Choose &lt;em&gt;Properties&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Navigate to &lt;em&gt;Compatibility&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Enable (if not already) &lt;em&gt;Force the use of a specific Steam Play compatibility tool&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Select the &lt;em&gt;newly installed Proton&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;em&gt;Run&lt;&#x2F;em&gt; the game and see if it has fixes the issue&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;steam&#x2F;steam-settings-compatibility.webp&quot; title=&quot;Steam Game Compatibility Tab&quot; alt=&quot;Steam Game Compatibility Tab&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;&#x2F;strong&gt; We do not recommend to set GE-Proton as default for all games as it might introduce other regressions over Vavles Proton.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;bottles&quot;&gt;Bottles&lt;&#x2F;h2&gt;
&lt;p&gt;Unlike with Steam you do not have to use extra Tools to install additional versions of Wine for Bottles. If you encounter issues with missing videos in a game add GE-Wine from within the application and set it as the runner for the environment your game runs with.&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Click on the &lt;em&gt;Hamburger menu&lt;&#x2F;em&gt; at the top right of the main UI&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;bottles&#x2F;bottles-main-preferences.webp&quot; title=&quot;Bottles Preferences&quot; alt=&quot;Bottles Preferences&quot;&gt;
&lt;&#x2F;div&gt;
&lt;ol start=&quot;2&quot;&gt;
&lt;li&gt;Select &lt;em&gt;Preferences&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Navigate to &lt;em&gt;Runner&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Open the &lt;em&gt;GE-Wine&lt;&#x2F;em&gt; section&lt;&#x2F;li&gt;
&lt;li&gt;&lt;em&gt;Install&lt;&#x2F;em&gt; the latest version&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;bottles&#x2F;bottles-add-ge-wine.webp&quot; title=&quot;Bottles install addional Wine version&quot; alt=&quot;Bottles install addional Wine version&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;After Bottles has downloaded and installed the new runner navigate back to your Bottles environment and set the newly installed GE-Wine as the environment runner.&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Enter the &lt;em&gt;Environment&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;bottles&#x2F;bottles-select-environment.webp&quot; title=&quot;Bottles select environment&quot; alt=&quot;Bottles select environment&quot;&gt;
&lt;&#x2F;div&gt;
&lt;ol start=&quot;2&quot;&gt;
&lt;li&gt;Click on &lt;em&gt;Settings&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;At runner chose GE-Wine&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;bottles&#x2F;bottles-set-runner.webp&quot; title=&quot;Bottles set runner for environment&quot; alt=&quot;Bottles set runner for environment&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;Then launch your game and check if the issue was solved.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;lutris&quot;&gt;Lutris&lt;&#x2F;h2&gt;
&lt;p&gt;For Lutris there is no external application needs as well to install additional versions of Wine. You can install those from within Lutris itself.&lt;&#x2F;p&gt;
&lt;p&gt;Add GE-Wine vie the runner manager and configure the game to use the newly installed version of Wine.&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Open &lt;em&gt;Lutris&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Click on the &lt;em&gt;hamburger menu&lt;&#x2F;em&gt; in the top right&lt;&#x2F;li&gt;
&lt;li&gt;Select &lt;em&gt;Preferences&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;lutris&#x2F;lutris-settings.webp&quot; title=&quot;Lutris Settings&quot; alt=&quot;Lutris Settings&quot;&gt;
&lt;&#x2F;div&gt;
&lt;ol start=&quot;4&quot;&gt;
&lt;li&gt;Afterwards navigate to &lt;em&gt;Runners&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Scroll down until you read &lt;em&gt;Wine&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Click on the little &lt;em&gt;package icon&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;lutris&#x2F;lutris-add-wine-version.webp&quot; title=&quot;Lutris Add Wine Version&quot; alt=&quot;Lutris Add Wine Version&quot;&gt;
&lt;&#x2F;div&gt;
&lt;ol start=&quot;7&quot;&gt;
&lt;li&gt;Search for &lt;em&gt;Wine-GE&lt;&#x2F;em&gt; and install it&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;lutris&#x2F;lutris-add-wine-ge.webp&quot; title=&quot;Lutris Add Wine GE&quot; alt=&quot;Lutris Add Wine GE&quot;&gt;
&lt;&#x2F;div&gt;
&lt;ol start=&quot;8&quot;&gt;
&lt;li&gt;Chose your game in the &lt;em&gt;library&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Click on the little arrow next to the &lt;em&gt;Play-Button&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Navigate to &lt;em&gt;Configure&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;lutris&#x2F;lutris-configure-game.webp&quot; title=&quot;Lutris Configure Game&quot; alt=&quot;Lutris Configure Game&quot;&gt;
&lt;&#x2F;div&gt;
&lt;ol start=&quot;11&quot;&gt;
&lt;li&gt;Switch to &lt;em&gt;Runner options&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Chose the previously installed &lt;em&gt;Wine-GE&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;em&gt;Save&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;lutris&#x2F;lutris-change-wine-version.webp&quot; title=&quot;Lutris Change Wine Version for Game&quot; alt=&quot;Lutris Change Wine Version for Game&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;Launch your game and check if the issue was resolved.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Proton &#x2F; Wine Troubleshooting</title>
        <published>2025-09-23T17:45:00+00:00</published>
        <updated>2025-09-23T17:45:00+00:00</updated>
        
        <author>
          <name>
            Vortex Acherontic
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://docs.z-ray.de/docs/wine-proton-troubleshooting/"/>
        <id>https://docs.z-ray.de/docs/wine-proton-troubleshooting/</id>
        
        <content type="html" xml:base="https://docs.z-ray.de/docs/wine-proton-troubleshooting/">&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;proton&#x2F;wine-proton-logo.webp&quot; title=&quot;Wine &#x2F; Proton Logos&quot; alt=&quot;Wine &#x2F; Proton Logos&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;Here you&#x27;ll find common troubleshooting steps involving Wine and Proton. For game specific tweaks we highly recommend looking up &lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.protondb.com&#x2F;&quot;&gt;ProtonDB&lt;&#x2F;a&gt; instead.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;..&#x2F;wine-proton-troubleshooting-docs&#x2F;wine-proton-missing-videos&quot;&gt;Missing videos&lt;&#x2F;a&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Win2Go Components</title>
        <published>2025-09-18T10:11:00+00:00</published>
        <updated>2025-09-18T10:11:00+00:00</updated>
        
        <author>
          <name>
            Vortex Acherontic
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://docs.z-ray.de/zray-soft/win2go-docs/components/"/>
        <id>https://docs.z-ray.de/zray-soft/win2go-docs/components/</id>
        
        <content type="html" xml:base="https://docs.z-ray.de/zray-soft/win2go-docs/components/">&lt;p&gt;Win2Go uses the following addional tools to acomplishit&#x27;s mission.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;wimlib&quot;&gt;Wimlib&lt;&#x2F;h2&gt;
&lt;p&gt;Since the Windows install ISO isn&#x27;t the only image format involved in the process of installing Windows. Win2Go also ships with wimlib which is used to analyze and extract the actual Windows Edition onto the UBS device. All Windows Editions found on an ISO image are contained in an install.wim archive.&lt;&#x2F;p&gt;
&lt;p&gt;Win2Go therefore uses wimlib to fetch all available version of Windows contained in such image and to extract the chosen image to the USB device.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;wimlib.net&#x2F;&quot;&gt;Website&lt;&#x2F;a&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;dasbus&quot;&gt;dasbus&lt;&#x2F;h2&gt;
&lt;p&gt;Is a Python DBus abstraction library which is leveraged to actually talk to UDisk2 in the first place. Since Win2Go also mounts the ISO of Windows it has to tell Udisks2 where the actual image is located. For this the dbus interface involved requires a Unix File Descriptor to reference the ISO image on disk.&lt;&#x2F;p&gt;
&lt;p&gt;While there are many dbus abstractions for Python dasbus is one of the few (or the only one at all) which has support for file descriptors. Many other python dbus interfaces even pydbus, which is mentioned by DBus itself, does not support this.&lt;&#x2F;p&gt;
&lt;p&gt;Therefore, we use dasbus.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;dasbus-project&#x2F;dasbus&quot;&gt;dasbus - Gihub&lt;&#x2F;a&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;hivex&quot;&gt;Hivex&lt;&#x2F;h2&gt;
&lt;p&gt;Since working with Windows also sometimes involves working with Windows Registy files Win2Go uses hivex to do exactly this.&lt;&#x2F;p&gt;
&lt;p&gt;At the moment it is used to set up the BCD file which is part of Windows Bootloader. The BCD tells the bootloader where the actual Windows can be found in order to launch it.&lt;&#x2F;p&gt;
&lt;p&gt;In future release we also plan on using hivex to disable certain hardware checks of Windows 11 for an even more portable Windows.&lt;&#x2F;p&gt;
&lt;p&gt;Win2Go uses a premade boot.reg file which contains a few not Windows registry conformant placeholders to set up the bootloader. All we do is to collect the required information, replaces them in the boot.reg and then merge them using hivexregedit with the more or less empty default BCD file shipped by Win2Go.&lt;&#x2F;p&gt;
&lt;p&gt;This modified BCD file is then copied to the Windows Boot partition.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;libguestfs&#x2F;hivex&quot;&gt;hivex GitHub&lt;&#x2F;a&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Win2Go Troubleshooting</title>
        <published>2025-09-18T10:11:00+00:00</published>
        <updated>2025-09-18T10:11:00+00:00</updated>
        
        <author>
          <name>
            Vortex Acherontic
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://docs.z-ray.de/zray-soft/win2go-docs/troubleshooting/"/>
        <id>https://docs.z-ray.de/zray-soft/win2go-docs/troubleshooting/</id>
        
        <content type="html" xml:base="https://docs.z-ray.de/zray-soft/win2go-docs/troubleshooting/">&lt;h2 id=&quot;xdg-desktop-portal&quot;&gt;XDG Desktop Portal&lt;&#x2F;h2&gt;
&lt;p&gt;Win2Go has a soft requirement on XDG Desktop Portal version 1.20 but can work with older versions as well. Version 1.20 or higher is recommended because that version added support for the &lt;code&gt;xattr::document-portal.host-path&lt;&#x2F;code&gt; file property.&lt;&#x2F;p&gt;
&lt;p&gt;Since files in flatpak are mounted into the sandbox by a temporary path which is not available outside the sandbox. WIn2Go needs to figure out the real path of the Windows ISO image on the host. This is done using the above file attribute.&lt;&#x2F;p&gt;
&lt;p&gt;Since xdg-dsktop-portal 1.19 this property is available for directories (but not files) and since version 1.20 also for files. Win2Go looks up this property. If it can not be found and the ISO file seems to be available via a temporary sandbox path it will inform the user about this and link to this page.&lt;&#x2F;p&gt;
&lt;p&gt;In order to fix this the user can do the following:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Update to xdg-desktop-portal 1.20&lt;&#x2F;li&gt;
&lt;li&gt;Move the ISO file to the Downloads folder (this folder is mounted as it into the flatpak sandbox of Win2Go)&lt;&#x2F;li&gt;
&lt;li&gt;Grand Win2Go additional file system access using flatpak overrides&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;In future releases we will drop the permanent access to the Download directory. But this may take a while because of slow moving point-releases which unfortunately are used by too many people to ignore this...&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;flatpak.github.io&#x2F;xdg-desktop-portal&#x2F;docs&#x2F;index.html&quot;&gt;XDG Desktop Portal Documentation&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;vfat-ntfs-or-udf-not-supported&quot;&gt;vfat, ntfs or udf not supported&lt;&#x2F;h2&gt;
&lt;p&gt;Support for the vfat, ntfs and udf file systems is a hard requirement for Win2Go. If these are not met the application can not continue.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;vfat: Is used to format the boot partition of Windows&lt;&#x2F;li&gt;
&lt;li&gt;ntfs: Is used for the main Windows partition (C:)&lt;&#x2F;li&gt;
&lt;li&gt;udf: Is the file system Windows ISO images are usually contained in&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;If one or more of these are missing the user has to install support for these using their local package manager.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;vfat&lt;&#x2F;strong&gt;: Support for vfat should be present on all Linux distributions by default. Otherwise, they wouldn&#x27;t boot themselves.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;ntfs&lt;&#x2F;strong&gt;: For ntfs support please install &lt;code&gt;ntfs-3g&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;udf&lt;&#x2F;strong&gt;: To add UDF support please install &lt;code&gt;udftools&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;udisks2-missing&quot;&gt;UDisks2 missing&lt;&#x2F;h2&gt;
&lt;p&gt;Since Win2Go is a flatpak application it relies heavily on DBus to communicate with things outside the sandbox. While there is a multitude of disk managing tools available on Linux Udisks2 is the only one with a DBus interface Win2Go can talk to.&lt;&#x2F;p&gt;
&lt;p&gt;To avoid granting Win2Go to broad permissions and access to the host system by allowing it to run &lt;code&gt;flatpak-spawn --host&lt;&#x2F;code&gt; and run arbitrary commands as superuser it relies on Udisks2 instead.&lt;&#x2F;p&gt;
&lt;p&gt;If UDisks2 can not be found Win2Go will inform the user and link to this page. Please install Udisks2 for your distribution.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;storaged-project&#x2F;udisks&quot;&gt;UDisks2 - GitHub&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Win2Go Unsupported features</title>
        <published>2025-09-18T10:11:00+00:00</published>
        <updated>2025-09-18T10:11:00+00:00</updated>
        
        <author>
          <name>
            Vortex Acherontic
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://docs.z-ray.de/zray-soft/win2go-docs/unsupported-features/"/>
        <id>https://docs.z-ray.de/zray-soft/win2go-docs/unsupported-features/</id>
        
        <content type="html" xml:base="https://docs.z-ray.de/zray-soft/win2go-docs/unsupported-features/">&lt;p&gt;The following features are not supported by Win2Go.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;legacy-boot-mbr&quot;&gt;Legacy Boot (MBR)&lt;&#x2F;h2&gt;
&lt;p&gt;Win2Go does not and will not support for Master Boot Record based Legacy Boot.&lt;&#x2F;p&gt;
&lt;p&gt;Adding support for this would require us to weaken the flatpak sandbox by a lot as we have to run arbitrary commands on the host machine.&lt;&#x2F;p&gt;
&lt;p&gt;Also, it would skyrocket the list of components for Win2Go itself and tools required on the host.&lt;&#x2F;p&gt;
&lt;p&gt;Considering MBR based boot is on its way being phased out even on Linux adding support for this is not worth the extra work.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;repair-damaged-windows-boot-loaders&quot;&gt;Repair damaged Windows Boot loaders&lt;&#x2F;h2&gt;
&lt;p&gt;While Win2Go is able to create a Windows Bootloader for the portable installation. We will not support repairing damaged bootloaders.&lt;&#x2F;p&gt;
&lt;p&gt;Supporting this would require us to do some extensive checks and validation about an exisitng Windows installation. Additionally, users might also expect Win2Go to also fix their dual boot setups or even create one in the first place.&lt;&#x2F;p&gt;
&lt;p&gt;No, thank you. Just grep a 2.5&quot; SSD, an SATA to USB enclosure and just install Windows onto that device using Win2Go. It will save you a lot of headaches further down the road. Especially if a new Windows updated decided to nuke your dual boot again.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;vhd-x-to-usb&quot;&gt;VHD(x) to USB&lt;&#x2F;h2&gt;
&lt;p&gt;Win2Go will not support installing virtual hard disk images from a Windows Virtual Machine onto a USB device.&lt;&#x2F;p&gt;
&lt;p&gt;While we understand the need for some users to &quot;simply&quot; flash their virtual machine onto a physical USB device and then use it as a portable system. We do not want to deal with yet another image and file system format.&lt;&#x2F;p&gt;
&lt;p&gt;Maybe, just maybe, and if it does not turn out to be too much of a hassle we &lt;em&gt;MAY&lt;&#x2F;em&gt; add support for this in a future version. But do not expect this to happen at all or in the near future.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;create-installation-media&quot;&gt;Create installation media&lt;&#x2F;h2&gt;
&lt;p&gt;While Win2Go creates a Windows installation onto a USB device it will not support creating Windows install media too. There are already tools doing this: &lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;etcher.balena.io&#x2F;&quot;&gt;Balena Etcher&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;We simply do not see any valid reason to clutter the UI with another option just for this while we provide an easier and faster way of installing Windows already.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Win2Go</title>
        <published>2025-09-18T10:11:00+00:00</published>
        <updated>2025-09-18T10:11:00+00:00</updated>
        
        <author>
          <name>
            Vortex Acherontic
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://docs.z-ray.de/zray-soft/win2go/"/>
        <id>https://docs.z-ray.de/zray-soft/win2go/</id>
        
        <content type="html" xml:base="https://docs.z-ray.de/zray-soft/win2go/">&lt;p&gt;Win2Go is a graphical tool to create portable installations of Windows on USB devices from Linux.  By this it does not create a bootable Windows installation media but an actual full-blown Windows installation ready to use.&lt;&#x2F;p&gt;
&lt;p&gt;All that is needed is a large enough USB device and an up-to-date Windows ISO install image.&lt;&#x2F;p&gt;
&lt;p&gt;Win2Go will then format the USB device and extract Windows from the ISO image onto the device. Set up the Windows bootloader and that&#x27;s it.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;codeberg.org&#x2F;ZRayEntertainment&#x2F;win2go&quot;&gt;Source Code&lt;&#x2F;a&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;components&quot;&gt;Components&lt;&#x2F;h2&gt;
&lt;p&gt;For more details about additional components Win2Go uses see the &lt;strong&gt;&lt;a href=&quot;..&#x2F;win2go-docs&#x2F;components&quot;&gt;dedicated components section&lt;&#x2F;a&gt;&lt;&#x2F;strong&gt;.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;unsupported-features&quot;&gt;Unsupported features&lt;&#x2F;h2&gt;
&lt;p&gt;Win2Go has a very specific use case: To install portable versions of Windows onto USB devices. However there a certain features users might request which are beyond the scope of Win2Go.&lt;&#x2F;p&gt;
&lt;p&gt;See the dedicated &lt;strong&gt;&lt;a href=&quot;..&#x2F;win2go-docs&#x2F;unsupported-features&quot;&gt;unsupported features section&lt;&#x2F;a&gt;&lt;&#x2F;strong&gt; for more details&lt;&#x2F;p&gt;
&lt;h2 id=&quot;troubleshooting&quot;&gt;Troubleshooting&lt;&#x2F;h2&gt;
&lt;p&gt;If you ran into some issues with Win2Go please refer to our &lt;strong&gt;&lt;a href=&quot;..&#x2F;win2go-docs&#x2F;troubleshooting&quot;&gt;troubleshooting guide&lt;&#x2F;a&gt;&lt;&#x2F;strong&gt;.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;special-thanks-to&quot;&gt;Special thanks to&lt;&#x2F;h2&gt;
&lt;p&gt;While Win2Go does not use any of these tools we still want to honor them as they revealed a lot about the underlying processes involved to create portable versions of Windows:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;docs.z-ray.de&#x2F;zray-soft&#x2F;win2go&#x2F;github.com&#x2F;jxctn0&#x2F;win2go&quot;&gt;jxctn0 - win2go Shell Script&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;jpz4085&#x2F;BCD-SYS&quot;&gt;BCD-SYS - BCD Shell Script&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>32bit Software on 64bit Linux</title>
        <published>2025-09-07T14:51:00+00:00</published>
        <updated>2025-09-07T14:51:00+00:00</updated>
        
        <author>
          <name>
            Vortex Acherontic
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://docs.z-ray.de/docs/running-32bit-software-on-64bit-linux/"/>
        <id>https://docs.z-ray.de/docs/running-32bit-software-on-64bit-linux/</id>
        
        <content type="html" xml:base="https://docs.z-ray.de/docs/running-32bit-software-on-64bit-linux/">&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;logos&#x2F;tux.webp&quot; title=&quot;Tux Mascot&quot; alt=&quot;Tux Mascot&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;Many Linux distributions aim to drop execution support for 32bit Software. On this page we&#x27;d like to show ways of running 32bit Software on 64bit Linux systems.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;flatpak&quot;&gt;Flatpak&lt;&#x2F;h2&gt;
&lt;p&gt;The simples way is by using Flatpak. Since flatpak is a universal Linux packaging format it ships dependencies required by applications via so called runtimes. This also included dedicated 32bit compatibility runtimes. Therefore application developers might consider shipping their 32bit software as a flatpak and publish it via flathub.&lt;&#x2F;p&gt;
&lt;p&gt;For end users it is recommended to look at one of the following solutions without going into packaging up a Flatpak application&lt;&#x2F;p&gt;
&lt;h3 id=&quot;steam&quot;&gt;Steam&lt;&#x2F;h3&gt;
&lt;p&gt;There is an unofficial Flaptak of Valves popular game front Steam available on Flathub. Simply download and install. It does contain all the required 32bit compatibility to run all your games and Steam right away with zero setup.&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;steam&#x2F;steam.webp&quot; title=&quot;Steam - Library View&quot; alt=&quot;Steam - Library View&quot;&gt;
&lt;&#x2F;div&gt;
&lt;h3 id=&quot;lutris&quot;&gt;Lutris&lt;&#x2F;h3&gt;
&lt;p&gt;Some can make use of Lutris from &lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;flathub.org&#x2F;apps&#x2F;net.lutris.Lutris&quot;&gt;flathub&lt;&#x2F;a&gt;. Which allows for running any software via flatpak.&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Add a new &quot;game&quot; by clicking on the &lt;em&gt;plus&lt;&#x2F;em&gt; icon in the upper left of the man window&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;lutris&#x2F;lutris-add-new-game.webp&quot; title=&quot;Lutris Main UI - Add new game&quot; alt=&quot;Lutris Main UI - Add new game&quot;&gt;
&lt;&#x2F;div&gt;
&lt;ol start=&quot;2&quot;&gt;
&lt;li&gt;Select &lt;em&gt;Add locally installed game&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;lutris&#x2F;lutris-add-locally-installed-game.webp&quot; title=&quot;Lutris Main UI - Add locally installed game&quot; alt=&quot;Lutris Main UI - Add locally installed game&quot;&gt;
&lt;&#x2F;div&gt;
&lt;ol start=&quot;3&quot;&gt;
&lt;li&gt;At &lt;em&gt;Game info&lt;&#x2F;em&gt; supply a &lt;em&gt;name&lt;&#x2F;em&gt; and set &lt;em&gt;Runner&lt;&#x2F;em&gt; to &lt;em&gt;Linux (Runs native games)&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;lutris&#x2F;lutris-add-locally-installed-game-2.webp&quot; title=&quot;Lutris Main UI - Add locally installed game&quot; alt=&quot;Lutris Main UI - Add locally installed game&quot;&gt;
&lt;&#x2F;div&gt;
&lt;ol start=&quot;4&quot;&gt;
&lt;li&gt;Switch to &lt;em&gt;Game options&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Set &lt;em&gt;Executable&lt;&#x2F;em&gt; to the main binary of the application or game&lt;&#x2F;li&gt;
&lt;li&gt;&lt;em&gt;Working directory&lt;&#x2F;em&gt; to the directory containing the game or app selected previously&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;lutris&#x2F;lutris-add-locally-installed-game-3.webp&quot; title=&quot;Lutris Main UI - Add locally installed game&quot; alt=&quot;Lutris Main UI - Add locally installed game&quot;&gt;
&lt;&#x2F;div&gt;
&lt;ol start=&quot;7&quot;&gt;
&lt;li&gt;(Optional): In case the application or game relies on custom libraries either set them at &lt;em&gt;Preload Library&lt;&#x2F;em&gt; (One file only) or an entire directory at &lt;em&gt;Add directory to LD_PRELOAD_PATH&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Save and run the game or application&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h2 id=&quot;distrobox&quot;&gt;Distrobox&lt;&#x2F;h2&gt;
&lt;p&gt;Another option is to run 32bit software via Distrobox using a Linux distribution with 32bit execution support. For a list of Linux distributions offering 32bit support please refer to our dedicated documentation page &lt;a href=&quot;..&#x2F;linux-distributions&quot;&gt;here&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;A common use case might be 32bit application requiring to run an installer first.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;graphical-distrobox-tools&quot;&gt;Graphical Distrobox tools:&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;flathub.org&#x2F;apps&#x2F;io.github.dvlv.boxbuddyrs&quot;&gt;BoxBuddy&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;flathub.org&#x2F;apps&#x2F;com.ranfdev.DistroShelf&quot;&gt;DistroShelf&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;flathub.org&#x2F;apps&#x2F;io.github.DenysMb.Kontainer&quot;&gt;Kontainer&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ol&gt;
&lt;li&gt;Create a new distrobox&lt;&#x2F;li&gt;
&lt;li&gt;Enter the distrobox shell&lt;&#x2F;li&gt;
&lt;li&gt;Run the installer&lt;&#x2F;li&gt;
&lt;li&gt;export the game or application to the host
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;distrobox-export -a app-or-game-name&lt;&#x2F;code&gt; if the application creates a &lt;em&gt;*.desktop&lt;&#x2F;em&gt; file&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;distrobox-export -b &#x2F;path&#x2F;to&#x2F;binary&lt;&#x2F;code&gt; if the application does only get launched via a binary file&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;Then the application can either be run by calling the binary from the terminal or via a application shortcut form the application launcher.&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;kde&#x2F;kde-applauncher.webp&quot; title=&quot;KDE Plasma 6 - Application Launcher&quot; alt=&quot;KDE Plasma 6 - Application Launcher&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;Using graphical tools &lt;em&gt;*.dep&lt;&#x2F;em&gt; or &lt;em&gt;*.rpm&lt;&#x2F;em&gt; files can be installed into a distrobox container directly.&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;boxbuddy&#x2F;boxbuddy-install-rpm.webp&quot; title=&quot;BoxBuddy install RPM&quot; alt=&quot;BoxBuddy install RPM&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;BoxBuddy and DistroShelf support exporting applications from the UI into the host system.&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;boxbuddy&#x2F;boxbuddy-view-apps.webp&quot; title=&quot;BoxBuddy view applications&quot; alt=&quot;BoxBuddy view applications&quot;&gt;
&lt;&#x2F;div&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;distroshelf&#x2F;distroshelf-view-apps.webp&quot; title=&quot;DistroShelf view applications&quot; alt=&quot;DistroShelf view applications&quot;&gt;
&lt;&#x2F;div&gt;
&lt;h2 id=&quot;wine-and-proton&quot;&gt;Wine and Proton&lt;&#x2F;h2&gt;
&lt;p&gt;Wine and Proton are 64bit applications already. They use WOW64 (&lt;strong&gt;W&lt;&#x2F;strong&gt;indows-&lt;strong&gt;O&lt;&#x2F;strong&gt;n-&lt;strong&gt;W&lt;&#x2F;strong&gt;indows &lt;strong&gt;64&lt;&#x2F;strong&gt;bit) to run 32bit and 16bit Windows applications on 64bit Linux already.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;video&quot;&gt;Video&lt;&#x2F;h2&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;embed&#x2F;UDgLmL41VNY?si=F24no9J-0P8d0nQd&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen&gt;&lt;&#x2F;iframe&gt;
&lt;&#x2F;div&gt;</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Facetracker with VSeeFace</title>
        <published>2025-09-05T16:05:00+00:00</published>
        <updated>2025-09-05T16:05:00+00:00</updated>
        
        <author>
          <name>
            Vortex Acherontic
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://docs.z-ray.de/facetracker/vseeface/"/>
        <id>https://docs.z-ray.de/facetracker/vseeface/</id>
        
        <content type="html" xml:base="https://docs.z-ray.de/facetracker/vseeface/">&lt;p&gt;Even though VSeeFce uses OpenSeeFace itself the webcam based tracking does not work on Linux due to limitations of the Wine &#x2F; Proton Webcam API. Therefore we need to use an external OpenSeeFace tracker such as Facetracker.&lt;&#x2F;p&gt;
&lt;p&gt;Assuming you already have installed VSeeFace on your Linux machine using Bottles, Lutris, PlayOnLinux or similar tools you just have to do the following:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Start VSeeFace.&lt;&#x2F;li&gt;
&lt;li&gt;Right in the main ui on the top right set &lt;em&gt;Camera&lt;&#x2F;em&gt; to &lt;em&gt;[OpenSeeFace tracking]&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Make sure &lt;em&gt;Port&lt;&#x2F;em&gt; matches the port in Facetracker.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;&#x2F;strong&gt; If you change &lt;em&gt;IP&lt;&#x2F;em&gt; to an IP-Address on your local network running Facetracker you can get tracking data from that device.&lt;&#x2F;p&gt;
&lt;ol start=&quot;4&quot;&gt;
&lt;li&gt;Afterwards choose your Avatar or click on &lt;em&gt;Start&lt;&#x2F;em&gt; to use the default one provided.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;VSeeFace should pick up the tracking data from Facetracker right away.&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;facetracker&#x2F;vsf-tracking.webp&quot; title=&quot;VSeeFace Main UI&quot; alt=&quot;VSeeFace Main UI&quot;&gt;
&lt;&#x2F;div&gt;</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Facetracker with VTube Studio</title>
        <published>2025-09-05T15:05:00+00:00</published>
        <updated>2025-09-05T15:05:00+00:00</updated>
        
        <author>
          <name>
            Vortex Acherontic
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://docs.z-ray.de/facetracker/vtubestudio/"/>
        <id>https://docs.z-ray.de/facetracker/vtubestudio/</id>
        
        <content type="html" xml:base="https://docs.z-ray.de/facetracker/vtubestudio/">&lt;p&gt;Facetracker can be used with VTubeStudio. The setup for this is rather simple.&lt;&#x2F;p&gt;
&lt;p&gt;Inside Steam right-click VTube Studio and chose &lt;em&gt;Properties&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;facetracker&#x2F;vts-properties.webp&quot; title=&quot;VTube Studio Properties&quot; alt=&quot;VTube Studio Properties&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;Navigate to &lt;em&gt;Installed Files&lt;&#x2F;em&gt; and click on &lt;em&gt;Browse...&lt;&#x2F;em&gt;.&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;facetracker&#x2F;vts-installed-files.webp&quot; title=&quot;VTube Studio Installed Files&quot; alt=&quot;VTube Studio Installed Files&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;This will open up your file browser at the install location of VTube Studio.&lt;&#x2F;p&gt;
&lt;p&gt;In here navigate to &lt;em&gt;VTube Studio_Data&#x2F;StreamingAssest&#x2F;&lt;&#x2F;em&gt; and create a new file called &lt;em&gt;ip.txt&lt;&#x2F;em&gt;.&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;facetracker&#x2F;vts-vts-data.webp&quot; title=&quot;VTube Studio Data&quot; alt=&quot;VTube Studio Data&quot;&gt;
&lt;&#x2F;div&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;facetracker&#x2F;vts-streaming-assets.webp&quot; title=&quot;VTube Studio Streaming Assets&quot; alt=&quot;VTube Studio Streaming Assets&quot;&gt;
&lt;&#x2F;div&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;facetracker&#x2F;vts-ip-file.webp&quot; title=&quot;VTube Studio ip.txt&quot; alt=&quot;VTube Studio ip.txt&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;Open that file and enter:&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;ip=0.0.0.0
port=11573
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Make sure &lt;em&gt;port&lt;&#x2F;em&gt; matches Facetracker&#x27;s port.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;&#x2F;strong&gt; If you set &lt;em&gt;ip&lt;&#x2F;em&gt; to any IP-Adress of any other device in your local network running Facetracker you can receive tracking data from that device.&lt;&#x2F;p&gt;
&lt;p&gt;After restarting VTube Studio and running Facetracker the tracking data should get picked up right away.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;reference&quot;&gt;Reference&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;DenchiSoft&#x2F;VTubeStudio&#x2F;wiki&#x2F;Running-VTS-on-Linux&#x2F;&quot;&gt;DenchiSoft - Running-VTS-on-Linux&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Milestone: Alpha - Space Conflicts: Empires</title>
        <published>2025-09-04T14:12:00+00:00</published>
        <updated>2025-09-04T14:12:00+00:00</updated>
        
        <author>
          <name>
            Vortex Acherontic
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://docs.z-ray.de/space-conflicts-empires/milestone-alpha/"/>
        <id>https://docs.z-ray.de/space-conflicts-empires/milestone-alpha/</id>
        
        <content type="html" xml:base="https://docs.z-ray.de/space-conflicts-empires/milestone-alpha/">&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;sce&#x2F;sce-banner.webp&quot; title=&quot;Space Conflicts: Empires Logo&quot; alt=&quot;Space Conflicts: Empires Logo&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;The Alpha milestone will include a fully working dedicated server as well as game client. There will be no single player available as of now because we do not have NPCs yet. What can be done is to host a local server and play with friends from the same network or just to explore the game.&lt;&#x2F;p&gt;
&lt;p&gt;Additionally, the alpha will include some test for scalability as the dedicated server will spawn child processes who&#x27;s only purpose is to simulate independent scenes in the background the main server than will send over the network to clients in order for them to actually do something.&lt;&#x2F;p&gt;
&lt;p&gt;Players will not be able to do much except of building spacecrafts, command fleets to fly somewhere and colonize new worlds. Fleet to fleet combat will not be included in the alpha as of now or to conquer enemy worlds.&lt;&#x2F;p&gt;
&lt;p&gt;There will be a basic settlement systems where players can construct new buildings and mine resources.&lt;&#x2F;p&gt;
&lt;p&gt;The alpha primarily serves as a proof of concept that the game as we envisioned does even work with Godot and to uncover potential improvements we may be able to add to the engine.&lt;&#x2F;p&gt;
&lt;p&gt;The first actual milestone which will focus on more and actual gameplay is Stargazer. Parts of it are already included in Alpha but not fully wired up. Hence, Stargazer will improve on all the loose ends of the Alpha.&lt;&#x2F;p&gt;
&lt;p&gt;Space Conflicts: Empires is build with multiplayer in mind right from the start. In fact the single-player will function by running a local server too but just with one client connected.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>KDE Plasma 6 tiling</title>
        <published>2025-09-02T17:57:00+00:00</published>
        <updated>2025-09-02T17:57:00+00:00</updated>
        
        <author>
          <name>
            Vortex Acherontic
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://docs.z-ray.de/docs/kde-tiling/"/>
        <id>https://docs.z-ray.de/docs/kde-tiling/</id>
        
        <content type="html" xml:base="https://docs.z-ray.de/docs/kde-tiling/">&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;logos&#x2F;kde.webp&quot; title=&quot;KDE Plasma Logo&quot; alt=&quot;KDE Plasma Logo&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;Pressing &lt;em&gt;Meta + T&lt;&#x2F;em&gt; opens up KDE&#x27;s tiling editor. This is not to be confused with regular window snapping to one half or a quarter of the screen. In fact this is a more advanced tiling feature. Not as dynamic as with the likes of Hyprland, i3 or sway. But till very mighty feature.&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;kde&#x2F;kde-tiling.webp&quot; title=&quot;KDE Plasma tiling Editor&quot; alt=&quot;KDE Plasma tiling Editor&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;After users have setup their tiling layout hold down &lt;em&gt;Shift&lt;&#x2F;em&gt; and &lt;em&gt;drag&lt;&#x2F;em&gt; a window. Now it can be align along the tiling setup done before.&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;kde&#x2F;kde-tiling-shift.webp&quot; title=&quot;KDE Plasma tiling Editor&quot; alt=&quot;KDE Plasma tiling Editor&quot;&gt;
&lt;&#x2F;div&gt;
&lt;h2 id=&quot;source&quot;&gt;Source&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;forum.linuxguides.de&#x2F;index.php?thread&#x2F;8540-tiling-in-kde-plasma-6-wie-nutzen&#x2F;&quot;&gt;Linux Guides Forum - Tiling in KDE Plasma 6: Wie nutzen?&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Videos with alpha transparency</title>
        <published>2025-09-01T21:56:00+00:00</published>
        <updated>2025-09-01T21:56:00+00:00</updated>
        
        <author>
          <name>
            Vortex Acherontic
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://docs.z-ray.de/docs/alpha-channel-videos/"/>
        <id>https://docs.z-ray.de/docs/alpha-channel-videos/</id>
        
        <content type="html" xml:base="https://docs.z-ray.de/docs/alpha-channel-videos/">&lt;p&gt;Usually and on many sources online it is common to share special effects (VFX) used to enrich videos with a colored background. Often times green or blue. Then the artists has to use a chroma key filter to then extract said background color and make it transparent. But this does not need to be the case as we can create special effect video files with a baked in alpha channel.&lt;&#x2F;p&gt;
&lt;p&gt;For this we can make use of Blender.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Setup your effect in Blender&lt;&#x2F;li&gt;
&lt;li&gt;Navigate to &lt;em&gt;Film&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Check &lt;em&gt;transparent&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Render your animation into &lt;em&gt;PNG&lt;&#x2F;em&gt; or &lt;em&gt;webp&lt;&#x2F;em&gt; files with &lt;em&gt;alpha channel&lt;&#x2F;em&gt; enabled.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;blender&#x2F;scene-transparent.webp&quot; title=&quot;Remove background in Blender&quot; alt=&quot;Remove background in Blender&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;After this has been done then open a new Blender file &lt;em&gt;New&lt;&#x2F;em&gt; -&amp;gt; &lt;em&gt;Video editing&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Import your previously rendered animation as an &lt;em&gt;image sequence&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;blender&#x2F;video-add-image-sequence.webp&quot; title=&quot;Add image sequence in BLender video editor&quot; alt=&quot;Add image sequence in BLender video editor&quot;&gt;
&lt;&#x2F;div&gt;
&lt;ul&gt;
&lt;li&gt;Navigate to &lt;em&gt;Output&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Choose &lt;em&gt;FFmpeg Video&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Select &lt;em&gt;QuickTime&lt;&#x2F;em&gt; as &lt;em&gt;Container&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Set &lt;em&gt;Video Codec&lt;&#x2F;em&gt; to &lt;em&gt;QuickTime Animation&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;A new button will appear below FFmepg Video at &lt;em&gt;Color&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Set &lt;em&gt;RGBA&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Export the video&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;blender&#x2F;video-alpha-output.webp&quot; title=&quot;Settings to export a video with alpha channel in Blender&quot; alt=&quot;Settings to export a video with alpha channel in Blender&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;Tada alpha channel VFX.&lt;&#x2F;p&gt;
&lt;p&gt;Here is a comparission between the color keyed VFX (right) and the alpha channel one (left). As we can see sometimes there will be get a colored shim around the effect. In this case green because the background of the VFX was green.&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;blender&#x2F;smoke-vfx-compare.webp&quot; title=&quot;Sintel with smoke VFX&quot; alt=&quot;Sintel with smoke VFX&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;Also using color key based approach will force artists to keep any eye out on colors used for the VFX as the chroma key filters do not know which part of an image is the VFX and which part is not. Or to work with masks and the likes. Green is Green. Also we save a ton of time setting up a chroma key filter in the first place. Simply put the VFX onto the footage and that&#x27;s it.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;source&quot;&gt;Source&lt;&#x2F;h2&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;memes&#x2F;source.webp&quot; title=&quot;Source? I made it the fuck up&quot; alt=&quot;Source? I made it the fuck up&quot;&gt;
&lt;&#x2F;div&gt;</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Spherical Textures</title>
        <published>2025-09-01T12:58:00+00:00</published>
        <updated>2025-09-01T12:58:00+00:00</updated>
        
        <author>
          <name>
            Vortex Acherontic
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://docs.z-ray.de/docs/spherical-textures/"/>
        <id>https://docs.z-ray.de/docs/spherical-textures/</id>
        
        <content type="html" xml:base="https://docs.z-ray.de/docs/spherical-textures/">&lt;p&gt;While working on &lt;a href=&quot;&#x2F;zray-soft&#x2F;space-conflicts-empires&quot;&gt;Space Conflicts: Empires&lt;&#x2F;a&gt; we had to create textures for spheres (eg. planets and stars). However a texture is a 2d rectangular image and mapping them on a sphere may cause distortions or seams. Therefore the texture needs to be &quot;aware&quot; of being mapped to sphere.&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;godot&#x2F;plane-texture.webp&quot; title=&quot;Plane Texture on Globe&quot; alt=&quot;Plane Texture on Globe&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;The easiest way to generate such a texture is to create a procedural texture in Blender which is applied to a sphere and &quot;just&quot; render it into a file.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Put a camera inside a sphere&lt;&#x2F;li&gt;
&lt;li&gt;Disable all lighting as otherwise the camera will only see black&lt;&#x2F;li&gt;
&lt;li&gt;Switch to cycles as Eevee does not support the feature we need&lt;&#x2F;li&gt;
&lt;li&gt;Change the camera projection mode to panorama. Which tells Blender to render a 360° view of the entire scene&lt;&#x2F;li&gt;
&lt;li&gt;Render the image and store it into an image file&lt;&#x2F;li&gt;
&lt;li&gt;Import this texture into Godot and apply it to a shader which is then applied to a sphere&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;blender&#x2F;cam-in-globe.webp&quot; title=&quot;Blender camera inside an icosphere&quot; alt=&quot;Blender camera inside an icosphere&quot;&gt;
&lt;&#x2F;div&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;blender&#x2F;cam-panorama.webp&quot; title=&quot;Blender Camera settings showing how to set it to panorama mode&quot; alt=&quot;Blender Camera settings showing how to set it to panorama mode&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;Tada, a seamless spherical texture with no distortions.&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;godot&#x2F;sphere-texture.webp&quot; title=&quot;Spherical aware texture on Globe&quot; alt=&quot;Spherical aware texture on Globe&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;This is what the actual texture then will look like:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Planar&lt;&#x2F;strong&gt;:&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;textures&#x2F;wave-plane.webp&quot; title=&quot;Planar texture showing stripes&quot; alt=&quot;Planar texture showing stripes&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;&lt;strong&gt;Spherical&lt;&#x2F;strong&gt;:&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;textures&#x2F;wave-sphere.webp&quot; title=&quot;Planar texture showing spherical stripes&quot; alt=&quot;Planar texture showing spherical stripes&quot;&gt;
&lt;&#x2F;div&gt;
&lt;h2 id=&quot;source&quot;&gt;Source&lt;&#x2F;h2&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;memes&#x2F;source.webp&quot; title=&quot;Source? I made it the fuck up&quot; alt=&quot;Source? I made it the fuck up&quot;&gt;
&lt;&#x2F;div&gt;</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Space Conflicts: Empires - Client Settings</title>
        <published>2025-08-31T20:22:00+00:00</published>
        <updated>2025-08-31T20:22:00+00:00</updated>
        
        <author>
          <name>
            Vortex Acherontic
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://docs.z-ray.de/space-conflicts-empires/client-settings/"/>
        <id>https://docs.z-ray.de/space-conflicts-empires/client-settings/</id>
        
        <content type="html" xml:base="https://docs.z-ray.de/space-conflicts-empires/client-settings/">&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;sce&#x2F;sce-banner.webp&quot; title=&quot;Space Conflicts: Empires Logo&quot; alt=&quot;Space Conflicts: Empires Logo&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;Client settings are located at:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Linux&lt;&#x2F;strong&gt;: &lt;code&gt;~&#x2F;.local&#x2F;share&#x2F;godot&#x2F;app_userdata&#x2F;Space Conflicts- Empires - Client&#x2F;&lt;&#x2F;code&gt;&lt;br &#x2F;&gt;
&lt;strong&gt;Windows&lt;&#x2F;strong&gt;: &lt;code&gt;%APPDATA%&#x2F;godot&#x2F;app_userdata&#x2F;Space Conflicts- Empires - Client&#x2F;&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;sce-client-json&quot;&gt;sce_client.json&lt;&#x2F;h2&gt;
&lt;p&gt;A typical config file looks like:&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;{
    &amp;quot;CHATTING_ENABLED&amp;quot;: true,
    &amp;quot;PLAYER_ID&amp;quot;: &amp;quot;1e078546-91c1-4330-ac69-87530bab6b59&amp;quot;,
    &amp;quot;PLAYER_NAME&amp;quot;: &amp;quot;ExuberantHornet&amp;quot;,
    &amp;quot;THEME_ICONS_UI&amp;quot;: 1,
    &amp;quot;THEME_IMPOSTOR&amp;quot;: 0,
    &amp;quot;UNIQUE_PLAYER_ID&amp;quot;: true
}
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;CHATTING_ENABLED&lt;&#x2F;strong&gt;:&lt;br &#x2F;&gt;
&lt;em&gt;Values&lt;&#x2F;em&gt;: &lt;code&gt;true&lt;&#x2F;code&gt;, &lt;code&gt;false&lt;&#x2F;code&gt;&lt;br &#x2F;&gt;
&lt;em&gt;Default&lt;&#x2F;em&gt;: &lt;code&gt;true&lt;&#x2F;code&gt;&lt;br &#x2F;&gt;
&lt;em&gt;Description&lt;&#x2F;em&gt;: Control whether a player wants to globally enable the chat feature if connected to a server. As the server side chat is entirely passive. Which means chat messages have to explicitly be fetched by the player and are not send by the server. This will disable any call or any chat related RPC function for this client.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;PLAYER_ID&lt;&#x2F;strong&gt;:&lt;br &#x2F;&gt;
&lt;em&gt;Values&lt;&#x2F;em&gt;: &lt;code&gt;UUID4&lt;&#x2F;code&gt;&lt;br &#x2F;&gt;
&lt;em&gt;Default&lt;&#x2F;em&gt;: Random&lt;br &#x2F;&gt;
&lt;em&gt;Description&lt;&#x2F;em&gt;: The player id is used by servers to reference players. Since the clientid assigned to a layer upon connecting to a server is random it can not be used to reference players across reconnects or loading a saved game. THis also means if another player knows the &lt;code&gt;PLAYER_ID&lt;&#x2F;code&gt; of any other player they can join a server as said other player. To prevent &lt;code&gt;PLAYER_ID&lt;&#x2F;code&gt; abuse future client version will generate a unique per server &lt;code&gt;PLAYER_ID&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;If the game is launched for the first time it will generate a random and unique &lt;code&gt;PLAYER_ID&lt;&#x2F;code&gt;. This is not done through fingerprinting. This means deleting the sce_client.json file will reset the &lt;code&gt;PLAYER_ID&lt;&#x2F;code&gt; to a new and random value.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;&#x2F;strong&gt;: Player ids are never shared with other client as the dedicated server acts as a relay between clients. This means there is no peer-to-peer connection between clients and thus only the server knowns which currently connected client id belongs to which &lt;code&gt;PLAYER_ID&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;PLAYER_NAME&lt;&#x2F;strong&gt;:&lt;br &#x2F;&gt;
&lt;em&gt;Values&lt;&#x2F;em&gt;: Anything&lt;br &#x2F;&gt;
&lt;em&gt;Default&lt;&#x2F;em&gt;: Random&lt;br &#x2F;&gt;
&lt;em&gt;Description&lt;&#x2F;em&gt;: The players name as shared with other clients via a server. The name can be changed at any time and many players can also share the same name. Since players are identified based on their &lt;code&gt;PLAYER_ID&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;THEME_ICONS_UI&lt;&#x2F;strong&gt;:&lt;br &#x2F;&gt;
&lt;em&gt;Values&lt;&#x2F;em&gt;: &lt;code&gt;0&lt;&#x2F;code&gt;, &lt;code&gt;1&lt;&#x2F;code&gt;&lt;br &#x2F;&gt;
&lt;em&gt;Default&lt;&#x2F;em&gt;: &lt;code&gt;1&lt;&#x2F;code&gt;&lt;br &#x2F;&gt;
&lt;em&gt;Description&lt;&#x2F;em&gt;: The game supports multiple themed for UI icons as used in the game. Currently there are two available: &lt;code&gt;schematic&lt;&#x2F;code&gt; and &lt;code&gt;realistic&lt;&#x2F;code&gt;. This controls how any entity in game is represented in any overview or in-game window.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;THEME_IMPOSTOR&lt;&#x2F;strong&gt;:&lt;br &#x2F;&gt;
&lt;em&gt;Values&lt;&#x2F;em&gt;: &lt;code&gt;0&lt;&#x2F;code&gt;, &lt;code&gt;1&lt;&#x2F;code&gt;&lt;br &#x2F;&gt;
&lt;em&gt;Default&lt;&#x2F;em&gt;: &lt;code&gt;0&lt;&#x2F;code&gt;
&lt;em&gt;Description&lt;&#x2F;em&gt;: An impostors is a 2D image of a 3D object used to save some performance in-game for far away entities. This settings controlls how these should appear either in the &lt;code&gt;schematic&lt;&#x2F;code&gt; or &lt;code&gt;realistic&lt;&#x2F;code&gt; theme.&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;sce&#x2F;ui-settings.webp&quot; title=&quot;Space Conflicts: Empires UI Settings&quot; alt=&quot;Space Conflicts: Empires UI Settings&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;&lt;strong&gt;UNIQUE_PLAYER_ID&lt;&#x2F;strong&gt;:&lt;br &#x2F;&gt;
&lt;em&gt;Values&lt;&#x2F;em&gt;: &lt;code&gt;true&lt;&#x2F;code&gt;, &lt;code&gt;false&lt;&#x2F;code&gt;&lt;br &#x2F;&gt;
&lt;em&gt;Default&lt;&#x2F;em&gt;: &lt;code&gt;true&lt;&#x2F;code&gt;&lt;br &#x2F;&gt;
&lt;em&gt;Description&lt;&#x2F;em&gt;: This setting will be removed in future versions. Originally we planed on making it configurable if a player wants to share their &lt;code&gt;PLAYER_ID&lt;&#x2F;code&gt; across all servers. However due to the &lt;code&gt;PLAYER_ID&lt;&#x2F;code&gt; being exposed to server administrators and to prevent abuse of player ids we&#x27;ve decided to generate a unique player ids for each server a player joins. This toggle therefore was meant to make this behaviour configurable.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;source&quot;&gt;Source&lt;&#x2F;h2&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;memes&#x2F;source.webp&quot; title=&quot;Source? I made it the fuck up&quot; alt=&quot;Source? I made it the fuck up&quot;&gt;
&lt;&#x2F;div&gt;</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Space Conflicts: Empires - Sever Settings</title>
        <published>2025-08-31T13:58:00+00:00</published>
        <updated>2025-08-31T13:58:00+00:00</updated>
        
        <author>
          <name>
            Vortex Acherontic
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://docs.z-ray.de/space-conflicts-empires/server-settings/"/>
        <id>https://docs.z-ray.de/space-conflicts-empires/server-settings/</id>
        
        <content type="html" xml:base="https://docs.z-ray.de/space-conflicts-empires/server-settings/">&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;sce&#x2F;sce-banner.webp&quot; title=&quot;Space Conflicts: Empires Logo&quot; alt=&quot;Space Conflicts: Empires Logo&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;Server configuration files can be found at: &lt;code&gt;~&#x2F;.local&#x2F;share&#x2F;godot&#x2F;app_userdata&#x2F;Space Conflicts- Empires - Dedicated Server&#x2F;&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;sce_server_config.json:&lt;&#x2F;strong&gt; Contains basic server configurations.&lt;br &#x2F;&gt;
&lt;strong&gt;Save Games:&lt;&#x2F;strong&gt; Are located at &lt;code&gt;save_games&#x2F;&lt;&#x2F;code&gt; inside the same directory as &lt;em&gt;sce_server_config.json&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;sce-server-config-json&quot;&gt;sce_server_config.json&lt;&#x2F;h2&gt;
&lt;p&gt;A typical server config file looks like:&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;{
    &amp;quot;chatting_enabled&amp;quot;: true,
    &amp;quot;game_mode&amp;quot;: 0,
    &amp;quot;master_token&amp;quot;: &amp;quot;1224544341&amp;quot;,
    &amp;quot;port&amp;quot;: 5000,
    &amp;quot;save_game_dir&amp;quot;: &amp;quot;save_1&amp;quot;,
    &amp;quot;server_description&amp;quot;: &amp;quot;Just an ordinary standart Space Conflicts: Empires game server.&amp;quot;,
    &amp;quot;server_name&amp;quot;: &amp;quot;Horse Palace&amp;quot;
}
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;chatting_enabled&lt;&#x2F;strong&gt; :&lt;br &#x2F;&gt;
&lt;em&gt;Values&lt;&#x2F;em&gt; : &lt;code&gt;true&lt;&#x2F;code&gt; &#x2F; &lt;code&gt;false&lt;&#x2F;code&gt;&lt;br &#x2F;&gt;
&lt;em&gt;Default&lt;&#x2F;em&gt; : &lt;code&gt;true&lt;&#x2F;code&gt;&lt;br &#x2F;&gt;
&lt;em&gt;Description&lt;&#x2F;em&gt; : Server wide enable or disable of chat function. This settings might be useful for UK users to comply with the Online Safety Act. By disabling the chat users will not be able to communicate in-game and hence free server administrators to monitor their chat interactions.&lt;&#x2F;p&gt;
&lt;p&gt;If chatting is disabled on the server the server will not accept or respond to any chat related RPCs.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;game_mode&lt;&#x2F;strong&gt; :&lt;br &#x2F;&gt;
&lt;em&gt;Values&lt;&#x2F;em&gt; : &lt;code&gt;0&lt;&#x2F;code&gt;, &lt;code&gt;1&lt;&#x2F;code&gt;&lt;br &#x2F;&gt;
&lt;em&gt;Default&lt;&#x2F;em&gt; : &lt;code&gt;0&lt;&#x2F;code&gt;&lt;br &#x2F;&gt;
&lt;em&gt;Description&lt;&#x2F;em&gt; : Controls whether the server should run in &lt;code&gt;lobby&lt;&#x2F;code&gt; (0) or &lt;code&gt;endless&lt;&#x2F;code&gt; (1) mode.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Lobby&lt;&#x2F;em&gt; : Is a dedicated server mode to only allow players to join during the setup phase eg. players join a lobby and the game will start when everyone is ready. After the game has been launched no players will be able to join. Also if a player disconnects from a server either by accident or on purpose the game will be paused. Unless all remaining players choose to continue playing or save and quit the game.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Endless&lt;&#x2F;em&gt; : Is a mode which is not yet implemented but wil later on serve as a specialized MMO like always on mode. Where the server accepts new players any time. If a new player joins the game and has not yet been known by the server they will get assigned a new home world and start playing. Also in endless mode there will be a configurable &quot;noob mode&quot; which will put players in tiers based on their in-game point to allow &#x2F; disallow strong players to combat weaker players. Only players in the same tier are allowed to combat each other. This &quot;noob mode&quot; will also be able to turn off entirely.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;master_token&lt;&#x2F;strong&gt; :&lt;br &#x2F;&gt;
&lt;em&gt;Values&lt;&#x2F;em&gt; : Anything&lt;br &#x2F;&gt;
&lt;em&gt;Default&lt;&#x2F;em&gt; : Random&lt;br &#x2F;&gt;
&lt;em&gt;Description&lt;&#x2F;em&gt; : Serves as a server side master password. Players which know this password can authenticate themselves as server administrator and get access to admin features.&lt;&#x2F;p&gt;
&lt;p&gt;Upon launching a dedicated server and no &lt;em&gt;sce_server_config.json&lt;&#x2F;em&gt; was found it will generate a new random master token. This is to prevent servers to be available with well known default tokens.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;port&lt;&#x2F;strong&gt; :&lt;br &#x2F;&gt;
&lt;em&gt;Values&lt;&#x2F;em&gt; : &lt;code&gt;0&lt;&#x2F;code&gt; - &lt;code&gt;65535&lt;&#x2F;code&gt;&lt;br &#x2F;&gt;
&lt;em&gt;Default&lt;&#x2F;em&gt; : &lt;code&gt;5000&lt;&#x2F;code&gt;&lt;br &#x2F;&gt;
&lt;em&gt;Description&lt;&#x2F;em&gt; : Defines the network port a dedicated server is bound to.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;&#x2F;strong&gt; Not all port numbers are valid. Usually there are some system reserved ports in the range &lt;code&gt;0&lt;&#x2F;code&gt; - &lt;code&gt;1023&lt;&#x2F;code&gt; and it is not recommended to use any of these.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;save_game_dir&lt;&#x2F;strong&gt; :&lt;br &#x2F;&gt;
&lt;em&gt;Values&lt;&#x2F;em&gt; : Anything&lt;br &#x2F;&gt;
&lt;em&gt;Default&lt;&#x2F;em&gt; : &lt;code&gt;save_1&lt;&#x2F;code&gt;&lt;br &#x2F;&gt;
&lt;em&gt;Description&lt;&#x2F;em&gt; : Defines the directory at &lt;code&gt;save_games&lt;&#x2F;code&gt; where the server will store save game files to.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;server_description&lt;&#x2F;strong&gt; :&lt;br &#x2F;&gt;
&lt;em&gt;Values&lt;&#x2F;em&gt; : Anything&lt;br &#x2F;&gt;
&lt;em&gt;Default&lt;&#x2F;em&gt; : &lt;code&gt;Just an ordinary standart Space Conflicts: Empires game server.&lt;&#x2F;code&gt;&lt;br &#x2F;&gt;
&lt;em&gt;Description&lt;&#x2F;em&gt; : Will later on server as a server description visible in a yet to be implemented server browser.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;server_name&lt;&#x2F;strong&gt; :&lt;br &#x2F;&gt;
&lt;em&gt;Values&lt;&#x2F;em&gt; : Anything&lt;br &#x2F;&gt;
&lt;em&gt;Default&lt;&#x2F;em&gt; : Random&lt;br &#x2F;&gt;
&lt;em&gt;Description&lt;&#x2F;em&gt; : Is the name of the server. Similar to &lt;em&gt;server_description&lt;&#x2F;em&gt; it will server as a server name for a yet to be implemented server browser. Also this name is used for naming lobbies.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;source&quot;&gt;Source&lt;&#x2F;h2&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;memes&#x2F;source.webp&quot; title=&quot;Source? I made it the fuck up&quot; alt=&quot;Source? I made it the fuck up&quot;&gt;
&lt;&#x2F;div&gt;</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Nvidia driver on Aeon and Kalpa</title>
        <published>2025-08-31T11:46:00+00:00</published>
        <updated>2025-08-31T11:46:00+00:00</updated>
        
        <author>
          <name>
            Vortex Acherontic
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://docs.z-ray.de/docs/nvidia-aeon-kalpa/"/>
        <id>https://docs.z-ray.de/docs/nvidia-aeon-kalpa/</id>
        
        <content type="html" xml:base="https://docs.z-ray.de/docs/nvidia-aeon-kalpa/">&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;logos&#x2F;nvidia.webp&quot; title=&quot;Nvidia brand logo&quot; alt=&quot;Nvidia brand logo&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;Kalpa and Aeon are Wayland only Linux Distribution. This means nVidia GPUs and drivers not supporting Wayland are not going to work!&lt;br &#x2F;&gt;
This applies to any GPU only supported by the 390 or older driver series or the &lt;em&gt;Fermi (GTX 400&#x2F;500)&lt;&#x2F;em&gt; and older micro architectures.&lt;&#x2F;p&gt;
&lt;p&gt;It is recommended to have at least a nVidia GPU supported by driver version 496.44 or newer. Older drivers might work but with limited user experience and is not recommended.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Attention:&lt;&#x2F;strong&gt; Follow every step carefully as the installation may otherwise end in an unbootable&#x2F;broken system, with broken auto updates or missing display output. Also throughout this guide please reboot only if this has been explicitly stated.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;determine-supported-driver-driver-package&quot;&gt;Determine supported driver driver package&lt;&#x2F;h2&gt;
&lt;p&gt;It is important to determine the supported driver version first. The easiest way is by looking up &lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.nvidia.com&#x2F;en-us&#x2F;drivers&#x2F;&quot;&gt;nVidias driver download page&lt;&#x2F;a&gt;. &lt;strong&gt;Do not download the nVidia Installer&lt;&#x2F;strong&gt; from there as it will not work with Kalpa or Aeon.&lt;&#x2F;p&gt;
&lt;p&gt;If you know the micro architecture of your GPU the following should work with Kalpa or Aeon:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Kepler (GeForce 600, 700, 800M) with &lt;strong&gt;limited functionality&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Maxwell (GeForce 700, 800M, 900)&lt;&#x2F;li&gt;
&lt;li&gt;Pascal (GeForce 10 series, Quadro P, Tesla P4)&lt;&#x2F;li&gt;
&lt;li&gt;Turing (GeForce 16, 20)&lt;&#x2F;li&gt;
&lt;li&gt;Ampere (GeForce 30)&lt;&#x2F;li&gt;
&lt;li&gt;Ada Lovelace (GeForce 40)&lt;&#x2F;li&gt;
&lt;li&gt;Blackwell (GeForce 50)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;The best experience you will have with Turing and newer as these GPUs can also make use of nVidias open Kernel Module.&lt;&#x2F;p&gt;
&lt;p&gt;If the GPU is supported by the 500 driver series the G06 driver package is required. For 400 series G05. Everything else is not supported.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;setup-system&quot;&gt;Setup system&lt;&#x2F;h2&gt;
&lt;p&gt;Before we can begin with the driver installation it is important to do the following config changes first.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;setup-zypper&quot;&gt;Setup zypper&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Open up a terminal and enter: &lt;code&gt;sudo sed -i &#x27;s&#x2F;# autoAgreeWithLicenses = no&#x2F;autoAgreeWithLicenses = yes&#x2F;&#x27; &#x2F;etc&#x2F;zypp&#x2F;zypper.conf&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;This is important to not break Kalpa and Aeon&#x27;s auto update as the nVidia driver packages requires the user to agree with the nVidia EULA. As the automated update is running in the background no user interaction is possible here.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;setup-transactional-update&quot;&gt;Setup transactional-update&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Create a new snapshot: &lt;code&gt;sudo transactional-update shell&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Add a new file with &lt;code&gt;echo &quot;ZYPPER_AUTO_IMPORT_KEYS=1&quot; &amp;gt; touch &#x2F;usr&#x2F;etc&#x2F;transactional-update.conf.d&#x2F;40-auto-import-keys.conf&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Close the snapshot: &lt;code&gt;exit&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;This is important as the nVidia repository signing key might change at any given time. If the system dose not import the key by itself the auto updated might break at any given time and&#x2F;or the health checker might run havoc and cause the system to permanently reboot.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;add-nvidia-driver-repository-and-install-driver&quot;&gt;Add nVidia driver repository and install driver&lt;&#x2F;h2&gt;
&lt;p&gt;Still in Terminal run &lt;code&gt;sudo transactional-update -c pkg in openSUSE-repos-MicroOS-NVIDIA&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;g06-with-open-source-kernel-module&quot;&gt;G06 with open source Kernel module&lt;&#x2F;h3&gt;
&lt;p&gt;Recommended for: Turing, Ampere, Ada Lovelace, Blackwell&lt;&#x2F;p&gt;
&lt;p&gt;Install the driver using:&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;sudo transactional-update -c shell
zypper -n --gpg-auto-import-keys in --auto-agree-with-licenses openSUSE-repos-MicroOS-NVIDIA
zypper -n --gpg-auto-import-keys in --auto-agree-with-licenses nvidia-open-driver-G06-signed-kmp-meta
version=$(rpm -qa --queryformat &amp;#x27;%{VERSION}\n&amp;#x27; nvidia-open-driver-G06-signed-kmp-default | cut -d &amp;quot;_&amp;quot; -f1 | sort -u | tail -n 1)
zypper -n --gpg-auto-import-keys in --auto-agree-with-licenses nvidia-compute-utils-G06 == $version nvidia-persistenced == $version nvidia-video-G06 == $version
exit
sudo transactional-update -c initrd
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Reboot. The driver should work right away.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;g06-with-closed-source-kernel-module&quot;&gt;G06 with closed source kernel module&lt;&#x2F;h3&gt;
&lt;p&gt;Recommended for: Maxwell and Pascal&lt;&#x2F;p&gt;
&lt;p&gt;Installing the driver can be done using:&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;sudo transactional-update -c -i pkg in nvidia-driver-G06-kmp-meta
sudo transactional-update -c initrd
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;The driver will not load yet if you have Secure Boot enabled. Continue with secure boot below after you have rebooted the system.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;g05&quot;&gt;G05&lt;&#x2F;h3&gt;
&lt;p&gt;Recommended for: Kepler&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;&#x2F;strong&gt; While these driver series has worked to some degree with Kalpa and Aeon in our tests they do not provided a very good user experience due to lack of modern Wayland support. If using these drivers expect issues which can not be fixed. Also the G05 driver series often times does not compile for the latest Linux Kernel and manual intervention may be required.&lt;&#x2F;p&gt;
&lt;p&gt;Installing the driver can be done using: &lt;code&gt;sudo transactional-update -c pkg in nvidia-gfxG05-kmp-default x11-video-nvidiaG05 nvidia-glG05 nvidia-computeG05&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;For a successful driver installation we also need to configure a few additional things:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Append &lt;code&gt;rd.driver.blacklist=nouveau&lt;&#x2F;code&gt; to &lt;code&gt;sudo vim &#x2F;etc&#x2F;kernel&#x2F;cmdline&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Create a new file &lt;code&gt;sudo touch &#x2F;etc&#x2F;modprobe.d&#x2F;nvidia.conf&lt;&#x2F;code&gt; and enter: &lt;code&gt;options nvidia-drm modeset=1&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Then run &lt;code&gt;sudo transactional-update -c initrd&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;The driver will not load yet if you have &lt;strong&gt;Secure Boot&lt;&#x2F;strong&gt; enabled. Continue with secure boot below after you have rebooted the system.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;secure-boot&quot;&gt;Secure boot&lt;&#x2F;h1&gt;
&lt;p&gt;For G06 with the open kernel module this step is not required as the open module is already signed by the systems own secure boot keys.&lt;&#x2F;p&gt;
&lt;p&gt;With the closed source driver module the MOK (machine owner keys) have to be manually enrolled in order for the driver to get loaded. To do so run:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;G06 with closed source kernel module:&lt;&#x2F;strong&gt;
&lt;code&gt;sudo mokutil --import &#x2F;usr&#x2F;share&#x2F;nvidia-pubkeys&#x2F;MOK-nvidia-driver-G0&amp;lt;X&amp;gt;-&amp;lt;driver_version&amp;gt;-&amp;lt;kernel_flavor&amp;gt;.der&lt;&#x2F;code&gt; and provide an easy to type and remember password as we will need it at the next reboot.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;G05:&lt;&#x2F;strong&gt;
&lt;code&gt;sudo mokutil --import &#x2F;usr&#x2F;share&#x2F;nvidia-pubkeys&#x2F;MOK-nvidia-gfxG0&amp;lt;X&amp;gt;-&amp;lt;driver_version&amp;gt;-&amp;lt;kernel_flavor&amp;gt;.der&lt;&#x2F;code&gt; and provide an easy to type and remember password as we will need it at the next reboot.&lt;&#x2F;p&gt;
&lt;p&gt;Afterwards reboot. The system should show a &lt;em&gt;Perform MOK management&lt;&#x2F;em&gt; screen.&lt;br &#x2F;&gt;
Choose &lt;strong&gt;Entoll MOK&lt;&#x2F;strong&gt; followed by &lt;strong&gt;Continue&lt;&#x2F;strong&gt; and answer &lt;em&gt;Enroll the keys(s)&lt;&#x2F;em&gt; with &lt;strong&gt;Yes&lt;&#x2F;strong&gt; then provide the password set while using mokuitls. If the enrollment failed it can be re-enrolled using the above commands again.&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;nvidia&#x2F;nvidia-mok.webp&quot; title=&quot;Nvidia MOK Management&quot; alt=&quot;Nvidia MOK Management&quot;&gt;
&lt;&#x2F;div&gt;
&lt;h2 id=&quot;optimus&quot;&gt;Optimus&lt;&#x2F;h2&gt;
&lt;p&gt;For Laptop users which do have an integrated and a dedicated (presumably nVidia) GPU, also called Optimus Laptop, may want to read the following.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;offloading&quot;&gt;Offloading&lt;&#x2F;h3&gt;
&lt;p&gt;To offload an application or game to the dedicated nVidia GPU it is required prefix the launch command with a few environment variables to make them run on the nVidia GPU:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;__GLX_VENDOR_LIBRARY_NAME=nvidia&lt;&#x2F;li&gt;
&lt;li&gt;__NV_PRIME_RENDER_OFFLOAD=1&lt;&#x2F;li&gt;
&lt;li&gt;__VK_LAYER_NV_optimus=NVIDIA_only&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;For Steam you can add the following as a game launch option for example:&lt;br &#x2F;&gt;
&lt;code&gt;__GLX_VENDOR_LIBRARY_NAME=nvidia __NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only %command%&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;You can verify this by running &lt;code&gt;nvidia-smi&lt;&#x2F;code&gt; from terminal and see if the requested application is listed in the Processes table at the bottom of the screen.&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;nvidia&#x2F;nvidia-smi.webp&quot; title=&quot;Nvidia SMI&quot; alt=&quot;Nvidia SMI&quot;&gt;
&lt;&#x2F;div&gt;
&lt;h2 id=&quot;power-management&quot;&gt;Power management&lt;&#x2F;h2&gt;
&lt;p&gt;If the nVidia GPU is of the &lt;strong&gt;Pascal (GTX 10) or older&lt;&#x2F;strong&gt; micro architecture it is recommended to install additional software, as these GPUs stay powered on if not in use. To forcefully power them down or up install prime-select and bbswitch as follows:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;sudo transactional-update pkg in bbswitch-kmp-default suse-prime&lt;&#x2F;code&gt;&lt;br &#x2F;&gt;
After the next reboot also enable the prime-select service as follows:&lt;br &#x2F;&gt;
&lt;code&gt;sudo systemctl enable --now prime-select.service&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;To set which GPU should be used at boot time run: &lt;code&gt;sudo prime-select boot intel|offload&lt;&#x2F;code&gt;. The &lt;code&gt;intel&lt;&#x2F;code&gt; mode will also work for integrated AMD iGPUs.&lt;&#x2F;p&gt;
&lt;p&gt;To switch the mode on-demand you can run: &lt;code&gt;sudo prime-select intel|offload&lt;&#x2F;code&gt; log out and in again. The nVidia GPU should now be powered on or off and the driver loaded or unloaded depending on which mode has been chosen.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Note: Only use &lt;code&gt;intel&lt;&#x2F;code&gt; or &lt;code&gt;offload&lt;&#x2F;code&gt; with out the pipe&lt;&#x2F;strong&gt;
&lt;strong&gt;Note 2: The &lt;code&gt;nvidia&lt;&#x2F;code&gt; mode does only work on X11 which is not supported on Kalpa and Aeon&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;For a graphical user interface we recommend &lt;a href=&quot;..&#x2F;optimusui&quot;&gt;OptimusUI&lt;&#x2F;a&gt; which we&#x27;ve developed for this purpose.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;addional-notes-about-driver-support&quot;&gt;Addional notes about driver support&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;nVidia installer&lt;&#x2F;strong&gt;: Do not use the driver installer provided by nVidia it does not work with Kalpa and Aeon as it does not expect a Linux distribution to be immutable and will therefore write certain files into the wrong directories as well as DKMS will fail to generate the kernel module.&lt;br &#x2F;&gt;
&lt;strong&gt;390 or older&lt;&#x2F;strong&gt;: These drivers will not work with Kalpa and Aeon&lt;br &#x2F;&gt;
&lt;strong&gt;496.44 or newer&lt;&#x2F;strong&gt;: Recommended by KDE for Plasma 6 with Wayland&lt;br &#x2F;&gt;
&lt;strong&gt;555.58 or newer&lt;&#x2F;strong&gt;: Is recommended for the best possible Wayland experience with the proprietary nVidia driver. As these driver series and newer contain a lot of improvements and tweaks to work best with Wayland.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;sources&quot;&gt;Sources&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;en.opensuse.org&#x2F;SDB:NVIDIA_drivers&quot;&gt;openSUSE Wiki about nvidia driver install&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;community.kde.org&#x2F;Plasma&#x2F;Wayland&#x2F;Nvidia&quot;&gt;KDE Wayland nVidia&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.nvidia.com&#x2F;en-us&#x2F;drivers&#x2F;details&#x2F;228214&#x2F;&quot;&gt;nVidia 555.58 release notes&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Direct3D Wrappers</title>
        <published>2025-08-31T00:20:00+00:00</published>
        <updated>2025-08-31T00:20:00+00:00</updated>
        
        <author>
          <name>
            Vortex Acherontic
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://docs.z-ray.de/docs/directed3d-wrappers/"/>
        <id>https://docs.z-ray.de/docs/directed3d-wrappers/</id>
        
        <content type="html" xml:base="https://docs.z-ray.de/docs/directed3d-wrappers/">&lt;p&gt;As it is common that Direct3D is only supported on Microsoft Windows other operating systems need to rely on so called translation layers to render Direct3D content. This page serves as an overview about common translation layers which do work on Linux.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;wined3d&quot;&gt;WineD3D&lt;&#x2F;h2&gt;
&lt;p&gt;One of the most prominent and oldest Direct3D wrappers is WineD3D which stands for Wine Direct3D. While Wine stands for Wine Is Not an Emulator. This is true for WineD3D as well. Instead of &quot;emulating&quot; a Direct3D device it does in fact understand Direct3D calls and then maps them to corresponding OpenGL calls.&lt;&#x2F;p&gt;
&lt;p&gt;WineD3D is part of Wine it self and works with Direct3D 1 up to 11. Also there is ongoing work to port the OpenGL based WineD3D to a Vulkan based WineD3D for Direct3D 1 up to 9.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;dxvk&quot;&gt;DXVK&lt;&#x2F;h2&gt;
&lt;p&gt;Another very well know translation layer is the Vulkan based DXVK. Originally developed to play NieR Automata on Linux by  Philip Rebohle  it has become a part of Valves Wine fork Proton and powers modern Linux Gaming.&lt;&#x2F;p&gt;
&lt;p&gt;DXVK supports Direct3D 8 up to 11. While originally it only supported Direct3D 10 and 11.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;D9VK:&lt;&#x2F;strong&gt; Now part of DXVK was D9VK but once independent as a Vulkan based Direct3D 9 to Vulkan translator&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;D8VK:&lt;&#x2F;strong&gt; Similar to D9VK and also now part of DXVK is D8VK for Direct3D 8 to Vulkan.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;D7VK:&lt;&#x2F;strong&gt; Pretty much as like all the other D*VK&#x27;s is this a Direct3D 7 to Vulkan mapper. D7VK is still in development but also the developer claimed it will never be compatible with all application using Direct3D 7 as the API was not very well defined.&lt;&#x2F;p&gt;
&lt;p&gt;See: &lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;WinterSnowfall&#x2F;d7vk&quot;&gt;https:&#x2F;&#x2F;github.com&#x2F;WinterSnowfall&#x2F;d7vk&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;DXVK-native:&lt;&#x2F;strong&gt; Is a fork of DXVK with the goal to be used without Wine. It is often used to help game developers porting their Direct3D games to Linux. Prominent users of DXVK-native are Portal 2, Left 4 Dead 2 and Half-Life 2 by Valve.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;DXVK-nvapi:&lt;&#x2F;strong&gt; Is not a translation layer by itself but rather a re-implementation of the nVidia API (NVAPI) which allows games to query and use certain features of a nVidia GPU with the proprietary driver such as DLSS and PhysX.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;vkd3d&quot;&gt;VKD3D&lt;&#x2F;h2&gt;
&lt;p&gt;Developed by the Wine project as a Direct3D 12 to Vulkan mapper. Often confused with &lt;strong&gt;VKD3D-proton&lt;&#x2F;strong&gt;. Which itself is a fork of VKD3D developed by Valve and integrated with Proton.&lt;&#x2F;p&gt;
&lt;p&gt;VKD3D also relies on DXVK-nvapi to access additional features of nVidia GPUs.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;eon&quot;&gt;eOn&lt;&#x2F;h2&gt;
&lt;p&gt;Is a proprietary Direct3D to OpenGL mapper developed by Virtual Programming and used in the Linux port of BioShock Infinite, The Witcher 2: Assassins of Kings, Saints Row 3 and a few others.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;tungsten&quot;&gt;Tungsten&lt;&#x2F;h2&gt;
&lt;p&gt;Is a proprietary Direct3D to OpenGL mapper developed and used by Feral Interactive in their earlier Linux ports. Such as Tomb Raider (2013), Alien Isolation, Mad Max and others. Later on they moved on to Feral3D. Sometimes also called &quot;IndirectX&quot;. But which name applies is not very well known.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;feral3d&quot;&gt;Feral3D&lt;&#x2F;h2&gt;
&lt;p&gt;Is a proprietary Direct3D to Vulkan mapper developed and used by Feral Interactive in their later Linux ports before they stopped porting to Linux. Prominent games using Feral3D are Rise of the Tomb Raider, Shadow of the Tomb Raider as well as a public beta for Mad Max and Lords of the Rings: Shadow of Mordor.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;togl&quot;&gt;ToGL&lt;&#x2F;h2&gt;
&lt;p&gt;Before using DXVK-native Valve used their own ToGL in their Source Engine 2 Linux games to map Direct3D to OpenGL.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;sources&quot;&gt;Sources&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.pcgamingwiki.com&#x2F;wiki&#x2F;Company:Virtual_Programming#Games_ported_to_Linux&quot;&gt;Virtual Programming Linux Ports&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;holarse.de&#x2F;wiki&#x2F;eON&quot;&gt;Holarse Wiki about eOn&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;doitsujin&#x2F;dxvk&quot;&gt;GitHub DXVK&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;gitlab.winehq.org&#x2F;wine&#x2F;vkd3d&quot;&gt;Wine Gitlab VKD3D&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;HansKristian-Work&#x2F;vkd3d-proton&quot;&gt;Github VKD3D-proton&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;ValveSoftware&#x2F;ToGL&quot;&gt;Github Valve ToGL&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;gitlab.winehq.org&#x2F;wine&#x2F;wine&#x2F;-&#x2F;wikis&#x2F;Useful-Registry-Keys&quot;&gt;Wine HQ Registry keys&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.phoronix.com&#x2F;news&#x2F;WineD3D-Vulkan-Details&quot;&gt;Phoronix WineD3D Vulkan&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>GTK4 apps hang on nVidia or corrupted rendering on AMD and Intel</title>
        <published>2025-08-30T20:26:00+00:00</published>
        <updated>2025-08-30T20:26:00+00:00</updated>
        
        <author>
          <name>
            Vortex Acherontic
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://docs.z-ray.de/docs/gtk4-nvidia-amd-intel/"/>
        <id>https://docs.z-ray.de/docs/gtk4-nvidia-amd-intel/</id>
        
        <content type="html" xml:base="https://docs.z-ray.de/docs/gtk4-nvidia-amd-intel/">&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;logos&#x2F;gtk.webp&quot; title=&quot;GTK Logo&quot; alt=&quot;GTK Logo&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;&#x2F;strong&gt; This issue has been fixed with the nVidia driver &lt;em&gt;580.82.07&lt;&#x2F;em&gt; please update to this or a newer version.&lt;&#x2F;p&gt;
&lt;p&gt;With GTK4 the GTK-Developers added a new render backend which can either use OpenGL or Vulkan to draw windows on to the screen. However with the nvidia 580 driver series the default (&lt;code&gt;vulkan&lt;&#x2F;code&gt;) can cause GTK4 &#x2F; libadwaita application to hang upon closing. (Force quit)&lt;&#x2F;p&gt;
&lt;p&gt;Also on AMD and Intel GPUs using the open source driver stack there can be rendering artifacts too due to this.&lt;&#x2F;p&gt;
&lt;p&gt;Some older Intel iGPUS do have limitted Vulkan support which might cause the GUI toolkit to think it can use Vulkan on that devices while it can&#x27;t. As an result there are blank windows or apps straig out crashing.&lt;&#x2F;p&gt;
&lt;p&gt;To fix these issues create a new file at: &lt;code&gt;~&#x2F;.config&#x2F;environment.d&#x2F;envvars.conf&lt;&#x2F;code&gt; with &lt;code&gt;GSK_RENDERER=ngl&lt;&#x2F;code&gt; as it&#x27;s content.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Flatpak:&lt;&#x2F;strong&gt; If most applications run via flatpak this file will have no effect and thus this environment variable needs to be set as a flatpak override: &lt;code&gt;flatpak override --user --env=GSK_RENDERER=ngl&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Flatseal:&lt;&#x2F;strong&gt; Some can also use Flatseal to set this override. Navigate to &lt;code&gt;All Applications &#x2F; Global&lt;&#x2F;code&gt; scroll down until you read &lt;code&gt;Variables&lt;&#x2F;code&gt; and enter &lt;code&gt;GSK_RENDERER=ngl&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;For KDE users this override must be set either by using Flatseal or the command line. Plasmas own application permission screen does not allow for global overrides.&lt;&#x2F;p&gt;
&lt;p&gt;To revert this setting to it&#x27;s default either remove these overrides &#x2F; envvars.conf file or set it to &lt;code&gt;GSK_RENDERER=vulkan&lt;&#x2F;code&gt; before launching an GTK4 application to test if the issue has been fixed.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Sources:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;bbs.archlinux.org&#x2F;viewtopic.php?id=307611&quot;&gt;Arch Linux Forums&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;forums.developer.nvidia.com&#x2F;t&#x2F;580-release-feedback-discussion&#x2F;341205&#x2F;20&quot;&gt;nVidia Developer Forums - 580 release discussion&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;forums.developer.nvidia.com&#x2F;t&#x2F;580-65-06-gtk-4-apps-hang-when-attempting-to-exit-close&#x2F;341308&#x2F;8&quot;&gt;Fixed driver version - nVidia developer forums&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;forums.opensuse.org&#x2F;t&#x2F;gtk4-native-apps-on-gnome-show-blank-windows-with-mesa-25-1-3-417-1-haswell-graphics&#x2F;185713&quot;&gt;openSUSE Forums - GTK4 native apps on Gnome show blank windows (Haswell graphics)&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;change-log&quot;&gt;Change log&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;2025-12-03
&lt;ul&gt;
&lt;li&gt;Added Intel and AMD&lt;&#x2F;li&gt;
&lt;li&gt;Changed title and descritpion&lt;&#x2F;li&gt;
&lt;li&gt;Changed tags&lt;&#x2F;li&gt;
&lt;li&gt;Added openSUSE Forums as source&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Linux Distributions</title>
        <published>2025-08-30T18:08:00+00:00</published>
        <updated>2025-08-30T18:08:00+00:00</updated>
        
        <author>
          <name>
            Vortex Acherontic
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://docs.z-ray.de/docs/linux-distributions/"/>
        <id>https://docs.z-ray.de/docs/linux-distributions/</id>
        
        <content type="html" xml:base="https://docs.z-ray.de/docs/linux-distributions/">&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;logos&#x2F;tux.webp&quot; title=&quot;Tux Mascot&quot; alt=&quot;Tux Mascot&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;As mentioned in one of our tutorial Videos some does usually not need a dedicated Linux distribution to run old or out-dated hardware in [current year]. However as also mentioned there are still some special cases where a Linux distribution with certain capabilities might be required. On this page we try to keep a list of such Linux systems supporting any or all of these &quot;special requirements&quot;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;legacy-boot&quot;&gt;Legacy Boot&lt;&#x2F;h2&gt;
&lt;p&gt;These distributions can be installed on systems without an UEFI.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;get.opensuse.org&#x2F;tumbleweed&#x2F;&quot;&gt;Tumbleweed&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;kalpadesktop.org&#x2F;&quot;&gt;Kalpa&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.linuxmint.com&#x2F;&quot;&gt;Linux Mint&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;32bit-install&quot;&gt;32bit install&lt;&#x2F;h2&gt;
&lt;p&gt;These distributions can be installed on 32bit hardware. By this we do not mean the ability to run 32bit software. But rather the entire distribution being 32bit.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;get.opensuse.org&#x2F;tumbleweed&#x2F;&quot;&gt;Tumbleweed&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;32bit-execution-support&quot;&gt;32bit execution support&lt;&#x2F;h2&gt;
&lt;p&gt;The following Linux distributions allow to run 32bit software natively. Without the use of flatpak or distrobox&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;get.opensuse.org&#x2F;tumbleweed&#x2F;&quot;&gt;Tumbleweed&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.linuxmint.com&#x2F;&quot;&gt;Linux Mint&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;x11-support&quot;&gt;X11 support&lt;&#x2F;h2&gt;
&lt;p&gt;These distributions do allow for running them without Wayland. Which does not mean they do not support Wayland at all.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;get.opensuse.org&#x2F;tumbleweed&#x2F;&quot;&gt;Tumbleweed&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.linuxmint.com&#x2F;&quot;&gt;Linux Mint&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;distributions-running-on-x86-64-v1&quot;&gt;Distributions running on x86_64_v1&lt;&#x2F;h2&gt;
&lt;p&gt;The following distributions do not require a 64bit capable system to have a certain x86_64 feature level in order to run.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;get.opensuse.org&#x2F;tumbleweed&#x2F;&quot;&gt;Tumbleweed&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;kalpadesktop.org&#x2F;&quot;&gt;Kalpa&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.linuxmint.com&#x2F;&quot;&gt;Linux Mint&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Quake 4 on Linux</title>
        <published>2025-08-30T17:42:00+00:00</published>
        <updated>2025-08-30T17:42:00+00:00</updated>
        
        <author>
          <name>
            Vortex Acherontic
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://docs.z-ray.de/docs/quake4-linux/"/>
        <id>https://docs.z-ray.de/docs/quake4-linux/</id>
        
        <content type="html" xml:base="https://docs.z-ray.de/docs/quake4-linux/">&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;logos&#x2F;quake_4.webp&quot; title=&quot;Quake 4 Logo&quot; alt=&quot;Quake 4 Logo&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;Quake 4 is one of those games from id Software which does has a native Linux version but was never released under an open source license. Therefore no source ports do exist to play this game on Linux today. One way is to just use Wine or Proton to play it. If some does prefer the native version it can still be run on a modern Linux distribution with all the latest techs such as Wayland, Pipewire and even without 32bit support.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;install-quake-4&quot;&gt;Install Quake 4&lt;&#x2F;h2&gt;
&lt;p&gt;In order to run the game on Linux you need the original game date from either the retail CDs or Steam.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Download the game and copy &lt;code&gt;q4base&lt;&#x2F;code&gt; from the Windows version to any location where you want the Linux version to be installed.&lt;&#x2F;li&gt;
&lt;li&gt;Download the installer from &lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;lutris.net&#x2F;files&#x2F;games&#x2F;quake-4&#x2F;quake4-linux-1.4.2.x86.run&quot;&gt;here&lt;&#x2F;a&gt;. However on a modern 64bit Linux distribution this installer can not be executed as it does perform some system checks. To circumvent these checks run the installer as follows:&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;pre&gt;&lt;code&gt;chmod +x .&amp;#x2F;quake4-linux-1.4.2.x86.run
.&amp;#x2F;quake4-linux-1.4.2.x86.run --target quake4linux
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;ul&gt;
&lt;li&gt;Then merge &lt;code&gt;quake4linux&#x2F;q4base&lt;&#x2F;code&gt; to the location with the previously copied &lt;code&gt;q4base&lt;&#x2F;code&gt; form the Windows version.&lt;&#x2F;li&gt;
&lt;li&gt;Next also merge &lt;code&gt;quake4linux&#x2F;us&#x2F;q4base&lt;&#x2F;code&gt; or &lt;code&gt;quake4linux&#x2F;germany&#x2F;q4base&lt;&#x2F;code&gt; depending on your games langauge with the previously copied &lt;code&gt;q4base&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Copy all files from &lt;code&gt;bin&#x2F;Linux&#x2F;x86&#x2F;&lt;&#x2F;code&gt; next to q4base (not inside it)&lt;&#x2F;li&gt;
&lt;li&gt;Run &lt;code&gt;quake4.x86&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;For systems without 32bit support we recommend running the game via &lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;flathub.org&#x2F;apps&#x2F;net.lutris.Lutris&quot;&gt;Lutris&lt;&#x2F;a&gt; as a flatpak. Perform the setup as described above. Then add a new game to Lutris by choosing locally installed game and set it up to run quake4.x86 form the game directory.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;&#x2F;strong&gt; quake4smp.x86 does not work properly as it requires the provided libSDL-1.2.id.so.0 which creates a garbage window&lt;&#x2F;p&gt;
&lt;h2 id=&quot;sources&quot;&gt;Sources&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Linux Installer: https:&#x2F;&#x2F;lutris.net&#x2F;files&#x2F;games&#x2F;quake-4&#x2F;quake4-linux-1.4.2.x86.run&lt;&#x2F;li&gt;
&lt;li&gt;Quake 4 on Steam: https:&#x2F;&#x2F;store.steampowered.com&#x2F;app&#x2F;2210&#x2F;Quake_4&#x2F;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>OptimusUI</title>
        <published>2025-08-30T13:59:00+00:00</published>
        <updated>2025-08-30T13:59:00+00:00</updated>
        
        <author>
          <name>
            Vortex Acherontic
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://docs.z-ray.de/zray-soft/optimusui/"/>
        <id>https://docs.z-ray.de/zray-soft/optimusui/</id>
        
        <content type="html" xml:base="https://docs.z-ray.de/zray-soft/optimusui/">&lt;p&gt;Optimus UI is a wrapper application written in python, libadwaita and GTK4 for prime-select. It&#x27;s primary purpose is to provide one singular interface across many different linux distributions. Also it should be easy to install which is why it is shipped as a flatpak. This way users do not have to rely on their distribution maintainers to include a user interface to be used with prime-select.&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;img src=&quot;&#x2F;images&#x2F;optimusui&#x2F;optimusui.webp&quot; title=&quot;OptimusUI Main Window&quot; alt=&quot;OptimusUI Main Window&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;In the past we also maintained a Gnome Extension but these are prone to break with every Gnome update. Therefore to lower the maintenance burden we&#x27;ve come to the conclusion to provide a singular application. Also to not need to fight distribution specific dependency changes or to rely on a distribution to ship certain libraries themselves we also made it a flatpak.&lt;&#x2F;p&gt;
&lt;div class=&quot;flex justify-center&quot;&gt;
    &lt;a href=&quot;https:&#x2F;&#x2F;flathub.org&#x2F;apps&#x2F;de.z_ray.OptimusUI&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https:&#x2F;&#x2F;flathub.org&#x2F;api&#x2F;badge?svg&amp;locale=en&quot; title=&quot;OptimusUI Main Window&quot; alt=&quot;OptimusUI Main Window&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;div&gt;
&lt;h2 id=&quot;arbitrary-permissions&quot;&gt;Arbitrary permissions&lt;&#x2F;h2&gt;
&lt;p&gt;On flathub OptimusUI is marked as &lt;strong&gt;potentially unsafe&lt;&#x2F;strong&gt; which is true to some extend. Because OptimusUI has to access the hosts prime-select binary to trigger the switch of the GPU mode. For this it has to use &lt;code&gt;flatpak-spawn --host&lt;&#x2F;code&gt; followed by either &lt;code&gt;pkexec&lt;&#x2F;code&gt; or &lt;code&gt;kdesu&lt;&#x2F;code&gt; to run &lt;code&gt;prime-select&lt;&#x2F;code&gt; with &lt;strong&gt;superuser privileges&lt;&#x2F;strong&gt;. There currently is no other way to do this as flatpak does not allow for specifying a list of host binaries accessible to the sandbox.&lt;&#x2F;p&gt;
&lt;p&gt;While OptimusUI has the &quot;power&quot; to access anything on the host system we do not use this power outside the purpose of this application. You can also inspect the applications source code anytime &lt;a rel=&quot;noopener&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;codeberg.org&#x2F;ZRayEntertainment&#x2F;optimus-ui&quot;&gt;here&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Also OptimusUI uses this power to access &lt;code&gt;&#x2F;etc&#x2F;os-release&lt;&#x2F;code&gt; of the host system. Because inside the flatpak sandbox this file will only give intel on the Flatpak runntime used. But depending on the host distributions the distribution provided prime-select has different capabilities. Therefore we need to check the actual distro to then determine which kind of prime-select is available and which features to expose in the user interface.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;limittations&quot;&gt;Limittations&lt;&#x2F;h2&gt;
&lt;p&gt;While being a flatpak application OptimuUI comes with a few limitations. For OptimusUI to work the host system requires &lt;code&gt;prime-select&lt;&#x2F;code&gt;, &lt;code&gt;bbswtich&lt;&#x2F;code&gt; and the &lt;code&gt;nvidia kernel module&lt;&#x2F;code&gt; all which can not be shipped via flatpak. These are dependencies which need to be provided by the target distribution themselves.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;supported-prime-tools&quot;&gt;Supported Prime tools&lt;&#x2F;h2&gt;
&lt;p&gt;Depending on the Linux distribution in use the actual package containing the &lt;code&gt;prime-select&lt;&#x2F;code&gt; binary can be different. Currently OptimusUI has support for the following tools:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;SUSEPrime&lt;&#x2F;li&gt;
&lt;li&gt;nvidia-prime&lt;&#x2F;li&gt;
&lt;li&gt;fedora-prime-select&lt;&#x2F;li&gt;
&lt;li&gt;nvidia-prime-select&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;prime-features&quot;&gt;Prime Features&lt;&#x2F;h3&gt;
&lt;p&gt;If looking the the applications source code OptimusUI internally validates the running distribution and the used prime tool to determine which operating modes are available and thus exposes or hides away certain elements in the user interface.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;SET_BOOT&lt;&#x2F;strong&gt;: The prime tool can set the operation mode to be applied on boot. Therefore on every reboot of the system this mode is restored.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Only supported on SUSE and Debian based distributions&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;SET_OFFLOAD&lt;&#x2F;strong&gt;: Is a dedicated operating mode where both GPUs the iGPU and the dGPU are active and can be used simultaneously. Nvidia calls this &lt;code&gt;PRIME Offloading&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Only supported on SUSE and Debian based distributions&lt;&#x2F;li&gt;
&lt;li&gt;Works on Wayland and X11&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;SET_NVIDIA&lt;&#x2F;strong&gt;: Will make the nVidia (dGPU) the primary GPU and the integrated GPU will not be used.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Supported on all distributions with a supported prime tool.&lt;&#x2F;li&gt;
&lt;li&gt;Only works on X11&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;SET_INTEGRATED&lt;&#x2F;strong&gt;: Will make the iGPU the only active GPU and the nVidia GPU will be turned off if bbswitch is installed.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Works on all distributions with a supported prime tool&lt;&#x2F;li&gt;
&lt;li&gt;nVidia GPU will turn of on SUSE based distributions. If it also does on other distributions is unknown.&lt;&#x2F;li&gt;
&lt;li&gt;Works on Wayland and X11&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;GET_CURRENT&lt;&#x2F;strong&gt;: Will allow OptimusUI to determine the currently active operating mode eg. nvidia, integrated or offload.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Only works on SUSE and Debian based distributions&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;SERVICE&lt;&#x2F;strong&gt;: This prime feature is not yet implemented as only SUSE based distributions support this operation.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;prime-offloading&quot;&gt;PRIME Offloading&lt;&#x2F;h2&gt;
&lt;p&gt;If the system is in &lt;code&gt;Offload&lt;&#x2F;code&gt; mode some can run an application on the nvidia GPU using the following environment varibales: &lt;code&gt;__GLX_VENDOR_LIBRARY_NAME=nvidia __NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only&lt;&#x2F;code&gt; followed by the application to be run.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;&#x2F;strong&gt; Some distributions ship with &lt;code&gt;switcherooctl&lt;&#x2F;code&gt; which at least on Gnome based desktop environments allows to run an application on the dedicated GPU by right-click an application launcher and choose &lt;code&gt;Run with dedicated &#x2F; integrated GPU&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;For *.desktop files to specify which is their prefered GPU some can add &lt;code&gt;PrefersNonDefaultGPU=true&lt;&#x2F;code&gt; to the &lt;code&gt;[Desktop Entry]&lt;&#x2F;code&gt; section. This will cause Gnome (and other switcheroo aware desktops) to run an application on the GPU which is not the currently active one. Usualyl the &quot;NonDeffaultGPU&quot; is the dedicated one. However if a system is running in &lt;code&gt;Offload&lt;&#x2F;code&gt; mode and the GPU driving the displays is already the dGPU then the &quot;NonDefaultGPU&quot; will be the iGPU.&lt;&#x2F;p&gt;
&lt;p&gt;This can be an issue on desktops with integrated GPUs in their CPU but the user might not had disabled it via the BIOS and thus the iGPU is also available.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;without-flatpak&quot;&gt;Without flatpak&lt;&#x2F;h2&gt;
&lt;p&gt;While OptimusUI does some checks to determine if it is running inside or outside of flatpak this is not very well tested. But in theory should work. The reason for this is to allow for distributions to re-package the application without flaptak in mind. But distribution maintained packages are not supported by us. Therefore if you did not install OptimusUI from flathub and run into errors please make sure this does also apply to the flatpak release. Otherwise please file an issue to your distribution.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;test-environments&quot;&gt;Test environments&lt;&#x2F;h2&gt;
&lt;p&gt;OptimusUI has been tested on the following system configurations:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;MSI CX61 0OD&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;OS: Aeon, Kalpa&lt;&#x2F;li&gt;
&lt;li&gt;Desktops: Gnome, KDE Plasma&lt;&#x2F;li&gt;
&lt;li&gt;dGPU: nVidia GT 730M&lt;&#x2F;li&gt;
&lt;li&gt;iGPU: Intel HD 4000&lt;&#x2F;li&gt;
&lt;li&gt;nVidia Drivers: 470.256.02, 470.239.06&lt;&#x2F;li&gt;
&lt;li&gt;Prime-Tool:
&lt;ul&gt;
&lt;li&gt;SUSEPrime: 0.8.17, 0.8.18&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Linux Kernel: 6.xx&lt;&#x2F;li&gt;
&lt;li&gt;Package format: Flatpak&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;when-is-optimusui-prime-select-usefull&quot;&gt;When is OptimusUI &#x2F; prime-select usefull?&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;GPU based on Turing (GTX 16 &#x2F; RTX 20 series) or Newer
&lt;ul&gt;
&lt;li&gt;nvidia driver 435 or newer: NO&lt;&#x2F;li&gt;
&lt;li&gt;nvidia driver older than 435: YES
&lt;ul&gt;
&lt;li&gt;But the GPU will probably not work because earlier drivers might not have support for it anyway&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;GPU based on Pascal (GTX 10 series) or earlier: YES
&lt;ul&gt;
&lt;li&gt;This will require nVidia driver 390 or newer&lt;&#x2F;li&gt;
&lt;li&gt;bbswitch is recommended to actually turn off the GPU if not in use as these and older GPUs lack the required power management features (e.g. GSP coprocessor)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Open source nvidia drivers: NO&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;OptimusUI will evaluate most of these requirements on its own and notify the user. However, it does not validate the nvidia driver version as of now.&lt;&#x2F;p&gt;
&lt;p&gt;NOTICE: Depending on your distribution the package for prime-select might depend on further requirements not listed here&lt;&#x2F;p&gt;
&lt;h2 id=&quot;how-does-optimusui-work&quot;&gt;How does OptimusUI work&lt;&#x2F;h2&gt;
&lt;p&gt;OptimusUI will do a brief system survey by this it checks the following things:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;If prime-select can be found in one of the following locations (escaping the sandbox using flatpak-spawn) following path:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&#x2F;usr&#x2F;bin&#x2F;prime-select&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;&#x2F;usr&#x2F;sbin&#x2F;prime-select&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;&#x2F;bin&#x2F;prime-select&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;&#x2F;sbin&#x2F;prime-select&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Once a supported prime tool has be identified OptimusUI will then scan for compatible hardware with the pci vendor id &lt;code&gt;0x10DE&lt;&#x2F;code&gt; and device class &lt;code&gt;0x30000&lt;&#x2F;code&gt; (dekstop GPU) or &lt;code&gt;0x30200&lt;&#x2F;code&gt; (mobile GPU).&lt;&#x2F;p&gt;
&lt;p&gt;In the next step it will evaluate the device name using &lt;code&gt;lspci -d 10DE:DEVICE_ID&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Additionally OptimusUI will look for one of the following sudo tools &lt;code&gt;pkexec&lt;&#x2F;code&gt; or &lt;code&gt;kdesu&lt;&#x2F;code&gt; in order to show a graphical authentication dialog on the host system if &lt;code&gt;prime-select&lt;&#x2F;code&gt; required superuser privileges.&lt;&#x2F;p&gt;
&lt;p&gt;Furthermore it does check the users host distribution by running &lt;code&gt;flatpak-spawn --host cat &#x2F;etc&#x2F;os-release&lt;&#x2F;code&gt; and evaluate it&#x27;s content.&lt;&#x2F;p&gt;
&lt;p&gt;Finally to use any prime-select feature it will escape the sandbox and run one of these commands depending on what the user clicked:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;flatpak-spawn --host [pkexec&#x2F;kdesu] (-c) prime-select (boot) [nvidia&#x2F;intel&#x2F;offload]&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;flatpak-spawn --host prime-select get-current&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;sources&quot;&gt;Sources&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Flathub: https:&#x2F;&#x2F;flathub.org&#x2F;apps&#x2F;de.z_ray.OptimusUI&lt;&#x2F;li&gt;
&lt;li&gt;Source Code: https:&#x2F;&#x2F;codeberg.org&#x2F;ZRayEntertainment&#x2F;optimus-ui&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
</feed>
