francescomecca.eu/output/blog/2024/2/28/three-years-later/index.html
Francesco Mecca 6acba75cd5 wine article
2024-02-28 14:38:55 +01:00

325 lines
44 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Playng videogames with WINE on Gentoo | Caught in the Net</title>
<link rel="stylesheet" href="../../../../../assets/blog/fonts/opensans.css">
<link href="../../../../../assets/blog/css/normalize.css" rel="stylesheet" type="text/css">
<link href="../../../../../assets/blog/css/cayman.css" rel="stylesheet" type="text/css">
<meta name="theme-color" content="#5670d4">
<meta name="generator" content="Nikola (getnikola.com)">
<link rel="alternate" type="application/rss+xml" title="RSS" hreflang="en" href="../../../../../rss.xml">
<link rel="canonical" href="francescomecca.eu/blog/2024/2/28/three-years-later/">
<meta name="author" content="Francesco Mecca">
<link rel="prev" href="../../../1/12/happy-new-year-2024/" title="Welkom 2024!" type="text/html">
<meta property="og:site_name" content="Caught in the Net">
<meta property="og:title" content="Playng videogames with WINE on Gentoo">
<meta property="og:url" content="francescomecca.eu/blog/2024/2/28/three-years-later/">
<meta property="og:description" content="Playing videogames with WINE on Gentoo
One of my new year's resolution are
related to playing videogames on GNU/Linux rather than resorting to
dual booting as I did for the last 15 years. This blogpos">
<meta property="og:type" content="article">
<meta property="article:published_time" content="2024-02-28T00:00:00Z">
<meta property="article:tag" content="Gentoo">
<meta property="article:tag" content="linux">
<meta property="article:tag" content="videogames">
</head>
<body>
<div id="container">
<section class="page-header"><h1 class="project-name">
Caught in the Net
</h1>
<h2 class="project-tagline">La rete ti cattura ma libera il pensiero</h2>
<a class="btn" href="../../../../../">Home</a>
<a class="btn" href="../../../../../pages/about/">About me</a>
<a class="btn" href="../../../../../pages/contattami/">Contact me</a>
<a class="btn" href="../../../../../archiveall.html">Archive</a>
<a class="btn" href="../../../../../rss.xml">RSS</a>
<a class="btn" href="http://francescomecca.eu/git/pesceWanda">Personal Git</a>
<a class="btn" href="https://github.com/FraMecca">Github</a>
<a class="btn" href="https://lezzo.org/git/public/Curriculum_vitae/raw/master/latex.dir/francesco_mecca_cv_eng.pdf">Curriculum</a>
</section><section class="main-content"><div class="post">
<header><h1 class="post-title">
<h1 class="p-name post-title" itemprop="headline name">Playng videogames with WINE on Gentoo</h1>
</h1>
</header><p class="dateline post-date">28 February 2024</p>
</div>
<div class="e-content entry-content" itemprop="articleBody text">
<h2>Playing videogames with WINE on Gentoo</h2>
<p><a href="../../../../../2024/1/12/happy-new-year-2024/">One of my new year's resolution</a> are
related to playing videogames on GNU/Linux rather than resorting to
dual booting as I did for the last 15 years. This blogpost aims to be
a continuosly updated guide to my journey in having a proper gaming
setup on my Gentoo workstation. My main resources are the <a href="https://wiki.gentoo.org/wiki/Wine">Gentoo
wiki</a> and the <a href="https://wiki.archlinux.org/title/Wine">Arch
Wiki</a>. </p>
<p>These objectives should be clear:</p>
<ul>
<li>I will not use steam: I only buy from <a href="https://www.gog.com/games">GOG</a> or use CDs</li>
<li>I want to use one of my controllers for games that need it</li>
<li>use as much software from the Gentoo repos as possible. This means avoiding <a href="https://usebottles.com/">Bottles</a> and <a href="https://lutris.net/">Lutris</a>
</li>
</ul>
<h3>Hardware</h3>
<div class="code"><pre class="code literal-block"><span class="n">user</span><span class="w"> </span><span class="o">~&gt;</span><span class="w"> </span><span class="n">sudo</span><span class="w"> </span><span class="n">inxi</span><span class="w"> </span><span class="o">-</span><span class="n">AGSC</span>
<span class="n">System</span><span class="p">:</span>
<span class="w"> </span><span class="n">Host</span><span class="p">:</span><span class="w"> </span><span class="n">____</span><span class="w"> </span><span class="n">Kernel</span><span class="p">:</span><span class="w"> </span><span class="mf">6.1</span><span class="o">.</span><span class="mi">69</span><span class="o">-</span><span class="n">gentoo</span><span class="o">-</span><span class="n">dist</span><span class="w"> </span><span class="n">arch</span><span class="p">:</span><span class="w"> </span><span class="n">x86_64</span><span class="w"> </span><span class="n">bits</span><span class="p">:</span><span class="w"> </span><span class="mi">64</span><span class="w"> </span><span class="n">Desktop</span><span class="p">:</span><span class="w"> </span><span class="n">spectrwm</span>
<span class="w"> </span><span class="n">Distro</span><span class="p">:</span><span class="w"> </span><span class="n">Gentoo</span><span class="w"> </span><span class="n">Base</span><span class="w"> </span><span class="n">System</span><span class="w"> </span><span class="n">release</span><span class="w"> </span><span class="mf">2.14</span>
<span class="n">CPU</span><span class="p">:</span>
<span class="w"> </span><span class="n">Info</span><span class="p">:</span><span class="w"> </span><span class="mi">6</span><span class="o">-</span><span class="n">core</span><span class="w"> </span><span class="n">model</span><span class="p">:</span><span class="w"> </span><span class="n">AMD</span><span class="w"> </span><span class="n">Ryzen</span><span class="w"> </span><span class="mi">5</span><span class="w"> </span><span class="mi">2600</span><span class="w"> </span><span class="n">bits</span><span class="p">:</span><span class="w"> </span><span class="mi">64</span><span class="w"> </span><span class="n">type</span><span class="p">:</span><span class="w"> </span><span class="n">MT</span><span class="w"> </span><span class="n">MCP</span><span class="w"> </span><span class="n">cache</span><span class="p">:</span><span class="w"> </span><span class="n">L2</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="w"> </span><span class="n">MiB</span>
<span class="w"> </span><span class="n">Speed</span><span class="w"> </span><span class="p">(</span><span class="n">MHz</span><span class="p">):</span><span class="w"> </span><span class="n">avg</span><span class="p">:</span><span class="w"> </span><span class="mi">1858</span><span class="w"> </span><span class="nb">min</span><span class="o">/</span><span class="nb">max</span><span class="p">:</span><span class="w"> </span><span class="mi">1550</span><span class="o">/</span><span class="mi">3400</span><span class="w"> </span><span class="n">cores</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">:</span><span class="w"> </span><span class="mi">3400</span><span class="w"> </span><span class="mi">2</span><span class="p">:</span><span class="w"> </span><span class="mi">1550</span><span class="w"> </span><span class="mi">3</span><span class="p">:</span><span class="w"> </span><span class="mi">1550</span>
<span class="w"> </span><span class="mi">4</span><span class="p">:</span><span class="w"> </span><span class="mi">1550</span><span class="w"> </span><span class="mi">5</span><span class="p">:</span><span class="w"> </span><span class="mi">1550</span><span class="w"> </span><span class="mi">6</span><span class="p">:</span><span class="w"> </span><span class="mi">1550</span><span class="w"> </span><span class="mi">7</span><span class="p">:</span><span class="w"> </span><span class="mi">1550</span><span class="w"> </span><span class="mi">8</span><span class="p">:</span><span class="w"> </span><span class="mi">1550</span><span class="w"> </span><span class="mi">9</span><span class="p">:</span><span class="w"> </span><span class="mi">3400</span><span class="w"> </span><span class="mi">10</span><span class="p">:</span><span class="w"> </span><span class="mi">1550</span><span class="w"> </span><span class="mi">11</span><span class="p">:</span><span class="w"> </span><span class="mi">1550</span><span class="w"> </span><span class="mi">12</span><span class="p">:</span><span class="w"> </span><span class="mi">1550</span>
<span class="n">Graphics</span><span class="p">:</span>
<span class="w"> </span><span class="n">Device</span><span class="o">-</span><span class="mi">1</span><span class="p">:</span><span class="w"> </span><span class="n">AMD</span><span class="w"> </span><span class="n">Navi</span><span class="w"> </span><span class="mi">22</span><span class="w"> </span><span class="p">[</span><span class="n">Radeon</span><span class="w"> </span><span class="n">RX</span><span class="w"> </span><span class="mi">6700</span><span class="o">/</span><span class="mi">6700</span><span class="w"> </span><span class="n">XT</span><span class="o">/</span><span class="mi">6750</span><span class="w"> </span><span class="n">XT</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mi">6800</span><span class="n">M</span><span class="o">/</span><span class="mi">6850</span><span class="n">M</span><span class="w"> </span><span class="n">XT</span><span class="p">]</span>
<span class="w"> </span><span class="n">driver</span><span class="p">:</span><span class="w"> </span><span class="n">amdgpu</span><span class="w"> </span><span class="n">v</span><span class="p">:</span><span class="w"> </span><span class="n">kernel</span>
<span class="w"> </span><span class="n">Device</span><span class="o">-</span><span class="mi">2</span><span class="p">:</span><span class="w"> </span><span class="n">Logitech</span><span class="w"> </span><span class="n">C920</span><span class="w"> </span><span class="n">HD</span><span class="w"> </span><span class="n">Pro</span><span class="w"> </span><span class="n">Webcam</span><span class="w"> </span><span class="n">driver</span><span class="p">:</span><span class="w"> </span><span class="n">usbfs</span><span class="w"> </span><span class="n">type</span><span class="p">:</span><span class="w"> </span><span class="n">USB</span>
<span class="w"> </span><span class="n">Display</span><span class="p">:</span><span class="w"> </span><span class="n">server</span><span class="p">:</span><span class="w"> </span><span class="n">X</span><span class="o">.</span><span class="n">org</span><span class="w"> </span><span class="n">v</span><span class="p">:</span><span class="w"> </span><span class="mf">1.21</span><span class="o">.</span><span class="mf">1.11</span><span class="w"> </span><span class="n">driver</span><span class="p">:</span><span class="w"> </span><span class="n">X</span><span class="p">:</span><span class="w"> </span><span class="n">loaded</span><span class="p">:</span><span class="w"> </span><span class="n">amdgpu</span>
<span class="w"> </span><span class="n">unloaded</span><span class="p">:</span><span class="w"> </span><span class="n">modesetting</span><span class="p">,</span><span class="n">radeon</span><span class="w"> </span><span class="n">dri</span><span class="p">:</span><span class="w"> </span><span class="n">radeonsi</span><span class="w"> </span><span class="n">gpu</span><span class="p">:</span><span class="w"> </span><span class="n">amdgpu</span>
<span class="w"> </span><span class="n">resolution</span><span class="p">:</span><span class="w"> </span><span class="mi">1920</span><span class="n">x1200</span><span class="o">~</span><span class="mi">60</span><span class="n">Hz</span>
<span class="w"> </span><span class="n">API</span><span class="p">:</span><span class="w"> </span><span class="n">EGL</span><span class="w"> </span><span class="n">v</span><span class="p">:</span><span class="w"> </span><span class="mf">1.5</span><span class="w"> </span><span class="n">drivers</span><span class="p">:</span><span class="w"> </span><span class="n">radeonsi</span><span class="p">,</span><span class="n">swrast</span>
<span class="w"> </span><span class="n">platforms</span><span class="p">:</span><span class="w"> </span><span class="n">gbm</span><span class="p">,</span><span class="n">x11</span><span class="p">,</span><span class="n">surfaceless</span><span class="p">,</span><span class="n">device</span>
<span class="w"> </span><span class="n">API</span><span class="p">:</span><span class="w"> </span><span class="n">OpenGL</span><span class="w"> </span><span class="n">v</span><span class="p">:</span><span class="w"> </span><span class="mf">4.6</span><span class="w"> </span><span class="n">vendor</span><span class="p">:</span><span class="w"> </span><span class="n">amd</span><span class="w"> </span><span class="n">mesa</span><span class="w"> </span><span class="n">v</span><span class="p">:</span><span class="w"> </span><span class="mf">23.3</span><span class="o">.</span><span class="mi">5</span><span class="w"> </span><span class="n">renderer</span><span class="p">:</span><span class="w"> </span><span class="n">AMD</span><span class="w"> </span><span class="n">Radeon</span><span class="w"> </span><span class="n">RX</span>
<span class="w"> </span><span class="mi">6750</span><span class="w"> </span><span class="n">XT</span><span class="w"> </span><span class="p">(</span><span class="n">radeonsi</span><span class="w"> </span><span class="n">navi22</span><span class="w"> </span><span class="n">LLVM</span><span class="w"> </span><span class="mf">17.0</span><span class="o">.</span><span class="mi">6</span><span class="w"> </span><span class="n">DRM</span><span class="w"> </span><span class="mf">3.49</span><span class="w"> </span><span class="mf">6.1</span><span class="o">.</span><span class="mi">69</span><span class="o">-</span><span class="n">gentoo</span><span class="o">-</span><span class="n">dist</span><span class="p">)</span>
<span class="w"> </span><span class="n">API</span><span class="p">:</span><span class="w"> </span><span class="n">Vulkan</span><span class="w"> </span><span class="n">v</span><span class="p">:</span><span class="w"> </span><span class="mf">1.3</span><span class="o">.</span><span class="mi">275</span><span class="w"> </span><span class="n">drivers</span><span class="p">:</span><span class="w"> </span><span class="n">N</span><span class="o">/</span><span class="n">A</span><span class="w"> </span><span class="n">surfaces</span><span class="p">:</span><span class="w"> </span><span class="n">xcb</span><span class="p">,</span><span class="n">xlib</span>
<span class="n">Audio</span><span class="p">:</span>
<span class="w"> </span><span class="n">Device</span><span class="o">-</span><span class="mi">1</span><span class="p">:</span><span class="w"> </span><span class="n">AMD</span><span class="w"> </span><span class="n">Navi</span><span class="w"> </span><span class="mi">21</span><span class="o">/</span><span class="mi">23</span><span class="w"> </span><span class="n">HDMI</span><span class="o">/</span><span class="n">DP</span><span class="w"> </span><span class="n">Audio</span><span class="w"> </span><span class="n">driver</span><span class="p">:</span><span class="w"> </span><span class="n">snd_hda_intel</span>
<span class="w"> </span><span class="n">Device</span><span class="o">-</span><span class="mi">2</span><span class="p">:</span><span class="w"> </span><span class="n">AMD</span><span class="w"> </span><span class="n">Family</span><span class="w"> </span><span class="mi">17</span><span class="n">h</span><span class="w"> </span><span class="n">HD</span><span class="w"> </span><span class="n">Audio</span><span class="w"> </span><span class="n">driver</span><span class="p">:</span><span class="w"> </span><span class="n">snd_hda_intel</span>
<span class="w"> </span><span class="n">Device</span><span class="o">-</span><span class="mi">5</span><span class="p">:</span><span class="w"> </span><span class="n">Focusrite</span><span class="o">-</span><span class="n">Novation</span><span class="w"> </span><span class="n">Focusrite</span><span class="w"> </span><span class="n">Scarlett</span><span class="w"> </span><span class="mi">2</span><span class="n">i2</span><span class="w"> </span><span class="n">driver</span><span class="p">:</span><span class="w"> </span><span class="n">snd</span><span class="o">-</span><span class="n">usb</span><span class="o">-</span><span class="n">audio</span>
<span class="w"> </span><span class="n">type</span><span class="p">:</span><span class="w"> </span><span class="n">USB</span>
<span class="w"> </span><span class="n">API</span><span class="p">:</span><span class="w"> </span><span class="n">ALSA</span><span class="w"> </span><span class="n">v</span><span class="p">:</span><span class="w"> </span><span class="n">k6</span><span class="o">.</span><span class="mf">1.69</span><span class="o">-</span><span class="n">gentoo</span><span class="o">-</span><span class="n">dist</span><span class="w"> </span><span class="n">status</span><span class="p">:</span><span class="w"> </span><span class="n">kernel</span><span class="o">-</span><span class="n">api</span>
<span class="w"> </span><span class="n">Server</span><span class="o">-</span><span class="mi">1</span><span class="p">:</span><span class="w"> </span><span class="n">PulseAudio</span><span class="w"> </span><span class="n">v</span><span class="p">:</span><span class="w"> </span><span class="mf">16.1</span><span class="w"> </span><span class="n">status</span><span class="p">:</span><span class="w"> </span><span class="n">active</span><span class="w"> </span><span class="p">(</span><span class="n">root</span><span class="p">,</span><span class="w"> </span><span class="n">process</span><span class="p">)</span>
<span class="n">USB</span><span class="p">:</span>
<span class="w"> </span><span class="n">Device</span><span class="o">-</span><span class="mi">1</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="o">-</span><span class="mi">4</span><span class="p">:</span><span class="mi">2</span><span class="w"> </span><span class="n">info</span><span class="p">:</span><span class="w"> </span><span class="n">splitkb</span><span class="o">.</span><span class="n">com</span><span class="w"> </span><span class="n">Kyria</span><span class="w"> </span><span class="n">rev2</span><span class="w"> </span><span class="n">type</span><span class="p">:</span><span class="w"> </span><span class="n">keyboard</span><span class="p">,</span><span class="n">HID</span><span class="w"> </span><span class="n">rev</span><span class="p">:</span><span class="w"> </span><span class="mf">2.0</span>
<span class="w"> </span><span class="n">Device</span><span class="o">-</span><span class="mi">2</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="o">-</span><span class="mi">7</span><span class="p">:</span><span class="mi">4</span><span class="w"> </span><span class="n">info</span><span class="p">:</span><span class="w"> </span><span class="n">Microsoft</span><span class="w"> </span><span class="n">Xbox360</span><span class="w"> </span><span class="n">Controller</span><span class="w"> </span><span class="n">type</span><span class="p">:</span><span class="w"> </span><span class="o">&lt;</span><span class="n">vendor</span><span class="w"> </span><span class="n">specific</span><span class="o">&gt;</span>
<span class="w"> </span><span class="n">rev</span><span class="p">:</span><span class="w"> </span><span class="mf">2.0</span>
<span class="w"> </span><span class="n">Device</span><span class="o">-</span><span class="mi">3</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="o">-</span><span class="mi">2</span><span class="p">:</span><span class="mi">3</span><span class="w"> </span><span class="n">info</span><span class="p">:</span><span class="w"> </span><span class="n">Focusrite</span><span class="o">-</span><span class="n">Novation</span><span class="w"> </span><span class="n">Focusrite</span><span class="w"> </span><span class="n">Scarlett</span><span class="w"> </span><span class="mi">2</span><span class="n">i2</span>
<span class="w"> </span><span class="n">type</span><span class="p">:</span><span class="w"> </span><span class="n">audio</span><span class="w"> </span><span class="n">rev</span><span class="p">:</span><span class="w"> </span><span class="mf">2.0</span>
<span class="w"> </span><span class="n">Device</span><span class="o">-</span><span class="mi">4</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="o">-</span><span class="mi">4</span><span class="p">:</span><span class="mi">6</span><span class="w"> </span><span class="n">info</span><span class="p">:</span><span class="w"> </span><span class="n">ThrustMaster</span><span class="w"> </span><span class="n">XB1</span><span class="w"> </span><span class="n">Classic</span><span class="w"> </span><span class="n">Controller</span>
<span class="w"> </span><span class="n">type</span><span class="p">:</span><span class="w"> </span><span class="o">&lt;</span><span class="n">vendor</span><span class="w"> </span><span class="n">specific</span><span class="o">&gt;</span><span class="w"> </span><span class="n">rev</span><span class="p">:</span><span class="w"> </span><span class="mf">2.0</span>
</pre></div>
<h3>Drivers</h3>
<p>For the kernel, I am using the <code>gentoo-kernel</code> seed.</p>
<p>For the GPU setup you need:</p>
<ul>
<li>the open source drivers, see https://wiki.gentoo.org/wiki/AMDGPU</li>
<li>the proprietary drivers, see https://wiki.gentoo.org/wiki/AMDGPU-PRO</li>
<li>the vulkan drivers, see https://wiki.gentoo.org/wiki/AMDVLK
These are useful commands to check if the drivers are loaded correctly:</li>
</ul>
<div class="code"><pre class="code literal-block">user ~&gt; lspci -k | grep -A 3 -E "(VGA|3D)"
08:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT] (rev c0)
Subsystem: Tul Corporation / PowerColor Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT]
Kernel driver in use: amdgpu
Kernel modules: amdgpu
</pre></div>
<div class="code"><pre class="code literal-block">user ~&gt; glxinfo -B
name of display: :0
display: :0 screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
Vendor: AMD (0x1002)
Device: AMD Radeon RX 6750 XT (radeonsi, navi22, LLVM 17.0.6, DRM 3.49, 6.1.69-gentoo-dist) (0x73df)
Version: 23.3.5
Accelerated: yes
Video memory: 12288MB
Unified memory: no
Preferred profile: core (0x1)
Max core profile version: 4.6
Max compat profile version: 4.6
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.2
Memory info (GL_ATI_meminfo):
VBO free memory - total: 11874 MB, largest block: 11874 MB
VBO free aux. memory - total: 32064 MB, largest block: 32064 MB
Texture free memory - total: 11874 MB, largest block: 11874 MB
Texture free aux. memory - total: 32064 MB, largest block: 32064 MB
Renderbuffer free memory - total: 11874 MB, largest block: 11874 MB
Renderbuffer free aux. memory - total: 32064 MB, largest block: 32064 MB
Memory info (GL_NVX_gpu_memory_info):
Dedicated video memory: 12288 MB
Total available memory: 44400 MB
Currently available dedicated video memory: 11874 MB
OpenGL vendor string: AMD
OpenGL renderer string: AMD Radeon RX 6750 XT (radeonsi, navi22, LLVM 17.0.6, DRM 3.49, 6.1.69-gentoo-dist)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 23.3.5
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL version string: 4.6 (Compatibility Profile) Mesa 23.3.5
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 23.3.5
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
</pre></div>
<div class="code"><pre class="code literal-block"><span class="n">user</span><span class="w"> </span><span class="o">~&gt;</span><span class="w"> </span><span class="n">vulkaninfo</span><span class="w"> </span><span class="o">--</span><span class="n">summary</span><span class="w"> </span>
<span class="n">ac_compute_device_uuid</span><span class="s1">'s output is based on invalid pci bus info.</span>
<span class="o">==========</span>
<span class="n">VULKANINFO</span>
<span class="o">==========</span>
<span class="n">Vulkan</span><span class="w"> </span><span class="n">Instance</span><span class="w"> </span><span class="n">Version</span><span class="p">:</span><span class="w"> </span><span class="mf">1.3</span><span class="o">.</span><span class="mi">275</span>
<span class="n">Instance</span><span class="w"> </span><span class="n">Extensions</span><span class="p">:</span><span class="w"> </span><span class="n">count</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">22</span>
<span class="o">-------------------------------</span>
<span class="n">VK_EXT_acquire_drm_display</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">extension</span><span class="w"> </span><span class="n">revision</span><span class="w"> </span><span class="mi">1</span>
<span class="n">VK_EXT_acquire_xlib_display</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">extension</span><span class="w"> </span><span class="n">revision</span><span class="w"> </span><span class="mi">1</span>
<span class="n">VK_EXT_debug_report</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">extension</span><span class="w"> </span><span class="n">revision</span><span class="w"> </span><span class="mi">10</span>
<span class="n">VK_EXT_debug_utils</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">extension</span><span class="w"> </span><span class="n">revision</span><span class="w"> </span><span class="mi">2</span>
<span class="n">VK_EXT_direct_mode_display</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">extension</span><span class="w"> </span><span class="n">revision</span><span class="w"> </span><span class="mi">1</span>
<span class="n">VK_EXT_display_surface_counter</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">extension</span><span class="w"> </span><span class="n">revision</span><span class="w"> </span><span class="mi">1</span>
<span class="n">VK_EXT_surface_maintenance1</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">extension</span><span class="w"> </span><span class="n">revision</span><span class="w"> </span><span class="mi">1</span>
<span class="n">VK_EXT_swapchain_colorspace</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">extension</span><span class="w"> </span><span class="n">revision</span><span class="w"> </span><span class="mi">4</span>
<span class="n">VK_KHR_device_group_creation</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">extension</span><span class="w"> </span><span class="n">revision</span><span class="w"> </span><span class="mi">1</span>
<span class="n">VK_KHR_display</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">extension</span><span class="w"> </span><span class="n">revision</span><span class="w"> </span><span class="mi">23</span>
<span class="n">VK_KHR_external_fence_capabilities</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">extension</span><span class="w"> </span><span class="n">revision</span><span class="w"> </span><span class="mi">1</span>
<span class="n">VK_KHR_external_memory_capabilities</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">extension</span><span class="w"> </span><span class="n">revision</span><span class="w"> </span><span class="mi">1</span>
<span class="n">VK_KHR_external_semaphore_capabilities</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">extension</span><span class="w"> </span><span class="n">revision</span><span class="w"> </span><span class="mi">1</span>
<span class="n">VK_KHR_get_display_properties2</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">extension</span><span class="w"> </span><span class="n">revision</span><span class="w"> </span><span class="mi">1</span>
<span class="n">VK_KHR_get_physical_device_properties2</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">extension</span><span class="w"> </span><span class="n">revision</span><span class="w"> </span><span class="mi">2</span>
<span class="n">VK_KHR_get_surface_capabilities2</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">extension</span><span class="w"> </span><span class="n">revision</span><span class="w"> </span><span class="mi">1</span>
<span class="n">VK_KHR_portability_enumeration</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">extension</span><span class="w"> </span><span class="n">revision</span><span class="w"> </span><span class="mi">1</span>
<span class="n">VK_KHR_surface</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">extension</span><span class="w"> </span><span class="n">revision</span><span class="w"> </span><span class="mi">25</span>
<span class="n">VK_KHR_surface_protected_capabilities</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">extension</span><span class="w"> </span><span class="n">revision</span><span class="w"> </span><span class="mi">1</span>
<span class="n">VK_KHR_xcb_surface</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">extension</span><span class="w"> </span><span class="n">revision</span><span class="w"> </span><span class="mi">6</span>
<span class="n">VK_KHR_xlib_surface</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">extension</span><span class="w"> </span><span class="n">revision</span><span class="w"> </span><span class="mi">6</span>
<span class="n">VK_LUNARG_direct_driver_loading</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">extension</span><span class="w"> </span><span class="n">revision</span><span class="w"> </span><span class="mi">1</span>
<span class="n">Instance</span><span class="w"> </span><span class="n">Layers</span><span class="p">:</span><span class="w"> </span><span class="n">count</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">3</span>
<span class="o">--------------------------</span>
<span class="n">VK_LAYER_AMD_switchable_graphics_32</span><span class="w"> </span><span class="n">AMD</span><span class="w"> </span><span class="n">switchable</span><span class="w"> </span><span class="n">graphics</span><span class="w"> </span><span class="n">layer</span><span class="w"> </span><span class="mf">1.3</span><span class="o">.</span><span class="mi">241</span><span class="w"> </span><span class="n">version</span><span class="w"> </span><span class="mi">1</span>
<span class="n">VK_LAYER_AMD_switchable_graphics_64</span><span class="w"> </span><span class="n">AMD</span><span class="w"> </span><span class="n">switchable</span><span class="w"> </span><span class="n">graphics</span><span class="w"> </span><span class="n">layer</span><span class="w"> </span><span class="mf">1.3</span><span class="o">.</span><span class="mi">241</span><span class="w"> </span><span class="n">version</span><span class="w"> </span><span class="mi">1</span>
<span class="n">VK_LAYER_MESA_device_select</span><span class="w"> </span><span class="n">Linux</span><span class="w"> </span><span class="n">device</span><span class="w"> </span><span class="n">selection</span><span class="w"> </span><span class="n">layer</span><span class="w"> </span><span class="mf">1.3</span><span class="o">.</span><span class="mi">211</span><span class="w"> </span><span class="n">version</span><span class="w"> </span><span class="mi">1</span>
<span class="n">Devices</span><span class="p">:</span>
<span class="o">========</span>
<span class="n">GPU0</span><span class="p">:</span>
<span class="w"> </span><span class="n">apiVersion</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">1.3</span><span class="o">.</span><span class="mi">260</span>
<span class="w"> </span><span class="n">driverVersion</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">2.0</span><span class="o">.</span><span class="mi">279</span>
<span class="w"> </span><span class="n">vendorID</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mh">0x1002</span>
<span class="w"> </span><span class="n">deviceID</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mh">0x73df</span>
<span class="w"> </span><span class="n">deviceType</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">PHYSICAL_DEVICE_TYPE_DISCRETE_GPU</span>
<span class="w"> </span><span class="n">deviceName</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">AMD</span><span class="w"> </span><span class="n">Radeon</span><span class="w"> </span><span class="n">RX</span><span class="w"> </span><span class="mi">6750</span><span class="w"> </span><span class="n">XT</span>
<span class="w"> </span><span class="n">driverID</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">DRIVER_ID_AMD_PROPRIETARY</span>
<span class="w"> </span><span class="n">driverName</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">AMD</span><span class="w"> </span><span class="n">proprietary</span><span class="w"> </span><span class="n">driver</span>
<span class="w"> </span><span class="n">driverInfo</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="n">AMD</span><span class="w"> </span><span class="n">proprietary</span><span class="w"> </span><span class="n">shader</span><span class="w"> </span><span class="n">compiler</span><span class="p">)</span>
<span class="w"> </span><span class="n">conformanceVersion</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">1.3</span><span class="o">.</span><span class="mf">3.1</span>
<span class="w"> </span><span class="n">deviceUUID</span><span class="w"> </span><span class="o">=</span><span class="w"> </span>
<span class="w"> </span><span class="n">driverUUID</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">414</span><span class="n">d442d</span><span class="o">-</span><span class="mi">4</span><span class="n">c49</span><span class="o">-</span><span class="mf">4e55</span><span class="o">-</span><span class="mi">582</span><span class="n">d</span><span class="o">-</span><span class="mi">445256000000</span>
<span class="n">GPU1</span><span class="p">:</span>
<span class="w"> </span><span class="n">apiVersion</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">1.3</span><span class="o">.</span><span class="mi">241</span>
<span class="w"> </span><span class="n">driverVersion</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">2.0</span><span class="o">.</span><span class="mi">257</span>
<span class="w"> </span><span class="n">vendorID</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mh">0x1002</span>
<span class="w"> </span><span class="n">deviceID</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mh">0x73df</span>
<span class="w"> </span><span class="n">deviceType</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">PHYSICAL_DEVICE_TYPE_DISCRETE_GPU</span>
<span class="w"> </span><span class="n">deviceName</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">AMD</span><span class="w"> </span><span class="n">Radeon</span><span class="w"> </span><span class="n">RX</span><span class="w"> </span><span class="mi">6750</span><span class="w"> </span><span class="n">XT</span>
<span class="w"> </span><span class="n">driverID</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">DRIVER_ID_AMD_OPEN_SOURCE</span>
<span class="w"> </span><span class="n">driverName</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">AMD</span><span class="w"> </span><span class="n">open</span><span class="o">-</span><span class="n">source</span><span class="w"> </span><span class="n">driver</span>
<span class="w"> </span><span class="n">driverInfo</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">2023.</span><span class="n">Q1</span><span class="o">.</span><span class="mi">3</span><span class="w"> </span><span class="p">(</span><span class="n">LLPC</span><span class="p">)</span>
<span class="w"> </span><span class="n">conformanceVersion</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">1.3</span><span class="o">.</span><span class="mf">0.0</span>
<span class="w"> </span><span class="n">deviceUUID</span><span class="w"> </span><span class="o">=</span><span class="w"> </span>
<span class="w"> </span><span class="n">driverUUID</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">414</span><span class="n">d442d</span><span class="o">-</span><span class="mi">4</span><span class="n">c49</span><span class="o">-</span><span class="mf">4e55</span><span class="o">-</span><span class="mi">582</span><span class="n">d</span><span class="o">-</span><span class="mi">445256000000</span>
</pre></div>
<p>The most important bits are:</p>
<ul>
<li><code>Kernel driver in use: amdgpu</code></li>
<li><code>direct rendering: Yes</code></li>
<li>that <code>vulkaninfo</code> doesn't produce any errors</li>
</ul>
<h3>Wine and other software packages</h3>
<p>These are my current useflags:</p>
<ul>
<li>wine: <code>+abi_x86_32 +abi_x86_64 +proton</code>
</li>
<li>wine-staging: <code>+X +abi_x86_32 +abi_x86_64 -alsa -capi -crossdev-mingw -cups -custom-cflags -dos +fontconfig +gecko -gphoto2 +gstreamer -kerberos -llvm-libunwind +mingw +mono -netapi +nls -opencl +opengl -osmesa -pcap -perl +pulseaudio -samba -scanner +sdl -smartcard +ssl +strip +truetype -udev -udisks +unwind +usb -v4l +vulkan -wayland -wow64 +xcomposite -xinerama</code>
</li>
<li>wine-proton: <code>+X +abi_x86_32 +abi_x86_64 -alsa -capi -crossdev-mingw -cups -custom-cflags -dos +fontconfig +gecko -gphoto2 +gstreamer -kerberos -llvm-libunwind +mingw +mono -netapi +nls -odbc -opencl +opengl -osmesa -pcap -perl +pulseaudio -samba -scanner +sdl -smartcard +ssl +strip +truetype -udev -udisks +unwind -usb -v4l +vulkan -wayland -wow64 +xcomposite -xinerama</code>
</li>
<li>wine-vanilla: <code>+abi_x86_32 +abi_x86_64 -alsa -crossdev-mingw -custom-cflags +fontconfig +gecko +gstreamer -llvm-libunwind +mono +nls -osmesa -perl +pulseaudio +sdl +ssl +strip -udev -udisks +unwind +usb -v4l +video_cards_amdgpu +xcomposite -xinerama</code>
Notice that I am targeting all WINE packages in order to test slightly different configurations. Use <code>eselect wine</code> to switch between versions.</li>
</ul>
<p>I have enable the <code>abi_x86_32</code> use flag for many packages, probably more than needed. This is to ensure that I avoid problems related to my configuration. Enabling the flag globally seems like a waste of cpu and disk.</p>
<p>These are the additional WINE related packages that I installed:</p>
<ul>
<li>app-emulation/winetricks: <code>+gtk +rar</code>
</li>
<li>app-emulation/vkd3d-proton: <code>+abi_x86_32 +strip</code>
</li>
</ul>
<p>GPU related packages:</p>
<ul>
<li>dev-util/DirectXShaderCompiler: necessary for proper directX support with vulkan</li>
<li>media-libs/vulkan-loader: <code>+X +abi_x86_32 +layers</code>
</li>
<li>dev-util/vulkan-tools: <code>+X</code>
</li>
<li>media-libs/amdgpu-pro-vulkan: <code>+abi_x86_32 +video_cards_amdgpu</code>
</li>
<li>media-libs/amdvlk: <code>+abi_x86_32 +raytracing</code> but I am not sure my gpu supports raytracing</li>
<li>media-libs/shaderc</li>
</ul>
<p>Controller related tools:</p>
<ul>
<li>app-misc/evtest: to test the controllers input</li>
</ul>
<p>I am using spectrwm as my windows manager. It is not the best option and I would suggest to use a more featured DE.
This is an example of an innocous error that is caused by spectrwm when using WINE:</p>
<div class="code"><pre class="code literal-block"><span class="n">ERROR</span><span class="p">:</span><span class="w"> </span><span class="n">ld</span><span class="o">.</span><span class="n">so</span><span class="p">:</span><span class="w"> </span><span class="n">object</span><span class="w"> </span><span class="s1">'/usr/lib64/libswmhack.so.0.0'</span><span class="w"> </span><span class="n">from</span><span class="w"> </span><span class="n">LD_PRELOAD</span><span class="w"> </span><span class="n">cannot</span><span class="w"> </span><span class="n">be</span><span class="w"> </span><span class="n">preloaded</span><span class="w"> </span><span class="p">(</span><span class="n">wrong</span><span class="w"> </span><span class="n">ELF</span><span class="w"> </span><span class="k">class</span><span class="p">:</span><span class="w"> </span><span class="n">ELFCLASS64</span><span class="p">):</span><span class="w"> </span><span class="n">ignored</span><span class="o">.</span>
</pre></div>
<p>Consider that WMs need a compositor to avoid some clashes with WINE. I am using x11-misc/picom with drm and opengl support.</p>
<p>user ~&gt; WINEPREFIX=/home/user/.wine setup_vkd3d_proton.sh install --symlink</p>
<ul>
<li>wineboot</li>
<li>la demo</li>
<li>app-emulation/vkd3d-proton<div class="code"><pre class="code literal-block">elog " WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
</pre></div>
</li>
</ul>
<p>WINEPREFIX=user ~&gt; setup_vkd3d_proton.sh install</p>
<ul>
<li>evtest; wine control joy....; dxdiag?</li>
</ul>
<p>windows managers?</p>
<ul>
<li>
<p>hardware: controller, gpu, cpu, audio</p>
</li>
<li>
<p>snapshot .cache/wine</p>
</li>
</ul>
</div>
<aside class="postpromonav"><nav><h4>Categories</h4>
<ul itemprop="keywords" class="tags">
<li><a class="tag p-category" href="../../../../../categories/gentoo/" rel="tag">Gentoo</a></li>
<li><a class="tag p-category" href="../../../../../categories/linux/" rel="tag">linux</a></li>
<li><a class="tag p-category" href="../../../../../categories/videogames/" rel="tag">videogames</a></li>
</ul></nav></aside><p class="sourceline"><a href="index.md" class="sourcelink">Source</a></p>
<footer class="site-footer" id="footer"><span> CC BY-SA 4.0 International.<br></span>
<span class="site-footer-credits"><a href="https://getnikola.com">Nikola</a>, <a href="https://github.com/jasonlong/cayman-theme">Cayman theme</a>.</span>
</footer></section>
</div>
</body>
</html>