How to get amd-nvidia hybrid laptop to work with proprietary drivers?

I removed the nvidia config from /etc/X11/xorg.conf.d/ and it now boots, but I am not sure if the nvidia driver works.

Post inxi -Ga

Graphics:  Device-1: NVIDIA TU117M [GeForce GTX 1650 Mobile / Max-Q] vendor: ASUSTeK driver: nvidia 
           v: 460.32.03 alternate: nouveau,nvidia_drm bus ID: 01:00.0 chip ID: 10de:1f91 
           Device-2: AMD Picasso vendor: ASUSTeK driver: amdgpu v: kernel bus ID: 05:00.0 
           chip ID: 1002:15d8 
           Device-3: IMC Networks USB2.0 HD UVC WebCam type: USB driver: uvcvideo bus ID: 3-1:2 
           chip ID: 13d3:56a2 serial: 0x0001 
           Display: x11 server: X.org 1.20.10 compositor: kwin_x11 driver: amdgpu,ati,modesetting 
           unloaded: fbdev,vesa resolution: <missing: xdpyinfo> 
           OpenGL: renderer: AMD Radeon Vega 8 Graphics (RAVEN DRM 3.40.0 5.10.7-arch1-1 LLVM 11.0.1) 
           v: 4.6 Mesa 20.3.3 direct render: Yes

No it’s running on Nouveau opensource on the Nvidia and Amdgpu.

Could you post inxi -Fxxxz -no-host again? Maybe I’m not seeing the first part.

System:    Host: ferret-FX505DT Kernel: 5.10.7-arch1-1 x86_64 bits: 64 compiler: gcc v: 10.2.0 
           Desktop: KDE Plasma 5.20.5 tk: Qt 5.15.2 wm: kwin_x11 dm: SDDM Distro: EndeavourOS 
Machine:   Type: Laptop System: ASUSTeK product: TUF Gaming FX505DT_FX505DT v: 1.0 serial: <filter> 
           Mobo: ASUSTeK model: FX505DT v: 1.0 serial: <filter> UEFI [Legacy]: American Megatrends 
           v: FX505DT.310 date: 12/24/2019 
Battery:   ID-1: BAT0 charge: 33.5 Wh condition: 41.7/48.1 Wh (87%) volts: 11.2/11.7 model: FX50442 
           type: Li-ion serial: N/A status: Discharging 
CPU:       Info: Quad Core model: AMD Ryzen 5 3550H with Radeon Vega Mobile Gfx bits: 64 type: MT MCP 
           arch: Zen/Zen+ note: check rev: 1 L2 cache: 2 MiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm bogomips: 33548 
           Speed: 1220 MHz min/max: 1400/2100 MHz boost: enabled Core speeds (MHz): 1: 1220 2: 1222 
           3: 1269 4: 1283 5: 1222 6: 1223 7: 1277 8: 1287 
Graphics:  Device-1: NVIDIA TU117M [GeForce GTX 1650 Mobile / Max-Q] vendor: ASUSTeK driver: nvidia 
           v: 460.32.03 bus ID: 01:00.0 chip ID: 10de:1f91 
           Device-2: AMD Picasso vendor: ASUSTeK driver: amdgpu v: kernel bus ID: 05:00.0 
           chip ID: 1002:15d8 
           Device-3: IMC Networks USB2.0 HD UVC WebCam type: USB driver: uvcvideo bus ID: 3-1:2 
           chip ID: 13d3:56a2 serial: <filter> 
           Display: x11 server: X.org 1.20.10 compositor: kwin_x11 driver: amdgpu,ati,modesetting 
           unloaded: fbdev,vesa resolution: <missing: xdpyinfo> 
           OpenGL: renderer: AMD Radeon Vega 8 Graphics (RAVEN DRM 3.40.0 5.10.7-arch1-1 LLVM 11.0.1) 
           v: 4.6 Mesa 20.3.3 direct render: Yes 
Audio:     Device-1: NVIDIA vendor: ASUSTeK driver: snd_hda_intel v: kernel bus ID: 01:00.1 
           chip ID: 10de:10fa 
           Device-2: AMD Family 17h HD Audio vendor: ASUSTeK driver: snd_hda_intel v: kernel 
           bus ID: 05:00.6 chip ID: 1022:15e3 
           Sound Server: ALSA v: k5.10.7-arch1-1 
Network:   Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: ASUSTeK driver: r8169 
           v: kernel port: e000 bus ID: 02:00.0 chip ID: 10ec:8168 
           IF: enp2s0 state: down mac: <filter> 
           Device-2: Realtek RTL8821CE 802.11ac PCIe Wireless Network Adapter vendor: AzureWave 
           driver: rtw_8821ce v: N/A port: d000 bus ID: 04:00.0 chip ID: 10ec:c821 
           IF: wlan0 state: up mac: <filter> 
