Need to force discrete graphics

I am trying to run makehuman (http://www.makehumancommunity.org) on my manjaro linux system, but as you can see from this thread I started on their forum (makehumancommunity.org • View topic - Broken interface, manjaro linux, AUR), I am having graphics issues with the application.

They recommend I try to force discrete graphics when running the application, since I appear to be defaulting to my iGPU.

As someone new to linux, I have no idea how to do this.

In case it helps, here is the output of nvidia-smi:

+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 530.41.03              Driver Version: 530.41.03    CUDA Version: 12.1     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                  Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf            Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce GTX 1050         Off| 00000000:01:00.0 Off |                  N/A |
| N/A   44C    P8               N/A /  N/A|      0MiB /  4096MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
                                                                                         
+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|  No running processes found                                                           |
+---------------------------------------------------------------------------------------+

and the GPUs in my system (via neofetch):

GPU: NVIDIA GeForce GTX 1050 Mobile 
GPU: Intel CoffeeLake-S GT1 [UHD Graphics 610] 

Output of inxi --full --admin --filter --width:

System:
  Kernel: 6.1.31-2-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 13.1.1
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.1-x86_64
    root=UUID=6bfd7758-ca72-4114-a735-34205333443b rw nouveau.modeset=0 quiet
    cryptdevice=UUID=24290f5f-0fc0-468c-8e3d-ac8c2cd971d6:luks-24290f5f-0fc0-468c-8e3d-ac8c2cd971d6
    root=/dev/mapper/luks-24290f5f-0fc0-468c-8e3d-ac8c2cd971d6 splash
    udev.log_priority=3
  Desktop: KDE Plasma v: 5.27.5 tk: Qt v: 5.15.9 wm: kwin_wayland vt: 2
    dm: SDDM Distro: Manjaro Linux base: Arch Linux
Machine:
  Type: Laptop System: HASEE product: W650KJ1_KK1 v: N/A
    serial: <superuser required> Chassis: type: 10 v: W650KJ1_KK1
    serial: <superuser required>
  Mobo: HASEE model: W650KJ1_KK1 serial: <superuser required>
    UEFI: American Megatrends v: 1.09.01 date: 12/25/2018
Battery:
  ID-1: BAT0 charge: 22.2 Wh (100.0%) condition: 22.2/48.8 Wh (45.4%)
    volts: 12.5 min: 11.1 model: Notebook BAT type: Li-ion serial: <filter>
    status: full
  ID-2: hidpp_battery_0 charge: 40% condition: N/A volts: 3.8 min: N/A
    model: Logitech G502 LIGHTSPEED Wireless Gaming Mouse type: N/A
    serial: <filter> status: discharging
CPU:
  Info: model: Intel Pentium Gold G5420 bits: 64 type: MT MCP arch: Coffee Lake
    level: v2 built: 2018 process: Intel 14nm family: 6 model-id: 0x9E (158)
    stepping: 0xA (10) microcode: 0xF2
  Topology: cpus: 1x cores: 2 tpc: 2 threads: 4 smt: enabled cache:
    L1: 128 KiB desc: d-2x32 KiB; i-2x32 KiB L2: 512 KiB desc: 2x256 KiB
    L3: 4 MiB desc: 1x4 MiB
  Speed (MHz): avg: 2350 high: 3800 min/max: 800/3800 scaling:
    driver: intel_pstate governor: powersave cores: 1: 900 2: 3800 3: 900 4: 3800
    bogomips: 30409
  Flags: ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities:
  Type: itlb_multihit status: KVM: VMX disabled
  Type: l1tf mitigation: PTE Inversion; VMX: conditional cache flushes, SMT
    vulnerable
  Type: mds mitigation: Clear CPU buffers; SMT vulnerable
  Type: meltdown mitigation: PTI
  Type: mmio_stale_data mitigation: Clear CPU buffers; SMT vulnerable
  Type: retbleed mitigation: IBRS
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
    prctl
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
    sanitization
  Type: spectre_v2 mitigation: IBRS, IBPB: conditional, STIBP: conditional,
    RSB filling, PBRSB-eIBRS: Not affected
  Type: srbds mitigation: Microcode
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: Intel CoffeeLake-S GT1 [UHD Graphics 610] vendor: CLEVO/KAPOK
    driver: i915 v: kernel arch: Gen-9.5 process: Intel 14nm built: 2016-20
    ports: active: eDP-1 empty: DP-1,HDMI-A-1 bus-ID: 00:02.0
    chip-ID: 8086:3e90 class-ID: 0300
  Device-2: NVIDIA GP107M [GeForce GTX 1050 Mobile] vendor: CLEVO/KAPOK
    driver: nvidia v: 530.41.03 alternate: nouveau,nvidia_drm non-free: 530.xx+
    status: current (as of 2023-05) arch: Pascal code: GP10x process: TSMC 16nm
    built: 2016-21 pcie: gen: 1 speed: 2.5 GT/s lanes: 8 link-max: gen: 3
    speed: 8 GT/s lanes: 16 bus-ID: 01:00.0 chip-ID: 10de:1c8d class-ID: 0302
  Device-3: Chicony USB2.0 Camera driver: uvcvideo type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-2:2 chip-ID: 04f2:b59e
    class-ID: 0e02 serial: <filter>
  Display: wayland server: X.org v: 1.21.1.8 with: Xwayland v: 23.1.1
    compositor: kwin_wayland driver: X: loaded: modesetting alternate: fbdev,vesa
    dri: iris gpu: i915,nvidia display-ID: 0
  Monitor-1: eDP-1 res: 1920x1080 size: N/A modes: N/A
  API: OpenGL v: 4.6 Mesa 23.0.4 renderer: Mesa Intel UHD Graphics 610 (CFL
    GT1) direct-render: Yes
Audio:
  Device-1: Intel 100 Series/C230 Series Family HD Audio vendor: CLEVO/KAPOK
    driver: snd_hda_intel v: kernel bus-ID: 00:1f.3 chip-ID: 8086:a170
    class-ID: 0403
  API: ALSA v: k6.1.31-2-MANJARO status: kernel-api with: aoss
    type: oss-emulator tools: alsactl,alsamixer,amixer
  Server-1: JACK v: 1.9.22 status: off tools: N/A
  Server-2: PipeWire v: 0.3.70 status: off with: wireplumber status: active
    tools: pw-cli,wpctl
  Server-3: PulseAudio v: 16.1 status: active with: pulseaudio-alsa
    type: plugin tools: pacat,pactl
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: CLEVO/KAPOK driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s
    lanes: 1 port: d000 bus-ID: 02:00.1 chip-ID: 10ec:8168 class-ID: 0200
  IF: enp2s0f1 state: down mac: <filter>
  Device-2: Intel Dual Band Wireless-AC 3168NGW [Stone Peak] driver: iwlwifi
    v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 1 bus-ID: 03:00.0
    chip-ID: 8086:24fb class-ID: 0280
  IF: wlp3s0 state: up mac: <filter>
Bluetooth:
  Device-1: Intel Wireless-AC 3168 Bluetooth driver: btusb v: 0.8 type: USB
    rev: 2.0 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-3:3 chip-ID: 8087:0aa7
    class-ID: e001
  Report: rfkill ID: hci0 rfk-id: 0 state: up address: see --recommends
Drives:
  Local Storage: total: 942.71 GiB used: 448.81 GiB (47.6%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/sda maj-min: 8:0 vendor: Phison model: SATA SSD size: 238.47 GiB
    block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s tech: SSD
    serial: <filter> fw-rev: 61.2 scheme: GPT
  ID-2: /dev/sdb maj-min: 8:16 vendor: Phison model: SATA SSD
    size: 238.47 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    tech: SSD serial: <filter> fw-rev: 61.2 scheme: GPT
  ID-3: /dev/sdc maj-min: 8:32 vendor: Samsung model: PSSD T7
    size: 465.76 GiB block-size: physical: 512 B logical: 512 B type: USB
    rev: 3.2 spd: 5 Gb/s lanes: 1 mode: 3.2 gen-1x1 tech: SSD serial: <filter>
    scheme: GPT
  SMART Message: Unknown USB bridge. Flash drive/Unsupported enclosure?
Partition:
  ID-1: / raw-size: 465.46 GiB size: 457.09 GiB (98.20%) used: 88.3 GiB (19.3%)
    fs: ext4 dev: /dev/dm-0 maj-min: 254:0
    mapped: luks-24290f5f-0fc0-468c-8e3d-ac8c2cd971d6
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 448 KiB (0.1%) fs: vfat dev: /dev/sdc1 maj-min: 8:33
Swap:
  Alert: No swap data was found.
Sensors:
  System Temperatures: cpu: 54.0 C mobo: N/A
  Fan Speeds (RPM): N/A
Info:
  Processes: 205 Uptime: 1h 9m wakeups: 7 Memory: available: 23.37 GiB
  used: 3.11 GiB (13.3%) Init: systemd v: 253 default: graphical
  tool: systemctl Compilers: gcc: 13.1.1 alt: 12 clang: 15.0.7 Packages:
  pm: pacman pkgs: 1381 libs: 395 tools: pamac,yay pm: flatpak pkgs: 0
  Shell: Zsh v: 5.9 default: Bash v: 5.1.16 running-in: konsole inxi: 3.3.27

Any advice would be fantastic.

:+1: Welcome to Manjaro! :+1:

  1. Please read this:
    [HowTo] Provide System Information
    and press the three dots below your post and press the :pencil2: to give us more information so we can see what’s really going on.
    Now we know the symptom of the disease, but we need some more probing to know where the origin lies… :grin:
  2. An inxi --admin --verbosity=7 --filter --no-host --width would be the minimum required information for us to be able to help you. (Personally Identifiable Information like serial numbers and MAC addresses will be filtered out by the above command)
    Also, please copy-paste that output in-between 3 backticks ``` at the beginning and end of the code/text. (use the option “preformatted text”)

:+1:

You already received it on the makehuman forum. Install makehuman-git which pulls the latest commit on GitHub as they suggested.

With all due respect, I have tried following the README as closely as I could. However, I am really not sure what I am doing re dependencies.

I could not install any of the dependencies that start with python3, and even when removing the 3, I can’t seem to find qt5:

    ~  sudo -i                                                                                             ✔ 
[sudo] password for connor: 
[gaia ~]# pacman -S python3-numpy
error: target not found: python3-numpy
[gaia ~]# pacman -S python3-qt5
error: target not found: python3-qt5
[gaia ~]# pacman -S python3-opengl
error: target not found: python3-opengl
[gaia ~]# pacman -S python-numpy
warning: python-numpy-1.24.3-2 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Packages (1) python-numpy-1.24.3-2

Total Installed Size:  46.00 MiB
Net Upgrade Size:       0.00 MiB

:: Proceed with installation? [Y/n] n
[gaia ~]# pacman -S python-qt5
error: target not found: python-qt5
[gaia ~]# pacman -S python-opengl
warning: python-opengl-3.1.6-2 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Packages (1) python-opengl-3.1.6-2

Total Installed Size:  20.35 MiB
Net Upgrade Size:       0.00 MiB

:: Proceed with installation? [Y/n] n

I suppose it is probable this has something to do with my problems, but I just get lost whenever I try to research what these things are.

first things first, there was a major update of python that needs some manual corrections. please read the thread “latest stable update”, the maintainers of manjaro explain the correct procedure right at the first postings. make sure that you followed them. second, make sure to install the package “base-devel” before installing anything else.

I’m not sure I can find the post you are referring to. Do you have a link?

I am on python 3.11.3, and apparently I already have base-devel:

    ~  python3 -V                                                                                          ✔ 
Python 3.11.3
    ~  sudo pacman -S base-devel                                                                           ✔ 
[sudo] password for connor: 
Sorry, try again.
[sudo] password for connor: 
warning: base-devel-1-2 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Packages (1) base-devel-1-2


:: Proceed with installation? [Y/n] n

hey it’s not that hard to choose the actual threads and scroll down a little bit or use strg-f of your browser to search this site for "stable ".
i must be an idiot that i serve your discourage

First thing to note: Manjaro is not Debian / Ubuntu / Mint, nor is it openSUSE. You’re going to run into that “target not found” error when you try to install packages that do not exist (or have a different name).

Second: that ReadMe assumes that you are manually compiling it on a system that does not have a package available. This is not the case for Manjaro. If you use the package(s) provided in the AUR, it should install the required dependencies automatically.

These are the packages available in the AUR: makehuman, and makehuman-git

If you need to install either of these, you can do so directly from Pamac (“Add/Remove Software” in your start menu), or using another AUR helper (like yay or pikaur).

Please note that packages in the AUR are provided by community members and not officially maintained or supported by Manjaro. These packages can break with updates and/or need to be recompiled when dependencies are updated.

That said, it is much easier to use a package from the AUR than trying to manually compile software based on a project’s ReadMe, especially when that project does not have instructions specifically for distros based on Arch Linux.

Hello, I’m having the same problem after a fresh install, I ran the makehuman script as it says in the github page, and in the terminal appears this error

File "/data/makehuman-master/makehuman/./lib/glmodule.py", line 648, in pickMesh
    glPushMatrix()
  File "/usr/lib/python3.11/site-packages/OpenGL/error.py", line 230, in glCheckError
    raise self._errorClass(
OpenGL.error.GLError: GLError(
	err = 1283,
	description = b'stack overflow',
	baseOperation = glPushMatrix,
	cArguments = ()
)
gl.draw
Traceback (most recent call last):
  File "/data/makehuman-master/makehuman/./lib/glmodule.py", line 1053, in draw
    _draw(productionRender)
  File "/data/makehuman-master/makehuman/./lib/glmodule.py", line 1045, in _draw
    drawMeshes(False, productionRender)
  File "/data/makehuman-master/makehuman/./lib/glmodule.py", line 1041, in drawMeshes
    drawOrPick(pickMode, obj)
  File "/data/makehuman-master/makehuman/./lib/glmodule.py", line 684, in drawOrPick
    obj.draw()
  File "/data/makehuman-master/makehuman/./lib/object3d.py", line 286, in draw
    return glmodule.drawMesh(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/makehuman-master/makehuman/./lib/glmodule.py", line 433, in drawMesh
    glPushMatrix()
  File "/usr/lib/python3.11/site-packages/OpenGL/error.py", line 230, in glCheckError
    raise self._errorClass(
OpenGL.error.GLError: GLError(
	err = 1283,
	description = b'stack overflow',
	baseOperation = glPushMatrix,
	cArguments = ()
)
gl.draw
Traceback (most recent call last):
  File "/data/makehuman-master/makehuman/./lib/glmodule.py", line 1053, in draw
    _draw(productionRender)
  File "/data/makehuman-master/makehuman/./lib/glmodule.py", line 1045, in _draw
    drawMeshes(False, productionRender)
  File "/data/makehuman-master/makehuman/./lib/glmodule.py", line 1041, in drawMeshes
    drawOrPick(pickMode, obj)
  File "/data/makehuman-master/makehuman/./lib/glmodule.py", line 684, in drawOrPick
    obj.draw()
  File "/data/makehuman-master/makehuman/./lib/object3d.py", line 286, in draw
    return glmodule.drawMesh(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/makehuman-master/makehuman/./lib/glmodule.py", line 433, in drawMesh
    glPushMatrix()
  File "/usr/lib/python3.11/site-packages/OpenGL/error.py", line 230, in glCheckError
    raise self._errorClass(
OpenGL.error.GLError: GLError(
	err = 1283,
	description = b'stack overflow',
	baseOperation = glPushMatrix,
	cArguments = ()
)
Exception during event onMouseMovedCallback
Traceback (most recent call last):
  File "/data/makehuman-master/makehuman/./core/events3d.py", line 211, in callEvent
    method(event)
  File "/data/makehuman-master/makehuman/./core/gui3d.py", line 607, in onMouseMovedCallback
    picked = self.getSelectedFaceGroupAndObject()
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/makehuman-master/makehuman/./core/gui3d.py", line 437, in getSelectedFaceGroupAndObject
    picked = mh.getPickedColor()
             ^^^^^^^^^^^^^^^^^^^
  File "/data/makehuman-master/makehuman/./lib/glmodule.py", line 200, in getPickedColor
    updatePickingBuffer()
  File "/data/makehuman-master/makehuman/./lib/glmodule.py", line 155, in updatePickingBuffer
    drawMeshes(True)
  File "/data/makehuman-master/makehuman/./lib/glmodule.py", line 1041, in drawMeshes
    drawOrPick(pickMode, obj)
  File "/data/makehuman-master/makehuman/./lib/glmodule.py", line 681, in drawOrPick
    obj.pick()
  File "/data/makehuman-master/makehuman/./lib/object3d.py", line 290, in pick
    return glmodule.pickMesh(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/makehuman-master/makehuman/./lib/glmodule.py", line 648, in pickMesh
    glPushMatrix()
  File "/usr/lib/python3.11/site-packages/OpenGL/error.py", line 230, in glCheckError
    raise self._errorClass(
OpenGL.error.GLError: GLError(
	err = 1283,
	description = b'stack overflow',
	baseOperation = glPushMatrix,
	cArguments = ()
)
gl.draw
Traceback (most recent call last):
  File "/data/makehuman-master/makehuman/./lib/glmodule.py", line 1053, in draw
    _draw(productionRender)
  File "/data/makehuman-master/makehuman/./lib/glmodule.py", line 1045, in _draw
    drawMeshes(False, productionRender)
  File "/data/makehuman-master/makehuman/./lib/glmodule.py", line 1041, in drawMeshes
    drawOrPick(pickMode, obj)
  File "/data/makehuman-master/makehuman/./lib/glmodule.py", line 684, in drawOrPick
    obj.draw()
  File "/data/makehuman-master/makehuman/./lib/object3d.py", line 286, in draw
    return glmodule.drawMesh(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/makehuman-master/makehuman/./lib/glmodule.py", line 433, in drawMesh
    glPushMatrix()
  File "/usr/lib/python3.11/site-packages/OpenGL/error.py", line 230, in glCheckError
    raise self._errorClass(
OpenGL.error.GLError: GLError(
	err = 1283,
	description = b'stack overflow',
	baseOperation = glPushMatrix,
	cArguments = ()
)
gl.draw
Traceback (most recent call last):
  File "/data/makehuman-master/makehuman/./lib/glmodule.py", line 1053, in draw
    _draw(productionRender)
  File "/data/makehuman-master/makehuman/./lib/glmodule.py", line 1045, in _draw
    drawMeshes(False, productionRender)
  File "/data/makehuman-master/makehuman/./lib/glmodule.py", line 1041, in drawMeshes
    drawOrPick(pickMode, obj)
  File "/data/makehuman-master/makehuman/./lib/glmodule.py", line 684, in drawOrPick
    obj.draw()
  File "/data/makehuman-master/makehuman/./lib/object3d.py", line 286, in draw
    return glmodule.drawMesh(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/makehuman-master/makehuman/./lib/glmodule.py", line 433, in drawMesh
    glPushMatrix()
  File "/usr/lib/python3.11/site-packages/OpenGL/error.py", line 230, in glCheckError
    raise self._errorClass(
OpenGL.error.GLError: GLError(
	err = 1283,
	description = b'stack overflow',
	baseOperation = glPushMatrix,
	cArguments = ()
)
gl.draw
Traceback (most recent call last):
  File "/data/makehuman-master/makehuman/./lib/glmodule.py", line 1053, in draw
    _draw(productionRender)
  File "/data/makehuman-master/makehuman/./lib/glmodule.py", line 1045, in _draw
    drawMeshes(False, productionRender)
  File "/data/makehuman-master/makehuman/./lib/glmodule.py", line 1041, in drawMeshes
    drawOrPick(pickMode, obj)
  File "/data/makehuman-master/makehuman/./lib/glmodule.py", line 684, in drawOrPick
    obj.draw()
  File "/data/makehuman-master/makehuman/./lib/object3d.py", line 286, in draw
    return glmodule.drawMesh(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/makehuman-master/makehuman/./lib/glmodule.py", line 433, in drawMesh
    glPushMatrix()
  File "/usr/lib/python3.11/site-packages/OpenGL/error.py", line 230, in glCheckError
    raise self._errorClass(
OpenGL.error.GLError: GLError(
	err = 1283,
	description = b'stack overflow',
	baseOperation = glPushMatrix,
	cArguments = ()
)

My previous manjaro install was kde - x11, and makehuman worked. now I installed gnome and comes with wayland. Maybe its wayland compatibility?