[Merged to stable] Adding Nvidia prime-offloading support to mhwd

I would like to try this too, but the package links are down again.
Will this be merged soon?

And is it possible ( /does it make sence) to use this in combination with optimus-manager?


Already merged. Will be available in Manjaro 19.0.


Yes, to use optimus-manager you'll have to delete config file (symlink) 90-mhwd.conf from /etc/X11/xorg.conf.d. It makes sense if just hybrid mode is not enough and one needs more flexibility (Intel-only for power efficiency and Prime for gaming). For now Hybrid mode aka render offload has some limitations: no graphic output to external monitors through ports wired to Nvidia, no ability to over/underclock Nvidia card.

Ok, this sounds like it makes sense, when I have not a turing based card.
But with turing this mod should act like "hybrid" anyway, should'nt it?

@TotallyNotElite: thanks for the link.

19.0-pre1 ISOs had a missing package. With 19.0-pre2 it should work. ISOs are already available for testing.

Thanks! Can you check this out please? Video-virtualmachine is impossible to remove on systems relying on gtkmm3.

(link to topic)

I can report that TotallyNotElite's package works as advertised! Prior to that, I was not able to get glgears to use my GeForce GTX 1650 gpu.

I'm sorry, I'm a little ignorant here, but I was hoping that would just magically allow my external monitors to start working (through a Dell docking station), but I guess there's more work to be done. I don't want to hijack this thread, but just wanted to point that out in case it "should just work"?

xrandr is reporting 3 display ports disconnected, for what it's worth.

Yes, this is a known issue:
The hdmi and display ports on (attached to) the nvidia chipset (card) are not usable without using reverse-prime, or by using the dgpu as primary and the igpu as secondary.

Thanks for the pointer! I'm getting an error while attempting reverse-prime. I'm assuming this is unrelated to this thread - would you be able to point me to the proper place to ask questions about this?

$ xrandr --listproviders 
Providers: number : 2
Provider 0: id: 0x46 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 3 outputs: 4 associated providers: 0 name:modesetting
Provider 1: id: 0x240 cap: 0x0 crtcs: 0 outputs: 0 associated providers: 0 name:NVIDIA-G0
$ xrandr --setprovideroutputsource 1 0
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  35 (RRSetProviderOutputSource)
  Value in failed request:  0x240
  Serial number of failed request:  16
  Current serial number in output stream:  17
$ xrandr --setprovideroutputsource NVIDIA-G0 modesetting
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  35 (RRSetProviderOutputSource)
  Value in failed request:  0x240
  Serial number of failed request:  16
  Current serial number in output stream:  17

you cant use render-offload and reverse prime, or prime at the same time. pick 1 configuration and use it. if you want your external displays to work, or want your dock to be anything more than a glorified usb hub then render offload is not for you or anyone that needs any of those functions and since crippling external displays is somehow not seen as a bug i dont expect this to change any time soon.

that said, if you need help setting up a configuration that will actually do what you want then this is not the thread to do it in, create a new thread if needed.

1 Like

@TotallyNotElite The nvidia prime render offload solution is in stable branch since 16th January 2020 and currently using it with the nvidia 440 drivers. Users with Turing NVIDIA GPUs and newer will greatly benefit with this solution because power management options currently supports these GPUs. I do hope that NVIDIA will support power management in pre-turing GPUs in future so that we can get 0% power usage for a pre-turing GPU when not in use like they have done for a Turing GPU with current power management options. Now users with with PCs with intel GPUs only can easily switch to the intel modesetting driver via mhwd if the xf86-video-intel causes issues and glitches on their PCs especially if they have newer GPUs. Thanks for this and all the changes you made to mhwd that will benefit a lot of users. Keep up the good work.:+1:

Seems we have some issues with AMD Hardware. Most likely due to our modesetting drivers update. Some users seems to been hit hard. We have to see if it is mhwd related or not ...

Hmm, are you sure? I don't think mhwd automatically applies new MHWD configs after the initial installation.

Video-linux should have a higher priority than video-modesetting, so I doubt that.

Oh and btw, you missed the changes to the priorities I've made. For example, video-virtualmachine has the same priority as video-modesetting now! Also, video-modesetting definitely shouldn't override the other misc drivers (like video-s3).

1 Like

Thanks for the kind words! This has been on my ToDo list ever since driver 435 and the relevant Xorg patches rolled out to testing.

You lost Nvidia at "support" and "pre-turing". Nvidia is a "prime" example why closed source software (especially drivers) are the enemy.

Anything you'd like to see fixed/changed in particular :thinking:. I'm mostly focusing on the new user experience.

1 Like

How would I switch from Optimus Manager to this solution? I have Dell XPS 9570 and I have tried removing optimus-manager, deleting configs and other things yet I still can't get this to work from MHWD or MSM.

What are you having problems with exactly?

or you could just use optimus-manager in hybrid mode since it's the same thing. :man_shrugging:

Yeah I know, it's just not officially supported!

The Nvidia Settings app and prime-run crash, citing X configuration errors.

your not really able to adjust much from settings while using render offload anyway, no coolbits/oc

Forum kindly sponsored by