Drives:    Local Storage: total: 1.38 TiB used: 54.33 GiB (3.9%) 
           ID-1: /dev/nvme0n1 vendor: Micron model: 2200V MTFDHBA512TCK size: 476.94 GiB speed: 31.6 Gb/s 
           lanes: 4 serial: <filter> rev: P1MA0V4 temp: 45.9 C 
           ID-2: /dev/sda vendor: Seagate model: ST1000LM048-2E7172 size: 931.51 GiB speed: 6.0 Gb/s 
           serial: <filter> rev: 0001 
Partition: ID-1: / size: 459.79 GiB used: 54.33 GiB (11.8%) fs: ext4 dev: /dev/nvme0n1p1 
Swap:      ID-1: swap-1 type: partition size: 8.8 GiB used: 0 KiB (0.0%) priority: -2 dev: /dev/nvme0n1p2 
Unmounted: ID-1: /dev/sda1 size: 931.51 GiB fs: ext4 label: hdd uuid: df9a554d-2602-4ef0-83cf-845b0a548aec 
Sensors:   System Temperatures: cpu: 54.2 C mobo: N/A gpu: amdgpu temp: 54.0 C 
           Fan Speeds (RPM): cpu: 2700 
Info:      Processes: 235 Uptime: 8m wakeups: 1 Memory: 15.13 GiB used: 1.72 GiB (11.4%) Init: systemd 
           v: 247 Compilers: gcc: 10.2.0 Packages: pacman: 1087 Shell: Bash v: 5.1.4 running in: konsole 
           inxi: 3.2.01 

Looks like it is using the Nvidia driver now and AMDGPU! At least both are installed. The question is how does it use both on this laptop I’m not sure.

It should use the AMD integrated graphics by default then I offload to the dedicated Nvidia GPU by doing prime-run application which just adds some environmental variables. Not sure if what I said it’s correct.

Edit: This doesnt work tho:

$ prime-run glxinfo | grep renderer
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  152 (GLX)
  Minor opcode of failed request:  24 (X_GLXCreateNewContext)
  Value in failed request:  0x0
  Serial number of failed request:  39
  Current serial number in output stream:  40

Edit 2:: What OnlineGrab told me last time is that it uses

__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME="nvidia" __VK_LAYER_NV_optimus="NVIDIA_only"

But is prime-run application the Optimus Prime package that needs to be installed? Have you tried running it to see if you get an error?

The above link i showed you has the exact CPU and an Nvidia GTX 1060 and he used OptimusPrime.

OptimusPrime? I think you mean optimus-manager.

Yes… sorry.

Does this mean it is working or no?

image
This is an image of how it worked on Manjaro with the driver I mentioned in the first post.

Edit: I was offloading applications to the nvidia GPU by using prime-run. Else they were run on the AMD IGP. I’d like to replicate that if possible.

Try installing optimus-manager now and see if it works since you removed the xorg conf file.

Edit: yay -S optimus-manager-qt

The guy in the link you gave me above does not seem to use optimus-manager he did use Nvidia Prime Select tho, which I do not know how it works but I guess it switches everything to the mentioned GPU, which I don’t really like because I still want to use both cards at once…

Edit: Unfortunately they only refer to Intel as the other card.

Edit2: Here is the one he is using from the link.

Maybe this also helps.

I did a quick ā€œFind in pageā€ with the word ā€œamdā€ and it found 0 entries…

Edit:

ferretwithaberet@ferret-FX505DT in ~
$ glxinfo | grep renderer
    GLX_MESA_query_renderer, GLX_MESA_swap_control, GLX_OML_swap_method, 
    GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, GLX_MESA_query_renderer, 
Extended renderer info (GLX_MESA_query_renderer):
OpenGL renderer string: AMD Radeon(TM) Vega 8 Graphics (RAVEN, DRM 3.40.0, 5.10.7-arch1-1, LLVM 11.0.1)
ferretwithaberet@ferret-FX505DT in ~
$ prime-run glxinfo | grep renderer
OpenGL renderer string: GeForce GTX 1650/PCIe/SSE2

Seems to be working now, I just rebooted after deleting the configs in /etc/X11/xorg.conf.d/ and it seems to work, maybe I had to reboot after installing nvidia-prime to be able to use it. Thank you for the assistance anyway!

Yes!!! :+1:

@ferretwithaberet
It looks like you have it working now as you had. It shows both devices with the proper drivers installed so i think you have replicated what you had been doing previously. Great job!