You are not logged in.

#1 2017-10-15 16:36:46

yoanar
Member
Registered: 2012-06-10
Posts: 24

Nvidia GTX 1050M on GNOME with Wayland, Discrete card not used

Using GNOME 3.26.1 with Wayland (would rather use Arch in Virtualbox on Windows than deal with the tearing from X11, that shit has never worked and will never work, so don't recommend switching to Xorg)

I have attempted this with the nouveau package, nvidia package, the nvidia-dkms package, and the nvidia-bet AUR packages.
In all cases I made sure that only a single Nvidia-related driver was loaded, through uninstalling and blacklisting.

I'll accept any solution using any driver for my Nvidia card whether that be proprietary nvidia or freedesktop nouveau.

The problem: Rendering falls back to Intel, causing roaring CPU usage, even for simple things like moving windows around, scrolling in firefox, and playing video.

Output from `glxinfo | grep -i opengl`

OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 630 (Kaby Lake GT2) 
OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.2.2
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 17.2.2
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 17.2.2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:

As you can see it reports that it is using the integrated Intel HD chipset for rendering.
GNOME reports "Unknown" for Graphics.

I would show you the output of `lspci` but `lspci` hangs and leads to a system crash.

Output of `lsmod | grep nouveau`:

button                 16384  2 nouveau,i915
video                  36864  3 msi_wmi,nouveau,i915
led_class              16384  4 iwlmvm,rtsx_usb_sdmmc,input_leds,nouveau
mxm_wmi                16384  1 nouveau
wmi                    20480  3 msi_wmi,mxm_wmi,nouveau
i2c_algo_bit           16384  2 nouveau,i915
drm_kms_helper        131072  2 nouveau,i915
ttm                    81920  1 nouveau
drm                   303104  27 nouveau,i915,ttm,drm_kms_helper
agpgart                36864  4 intel_gtt,nouveau,ttm,drm

Errors from nouveau on boot:

...
[  +0,000001] nouveau 0000:01:00.0: DRM: Pointer to TMDS table invalid
...
[  +0,000001] nouveau 0000:01:00.0: DRM: Pointer to flat panel table invalid
...

I've tried to blacklist i915 to force nouveau but then gdm refuses to start.
I've added nouveau to the MODULES in `/etc/mkinitcpio.conf` and rerun `mkinitcpio -p linux`.

Nothing works and I'm not sure what to do next or if this is even supported, nouveau seems
to be loading correctly despite those error messages. Attempted to Google them and it only
resulted in dead-ends from 2015.

This also leads to a crash (display hangs forever):

DRI_PRIME=1 glxinfo

More interesting output from `glxinfo`:

Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Intel Open Source Technology Center (0x8086)
    Device: Mesa DRI Intel(R) HD Graphics 630 (Kaby Lake GT2)  (0x591b)
    Version: 17.2.2
    Accelerated: yes
    Video memory: 3072MB
    Unified memory: yes
    Preferred profile: core (0x1)
    Max core profile version: 4.5
    Max compat profile version: 3.0
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2

The interesting part is "Video Memory", which is showing the combined memory of the Intel HD GPU and the
GTX 1050M GPU. I really don't understand why things are forwarded to the Intel driver, is there a setting somewhere
that I've missed? The nouveau driver is obviously able to access the card, so why in the name of Torvalds
is it not being used?

Interestingly when running lspci it is impossible to kill it, neither with ^C SIGINT, or with a `kill -9` SIGKILL,
while it can't be killed htop shows 100% usage on one of the CPU cores. I.e it's stuck in a syscall.
I traced the crash caused by lspci, strace ended up with the following

openat(AT_FDCWD, /sys/bus/pci/devices/0000:01:00.0/config, O_RDONLY) = 3
pread64(3, 

I confirmed this by running the following:

cat /sys/bus/pci/devices/0000:01:00.0/config

And yes, same behaviour.

Surely enough: `cat /sys/bus/pci/devices/0000:01:00.0/uevent`:

DRIVER=nouveau
PCI_CLASS=30200
PCI_ID=10DE:1C8D
PCI_SUBSYS_ID=1462:11C8
PCI_SLOT_NAME=0000:01:00.0
MODALIAS=pci:v000010DEd00001C8Dsv00001462sd000011C8bc03sc02i00

So in other words the nouveau driver is bugged to shit.

Starting GNOME in Xorg mode simply doesn't work it just hangs until I kill Xorg.

So I've got 99 problems but fortunately screen tearing ain't one.

Last edited by yoanar (2017-10-15 17:45:57)


Meh.

Offline

Board footer

Powered by FluxBB