ASUS A15 TUF Gaming 506 IU Laptop Ryzen7 4800h –running linux on it & hybrid graphics (AMD+Nvidia)

Hi everyone …

I want to share my experience of installing linux distros on some modern hardware … which I had a lot of trouble in getting it to run linux successfully as I wished and hoped .

I bought a new Asus A15 gaming laptop in April 2020 (manufactured in March 2020) … the one named Asus A15 TUF Gaming laptop 506 IU model … the specs are :

  • AMD Ryzen 7 4800h CPU 8 core 16 threads

  • AMD vega 7 iGPU

  • Nvidia GTX 1660 ti Mobile with 6 GB DDR6 VRam

  • 16 GB of Ram DDR4

  • 512 GB nvme SSD (there is an additional empty nvme SSD slot which I used and put a 1 TB nvme SSD in it)

  • 144 hz full hd resoultion screen 15 .6 inch

as shown above this laptop has a hybrid graphics setup … in the last 15 days I’ve been testing and testing a lot to get a way to run an up-to-date distro enough to handle this laptop with an up-to-date packages (specially the linux-kerenl) .

Before I run the laptop I had one thing in my mind … running linux on it as the only operating system … because I am not a fan of windows that was pre-installed on it (Windows 10 home) … and I was a happy user of free and open source software in general and of GNU/linux in particular for more than 10 years .

I was and still a big fan of Debian GNU/Linux , which I love very much , but I do love other distros as well .

So Firstly I’ll list the distros that I’ve tested, which are the following :

  1. Debian stable non-free (fail to handle hybrid graphics -wont boot- and wifi rtl8822ce driver missing)

  2. Debian testing non-free (fail to handle hybrid graphics -wont boot- and wifi rtl8822ce driver missing)

  3. Linux Mint cinnamon 19.3 (installed successfully but old kernel 5.0 -for this laptop- which can be upgraded to 5.3 - not quiet enough -)

  4. Kubuntu 20.04 LTS (booted through safe graphics option in live usb menu - installed successfully a few times but after that it could be installed but cannot boot after rebooting after installed to your Drive)

  5. Ubuntu 20.04 LTS (boot through safe graphics in live cd menu – installs successfully but fails to handle the graphic cards and you cannot login after rebooting the system after installed to your Drive)

  6. Mx linux 19.1 ahs (failed to boot and could not handle the hybrid graphics)

  7. Mx linux 19.2 ahs (booted after choosing AMD Grahpics card in the live boot options – installed successfully but failed to install Nvidia proprietary driver through the Mx linux script nor the synaptic package manager)

  8. PCLinuxOS kde darkstar (mini ver) (failed to boot to the system and freezes at booting process)

  9. PCLinuxOS kde (regular ver) (failed to boot to the system and freezes at booting process)

  10. ArcoLinux KDE v20.5.6 (boots successfully but failed to install because of calamares installer)

  11. Sparkylinux mate (failed to boot to the system and freezes at booting process)

  12. Manjaro kde 20.0.1 & 20.0.2 (at boot up menu press “e” then in line starting with linux add radeon.modeset=1 or nouveau.modeset=1 at the end of the line and you will be able to boot successfully to the live system – installed successfully but after install Nvidia proprietary driver and rebooting kde crashes and you cannot boot to the system after that then you have to login through command line tty and try to configure it manually)

  13. Manjaro xfce 20.0.1 & 20.0.2 ( at boot up menu press “e” then in line starting with linux add radeon.modeset=1 or nouveau.modeset=1 at the end of the line and you will be able to boot successfully to the live system)

  14. Pop OS (both version , The intel+AMD ver and the Nvidia ver has issues in booting to the live system , but I had successfully booted to the live system once or twice)

  15. EndeavourOS (boots successfully to the live system but the installaion failed due to calamares installer)

  16. KDE neon ( same like Kubuntu 20.04 LTS)

  17. Linux Mint mate 19.3 (same like mint cinnamon 19.3)

  18. Ubuntu Mate 20.04 LTS ( same like kubuntu)

  19. Zen Installer (a graphical installer to install Arch) (booted to the install interface but failed to go on with it because to much hanging and buggie)

  20. OpenSuse tumbleweed kde (installed Successfully through net iso – Nvidia driver installed successfully version 440.82 through community repo in yast software management , linux-kernel 5.6.14 detects my hardware very well)

  21. OpenSuse tumbleweed xfce (same as kde version)

