NVIDIA 435 driver looks exciting

After several tries with environment variables and nvidia-settings, the performance remains bad on KDE unfortunately.

Using InitialPixmapPlacement=3 helps a (very) little bit, but it's still miles away from the super smooth 430.xx driver. Mind, it's still very much usable.

I hope this doesn't get pushed to stable too early...

Still looking for confirmation from other users, how's it, guys and gals with dedicated single graphics?

I can't really help you safely since I don't have any experience with Intel+Nvidia laptop before. Maybe just remove them via mhwd and then install nvidia with your current kernel and hope it will boot as expected.

With the configuration that I shared before? Replace:

Config
Section "OutputClass"
    Identifier "iGPU"
    MatchDriver "i915|amdgpu"
    Driver "modesetting"
EndSection

with

+ radeon Config
Section "OutputClass"
    Identifier "iGPU"
    MatchDriver "i915|amdgpu|radeon"
    Driver "modesetting"
EndSection

All it does is to enable TearFree option so it's harmless most of time. I added that section specifically to reduce/remove the screen tear issue I have during the transition between SDDM and Plasma.

Maybe we can use just one configuration file (with the configuration that I shared before) or what @openminded shared above.
AFAIK Xorg will automatically select the correct driver listed on MatchDriver inside of "iGPU" OutputClass.

I have done that, no issue as well.

1 Like

Tried. Profile video-nvidia Boot hangs on EFI LOGO. Recovery via chroot to bumblebee profile :stuck_out_tongue_winking_eye:

Going back to 430.40 solves the performance issues on KDE.

@philm can you please have a look at it if possible, I think it's a rather serious regression as the difference between 435.xx and 430.xx is obvious and clearly visible here.

Don't install video-nvidia from mhwd. Just install nvidia with pacman/pamac.

Start from there: Nvidia render offloading
First, remove all configs from mhwd, then install Nvidia driver and so on.

sudo mhwd -r pci video-hybrid-intel-nvidia-bumblebee
sudo pacman -S lib32-nvidia-utils nvidia-utils linux52-nvidia lib32-opencl-nvidia opencl-nvidia

Create a new file /etc/X11/xorg.conf.d/01-nvidia-offloading.conf

Section "ServerFlags"
  Option "IgnoreABI" "1"
EndSection

Section "ServerLayout"
  Identifier "layout"
  Option "AllowNVIDIAGPUScreens"
  Screen 0 "iGPU"
EndSection

Section "Device"
  Identifier "iGPU"
  Driver "modesetting"
  BusID "PCI:0:2:0"
EndSection

Section "Screen"
  Identifier "iGPU"
  Device "iGPU"
EndSection

Section "Device"
  Identifier "nvidia"
  Driver "nvidia"
  BusID "PCI:1:0:0"
EndSection

Blacklist nouveau in
/etc/modprobe.d/blacklist_nouveau.conf

blacklist nouveau

Reboot.
Aaand works like a charm.

@openminded big thank you.


UPDATE FROM TEST ZONE

  • Google Chrome does not recognize PRIME OFFLOAD at all:
[fademind@manjaro ~]$ __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia /usr/bin/google-chrome-stable 
[14296:14296:0817/131744.367147:ERROR:gl_surface_glx.cc(78)] XGetWindowAttributes failed for window 75497476.
[14296:14296:0817/131744.367229:ERROR:gl_surface_glx.cc(817)] Failed to get GLXConfig
[14296:14296:0817/131744.367240:ERROR:gpu_info_collector.cc(50)] gl::GLContext::CreateOffscreenGLSurface failed
[14296:14296:0817/131744.367246:ERROR:gpu_info_collector.cc(179)] Could not create surface for info collection.
[14296:14296:0817/131744.367254:ERROR:gpu_init.cc(64)] gpu::CollectGraphicsInfo failed.
[14296:14296:0817/131744.369031:ERROR:viz_main_impl.cc(170)] Exiting GPU process due to errors during initialization
[1:7:0817/131744.667714:ERROR:command_buffer_proxy_impl.cc(126)] ContextResult::kTransientFailure: Failed to send GpuChannelMsg_CreateCommandBuffer.
Traceback (most recent call last):
  File "/usr/bin/persepolis", line 11, in <module>
    load_entry_point('persepolis==3.1.0', 'console_scripts', 'persepolis')()
TypeError: 'module' object is not callable

and chrome://gpu


Just do not try - worthless.

  • STEAM custom command for launching game is simple:

__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia %command%

i tried this but xorg doesnt start on the nvidia card, so you unable to run things on the nvidia card.

some systems are ok with modesetting, but the tearing is not the only issue. the nvidia gpu cant be fully powered down.

if bumblebee/bbswitch were not such a disaster, then i would agree in regard to its function. nvidia remains off until it's needed which is not exactly "windows optimus" like but close enough.

1 Like

I don't have the slightest clue about Bumblebee or dual graphics, but maybe this can be of some help:
https://download.nvidia.com/XFree86/Linux-x86_64/435.17/README/dynamicpowermanagement.html

not out of date and still works perfectly fine. optimus-switch on nvidia mode is setup the same way as @jonathon 's prime tutorial, it just adds the ability to easily switch between intel and nvidia modes.

1 Like

Summary:

  • Bumblebee + BBswitch
  • PRIME NVIDIA/INTEL SWITCH
  • PRIME OFFLOAD MODESET

Do I think right?

these all have there own differences

  • bumblebee/bbswitch is one option, has ability to power on/off dGPU
  • the render offload method here is another, both gpu's remain on at all times
  • the prime method, both gpu's on at all times.
  • optimus-switch, same as prime method with added ability to switch to an intel only mode with gpu powered down.

is this what you were asking?

Exactly :slight_smile: Thanks for clarifications.

1 Like

Supported Configurations

  • Notebook only
  • Intel Coffeelake chipset series (9th Gen) (ACPI support "_PR0" and "_PR3" methods are needed to control PCIe power)
  • NVIDIA Turing dGPU
  • 4.18 Linux minimum with CONFIG_PM=y build flag.
  • Custom udev file + custom flag boot kernel.

Yes I've read that as well, when trying to find info on performance regression.
It's not for me :wink:

It is not for me either, but maybe someone have brand new :wink:

i have not tested performance with anything demanding since the update, i've been focused on trying to get this new render offload working without tearing. i'll do some testing on games i have installed in a little while and see if i notice a performance drop as well.

I haven't tested any games yet either.

It's KDE/Plasma that feels sluggish, for example dragging windows, scrolling, hovering, interacting with the menu.
It's somewhat like what KDE+nvidia used to be 1-2 years ago.

maybe try walking back any changes you made when previously using nvdia/kde. it's been a few months since i've used kde but when i did i had to make some changes to compositor setting as well as other kwin environmental variables to fix certain issues here and there. if you did any of these, maybe try reversing them to the defaults and see if any of the previous "fixes" you implemented are now whats causing the issues. just a thought.

That's what I did (mostly).
The only thing deviating from the default was "KWIN_TRIPLE_BUFFER=1" but removing it didn't make a difference (I think it's deprecated anyway).

What's yet to be done is to go back to default kwin - currently I'm on kwin-lowlatency, which might be not fully compatible with the new driver.

I'll report back, but probably not today... :wink:

1 Like

Forum kindly sponsored by Bytemark