You are not logged in.
Hello, I recently purchased a Gazelle laptop from System76 which includes an integrated intel GPU and a discrete nvidia GPU
[jt@arch ~]$ lspci -k | grep -A 3 -e VGA
00:02.0 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c)
DeviceName: VGA compatible controller
Subsystem: CLEVO/KAPOK Computer Device 866d
Kernel driver in use: i915
Kernel modules: i915
--
01:00.0 VGA compatible controller: NVIDIA Corporation GA107M [GeForce RTX 3050 Mobile] (rev a1)
DeviceName: VGA compatible controller
Subsystem: CLEVO/KAPOK Computer Device 866d
Kernel modules: nouveau, nvidia_drm, nvidia
02:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller PM9A1/PM9A3/980PROI would ultimately like to be able to use the integrated GPU by default and use the discrete GPU for more intense tasks like 3D rendering or gaming. I would prefer to use nvidia's proprietary driver so I have access to CUDA. To take smaller steps I was trying to first get the discrete GPU working by itself. System76 has this page detailing how to install their software on other operating systems. I installed these packages:
[jt@arch ~]$ pacman -Q | grep system76
system76-acpi-dkms 1.0.2+4+gb49caa5-4
system76-driver 20.04.64-1
system76-firmware-daemon 1.0.23-1
system76-power 1.1.23-1I have also installed these packages relating to graphics:
[jt@arch ~]$ pacman -Q | grep nvidia
nvidia 515.76-4
nvidia-prime 1.0-4
nvidia-utils 515.76-1
[jt@arch ~]$ pacman -Q | grep intel
xf86-video-intel 1:2.99.917+916+g31486f40-2I am using gdm as my display manager, xorg as my display server, and i3 as my window manager. Even when I use system76-power to set the graphics mode to 'nvidia' and making sure that the discrete card's power is on it still doesn't seem to work. OpenGl applications such as blender or even glxgears to not work as they should. They seem to refuse to update: glxgears shows up but the gears don't move, and blender flashes between a grey screen and the startup screen when I move my mouse. The output of glxinfo is shown below.
[jt@arch ~]$ glxinfo | grep OpenGL
OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) Graphics (ADL GT2)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 22.1.7
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.6 (Compatibility Profile) Mesa 22.1.7
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 22.1.7
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:When I try to run glxinfo with prime-run I get
[jt@arch ~]$ prime-run glxinfo
name of display: :1and then it hangs there without stopping.
I have i915, nvidia, nvidia_modeset, nvidia_uvm and nvidia_drm in my MODULES in /etc/mkinitcpio.conf as suggested by this article.
This does not work though, and it causes my laptop to take a few minutes to boot. Here is the dmesg. It looks like something goes wrong around 4.114479.
I have tried to follow this article and this article as closely as possible, changing things where needed (some service names were outdated, etc.), but I am so lost.
If anyone has any ideas, I would really appreciate it. I would be willing to try anything at this point. If I missed any important logs or command outputs, let me know and I will post those.
Thanks,
JT
Last edited by JMANN240 (2022-10-09 02:35:53)
Offline
[ 4.308542] traps: Missing ENDBR: _nv011438rm+0x0/0x10 [nvidia]See the second point in the first note of NVIDIA#Installation.
After fixing that you may then hit https://bugs.archlinux.org/task/75995
Offline
Alright, My /etc/default/grub looks like this now
# GRUB boot loader configuration
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet nowatchdog ec_sys.write_support=1 acpi_os_name=Linux acpi_osi= nvidia_drm.modeset=1 ibt=off"
GRUB_CMDLINE_LINUX=""
# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"
# Uncomment to enable booting from LUKS encrypted devices
#GRUB_ENABLE_CRYPTODISK=y
# Set to 'countdown' or 'hidden' to change timeout behavior,
# press ESC key to display menu.
GRUB_TIMEOUT_STYLE=menu
# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console
# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE=auto
# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep
# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true
# Uncomment and set to the desired menu colors. Used by normal and wallpaper
# modes only. Entries specified as foreground/background.
#GRUB_COLOR_NORMAL="light-blue/black"
#GRUB_COLOR_HIGHLIGHT="light-cyan/blue"
# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/path/to/wallpaper"
#GRUB_THEME="/path/to/gfxtheme"
# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"
# Uncomment to make GRUB remember the last selection. This requires
# setting 'GRUB_DEFAULT=saved' above.
#GRUB_SAVEDEFAULT=true
# Uncomment to disable submenus in boot menu
#GRUB_DISABLE_SUBMENU=y
# Probing for other operating systems is disabled for security reasons. Read
# documentation on GRUB_DISABLE_OS_PROBER, if still want to enable this
# functionality install os-prober and uncomment to detect and include other
# operating systems.
#GRUB_DISABLE_OS_PROBER=falseand then I ran this
[jt@arch ~]$ sudo grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/initramfs-linux.img
Found fallback initrd image(s) in /boot: initramfs-linux-fallback.img
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...
doneon reboot I did get a black screen, but ctrl+alt+2 let me switch to another tty. I set the system76-power graphics mode from 'nvidia' to 'compute' (intel normally, nvidia for certain applications) and rebooted. This time I saw my display manager properly and logged in. This time, prime-run glxgears worked and the gears were spinning! the same works for blender, and I can use CUDA to render! Everything seems to work! Thank you so much for pointing that part out on the nvidia page, I completely missed it.
Offline