after trying all these, I can say if you bought this laptop (ASUS A15), and you want to experience a good linux distro that will not fail you in detecting your modern hardware you should pick and install only OpenSuse tumbleweed (in my opinion go with kde) … this will apply (at least for the moment and the near future ) on any new ryzen 4000 series laptop which is released in 2020 and has hybrid graphic cards (AMD+Nvidia) .

**
**
### important note : I will save you a lot of time … if you want to change between your 2 graphics card … you should first install [suse-prime] from Yast software management or by typing in terminal

sudo zypper install suse-prime

after that you can simply do the following :

In terminal

to change to nvidia Graphics card:

1)Type

sudo prime-select nvidia

  1. logout and login again to activate

#### to change to AMD Graphics card:

  1. Type

sudo prime-select unset

  1. logout and login again to activate
  • you can check which graphic card in use by typing the following in the terminal :
inxi -G


this command will show the following :


  
  **
  OpenGL: 

  renderer: AMD RENOIR (DRM 3.36.0 5.6.14-1-default LLVM 10.0.0) 
  
v: 4.6 Mesa 20.0.7 **



OpenGL renderer >>>> shows the video card which is in use currently

Finally I can say that I have installed successfully the following and managed to game successfully both in steam and pcsx2 playstation 2 emulator.

  1. Nvidia proprietary Driver v.440.82

  2. wine-staging

  3. lutris

  4. steam and enable proton within steam >> settings >> steam play – under advanced tick the enabled steam play for all other titles and select version of proton then you must restart steam .

  5. install steam-controller package for PS4 controller or other controllers you want to use (for me I installed this package and I played successfully Sekiro shadow die twice with PS4 controller via bluetooth and proton 4 not 5 version worked with this game … must note that I ran this game successfully once with Nvidia card , then I switched to AMD card and been able to play this as well successfully)

  6. gamemode through Yast software and enbaled it in steam in sekiro .

## Note 1 : if you want to try a different distro to install or to run on this kind of hardware you must consider the linux-kernel which is running in this distro to be version 5.6 and above to get your hardware running without a problem.

## Note 2 : I have some screen tearing on the lower pannel in KDE (not constant but coming and going sometimes) on my BOTH graphic cards (AMD + NVIDIA) , so I can say it must be something to do with another issue maybe on the kernel or other things … I had this problem in manjaro KDE 20 and OpenSuse tumbleweed KDE and Xfce … and I am not sure whats causing it … for the mean time I am sticking to tumbleweed as my only linux distro that can run on my laptop with the least amount of problems .

Sorry for too much writing and I hope you have some useful info in my words .

Hi.

I have a “similar” HW:

AMD Ryzen 5 with Radeon Vega mobile 8 gfx
Nvidia GeForce GTX1050

But, suse-prime and similar never worked. I have the propertary Nvidia drivers.

Currently almost all is rendered by the dGPU (nvidia).

Hello,

I also have a new laptop with similar components.
I have been struggling with Leap 15.2, but as you indicated, that will not get these systems running correctly.
I then followed your instructions above and the system now runs fine.
Your research is much appreciated.

Regards from a now happy again OpenSuse user.

Hi, Tumbleweed now has kernel 5.8, does It solve the screen tearing issue? I ask because I’m interested in buying this laptop, too. And thank you for your detailed report.

Thanks for the great list of compatible linux versions.

Does best mentioned SUSE works via HDMI output if you have tested?
Kind regards

