AMD CPU + Nvidia GPU in a laptop = black screen on live media boot

I've been a Manjaro user for about half a year now on my desktop (Intel i7 4770 + Nvidia 750ti) and now the xfce desktop and Manjaro in general has become like heroin to me, it's literally the best thing ever. But I recently acquired a new laptop (ASUS ROG Zephyrus GA502DU, it has an AMD Ryzen 7 3750H CPU and an Nvidia 1660Ti Max Q GPU) to replace my dying desktop and immediately ran into technical difficulties installing Manjaro (and other distros). The live media boot of Manjaro (using free drivers) that I used at first opened to the desktop in my screen's max resolution, but everything I hovered my cursor over became pixelated and glitchy. I wish I'd taken photos becacuse I haven't been able to replicate this since. I tried with non-free drivers and it booted to a black screen, no blinking cursor, no response from Ctrl Alt F2, just dead. I redownloaded it on a different USB stick, tried it in different ports, and what I get now (using free drivers option) is a cursor showing up for about 3 seconds before the top part of the screen glitches like an old TV and then goes black and doesn't respond to anything. I just get the black screen with non-free.

Other distros I've attempted to install (MX, Mint, Solus, Pop!_OS) all had issues with the AMD/Nvidia hybrid GPU. The Nvidia driver recommended is 435, and only Pop!_OS was able to actually install that driver and apply it to the card, but even that wouldn't let me turn off the AMD integrated graphics processor so it ran super slow. I believe the problem has something to do with the 1660ti Max Q being quite new, and also the Ryzen 7 3750H being kind of a novelty that might not get any support for a while. Combined they make the perfect storm of making installing linux a right ballache.

The real kicker is the backlight on the keyboard though. It is borderline unusable without the backlight, and there's seemingly no option to set up ASUS's keyboard backlight in any linux distro, none of the normal commands work.

Is there any chance at all that I can get an AMD CPU with integrated graphics working alongside a dedicated Nvidia GPU on Manjaro?

3 Likes

The issue with this computer ( I have the same one) there is no way to manually switch the graphics card. This is true on windows as well, everything graphic wise is controlled by the Nvidia driver. This was only just introduced in the 435.21 driver. Currently Manjaro is the only distro with an xorg server patched to allow for the automatic prime offloading. The official xorg server has yet to be updated as well and they dont have an eta on xorg 1.21 yet. While I was able to get a bootable desktop using architect and was able to get a read out for nvidia-smi. I was never able to get the system to switch to the nvidia card.

Just read through that link that was posted because that was my thread. Architect is the only way you can install manjaro on this computer. Install the free driver and the use mhwd to install the nvidia driver. Then blacklist nouveau and delete the 90-mhwd.conf add the conf I linked and you should get a running system. If you happen to figure out how to get the card to switch automatically that would be awesome. I never figured that part out, because what I found was people would input prime commands to get it to swtich. If you install prime it will black screen you.

For the time being I have just gone back to windows. I know the big ubuntu update is coming. I am going to give pop a try after the 19.10 update. Suppose to have full automatic prime offloading build in.

i still think you can make a prime setup work on that, there's no reason why it cant. the nvidia driver can offload to amdgpu just like it can with intel modesetting, it's just not nearly as common as nvida/intel setups. :man_shrugging:

The issue is that you don't have the ability to tell it to switch outside of the configuration. There is absolutely no way to manually input a command to switch the cards. That is even laid out in the nvidia read me file for compatibility. I have directly called asus and asked them is there any way to change which card is being used manually, their answer is no its strictly up to the nvidia driver. Unless I am completely missing something hear.

so on windows the nvidia gpu is on at all times? if it was this way then why have the integrated vega gpu at all?

The nvidia gpu switches on when I play a game or something graphically intensive otherwise it strictly runs the amd card. I cant control that at all, I even called asus tech support and was like I only want to use the nvidia card. Their reply was sorry not possible it switches based on what it detects is being run.

right, because it's not possible in the same way it's not possible for me to use only the nvidia gpu because the integrated intel gpu is what's connected to the laptop display.

i can use intel only with the nvidia powered down, or i can use nvidia and intel together (prime). the nvidia does all the heavy lifting and the only job the intel has is to display it. the only exception to this would be if you had an option in bios that allows you to select which gpu to use (i dont) but not many hybrid gpu laptops have this option.

so what asus told you makes perfect sense but it does not mean you cant use a prime setup, only that you can not disable the amd gpu and run only on nvidia because it's the only gpu connected to your display. hdmi/dp ports usually go right to the nvidia but the laptop screen itself is connected to the iGPU

1 Like

Is there a .conf that allows this to work. I tested this and even when I booted a game and ran nvidia-smi it only list xorg as what the card is running. Unless that is what is suppose to happen. Over in the examples in pop_os reddit. The person was running a prime code to enable it and it would show in nvidia-smi. The issue with that is, that installing prime breaks the system and boots you to a black sceen.

The only .conf I have been able to boot with is the one listed in the thread tagged in the second comment.

then you had it setup properly with the render offload feature of 435.xx drivers. the xorg process is run on the nvidia gpu but all the rendering is done on the iGPU unless you launch an app/game with the right variables.

example:

vkcube  #will run vulkan on the iGPU (amd)
__NV_PRIME_RENDER_OFFLOAD=1 vkcube  #will run vulkan on the nvidia

glxgears   #will run glx on the iGPU (amd)
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia glxgears  #run glx on the dGPU (nvidia)

but since that's a pain in the arse to do every time you want to use the nvidia gpu, using aliases are much easier. example below is for zsh shell. for bash it would be added to .bashrc instead

Well I may have to give this another shot. I will definitely read up more on creating aliases, since that is a new thing to me.

1 Like

the aliases are not a requirement, just much easier than having to add variables any time you want to use something on the nvidia gpu

If I enter the line you put as an example:

__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia

Then add the application name after that. That will trigger that application to run on the nvidia gpu? Does that also launch the applications or do I enter that then and start the application?

this parameter is for opengl, but yes

__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia glxgears

will launch glxgears and use the nvidia card.

but as i said earlier, it's much easier to just add the alias's to ~/.bashrc or ~/.zshrc . just add this below the other aliases

# Nvidia render-offload alias
alias nvr="__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia"
alias vkr="__NV_PRIME_RENDER_OFFLOAD=1"

after you close/open terminal the alias for both will be set and then it's

#opengl
nvr glxgears
#vulkan
vkr vkcube

Did you fix this? Apparently this works

"You can specify the use of the NVIDIA GPU by going to the NVIDIA Control Panel and setting the Global Settings to High Performance"

where did you get this from?

i still think prime can work on this setup, i think the OP may of just made one of many easy mistakes to make when he/she tried setting it up. if you have this laptop and want help setting it up with prime or optimus-switch i'll be glad to help. this amd/nvidia laptop setup is still fairly new so knowing if it works satisfies my curiosity. :wink:

render offload does work with this laptop and if you dont ever plan on using external displays or ever powering down the nvidia gpu then this option is fine. the other threads linked to this one should show you what you need to do.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.

Forum kindly sponsored by