For those of you with WRX90E/WRX80E motherboards: are you able to run discrete GPUs while also keeping the onboard VGA feature enabled for iKVM purposes (i.e., the VGA_SW on the motherboard set to “Enabled”)?
Briefly: I performed a minimal install of Debian 12 Bookworm a few weeks ago, and it’s been working great. I skipped installing a desktop environment at the time and have been using the machine entirely headless via SSH without issue.
I will occasionally use the motherboard’s web-based iKVM when I’m remote/not in the office and need to tweak a setting in the BIOS or boot into an OS that doesn’t support SSH (FreeDOS).
I’m now trying to install a dedicated GPU so I can run a desktop environment (KDE) when I’m local to the machine. Unfortunately, I can’t seem to get anything to actually render to that GPU. I’ve confirmed the GPU, the cables, and the monitor all work, and when loading up the Debian LiveCD with GNOME, the discrete GPU showed a splash screen along with the onboard GPU. This would seem to indicate both can be driven simultaneously. Perhaps I’m missing a key step in installing KDE on top of a Debian minimal install?
The GPU is old (ATI/AMD Radeon X300 SE, which uses the RV370 driver), but is definitely supported and detected by the kernel and Debian.
The Issue
Whenever I boot, the monitor plugged into my discrete GPU stays in its power-save state. Once the kernel loads, the monitor exits its power-save state, turns its backlight on, but the screen remains completely blank (no text cursor, no mouse cursor, and certainly no greeter/login-screen or DE). I am, however, able to SSH into the machine just fine.
The Question
How do I get KDE up and running on this machine with this AMD Radeon X300 SE GPU?
What I’ve Done
- Started with a Minimal Install from the netinst .ISO
- Ensured /etc/apt/sources.list contains the correct repositories (i.e., main, contrib, and non-free-firmware):
deb http://deb.debian.org/debian bookworm main contrib non-free-firmware
deb-src http://deb.debian.org/debian bookworm main contrib non-free-firmware
- Installed AMD-related firmware, drivers, packages, etc.:
apt-get install firmware-amd-graphics amd64-microcode xserver-xorg-video-radeon
- Installed KDE:
apt-get install plasma-desktop plasma-nm
Potentially Helpful Info
In the spirit of trying to simplify the debug process, here’s a few relevant outputs:
The card appears to be correctly showing up on the PCIe bus (note the “e1:00” entry in the output below):
root@workstation:~# lspci
[...]
e1:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RV370 [Radeon X300]
e1:00.1 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] RV370 [Radeon X300 SE]
e2:00.0 PCI bridge: ASPEED Technology, Inc. AST1150 PCI-to-PCI Bridge (rev 06)
e3:00.0 VGA compatible controller: ASPEED Technology, Inc. ASPEED Graphics Family (rev 52)
e4:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Device 14ac (rev 01)
e4:00.4 USB controller: Advanced Micro Devices, Inc. [AMD] Device 14c9 (rev da)
[...]
The kernel appears to be able to correctly detect and probe the card (note the “Device-1” entry in the output below).
The kernel also appears to be correctly detecting the monitor plugged into the card (note the “Monitor-3” entry in the output below).
root@workstation:~# inxi -GSaz --vs
inxi 3.3.26-00 (2023-03-28)
System:
Kernel: 6.1.0-18-amd64 arch: x86_64 bits: 64 compiler: gcc v: 12.2.0
parameters: BOOT_IMAGE=/BOOT/debian@/vmlinuz-6.1.0-18-amd64 root=ZFS=/ROOT/debian ro
root=ZFS=workstation-rpool/ROOT/debian quiet
Console: pty pts/0 Distro: Debian GNU/Linux 12 (bookworm)
Graphics:
Device-1: AMD RV370 [Radeon X300] driver: radeon v: kernel alternate: radeonfb,amdgpu
arch: Rage-9 code: Radeon IGP process: TSMC 110nm built: 2003-08 pcie: gen: 1 speed: 2.5 GT/s
lanes: 16 ports: active: VGA-2 empty: DVI-I-1 bus-ID: e1:00.0 chip-ID: 1002:5b60
class-ID: 0300
Device-2: ASPEED Graphics Family driver: ast v: kernel ports: active: DP-1,VGA-1 empty: none
bus-ID: e3:00.0 chip-ID: 1a03:2000 class-ID: 0300
Display: server: X.org v: 1.21.1.7 with: Xwayland v: 22.1.9 driver: gpu: ast,radeon
note: X driver n/a tty: 318x98
Monitor-1: DP-1 size-res: N/A in console modes: max: 640x480 min: 800x600
Monitor-2: VGA-1 size-res: N/A in console modes: max: 1024x768 min: 640x480
Monitor-3: VGA-2 model: Dell 2007FP serial: <filter> built: 2007 res: 1600x1200 dpi: 99
gamma: 1.2 size: 367x275mm (14.45x10.83") diag: 514mm (20.2") ratio: 4:3, 5:4 modes:
max: 1600x1200 min: 720x400
API: OpenGL Message: GL data unavailable in console for root.
Similarly, there seems to be no problem probing the card for additional info (note the “*-display:0” entry in the output below):
root@workstation:~# lshw -C display
*-display:0
description: VGA compatible controller
product: RV370 [Radeon X300]
vendor: Advanced Micro Devices, Inc. [AMD/ATI]
physical id: 0
bus info: pci@0000:e1:00.0
logical name: /dev/fb1
version: 00
width: 32 bits
clock: 33MHz
capabilities: pm pciexpress msi vga_controller bus_master cap_list rom fb
configuration: depth=32 driver=radeon latency=0 resolution=1600,1200
resources: irq:272 memory:c0000000-cfffffff ioport:f000(size=256) memory:d8330000-d833ffff memory:d8300000-d831ffff
*-display:1 UNCLAIMED
description: Display controller
product: RV370 [Radeon X300 SE]
vendor: Advanced Micro Devices, Inc. [AMD/ATI]
physical id: 0.1
bus info: pci@0000:e1:00.1
version: 00
width: 32 bits
clock: 33MHz
capabilities: pm pciexpress cap_list
configuration: latency=0
resources: memory:d8320000-d832ffff
*-display
description: VGA compatible controller
product: ASPEED Graphics Family
vendor: ASPEED Technology, Inc.
physical id: 0
bus info: pci@0000:e3:00.0
logical name: /dev/fb0
version: 52
width: 32 bits
clock: 33MHz
capabilities: pm msi vga_controller cap_list fb
configuration: depth=32 driver=ast latency=0 resolution=1024,768
resources: irq:24 memory:d4000000-d7ffffff memory:d8000000-d803ffff ioport:e000(size=128)
Lastly, the card also appears to be detected properly based on relevant DRM output from dmesg:
root@workstation:~# dmesg | grep "drm"
[ 18.752590] systemd[1]: Starting [email protected] - Load Kernel Module drm...
[ 18.769951] ACPI: bus type drm_connector registered
[ 18.770566] systemd[1]: [email protected]: Deactivated successfully.
[ 18.770625] systemd[1]: Finished [email protected] - Load Kernel Module drm.
[ 19.066537] ast 0000:e3:00.0: [drm] P2A bridge disabled, using default configuration
[ 19.066539] ast 0000:e3:00.0: [drm] AST 2600 detected
[ 19.066544] ast 0000:e3:00.0: [drm] Using analog VGA
[ 19.066545] ast 0000:e3:00.0: [drm] dram MCLK=396 Mhz type=1 bus_width=16
[ 19.066838] [drm] Initialized ast 0.1.0 20120228 for 0000:e3:00.0 on minor 0
[ 19.069353] fbcon: astdrmfb (fb0) is primary device
[ 19.092079] ast 0000:e3:00.0: [drm] fb0: astdrmfb frame buffer device
[ 19.108911] [drm] radeon kernel modesetting enabled.
[ 19.111395] [drm] initializing kernel modesetting (RV380 0x1002:0x5B60 0x1002:0x3000 0x00).
[ 19.178823] [drm] GPU not posted. posting now...
[ 19.290331] [drm] Generation 2 PCI interface, using max accessible memory
[ 19.290358] [drm] Detected VRAM RAM=256M, BAR=256M
[ 19.290359] [drm] RAM width 128bits DDR
[ 19.290368] [drm] radeon: 256M of VRAM memory ready
[ 19.290369] [drm] radeon: 512M of GTT memory ready.
[ 19.290379] [drm] GART: num cpu pages 131072, num gpu pages 131072
[ 19.290577] [drm] radeon: 1 quad pipes, 1 Z pipes initialized
[ 19.291378] [drm] PCIE GART of 512M enabled (table at 0x00000000C0040000).
[ 19.291558] [drm] radeon: irq initialized.
[ 19.291563] [drm] Loading R300 Microcode
[ 19.294760] [drm] radeon: ring at 0x00000000A0001000
[ 19.294779] [drm] ring test succeeded in 1 usecs
[ 19.294849] [drm] ib test succeeded in 0 usecs
[ 19.294939] [drm] Radeon Display Connectors
[ 19.294940] [drm] Connector 0:
[ 19.294940] [drm] VGA-2
[ 19.294940] [drm] DDC: 0x60 0x60 0x60 0x60 0x60 0x60 0x60 0x60
[ 19.294941] [drm] Encoders:
[ 19.294941] [drm] CRT1: INTERNAL_DAC1
[ 19.294942] [drm] Connector 1:
[ 19.294942] [drm] DVI-I-1
[ 19.294942] [drm] HPD1
[ 19.294942] [drm] DDC: 0x64 0x64 0x64 0x64 0x64 0x64 0x64 0x64
[ 19.294943] [drm] Encoders:
[ 19.294943] [drm] CRT2: INTERNAL_DAC2
[ 19.294943] [drm] DFP1: INTERNAL_TMDS1
[ 19.347766] [drm] fb mappable at 0xC00C0000
[ 19.347780] [drm] vram apper at 0xC0000000
[ 19.347781] [drm] size 7680000
[ 19.347781] [drm] fb depth is 24
[ 19.347781] [drm] pitch is 6400
[ 19.347826] radeon 0000:e1:00.0: [drm] fb1: radeondrmfb frame buffer device
[ 19.347830] [drm] Initialized radeon 2.50.0 20080528 for 0000:e1:00.0 on minor 1
[ 19.475545] [drm] amdgpu kernel modesetting enabled.