<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://caioguimaraes.com.br/feed.xml" rel="self" type="application/atom+xml" /><link href="https://caioguimaraes.com.br/" rel="alternate" type="text/html" /><updated>2026-05-28T20:57:15+00:00</updated><id>https://caioguimaraes.com.br/feed.xml</id><title type="html">Caio Guimaraes Webpage</title><author><name>Caio Guimaraes</name></author><entry><title type="html">Folding@Home with AMD RTX6600XT Fedora 40+</title><link href="https://caioguimaraes.com.br/knowledge_base/2025/09/04/Folding-at-home-Linux-6600xt.html" rel="alternate" type="text/html" title="Folding@Home with AMD RTX6600XT Fedora 40+" /><published>2025-09-04T21:26:36+00:00</published><updated>2025-09-04T21:26:36+00:00</updated><id>https://caioguimaraes.com.br/knowledge_base/2025/09/04/Folding-at-home-Linux-6600xt</id><content type="html" xml:base="https://caioguimaraes.com.br/knowledge_base/2025/09/04/Folding-at-home-Linux-6600xt.html"><![CDATA[<h2 id="foldinghome-with-amd-rtx6600xt-fedora-40">Folding@Home with AMD RTX6600XT Fedora 40+</h2>

<p>This is a guide to set up Folding@Home with an AMD Radeon RX 6600 XT on Fedora 40+. There shouldn’t be a need to install amdpu-pro or any other proprietary drivers. This <code class="language-plaintext highlighter-rouge">ROCm version 6.4.0</code> works fine with the kernel amd driver.</p>

<h3 id="requirements">Requirements</h3>

<ul>
  <li>Fedora 42</li>
  <li>Kernel <code class="language-plaintext highlighter-rouge">6.16.3-200.fc42.x86_64</code></li>
  <li>AMD Radeon RX 6600 XT</li>
  <li>Folding @ Home client v. <code class="language-plaintext highlighter-rouge">8.4.10</code></li>
</ul>

<h2 id="steps">Steps</h2>

<p>1) Install the required packages:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>dnf <span class="nb">install</span> <span class="s2">"kernel-headers-</span><span class="si">$(</span><span class="nb">uname</span> <span class="nt">-r</span><span class="si">)</span><span class="s2">"</span> <span class="s2">"kernel-devel-</span><span class="si">$(</span><span class="nb">uname</span> <span class="nt">-r</span><span class="si">)</span><span class="s2">"</span> <span class="nt">-y</span>
<span class="nb">sudo </span>dnf <span class="nb">install </span>python3-setuptools python3-wheel <span class="nt">-y</span>
</code></pre></div></div>

<p>2) Set group permissions:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>usermod <span class="nt">-a</span> <span class="nt">-G</span> render,video <span class="nv">$USER</span>
<span class="nb">echo</span> <span class="s1">'ADD_EXTRA_GROUPS=1'</span> | <span class="nb">sudo tee</span> <span class="nt">-a</span> /etc/adduser.conf
<span class="nb">echo</span> <span class="s1">'EXTRA_GROUPS=video'</span> | <span class="nb">sudo tee</span> <span class="nt">-a</span> /etc/adduser.conf
<span class="nb">echo</span> <span class="s1">'EXTRA_GROUPS=render'</span> | <span class="nb">sudo tee</span> <span class="nt">-a</span> /etc/adduser.conf
</code></pre></div></div>

<p>3) Add udev rules</p>

<ol>
  <li>Create a new file <code class="language-plaintext highlighter-rouge">/etc/udev/rules.d/70-amdgpu.rules</code> with the following content:</li>
</ol>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">KERNEL</span><span class="o">==</span><span class="s2">"kfd"</span>, <span class="nv">MODE</span><span class="o">=</span><span class="s2">"0666"</span>
<span class="nv">SUBSYSTEM</span><span class="o">==</span><span class="s2">"drm"</span>, <span class="nv">KERNEL</span><span class="o">==</span><span class="s2">"renderD*"</span>, <span class="nv">MODE</span><span class="o">=</span><span class="s2">"0666"</span>
</code></pre></div></div>

