You are not logged in.

#1 2022-07-15 14:25:54

surrealistic
Member
Registered: 2011-07-24
Posts: 102

Ryzen 9 6900HX + Nvidia Geforce RTX 3070 Ti external display

Hi!

I just bought an Asus ROG Strix G513RW_G513RW recently. It has a Ryzen 9 6900HX CPU and a Nvidia Geforce RTX 3070 Ti GPU.

I've installed Arch Linux + KDE but I'm facing some trouble with the GPUs.

I've been trying to make the hybrid graphics cards work, but I can't find any decent configuration for the settings of this laptop, especially the external display, which is proving to be a headache to make it "work".

I tried at first to use the external display, but I couldn't make it work with the integrated GPU in the Ryzen processor.

I tried to use optimus-manager as I have used before on older laptops, but it seemed to not work for me, even trying to play with the different options of the QT version. In fact, it didn't even load the Nvidia GPU as the primary one when I tried to switch between both of the GPUs. 

I kept reading about this around the ArchWiki and I've read about how Nvidia implemented PRIME in their drivers for Linux, so I tried to follow the guidelines in the Wiki in another attempt to make it work, but even if I can run Steam games and other software with the Nvidia GPU, I still can't use the HDMI display.

After messing around with PRIME, I gave up and tried to use the Nvidia GPU as the primary one. I was able to start the laptop using the Nvidia GPU, but it attempted to start in the HDMI display, displaying the login in the HDMI display if I connected it and maintaining a black screen in the laptop display during the SDDM login screen. After logging in, I could experience the laptop working with a lot of lag, and the experience was a bit awful.

So I could see that with the Ryzen graphics and the HDMI display connected, it seems the laptop can detect the external display is connected but I can't make it work. Even if I enable it in the system settings of KDE and I try to set it as primary, it doesn't seem to work. On the other hand, if I use the Nvidia graphics as the primary ones, it seems to be laggy and it tries to use the external display by default, even if it's not connected.

The drivers I installed for the integrated graphics are the xf86-video-amdgpu at the moment. I tried with the amdgpu -pro but I couldn't find any improvement, so I decided to come back to the xf86-vide-amdgpu ones.

I installed the proprietary drivers for the Nvidia graphics.


The output of some commands:

xrandr --listproviders

Providers: number : 2
Provider 0: id: 0x58 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 4 outputs: 6 associated providers: 1 name:Unknown AMD Radeon GPU @ pci:0000:06:00.0
Provider 1: id: 0x203 cap: 0x2, Sink Output crtcs: 4 outputs: 4 associated providers: 1 name:NVIDIA-G0

glxinfo | grep "OpenGL renderer"

OpenGL renderer string: AMD YELLOW_CARP (LLVM 14.0.6, DRM 3.46, 5.18.11-arch1-1)

prime-run glxinfo | grep "OpenGL renderer"

OpenGL renderer string: NVIDIA GeForce RTX 3070 Ti Laptop GPU/PCIe/SSE2

xrandr

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384
eDP connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
   2560x1440    165.00 +  60.00 + 120.04    96.02    72.02    60.00    50.01    48.00  
   1920x1200    165.00  
   1920x1080    165.00* 
   1600x1200    165.00  
   1680x1050    165.00  
   1280x1024    165.00  
   1440x900     165.00  
   1280x800     165.00  
   1280x720     165.00  
   1024x768     165.00  
   800x600      165.00  
   640x480      165.00  
DisplayPort-0 disconnected (normal left inverted right x axis y axis)
DisplayPort-1 disconnected (normal left inverted right x axis y axis)
DisplayPort-2 disconnected (normal left inverted right x axis y axis)
DisplayPort-3 disconnected (normal left inverted right x axis y axis)
DisplayPort-4 disconnected (normal left inverted right x axis y axis)
DP-1-0 disconnected (normal left inverted right x axis y axis)
DP-1-1 disconnected (normal left inverted right x axis y axis)
DP-1-2 disconnected (normal left inverted right x axis y axis)
HDMI-1-0 disconnected (normal left inverted right x axis y axis)

xrandr with the HDMI display connected but not working:

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384
eDP connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
   2560x1440    165.00 +  60.00 + 120.04    96.02    72.02    60.00    50.01    48.00  
   1920x1200    165.00  
   1920x1080    165.00* 
   1600x1200    165.00  
   1680x1050    165.00  
   1280x1024    165.00  
   1440x900     165.00  
   1280x800     165.00  
   1280x720     165.00  
   1024x768     165.00  
   800x600      165.00  
   640x480      165.00  