I got almost the same laptop FA506II. And for resolve the problem with the screen tearing, I set 60Hz.
But since that refresh rate is possible to set just for the highest resolution and I use a two-screen setup with different DPI. Then I intend to use Wayland(not a Full Wayland) session.

And sometimes after boot, the laptop touchpad stops working. It’s possible to fix by one more reboot.

But for me, this laptop is very much usable.

I work with an external screen connected by HDMI.

Hi Russian,
I have installed OpenSuse and works nice, all drivers seem to be fine. But when I tried Linux Zorin, I have to say that just from USB try, Zorin works better from USB than OpenSuse from my fast NVMe drive. Strange.
But Zorin is based on Ubuntu and doesnt support 4kHDMI output, hence I cant use two monitors.
From your list, what other linux distro you would recommend which can use HDMI and other drivers?
Cheers

ASUS A17 TUF Gaming Ryzen 5 4600H, Renoir

I just installed Tumbleweed, works I can use the HDMI port, nvidia 1650 gets recognized and when connected on boot, the thunderbolt connector can be used. theoretically.

I can only move the mouse to the screen conected to the 1650. Xinerama issue. Cannot move the windows to the screen.

in display settings all three screens show up. - Kubuntu 20.10 does not do that, latest update brake X

Some Xinerama ideas?

It seems to be resolved on the wiki.

I’m not running Linux and I can’t check it, but I greatly appreciate all the information about the test distributions that the OP did, thanks @proff.

I understand that the fixed Leap version patches the kernel. So, does it work for Tuf A15? and is hdcam supported?

// Sorry for flood. I can’t edit.

Just go for Tumbleweed

ASUS A17 TUF Gaming Ryzen 5 4600H, Renoir

Everything works great now. I do have two monitors connected, right now. HDMI and via USB-C, to VGA

Cam works

What does not yet work is a third diplaylink Adapter.

FYI: You’ll need to modify the power supply class value or use TLP to limit battery charge and extend its life, such as MyAsus on Windows, for example:

> sudo crontab -e
    @reboot echo 60 > /sys/class/power_supply/BAT1/charge_control_end_threshold
> sudo reboot

At the moment, **I can’t run bluetooth **on Tumbleweed (kernel 5.9.11) and I keep it pending to check suse-prime.


> lsusb 
Bus 005 Device 002: ID 13d3:3548 IMC Networks Bluetooth Radio

> lsmod | grep rt 
**rt**w88_8822ce           16384  0 
**rt**w88_8822c           339968  1 **rt**w88_8822ce 
**rt**w88_pci              28672  1 **rt**w88_8822ce 
**rt**w88_core            159744  2 **rt**w88_pci,**rt**w88_8822c 
bt**rt**l                  24576  1 btusb 
mac80211             1073152  2 **rt**w88_pci,**rt**w88_core 
bluetooth             729088  12 bt**rt**l,btintel,btbcm,bnep,btusb 
cfg80211              897024  2 **rt**w88_core,mac80211
[FONT=monospace]
> sudo rfkill list 
0: hci0: Bluetooth 
        Soft blocked: no 
        Hard blocked: no[/FONT]

Hi
Consider switcheroo-control (GNOME DE, not sure about other DE’s) or just offload from the command line instead of suse-prime, no logout/login required…

Great but switcherooctl command doesn’t show any gpu.

Hi
What desktop?


 switcherooctl 
Device: 0
  Name:        Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor Graphics
  Default:     yes
  Environment: DRI_PRIME=pci-0000_00_02_0

Device: 1
  Name:        NVIDIA Corporation GP108 [GeForce GT 1030]
  Default:     no
  Environment: __GLX_VENDOR_LIBRARY_NAME=nvidia __NV_PRIME_RENDER_OFFLOAD=1

Edit: You have to enable and start the switcheroo-control systemd service!

Thanks for the clarification.
Switcheroo seems to be a Gnome thing for good. It does not show any launcher in KDE. I get the following results from terminal:

> switcherooctl list
**Device: 0
  Name:        Advanced Micro Devices, Inc. [AMD®/ATI] Renoir**
  Default:     yes
  Environment: DRI_PRIME=pci-0000_05_00_0

**Device: 1
  Name:        NVIDIA Corporation TU116M [GeForce GTX 1660 Ti Mobile]**
  Default:     no
  Environment: __GLX_VENDOR_LIBRARY_NAME=nvidia __NV_PRIME_RENDER_OFFLOAD=1

> glxinfo|egrep "OpenGL vendor|OpenGL renderer"
OpenGL vendor string: X.Org
** OpenGL renderer string: AMD RENOIR (DRM 3.39.0, 5.9.11-1-default, LLVM 11.0.0**

> switcherooctl **-g 0** glxgears
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
512 frames in 5.0 seconds = **102.158 FPS**

> switcherooctl **-g 1** glxgears
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
399 frames in 5.0 seconds = **79.727 FPS
**
> glxgears
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
497 frames in 5.0 seconds = 99.281 FPS
> sudo prime-select nvidia
Preparing first configuration
Logout to switch graphics

# Session logout

> switcherooctl list
Device: 0
  Name:        Advanced Micro Devices, Inc. [AMD®/ATI] Renoir
  Default:     yes
  Environment: DRI_PRIME=pci-0000_05_00_0

Device: 1
  Name:        NVIDIA Corporation TU116M [GeForce GTX 1660 Ti Mobile]
  Default:     no
  Environment: __GLX_VENDOR_LIBRARY_NAME=nvidia __NV_PRIME_RENDER_OFFLOAD=1

> glxinfo|egrep "OpenGL vendor|OpenGL renderer"
OpenGL vendor string: NVIDIA Corporation
** OpenGL renderer string: GeForce GTX 1660 Ti/PCIe/SSE2**

> switcherooctl **-g 0** glxgears
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
80945 frames in 5.0 seconds = **16188.694 FPS**

> switcherooctl **-g 1** glxgears
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
8701 frames in 5.0 seconds = **1740.128 FPS  <=  hmm?
**
> glxgears
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
80677 frames in 5.0 seconds = 16135.300 FPS

Hi
Yes for GNOME we have an added selection in the desktop/menu file… you can offload either via switherooctl or an alias or script it, try this instead of glxgears (it’s not a good test}.

Some should just use the Nvidia card, else launch manually…


xrandr --listproviders 
Providers: number : 2
Provider 0: id: 0x49; cap: 0xf (Source Output, Sink Output, Source Offload, Sink Offload); crtcs: 3; outputs: 7; associated providers: 1; name: modesetting
    output VGA-1
    output HDMI-1
    output DP-1
    output HDMI-2
    output HDMI-3
    output DP-2
    output DP-3
Provider 1: id: 0x212; cap: 0x2 (Sink Output); crtcs: 2; outputs: 2; associated providers: 1; name: NVIDIA-G0
    output DVI-D-1-0
    output HDMI-1-0

glxinfo|egrep "OpenGL vendor|OpenGL renderer"

OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics P4000 (IVB GT2)

__NV_PRIME_RENDER_OFFLOAD=1 __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0 __GLX_VENDOR_LIBRARY_NAME=nvidia glxinfo|egrep "OpenGL vendor|OpenGL renderer"

OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GT 1030/PCIe/SSE2

switcherooctl -g 0 glxinfo|egrep "OpenGL vendor|OpenGL renderer"
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics P4000 (IVB GT2)

switcherooctl -g 1 glxinfo|egrep "OpenGL vendor|OpenGL renderer"
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GT 1030/PCIe/SSE2

vulkaninfo |grep NVIDIA
VK_LAYER_NV_optimus (NVIDIA Optimus layer) Vulkan version 1.2.162, layer version 1:
    driverID           = DRIVER_ID_NVIDIA_PROPRIETARY
    driverName         = NVIDIA
    driverID                                             = DRIVER_ID_NVIDIA_PROPRIETARY
    driverName                                           = NVIDIA

clinfo |grep NVIDIA
  Platform Name                                   NVIDIA CUDA
  Platform Vendor                                 NVIDIA Corporation
  Platform Name                                   NVIDIA CUDA
  Device Vendor                                   NVIDIA Corporation


pinxi -Gxxz

Graphics:  Device-1: Intel Xeon E3-1200 v2/3rd Gen Core processor Graphics driver: i915 v: kernel bus ID: 00:02.0 
           chip ID: 8086:016a 
           Device-2: NVIDIA GP108 [GeForce GT 1030] vendor: eVga.com. driver: nvidia v: 455.46.02 bus ID: 02:00.0 
           chip ID: 10de:1d01 
           Device-3: NVIDIA GK208B [GeForce GT 710] vendor: ZOTAC driver: vfio-pci v: 0.2 bus ID: 03:00.0 chip ID: 10de:128b 
           Display: x11 server: X.Org 1.20.9 compositor: gnome-shell driver: modesetting,nvidia unloaded: fbdev,vesa 
           alternate: intel,nouveau,nv resolution: 1: 1920x1080~60Hz 2: 1920x1080~60Hz 3: 1920x1080~60Hz s-dpi: 96 
           OpenGL: renderer: Mesa DRI Intel HD Graphics P4000 (IVB GT2) v: 4.2 Mesa 20.2.3 compat-v: 3.0 direct render: Yes 

switcherooctl -g 1 pinxi -Gxxz

Graphics:  Device-1: Intel Xeon E3-1200 v2/3rd Gen Core processor Graphics driver: i915 v: kernel bus ID: 00:02.0 
           chip ID: 8086:016a 
           Device-2: NVIDIA GP108 [GeForce GT 1030] vendor: eVga.com. driver: nvidia v: 455.46.02 bus ID: 02:00.0 
           chip ID: 10de:1d01 
           Device-3: NVIDIA GK208B [GeForce GT 710] vendor: ZOTAC driver: vfio-pci v: 0.2 bus ID: 03:00.0 chip ID: 10de:128b 
           Display: x11 server: X.Org 1.20.9 compositor: gnome-shell driver: modesetting,nvidia unloaded: fbdev,vesa 
           alternate: intel,nouveau,nv resolution: 1: 1920x1080~60Hz 2: 1920x1080~60Hz 3: 1920x1080~60Hz s-dpi: 96 
           OpenGL: renderer: GeForce GT 1030/PCIe/SSE2 v: 4.6.0 NVIDIA 455.46.02 direct render: Yes 

Run the likes of vkmark or blender and check you have nvidia cores…

> switcherooctl -g 1 glxinfo|egrep "OpenGL vendor|OpenGL renderer"

Hey, I’ve already tried and got the same output for both devices (AMD RENOIR). I get anyway:

> switcherooctl -g 0 vkmark
=======================================================
    vkmark 2017.08
=======================================================
    Vendor ID:      0x1002
    Device ID:      0x1636
    Device Name:    AMD RADV RENOIR (ACO)
    Driver Version: 83894275
=======================================================
[vertex] device-local=true: FPS: 8333 FrameTime: 0.120 ms
=======================================================
                                   vkmark Score: 8333
=======================================================
> switcherooctl -g 1 vkmark
=======================================================
    vkmark 2017.08
=======================================================
    Vendor ID:      0x1002
    Device ID:      0x1636
    Device Name:    AMD RADV RENOIR (ACO)
    Driver Version: 83894275
=======================================================
[vertex] device-local=true: FPS: 8262 FrameTime: 0.121 ms
=======================================================
                                   vkmark Score: 8262
=======================================================

What’s pinxi?

Hi
pinxi is the perl version of inxi :wink: no package for it…

So if you try the command line without switcheroo;


xrandr --listproviders

__NV_PRIME_RENDER_OFFLOAD=1 __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0 __GLX_VENDOR_LIBRARY_NAME=nvidia glxinfo|egrep "OpenGL vendor|OpenGL renderer"