<ol>
  <li>Reload udev rules:</li>
</ol>

<div class="language-sh highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>udevadm control <span class="nt">--reload-rules</span> <span class="o">&amp;&amp;</span> <span class="nb">sudo </span>udevadm trigger
</code></pre></div></div>

<p>4) Register ROCm repositories:</p>

<p>To avoid some errors, do this first: <code class="language-plaintext highlighter-rouge">sudo rm -rf /etc/yum.repos.d/amdgpu.repo</code></p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>    <span class="nb">sudo tee</span> <span class="nt">--append</span> /etc/yum.repos.d/rocm.repo <span class="o">&lt;&lt;</span><span class="no">EOF</span><span class="sh">
    [ROCm-6.4]
    name=ROCm6.4
    baseurl=https://repo.radeon.com/rocm/el9/6.4/main
    enabled=1
    priority=50
    gpgcheck=1
    gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
</span><span class="no">    EOF
</span>    <span class="nb">sudo </span>dnf clean all
</code></pre></div></div>

<p>5) Install ROCm packages</p>

<p><code class="language-plaintext highlighter-rouge">sudo dnf install rocm -y</code> -&gt; This should take a while</p>

<p>6) Configure the system linker by indicating where to find the shared objects (.so files) for the ROCm applications</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo tee</span> <span class="nt">--append</span> /etc/ld.so.conf.d/rocm.conf <span class="o">&lt;&lt;</span><span class="no">EOF</span><span class="sh">
/opt/rocm/lib
/opt/rocm/lib64
</span><span class="no">EOF
</span><span class="nb">sudo </span>ldconfig
</code></pre></div></div>

<p>7) Make sure that <code class="language-plaintext highlighter-rouge">fah-client</code> is on groups <code class="language-plaintext highlighter-rouge">render</code> and <code class="language-plaintext highlighter-rouge">video</code>
    <code class="language-plaintext highlighter-rouge">groups fah-client</code>
    If not, do <code class="language-plaintext highlighter-rouge">sudo usermod -a -G render fah-client</code> and <strong>RESTART YOUR SYSTEM</strong>
    Check Web UI System Info section if your GPU is now supported (Should say <em>True</em> next to <strong>Supported</strong>)</p>

<h2 id="references">References</h2>

<p>1.<a href="https://rocm.docs.amd.com/projects/install-on-linux/en/docs-6.2.4/index.html">ROCm v 6.2.4 installation for Linux</a></p>

<p>2.<a href="https://foldingforum.org/viewtopic.php?t=42491">Ultimate AMD GPU Linux FAH Guide for OpenCL (FAH-Client v8 only)</a></p>]]></content><author><name>Caio Guimaraes</name></author><category term="KNOWLEDGE_BASE" /><summary type="html"><![CDATA[Folding@Home with AMD RTX6600XT Fedora 40+]]></summary></entry><entry><title type="html">Make Teams-for-Linux Work with Multiple Accounts</title><link href="https://caioguimaraes.com.br/projects/2025/03/27/Teams-for-Linux-Multi-Instance.html" rel="alternate" type="text/html" title="Make Teams-for-Linux Work with Multiple Accounts" /><published>2025-03-27T16:26:36+00:00</published><updated>2025-03-27T16:26:36+00:00</updated><id>https://caioguimaraes.com.br/projects/2025/03/27/Teams-for-Linux-Multi-Instance</id><content type="html" xml:base="https://caioguimaraes.com.br/projects/2025/03/27/Teams-for-Linux-Multi-Instance.html"><![CDATA[<h2 id="make-teams-for-linux-work-with-multiple-accounts">Make Teams-For-Linux Work with Multiple Accounts</h2>

<h3 id="steps">Steps</h3>

<ul>
  <li>First you need to have teams-for-linux installed from <a href="https://flathub.org/apps/com.github.IsmaelMartinez.teams_for_linux">flatpak</a></li>
  <li>Then you create a directory on some place that you want to hold he configurations and required files <code class="language-plaintext highlighter-rouge">mkdir -p &lt;some_place&gt;</code></li>
  <li>Then you run:</li>
</ul>