DisplayPort-0 disconnected (normal left inverted right x axis y axis)
DisplayPort-1 disconnected (normal left inverted right x axis y axis)
DisplayPort-2 disconnected (normal left inverted right x axis y axis)
DisplayPort-3 disconnected (normal left inverted right x axis y axis)
DisplayPort-4 disconnected (normal left inverted right x axis y axis)
DP-1-0 disconnected (normal left inverted right x axis y axis)
DP-1-1 disconnected (normal left inverted right x axis y axis)
DP-1-2 disconnected (normal left inverted right x axis y axis)
HDMI-1-0 connected (normal left inverted right x axis y axis)
   1920x1080     60.00 +  59.94    50.00  
   1680x1050     59.95  
   1440x900      59.89  
   1280x1024     75.02    60.02  
   1280x960      60.00  
   1280x720      60.00    59.94    50.00  
   1024x768      75.03    70.07    60.00  
   800x600       75.00    72.19    60.32    56.25  
   720x576       50.00  
   720x480       59.94  
   640x480       75.00    72.81    59.94    59.93  

xrandr --auto --verbose with the HDMI display connected but not working:

crtc 4:    1920x1080  60.00 +0+0 "HDMI-1-0"
xrandr: Configure crtc 4 failed
crtc 0: disable
crtc 1: disable
crtc 2: disable
crtc 3: disable
crtc 4: disable
crtc 5: disable
crtc 6: disable
crtc 7: disable
screen 0: revert
crtc 0: revert
crtc 1: revert
crtc 2: revert
crtc 3: revert
crtc 4: revert
crtc 5: revert
crtc 6: revert
crtc 7: revert

Can anyone help me to make both of the displays work normally and, if possible, use the Nvidia graphics when they are required?

If more output of commands is required or any configuration, ask and I'll share it. These are the commands I saw almost all the time while searching for this problem, so that's why I've shared these ones, but if any other ones are needed, just let me know.

Cheers!!

Last edited by surrealistic (2022-07-15 14:26:35)

Offline

#2 2022-07-15 16:34:27

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 17,140

Re: Ryzen 9 6900HX + Nvidia Geforce RTX 3070 Ti external display

Try removing xf86-video-amdgpu and testing the built in modesetting driver instead. FWIW for "setting the nvidia as primary" what did you follow to try and do that? If you followed: https://wiki.archlinux.org/title/NVIDIA … phics_only did you also see and pay attention to https://wiki.archlinux.org/title/NVIDIA_Optimus#SDDM ?

You'll also want to enable modesetting to allow PRIME sync to work properly: https://wiki.archlinux.org/title/NVIDIA … de_setting note that if you opt for adjusting the initramfs for early loading in addition to just adding the kernel parameter, you also need to add amdgpu to the list of modules so that both drivers are set up early.

Offline

#3 2022-07-16 09:08:04

surrealistic
Member
Registered: 2011-07-24
Posts: 102

Re: Ryzen 9 6900HX + Nvidia Geforce RTX 3070 Ti external display

Thank you, V1del! I followed that guide to use the Nvidia graphics only, but it seems like I didn't pay attention to the settings for SDDM you mentioned.

The two displays, the laptop's one and the external one, are working properly now, but I noticed the performance is not the same as before when using prime-run.


I tried to run glxspheres64 to check if it's running with the Nvidia by default, and it does, but the output shows an average of 60 FPS instead of the average of over 1000 FPS I had before with prime-run.

glxspheres64

Polygons in scene: 62464 (61 spheres * 1024 polys/spheres)
GLX FB config ID of window: 0xad (8/8/8/0)
Visual ID of window: 0x27
Context is Direct
OpenGL Renderer: NVIDIA GeForce RTX 3070 Ti Laptop GPU/PCIe/SSE2
59.981709 frames/sec - 66.939588 Mpixels/sec
60.001355 frames/sec - 66.961513 Mpixels/sec
59.958865 frames/sec - 66.914094 Mpixels/sec
60.061749 frames/sec - 67.028911 Mpixels/sec

I've tried with __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia and prime-run glxspheres64, getting the same result: an average of 60 FPS.It makes sense that the result is the same because it's working under Nvidia graphics only, but I'm wondering why that decrease in performance.

Is this decrease in performance normal or could it be because of my settings?


I also removed xf86-video-amdgpu as you mentioned.

I copied the exact same configuration for /etc/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf as it says in the Wiki for Nvidia graphics only.

Would it be better to use the hybrid drivers if there's a way to make them work properly, or is this normal and they'll have better performance when it's required?

I'll try later to run a game on Steam and see if the decrease in performance is also noticeable in games.

EDIT:
I had to use the laptop without the secondary monitor, and I realized I only had the FPS drop while using the secondary monitor.

I've had some free time to try a couple of games on Steam and I can confirm the poorest performance is only when using the secondary monitor. The performance is alright while using only the laptop's display.

Is it normal or could it be because of my current settings? Is there something I could do to improve the performance while using the secondary display?

I also noticed I can't change the resolution of the display at the same scale.

For example, my current settings are 2560x1440(16:9). If I try to change to 1920x1080(16:9) all the screen glitches. The same if a game works in that resolution and it changes the resolution when loading the game.

Last edited by surrealistic (2022-07-18 11:52:52)

Offline

Board footer

Powered by FluxBB