Upgrade from iGPU to dGPU - drivers? order?  [Solved]

Message
Author
User avatar
debianix
Posts: 178
Joined: Fri May 31, 2024 4:03 pm

Upgrade from iGPU to dGPU - drivers? order?

#1 Post by debianix »

Hello!

I've only ever used iGPUs in my life.

In my current motherboard GIGABYTE B560M DS3H V2 I run the i7-11700 with iGPU RocketLake UHD Graphics 750.


I have now decided to upgrade to an AMD Radeon W6600 Pro with 4 Displayport outputs.


I am now unsure what the correct procedure would be to upgrade successfully, get the correct drivers and not end up with a black screen.


So my logic would be to install the graphics card, re-enable the PCIe slot in the BIOS (currently disabled), then start the computer and install the drivers for the new graphics card.

Or would it be better to install the drivers beforehand? And which specific packages do I need to install so that this card can develop its full potential under MX Linux?


Assuming the dGPU is then installed and everything works, how can I ensure that the dGPU is always and exclusively used as the default GPU for all tasks? Should I then disable the iGPU in the BIOS to ensure that only the dGPU is used? Or would I prefer a software setting that ensures that the dGPU is set as the default and uses the correct drivers?


I would be very happy if someone can help me to master this successfully.


I appreciate any help

Code: Select all

Snapshot created on: 20240625_0332
System:
  Kernel: 6.1.0-28-amd64 [6.1.119-1] arch: x86_64 bits: 64 compiler: gcc v: 12.2.0
    parameters: BOOT_IMAGE=/vmlinuz-6.1.0-28-amd64 root=UUID=<filter> ro quiet splash
    resume=UUID=<filter> resume_offset=626688
  Desktop: KDE Plasma v: 5.27.5 wm: kwin_x11 vt: 7 dm: SDDM Distro: MX-23.4_KDE_x64 Libretto May
    19 2024 base: Debian GNU/Linux 12 (bookworm)
Machine:
  Type: Desktop Mobo: Gigabyte model: B560M DS3H V2 serial: <superuser required> UEFI: American
    Megatrends LLC. v: F9 date: 06/07/2023