<div class="language-sh highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">HOME</span><span class="o">=</span><span class="nv">$HOME</span>/&lt;some_place&gt; flatpak run com.github.IsmaelMartinez.teams_for_linux
</code></pre></div></div>

<ul>
  <li>If you want something more easily integrated with Desktop managers you may write a <code class="language-plaintext highlighter-rouge">.desktop</code> file:</li>
</ul>

<div class="language-sh highlighter-rouge"><div class="highlight"><pre class="highlight"><code>
<span class="o">[</span>Desktop Entry]

<span class="c"># The type as listed above</span>
<span class="nv">Type</span><span class="o">=</span>Application

<span class="c"># Version</span>
<span class="nv">Version</span><span class="o">=</span>1.12.5

<span class="c"># App name</span>
<span class="nv">Name</span><span class="o">=</span>&lt;name_you_wannagive_your_instance&gt;

<span class="c"># Comment</span>
<span class="nv">Comment</span><span class="o">=</span>Teams <span class="k">for </span>Linux instance <span class="k">for</span> &lt;whatever_you_want&gt;

<span class="c"># Path from where the executable is run</span>
<span class="nv">Path</span><span class="o">=</span>

<span class="c"># The executable of the Application</span>
<span class="nv">Exec</span><span class="o">=</span>/bin/sh <span class="nt">-c</span> <span class="s2">"HOME=</span><span class="nv">$HOME</span><span class="s2">/&lt;some_place_youve_set&gt; flatpak run com.github.IsmaelMartinez.teams_for_linux"</span>


<span class="c"># The absolute path of the Icon used</span>
<span class="nv">Icon</span><span class="o">=</span>

<span class="c"># Describes wheter this application needs to be run in a terminal or not</span>
<span class="nv">Terminal</span><span class="o">=</span><span class="nb">false</span>

<span class="c"># Describes the categories in which this entry should be should</span>
<span class="nv">Categories</span><span class="o">=</span>Internet<span class="p">;</span>chat<span class="p">;</span>communication
</code></pre></div></div>

<p>And thats it. Run <code class="language-plaintext highlighter-rouge">xdg-desktop-menu install &lt;file_path_you gave&gt;.desktop --novendor &amp;&amp; xdg-desktop-menu forceupdate</code>
And it should appear as an application you can launch.</p>]]></content><author><name>Caio Guimaraes</name></author><category term="PROJECTS" /><summary type="html"><![CDATA[Make Teams-For-Linux Work with Multiple Accounts]]></summary></entry><entry><title type="html">C++ Toy Banking System</title><link href="https://caioguimaraes.com.br/projects/2025/03/19/Banking-system.html" rel="alternate" type="text/html" title="C++ Toy Banking System" /><published>2025-03-19T21:26:36+00:00</published><updated>2025-03-19T21:26:36+00:00</updated><id>https://caioguimaraes.com.br/projects/2025/03/19/Banking-system</id><content type="html" xml:base="https://caioguimaraes.com.br/projects/2025/03/19/Banking-system.html"><![CDATA[<h2 id="c-toy-banking-system">C++ Toy Banking System</h2>

<p>This is a project that I started to have a better grasp on a real-world scenario application that is demanding and challenging to build. First, C++ is a great language that I’m relatively proficient at and would like to showcase advanced usage in a project.</p>

<p>The project entails a C++-based Banking System that uses a DB (mariaDB) and some GUI or graphical backend, currently dearImGUI. There should be build system and dependecy manager as well to help automatize the whole building and development process. For this I chose Conan2. Security is also a topic I intend to go for, since it’s a banking application, so SSL and cryptography are also in.</p>

<p>To make it more professional there is also a <a href="/docs/BS-SRS/">Software Requirements Specification (SRS) document</a> and <a href="/docs/BS_UML/">UML diagrams</a>. I also provide a backlog that I’ll follow.</p>

<p>This is the repository for it <a href="https://github.com/caiobvilar/BK-System">BK-System</a>
wololo</p>]]></content><author><name>Caio Guimaraes</name></author><category term="PROJECTS" /><summary type="html"><![CDATA[C++ Toy Banking System]]></summary></entry></feed>