Wrong ICD Loader (was "Wine using wrong GPU Intel/AMD Discrete")

Hello and thanks if you take the time to read and answer.

Fresh install of Manjaro, updated and ready to roll, I want to come back to GNU/Linux now that is mature for gaming.

Long story short

I’ve been using GNU/Linux since Slackware 8.0 came out (i believe it was 2001 or something like that.
Hopping distros here and there when i finally settled for ARCH around 2011, then due to work/life occurences i had to use windows.
Stuck with it for the time being.

All that to say, i’m not a newcomer and i know my way around the system, the shell and all the amenities that GNU/Linux brings differently from windows.

Hence i know how to ask for help (or i hope so)

First of all some info:

inxi -Fza output:

This
System:    Kernel: 5.13.19-2-MANJARO x86_64 bits: 64 compiler: gcc v: 11.1.0
           parameters: BOOT_IMAGE=/boot/vmlinuz-5.13-x86_64 root=UUID=daa7a42e-505b-45b9-b761-ceff2694ea7c rw quiet apparmor=1
           security=apparmor resume=UUID=be8b1070-0bf2-480a-a7f2-0ebc51168297 udev.log_priority=3
           Desktop: KDE Plasma 5.23.3 tk: Qt 5.15.2 wm: kwin_x11 vt: 1 dm: SDDM Distro: Manjaro Linux base: Arch Linux
Machine:   Type: Laptop System: LENOVO product: 20351 v: Lenovo G50-70 serial: <superuser required> Chassis: type: 10
           v: Lenovo G50-70 serial: <superuser required>
           Mobo: LENOVO model: Lancer 5A2 v: 31900059STD serial: <superuser required> UEFI-[Legacy]: LENOVO v: 9ACN29WW
           date: 10/20/2014
Battery:   ID-1: BAT0 charge: 24.9 Wh (100.0%) condition: 24.9/31.7 Wh (78.6%) volts: 16.2 min: 14.4 model: Lenovo IdeaPad
           type: Unknown serial: <filter> status: Full
CPU:       Info: Dual Core model: Intel Core i3-4010U bits: 64 type: MT MCP arch: Haswell family: 6 model-id: 45 (69)
           stepping: 1 microcode: 26 cache: L1: 128 KiB L2: 512 KiB L3: 3 MiB
           flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 bogomips: 13573
           Speed: 1418 MHz min/max: 800/1600 MHz Core speeds (MHz): 1: 1366 2: 1489 3: 1392 4: 1127
           Vulnerabilities: Type: itlb_multihit status: KVM: VMX unsupported
           Type: l1tf mitigation: PTE Inversion
           Type: mds mitigation: Clear CPU buffers; SMT vulnerable
           Type: meltdown mitigation: PTI
           Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via prctl and seccomp
           Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization
           Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional, IBRS_FW, STIBP: conditional, RSB filling
           Type: srbds mitigation: Microcode
           Type: tsx_async_abort status: Not affected
Graphics:  Device-1: Intel Haswell-ULT Integrated Graphics vendor: Lenovo driver: i915 v: kernel bus-ID: 00:02.0
           chip-ID: 8086:0a16 class-ID: 0300
           Device-2: Advanced Micro Devices [AMD/ATI] Sun LE [Radeon HD 8550M / R5 M230] vendor: Lenovo driver: radeon
           v: kernel alternate: amdgpu bus-ID: 03:00.0 chip-ID: 1002:666f class-ID: 0380
           Device-3: Realtek Lenovo EasyCamera type: USB driver: uvcvideo bus-ID: 2-6:7 chip-ID: 0bda:579a class-ID: 0e02
           serial: <filter>
           Display: x11 server: X.Org 1.21.1.1 compositor: kwin_x11 driver: loaded: ati,modesetting,radeon
           alternate: fbdev,vesa display-ID: :0 screens: 1
           Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 506x285mm (19.9x11.2") s-diag: 581mm (22.9")
           Monitor-1: HDMI-1 res: 1920x1080 hz: 60 dpi: 102 size: 477x268mm (18.8x10.6") diag: 547mm (21.5")
           OpenGL: renderer: Mesa DRI Intel HD Graphics 4400 (HSW GT2) v: 4.5 Mesa 21.2.5 compat-v: 3.0 direct render: Yes
Audio:     Device-1: Intel Haswell-ULT HD Audio vendor: Lenovo driver: snd_hda_intel v: kernel bus-ID: 00:03.0
           chip-ID: 8086:0a0c class-ID: 0403
           Device-2: Intel 8 Series HD Audio vendor: Lenovo driver: snd_hda_intel v: kernel bus-ID: 00:1b.0 chip-ID: 8086:9c20
           class-ID: 0403
           Sound Server-1: ALSA v: k5.13.19-2-MANJARO running: yes
           Sound Server-2: JACK v: 1.9.19 running: no
           Sound Server-3: PulseAudio v: 15.0 running: yes
           Sound Server-4: PipeWire v: 0.3.40 running: yes
Network:   Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: Lenovo driver: r8169 v: kernel port: 5000
           bus-ID: 01:00.0 chip-ID: 10ec:8168 class-ID: 0200
           IF: enp1s0 state: up speed: 100 Mbps duplex: full mac: <filter>
           Device-2: Realtek RTL8723BE PCIe Wireless Network Adapter vendor: Lenovo Z50-75 driver: rtl8723be v: kernel
           port: 4000 bus-ID: 02:00.0 chip-ID: 10ec:b723 class-ID: 0280
           IF: wlp2s0 state: down mac: <filter>
Bluetooth: Device-1: Realtek RTL8723B Bluetooth type: USB driver: btusb v: 0.8 bus-ID: 2-7:8 chip-ID: 0bda:b728 class-ID: e001
           serial: <filter>
           Report: rfkill ID: hci0 rfk-id: 3 state: up address: see --recommends
Drives:    Local Storage: total: 558.92 GiB used: 362.81 GiB (64.9%)
           SMART Message: Unable to run smartctl. Root privileges required.
           ID-1: /dev/sda maj-min: 8:0 vendor: Crucial model: CT480BX500SSD1 size: 447.13 GiB block-size: physical: 512 B
           logical: 512 B speed: 6.0 Gb/s type: SSD serial: <filter> rev: R022 scheme: MBR
           ID-2: /dev/sdb maj-min: 8:16 type: USB vendor: Kingston model: N/A size: 111.79 GiB block-size: physical: 512 B
           logical: 512 B type: N/A serial: <filter> rev: 0024 scheme: MBR
Partition: ID-1: / raw-size: 102.99 GiB size: 100.81 GiB (97.89%) used: 15.93 GiB (15.8%) fs: ext4 dev: /dev/sdb1
           maj-min: 8:17
Swap:      Kernel: swappiness: 60 (default) cache-pressure: 100 (default)
           ID-1: swap-1 type: partition size: 8.8 GiB used: 192.2 MiB (2.1%) priority: -2 dev: /dev/sdb2 maj-min: 8:18
Sensors:   System Temperatures: cpu: 35.0 C mobo: N/A gpu: radeon temp: 35.0 C
           Fan Speeds (RPM): N/A
Info:      Processes: 229 Uptime: 2h 2m wakeups: 1 Memory: 5.7 GiB used: 3.01 GiB (52.8%) Init: systemd v: 249 tool: systemctl
           Compilers: gcc: 11.1.0 Packages: pacman: 1277 lib: 357 flatpak: 0 Shell: Zsh v: 5.8 default: Bash v: 5.1.8
           running-in: yakuake inxi: 3.3.09

glxinfo | grep "OpenGL renderer" output:

OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 4400 (HSW GT2)

DRI_PRIME=1 glxinfo | grep "OpenGL renderer" output

OpenGL renderer string: AMD HAINAN (DRM 2.50.0, 5.13.19-2-MANJARO, LLVM 13.0.0)

According to common sense, i should be able to run wine and associated programs using the AMD card, right?

Yet anytime i launch wine, or skyrim or anything with wine, the output of the shell is:


MESA-INTEL: warning: Haswell Vulkan support is incomplete

For example, was trying to prepare a WINEPREFIX to run skyrim (and have a WINEPRERFIX separated for every game, to tidy them up) using the command:

DRI_PRIME=1 WINEARCH=win32 WINEPREFIX=/home/-redacted-/Games/.wine/skyrim wine wineinit
which gives me:


MESA-INTEL: warning: Haswell Vulkan support is incomplete

What I have tryed (without success so far):

  • Ignore that output, prepare my WINEPREFIX and launch the .exe
  • Using PlayOnLinux using the systemwide wine
  • Using PlayOnLinux using an alternative custom wine downloaded by the application
  • Using Lutris with all the settings correctly put
  • Search for 2 days straight using google to see if all the settings on Lutris were correct

At this point i don’t know what else to try.

EDIT: I can confirm it’s a WINE issue:

  • created another WINEPREFIX specifically for World of Warcraft 3.3.5 (i play on a private server)
  • launched Wow.exe in that WINEPREFIX
    same result

whille ANY other program that isn’t WINE does use the AMD GPU

Maybe it needs to set in xrandr?

xrandr --listproviders
xrandr --setprovideroffloadsink amdgpu intel

PRIME - ArchWiki

Otherwise, maybe DRI_PRIME=1 needs the export command:

export DRI_PRIME=1; WINEARCH=win32 WINEPREFIX=/home/-redacted-/Games/.wine/skyrim wine wineinit

I would agree with you but
DRI_PRIME=1 glxinfo | grep "OpenGL renderer" output works without the export command.

Also Minecraft works simply appending DRI_PRIME=1 to the command.
Emulators like Dolphin, PPSSPP the same.

But I tryed it anyway and:

:frowning_face:

I am 99% positive is a WINE issue.

EDIT: I can confirm it’s a WINE issue:

  • created another WINEPREFIX specifically for World of Warcraft 3.3.5 (i play on a private server)
  • launched Wow.exe in that WINEPREFIX
    same result

whille ANY other program that isn’t WINE does use the AMD GPU

I FIGURED IT OUT

and posting here for future reference:

Been reading Arch wiki for 2 days i found the needle in the haystack HERE

and to be more precise this section

I created an alias in my ~/.bashrc

alias win32="DRI_PRIME=1 VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.i686.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.jsonWINEARCH=win32 WINEPREFIX=/home/luca/.local/share/wine32 wine"

and now i just do win32 Wow.exe and (as Todd Howard once said)

IT JUST WORKS.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.