CPU:
  Info: model: 11th Gen Intel Core i7-11700 bits: 64 type: MT MCP arch: Rocket Lake gen: core 11
    level: v4 note: check built: 2021+ process: Intel 14nm family: 6 model-id: 0xA7 (167) stepping: 1
    microcode: 0x62
  Topology: cpus: 1x cores: 8 tpc: 2 threads: 16 smt: enabled cache: L1: 640 KiB
    desc: d-8x48 KiB; i-8x32 KiB L2: 4 MiB desc: 8x512 KiB L3: 16 MiB desc: 1x16 MiB
  Speed (MHz): avg: 800 high: 801 min/max: 800/4800:4900 scaling: driver: intel_pstate
    governor: powersave cores: 1: 800 2: 800 3: 800 4: 800 5: 800 6: 800 7: 800 8: 800 9: 800 10: 801
    11: 800 12: 800 13: 800 14: 800 15: 801 16: 800 bogomips: 79872
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities:
  Type: gather_data_sampling mitigation: Microcode
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: mmio_stale_data mitigation: Clear CPU buffers; SMT vulnerable
  Type: reg_file_data_sampling status: Not affected
  Type: retbleed mitigation: Enhanced IBRS
  Type: spec_rstack_overflow status: Not affected
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via prctl
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization
  Type: spectre_v2 mitigation: Enhanced / Automatic IBRS; IBPB: conditional; RSB filling;
    PBRSB-eIBRS: SW sequence; BHI: SW loop, KVM: SW loop
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: Intel RocketLake-S GT1 [UHD Graphics 750] vendor: Gigabyte driver: i915 v: kernel
    arch: Gen-12.1 process: Intel 10nm built: 2020-21 ports: active: DP-1,HDMI-A-3
    empty: HDMI-A-1,HDMI-A-2 bus-ID: 00:02.0 chip-ID: 8086:4c8a class-ID: 0300
  Display: x11 server: X.Org v: 1.21.1.7 with: Xwayland v: 22.1.9 compositor: kwin_x11 driver: X:
    loaded: modesetting unloaded: fbdev,vesa dri: iris gpu: i915 display-ID: :0 screens: 1
  Screen-1: 0 s-res: 3840x1080 s-dpi: 96 s-size: 1016x285mm (40.00x11.22")
    s-diag: 1055mm (41.54")
  Monitor-1: DP-1 pos: primary,left model: BenQ BL2410 serial: <filter> built: 2015
    res: 1920x1080 hz: 60 dpi: 102 gamma: 1.2 size: 477x268mm (18.78x10.55") diag: 609mm (24")
    ratio: 16:9 modes: max: 1920x1080 min: 720x400
  Monitor-2: HDMI-A-3 mapped: HDMI-3 pos: right model: BenQ BL2410 serial: <filter> built: 2015
    res: 1920x1080 hz: 60 dpi: 102 gamma: 1.2 size: 477x268mm (18.78x10.55") diag: 609mm (24")
    ratio: 16:9, 15:9 modes: max: 1920x1080 min: 720x400
  API: OpenGL v: 4.6 Mesa 24.2.2-1~mx23ahs renderer: Mesa Intel Graphics (RKL GT1)
    direct-render: Yes
Audio:
  Device-1: Texas Instruments PCM2902 Audio Codec type: USB
    driver: hid-generic,snd-usb-audio,usbhid bus-ID: 1-2:2 chip-ID: 08bb:2902 class-ID: 0300
  Device-2: C-Media Audio Adapter (Unitek Y-247A) type: USB
    driver: cmedia_hs100b,snd-usb-audio,usbhid bus-ID: 3-3:2 chip-ID: 0d8c:0014 class-ID: 0300
  API: ALSA v: k6.1.0-28-amd64 status: kernel-api tools: alsamixer,amixer
  Server-1: PipeWire v: 1.0.0 status: active with: 1: pipewire-pulse status: active
    2: wireplumber status: active 3: pipewire-alsa type: plugin 4: pw-jack type: plugin
    tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: Gigabyte driver: r8169
    v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 1 port: 3000 bus-ID: 03:00.0 chip-ID: 10ec:8168
    class-ID: 0200
  IF: eth0 state: up speed: 1000 Mbps duplex: full mac: <filter>
Drives:
  Local Storage: total: 3.17 TiB used: 1.12 TiB (35.3%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:1 vendor: Samsung model: SSD 970 EVO Plus 1TB size: 931.51 GiB
    block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter>
    rev: 2B2QEXM7 temp: 39.9 C scheme: GPT
  ID-2: /dev/nvme1n1 maj-min: 259:0 vendor: Samsung model: SSD 970 EVO Plus 2TB size: 1.82 TiB
    block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter>
    rev: 2B2QEXM7 temp: 36.9 C scheme: GPT
  ID-3: /dev/sda maj-min: 8:0 vendor: Kingston model: SA400S37480G size: 447.13 GiB block-size:
    physical: 512 B logical: 512 B speed: 6.0 Gb/s type: SSD serial: <filter> rev: 60.1 scheme: GPT
Partition:
  ID-1: / raw-size: 68.34 GiB size: 66.72 GiB (97.62%) used: 32.73 GiB (49.1%) fs: ext4
    dev: /dev/dm-0 maj-min: 253:0 mapped: luks-<filter>
  ID-2: /boot raw-size: 1024 MiB size: 973.4 MiB (95.06%) used: 271.7 MiB (27.9%) fs: ext4
    dev: /dev/nvme0n1p2 maj-min: 259:4
  ID-3: /boot/efi raw-size: 1024 MiB size: 1022 MiB (99.80%) used: 288 KiB (0.0%) fs: vfat
    dev: /dev/nvme0n1p1 maj-min: 259:3
  ID-4: /home raw-size: 861.14 GiB size: 846.54 GiB (98.31%) used: 91.76 GiB (10.8%) fs: ext4
    dev: /dev/dm-2 maj-min: 253:2 mapped: luks-<filter>
Swap:
  Kernel: swappiness: 15 (default 60) cache-pressure: 100 (default)
  ID-1: swap-1 type: file size: 8 GiB used: 0 KiB (0.0%) priority: -2 file: /swap/swap
Sensors:
  System Temperatures: cpu: 27.0 C mobo: N/A
  Fan Speeds (RPM): N/A
Repos:
  Packages: 3233 pm: dpkg pkgs: 3218 libs: 1739 tools: apt,apt-get,aptitude,nala,synaptic pm: rpm
    pkgs: 0 pm: flatpak pkgs: 15
  No active apt repos in: /etc/apt/sources.list
  Active apt repos in: /etc/apt/sources.list.d/debian-stable-updates.list
    1: deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
  Active apt repos in: /etc/apt/sources.list.d/debian.list
    1: deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
    2: deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
  Active apt repos in: /etc/apt/sources.list.d/mx.list
    1: deb http://ftp.halifax.rwth-aachen.de/mxlinux/packages/mx/repo/ bookworm main non-free
    2: deb http://ftp.halifax.rwth-aachen.de/mxlinux/packages/mx/repo/ bookworm ahs
  Active apt repos in: /etc/apt/sources.list.d/syncthing.list
    1: deb https://apt.syncthing.net/ syncthing stable
Info:
  Processes: 354 Uptime: 11m wakeups: 1 Memory: 31.17 GiB used: 4.16 GiB (13.3%) Init: SysVinit
  v: 3.06 runlevel: 5 default: graphical tool: systemctl Compilers: gcc: 12.2.0 alt: 12
  Client: shell wrapper v: 5.2.15-release inxi: 3.3.26
Boot Mode: UEFI

User avatar
MadMax
Posts: 483
Joined: Wed Aug 04, 2021 3:25 pm

Re: Upgrade from iGPU to dGPU - drivers? order?  [Solved]

#2 Post by MadMax »

I think you are on the right track.

First, enable the PCIe slot in your BIOS and set the dGPU as preferred output method if that's not set already. Then shut down the system, install the card, plug your monitor in the card and boot it up again. You should get a picture and I'd bet it will run kinda fine with the kernel drivers already, since it's an AMD card. If not it might fall back to a low resolution and require the driver installation. The documentation on AMD's website looks good, I'm just a little sceptical since the software packages on their website are built for RHEL, Ubuntu and OpenSuse only. If the require systemd there might be issues with MX.

Maybe someone of the devs can pinpoint if the card is new enough (mid-2021) to warrant the use of MX ahs.

GPU-dependent software usually is smart enough to use the dGPU if one is installed. Also your display output will always come from the dGPU if you connect it to it. You can disable the iGPU in your BIOS to make 100% sure.

Also very important: Check if your PSU is strong enough to deliver the additional 130W peak for the card on the 12V rail.
If it ain't broke, don't fix it.
Main: MX 23 | Second: Mint 22 | HTPC: Linux Lite 7 | VM Machine: Debian 12 | Testrig: Arch/FreeBSD 14 | Work: RHEL 8

User avatar
debianix
Posts: 178
Joined: Fri May 31, 2024 4:03 pm

Re: Upgrade from iGPU to dGPU - drivers? order?

#3 Post by debianix »

MadMax wrote: Fri Nov 29, 2024 7:54 am and set the dGPU as preferred output method if that's not set already.
So this is a BIOS Setting as well isnt it?
MadMax wrote: Fri Nov 29, 2024 7:54 am If not it might fall back to a low resolution and require the driver installation.
Okay so the drivers in the Kernel are different ones that the ones that are in the specific driver package?
Here I see lots of "Radeon™ Pro Software" which seems to be available only for Ubuntu, RHEL and CentOS in the past.. So are there specific packages for the AMD Drivers that I need, in the MX Repos, or should I choose https://packages.debian.org/bookworm/xserver-xorg-video-amdgpu from Debian repos? The latter says "for the AMD Radeon cards", so I guess the Pro W6600 is included there..
All I want is the correct driver installed for that specific card and make it work as best and as stable as possible. So if there is a better choice than the kernel drivers I will happily take it, and if the kernel drivers are already the best choice, I will also happily choose them.
I have no idea how I could test and if I even need to test, if the oe or the other driver is better?
MadMax wrote: Fri Nov 29, 2024 7:54 am I'm just a little sceptical since the software packages on their website are built for RHEL, Ubuntu and OpenSuse only. If the require systemd there might be issues with MX.
jep, same here :-)
MadMax wrote: Fri Nov 29, 2024 7:54 am Check if your PSU is strong enough to deliver the additional 130W peak for the card on the 12V rail.
Yes I calculated it with a PSU calculator online with all my components and it told me that when installing this card, assuming that my optical drives will both run, it will be:
Power supply utilization according to the calculator
82% at 550 watts under load (incl. optical drives and inc. the new GPU)
Saying that, I use the optical drives very seldom, and even when I do, its just ripping a few disks and leave them alone, so I calculated again without the optical drives and it gave me 79% at 500 watts or so... So I will happily stay with my 550W PSU and shold be fine..

thank u for ur support!

User avatar
MadMax
Posts: 483
Joined: Wed Aug 04, 2021 3:25 pm

Re: Upgrade from iGPU to dGPU - drivers? order?

#4 Post by MadMax »

debianix wrote: Fri Nov 29, 2024 8:39 am
MadMax wrote: Fri Nov 29, 2024 7:54 am and set the dGPU as preferred output method if that's not set already.
So this is a BIOS Setting as well isnt it?
Correct.

A 550 W PSU sounds fine, just make sure to compare it to the actual 12V output of the PSU, not the total rating. A good 550 PSU will output around 400 W on 12V.
130 W GPU + 65 W CPU + a generous 60 W for the board will give you around 90 W for everything else (since you don't want to max out the 400 W of course).

What are you planning to use the GPU for? Since it's not a traditional gaming GPU I suspect you get it for professional work and/or the 4 outputs to connect multiple monitors?
If it ain't broke, don't fix it.
Main: MX 23 | Second: Mint 22 | HTPC: Linux Lite 7 | VM Machine: Debian 12 | Testrig: Arch/FreeBSD 14 | Work: RHEL 8

User avatar
debianix
Posts: 178
Joined: Fri May 31, 2024 4:03 pm

Re: Upgrade from iGPU to dGPU - drivers? order?

#5 Post by debianix »

okay, thanks again!
I checked the data of my PSU and it seems like there are nearly 550W available on 12V: https://www.compare.de/datacontent.php? ... 0052187364 right? Im not an electrician but it seems quite nice to me :p

No gaming over here...
The use case will just be normal office work and every now and then cutting a video, thats it.
The main reason I got this GPU was because I got it for a very cheap price and like new, I couldnt resist this one.
I just wanted a GPU that doesnt give me any limitations in Office Environment, just in case I should decide one day to upgrade my monitors in resolution, I just want to be backed up. Also I wanted to make use of the full 100Hz of my new monitors and dont have to mess around with various output ports on the GPU, just 4 Displayport outputs, lots of headroom, and hopefully a GPU that will last a long long time when I care for it :-) And maybe one day I will grab some old games that I have played in my youth like Gothic II and play around a little bit, but this should even work with my iGPU :-)

Regarding the driver: Would that Debian package that I linked to in my post above be the correct one?

User avatar
MadMax
Posts: 483
Joined: Wed Aug 04, 2021 3:25 pm

Re: Upgrade from iGPU to dGPU - drivers? order?

#6 Post by MadMax »

For AMD cards the kernel provides two drivers: radeon and amdgpu
Both are kernel modules that get shipped in the default kernel. You can check them with lsmod:

Code: Select all

lsmod | grep radeon

Code: Select all

lsmod | grep amdgpu
At boot the kernel chooses the driver automatically after detecting the hardware. Usually radeon is for older cards and amdgpu for the newer ones (probably including yours).
To check which driver is used run lspci with the -k flag.

Code: Select all

lspci -k
For higher level stuff like GPU computing, rendering or games you will need the mesa packages. But I think those programs install them as dependencies anyway. On my system (using the radeon driver on an old AMD APU = iGPU) all packages were installed automatically or by default. xserver-xorg-video-amdgpu is a package specifially for xorg, should also be installed by default.

Tbh just throw the card in and give it a try. It will probably run ootb for your usecase.


It's another story for Nividia cards - that's where MX Nvidia Driver Installer would come in.
If it ain't broke, don't fix it.
Main: MX 23 | Second: Mint 22 | HTPC: Linux Lite 7 | VM Machine: Debian 12 | Testrig: Arch/FreeBSD 14 | Work: RHEL 8

User avatar
Stevo
Developer
Posts: 14584
Joined: Fri Dec 15, 2006 7:07 pm

Re: Upgrade from iGPU to dGPU - drivers? order?

#7 Post by Stevo »

The hardware drivers in standard Debian12/MX 23 are now getting about two years out of date, so there are good odds that you would have to add our "ahs" repo section, upgrade all, plus then install one of our recent "ahs" kernels, to support that CPU .

This can be done before installing the new card, since AHS also works fine with older hardware.
MXPI = MX Package Installer
QSI = Quick System Info from menu
The MX Test repository is mostly backports; not the same as Debian testing

User avatar
debianix
Posts: 178
Joined: Fri May 31, 2024 4:03 pm

Re: Upgrade from iGPU to dGPU - drivers? order?

#8 Post by debianix »

Okay, thank you very much for your help.

I'll just test it, throw in the GPU and see if it works and which driver is selected by the kernel.
It seems like there are multiple different drivers for multiple aspects of the one graphics card?

Let me collect what I have understood so far:

amdgpu.ko = kernel driver, integrated directly into the kernel for some years now, i.e. also in the Debian bookworm standard kernel, and is loaded automatically when an AMD GPU with newer RDNA2 architecture is installed.
So the kernel driver should be enough that the GPU puts out graphics to the screens at all.

But as it seems, to make sure the GPU can use its full potential, there are a few more drivers and firmware necessary.

I have no idea exactly what Xorg etc. means, but as I understand it, it's an essential part of the operating system, so it would be good to have Xorg support running for that GPU.


Therefore, in addition to the kernel driver, I could find the following packages that should be good to have for this GPU:

xserver-xorg-video-amdgpu (for Xorg support)

firmware-amd-graphics (proprietary firmware for AMD graphics chips)

mesa-vulkan-drivers and libgl1-mesa-dri (Mesa Vulkan / OpenGL implementation)

I did a quick check on my system to see if something was already installed, and as I see they are all already installed. A lot of them seem to be even from the ahs repo:

Code: Select all

$ apt policy xserver-xorg-video-amdgpu firmware-amd-graphics mesa-vulkan-drivers libgl1-mesa-dri
xserver-xorg-video-amdgpu:
  Installiert:           23.0.0-1
  Installationskandidat: 23.0.0-1
  Versionstabelle:
 *** 23.0.0-1 500
        500 http://deb.debian.org/debian bookworm/main amd64 Packages
        100 /var/lib/dpkg/status
firmware-amd-graphics:
  Installiert:           20240709-1~mx23ahs
  Installationskandidat: 20240709-1~mx23ahs
  Versionstabelle:
 *** 20240709-1~mx23ahs 500
        500 http://ftp.halifax.rwth-aachen.de/mxlinux/packages/mx/repo bookworm/ahs amd64 Packages
        500 http://ftp.halifax.rwth-aachen.de/mxlinux/packages/mx/repo bookworm/ahs i386 Packages
        100 /var/lib/dpkg/status
     20230210-5 500
        500 http://deb.debian.org/debian bookworm/non-free-firmware amd64 Packages
        500 http://deb.debian.org/debian bookworm/non-free-firmware i386 Packages
mesa-vulkan-drivers:
  Installiert:           24.2.2-1~mx23ahs
  Installationskandidat: 24.2.2-1~mx23ahs
  Versionstabelle:
 *** 24.2.2-1~mx23ahs 500
        500 http://ftp.halifax.rwth-aachen.de/mxlinux/packages/mx/repo bookworm/ahs amd64 Packages
        100 /var/lib/dpkg/status
     22.3.6-1+deb12u1 500
        500 http://deb.debian.org/debian bookworm/main amd64 Packages
libgl1-mesa-dri:
  Installiert:           24.2.2-1~mx23ahs
  Installationskandidat: 24.2.2-1~mx23ahs
  Versionstabelle:
 *** 24.2.2-1~mx23ahs 500
        500 http://ftp.halifax.rwth-aachen.de/mxlinux/packages/mx/repo bookworm/ahs amd64 Packages
        100 /var/lib/dpkg/status
     22.3.6-1+deb12u1 500
        500 http://deb.debian.org/debian bookworm/main amd64 Packages
Since the packages in question are already pre-installed on my system, and my kernel version is 6.1, I would actually just activate the PCIe slot in the BIOS, deactivate the iGPU, install the card, and then check which drivers are actually used by the card, simply out of interest.

It could well be that newer kernel versions contain bug fixes and optimizations for the RDNA2 architecture. But since I prefer fully automatic kernel updates (in MXPI the Debian standard package for automatic kernel updates) I will probably stick with the kernel for now, as long as the card works without any recognizable problems.

For my use case, I should be more than fine with what I already have.

If problems should occur, I would then think about another kernel if necessary... or what about ur opinion?

I really tend to using the Debian kernel 6.1 and see how it works after installation.
And if there are nor problems using the GPU I would leave it and be happy... The development of Debian bookworm, trixie etc will hopefully lead to better and better support for the anyway supported W6600..


just like @MadMax said “if it aint broke, dont fix it”
Last edited by debianix on Sun Dec 08, 2024 6:05 am, edited 1 time in total.

User avatar
Stevo
Developer
Posts: 14584
Joined: Fri Dec 15, 2006 7:07 pm

Re: Upgrade from iGPU to dGPU - drivers? order?

#9 Post by Stevo »

A little websearch show that card dates back to mid-2021, so standard MX 23 should be good, and your hybrid Bookworm kernel + AHS stuff, as well as MX 21-AHS.

https://www.phoronix.com/news/Radeon-PRO-W6000-Series

So it should be plug and play.
MXPI = MX Package Installer
QSI = Quick System Info from menu
The MX Test repository is mostly backports; not the same as Debian testing

rambo919
Posts: 210
Joined: Sat Sep 24, 2022 1:32 pm

Re: Upgrade from iGPU to dGPU - drivers? order?

#10 Post by rambo919 »

Why not just keep the iGPU enabled? Or set it to "auto" if you have such a setting. You can always disable it later after you have made sure everything runs fine with the dGPU. AMD actually apparently plays pretty well with intel iGPU's.

For extra performance you can even run extra monitors from the iGPU instead of the dGPU (apparently it can take about 10% performance away if you run more than one monitor from the same GPU). Experimentation is key.

xorg is what makes things display on the monitors, the driver must therefore properly support it. Wayland is it's eventual replacement but its not feature complete yet and older software don't support it explicitly. You can easily install drivers for both at the same time and you should be able to switch to either at login as far as I remember.

Post Reply

Return to “Hardware /Configuration”