Can only use secondary screen when switching to nvidia using Optimus without audio

Hi everyone,

I’ve been using (and enjoying) working with Linux Manjaro and a KDE desktop environment on a laptop with dual GPU’s. Now I work with a dual monitor setup, in which the secondary monitor is my main monitor. In order for me to be able to use it, I need to switch GPU using Optimus. I think this is because the hdmi port is on the nvidia card? I was wondering if there is a way around this, or to have it automatically start with the nvidia card selected?
Another problem that I have is that when I switch to the nvidia card, none of my audio works anymore.

The laptop is dual booted with windows as well (on a separate drive), where I tested and verified that I can play audio from the laptop source while having the secondary screen attached.

Any help would be greatly appreciated! Please let me know if I should copy the output of any commands and I’ll try my utmost!

What do you use to switch the Xorg configuration? I recommend optimus-manager.

Please run pa-info | curl -T - https://aptget.xyz/pa-info when this happens and post the link.

1 Like

Hi pobrn, thanks for your reply! I use Optimus Manager Qt. The configuration file is set to /etc/optimus-manager/optimus-manager.conf permanently. I did notice that I can set startup mode to select which GPU to start with, but was wondering if I could also access the secondary screen without switching to nvidia. I have done this before on a different linux OS a while back (hence why I assumed this was possible).

Regarding the audio, here is the requested output:

aptget.xyz/unbOQ/pa-info

Something is not OK. What happens if you run pactl info?

That gives the following result:

[stijn@stijn-laptop ~]$ pactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 33
Server Protocol Version: 33
Is Local: yes
Client Index: 23
Tile Size: 65472
User Name: stijn
Host Name: stijn-laptop
Server Name: pulseaudio
Server Version: 13.0
Default Sample Specification: s16le 2ch 44100Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_00_1f.3.analog-stereo
Default Source: alsa_input.usb-046d_HD_Pro_Webcam_C920_802FED0F-02.analog-stereo
Cookie: 501f:e027

I see. Please run pa-info | curl -T - https://aptget.xyz/pa-info again, but not as root.

1 Like

Thanks again for your help!
This results in the following: aptget.xyz/3mswJ/pa-info

There is, however, the performance is not really good, and there are other issues.


Is the correct device selected in the system audio settings?

The nvidia driver 450 and up there you can use hybrid mode instead of nvidia mode and HDMI ports gonna work as well,so no need to go nvidia mode full again.

About the audio,open the file /etc/udev/rules.d/90-mhwd-prime-powermanagement.rules and put a # after where it say #Remove NVIDIA Audio Devices,if present

#Remove NVIDIA Audio devices, if present
#ACTION==“add”, SUBSYSTEM==“pci”, ATTR{vendor}==“0x10de”, ATTR{class}==“0x040300”, ATTR{remove}=“1”

Reboot and you should have audio.

2 Likes

This only applies to the HDMI audio via the NVIDIA GPU. If I understand correctly, no audio works in this case, not even the built-in speakers.

3 Likes

Hi XRaTiX,

Thank you for your response. I tried using the hybrid mode and this has resolved many of the above-mentioned problems, including the audio, so thanks for that!
It did come with a new problem. When closing/deactivating my laptop screen, leaving only the external monitor, results in the system windows and applications to become slow and lag on input (a couple of seconds). This doesn’t really make it usable. When leaving the laptop window active, that does not occur. Would you know the reason for this?

As I’ve mentioned here:

That is a known problem.

The compositing lag you observe when you only have a Reverse PRIME display is caused by a limitation in X Present, it can’t sync to PRIME sinks. It works with NVIDIA-based PRIME Sync (non-reverse) because the NVIDIA driver implements its own mechanism to allow vsync, but when the NVIDIA GPU is the sink, as in Reverse PRIME, we have to rely on what the server supports. There is some work being done upstream on this: https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/460 . Once that is implemented, some further work will be required on the NVIDIA side to support it. Unfortunately, the only current workaround is to have a non-Reverse PRIME display set as the primary in RandR, or to disable vsync.

(source)

1 Like

Thank you both very much for the detailed explanation and the quick resolve!
I’ll just turn the brightness down on the screen and mirror the display. Being able to use my external monitor and still have audio access is already a big improvement!

In case anyone encounters the same problem, I only set the mode to hybrid standard in the Optimus Manager Qt and rebooted. This resulted in having access to the external monitor, while still having audio, and leaving the laptop open. I did not change the file in /etc/udev/rules.d as that file was not present for me.