Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
I Accidentaly bought a Stadia dev GPU [SOLVED]
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2  
Reply to topic    Gentoo Forums Forum Index Other Things Gentoo
View previous topic :: View next topic  
Author Message
sublogic
Guru
Guru


Joined: 21 Mar 2022
Posts: 312
Location: Pennsylvania, USA

PostPosted: Wed Feb 05, 2025 11:59 pm    Post subject: Reply with quote

Zucca wrote:
NeddySeagoon wrote:
grub has a GRAPHICS_MODE option, or something like that. If you set it to "keep" grub passes its framebuffer onto the kernel, so that the kernel can use SIMPLE_FB. That's not to say it will, just that it can.
That may not be there though.
I might as well try. I think it's LINUX_GFX_PAYLOAD=keep, but that needs to be set as an environment variable rather than an argument to linux (kernel).
It's GRUB_GFXPAYLOAD_LINUX=keep in /etc/default/grub .

Zucca wrote:
I've planned to hand write grub config (script) for a long time. I just don't like the mess grub bash scripts do when they update the config (script).
Uh, yeah. But in the meantime grub-mkconfig will put the required set gfxpayload=keep in the grub.cfg .
Back to top
View user's profile Send private message
Zucca
Moderator
Moderator


Joined: 14 Jun 2007
Posts: 3944
Location: Rasi, Finland

PostPosted: Thu Feb 06, 2025 7:01 am    Post subject: Reply with quote

sublogic wrote:
Uh, yeah. But in the meantime grub-mkconfig will put the required set gfxpayload=keep in the grub.cfg .
I can't do that on a live environment, So I must press e and insert that line there.
_________________
..: Zucca :..

My gentoo installs:
init=/sbin/openrc-init
-systemd -logind -elogind seatd

Quote:
I am NaN! I am a man!
Back to top
View user's profile Send private message
Zucca
Moderator
Moderator


Joined: 14 Jun 2007
Posts: 3944
Location: Rasi, Finland

PostPosted: Thu Feb 06, 2025 8:52 pm    Post subject: Reply with quote

NeddySeagoon wrote:
Its the V320 we need the lspci -nnk from. Or more exactly, is it listed on cateee.net

So finally:
*snip* of lspci -nnk:
06:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Vega 10 [Instinct MI25/MI25x2/V340/V320] [1002:6860] (rev 07)
        Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Device [1002:0a0c]
Looks promising.

Few notes:
  • My assumption of WX 8200 being the same might be wrong.
  • V340 is the same card, twice (duo), but with only one miniDP output (some pictures indicate it being behind the PCI bracket) and no fan.
    • Those are also on huge sale. I wonder if Stadia servers used those?

  • MI25 is the "instinct" version. And I guess with 16GB of RAM and 300W TDP (or whatever AMD uses to measure GPU heat output) instead of 230W of V320's.

_________________
..: Zucca :..

My gentoo installs:
init=/sbin/openrc-init
-systemd -logind -elogind seatd

Quote:
I am NaN! I am a man!
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54864
Location: 56N 3W

PostPosted: Thu Feb 06, 2025 9:31 pm    Post subject: Reply with quote

Zucca,

From cateee.net

Code:
vendor: 1002 ("Advanced Micro Devices, Inc. [AMD/ATI]"), device: 6860 ("Vega 10 [Instinct MI25/MI25x2/V340/V320]")

and l
Code:
kddb pci 1002 6860 .... .... ...... : CONFIG_DRM_AMDGPU : drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c # in 4.12–4.20, 5.0–5.19, 6.0–6.13, 6.14-rc+HEAD


Support was added in the 4.12 kernel. Hopefully you are not using a kernel anything like that old.

Vega 10 firmware is is linux-firmware, hence make amdgpu as a module, so it can help itself to firmware.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Zucca
Moderator
Moderator


Joined: 14 Jun 2007
Posts: 3944
Location: Rasi, Finland

PostPosted: Fri Feb 07, 2025 8:24 am    Post subject: Reply with quote

I'll start conducting additional tests on Sunday. I'll try to find a mode in which the V320 can display something. My monitor says it receives 4k signal during loading and running GRUB. So I'll try to keep the graphics mode when transitioning to Linux kernel.
If I'm unable to do that I'll continue with the R7 250E later switch to V320.
I think I can get this working in one way or another.
_________________
..: Zucca :..

My gentoo installs:
init=/sbin/openrc-init
-systemd -logind -elogind seatd

Quote:
I am NaN! I am a man!
Back to top
View user's profile Send private message
Zucca
Moderator
Moderator


Joined: 14 Jun 2007
Posts: 3944
Location: Rasi, Finland

PostPosted: Thu Feb 13, 2025 2:02 pm    Post subject: Reply with quote

Well... Sunday came and went. I did conduct several tests. But in the meanwhile I needed to do some work that brings food on to the table. So only yesterday I got back into this.

Still while inside the live chroot I installed qemu.
Then tested if my kernel and initamfs work:
Code:
qemu-system-x86_64 -nographic -serial mon:stdio -machine q35 -cpu max -m 1024 -append 'console=ttyS0' -kernel <PATH TO KERNEL> -initrd <PATH TO INITRAMFS>
and then started to work on UEFI boot manager configuration.
I suspect there's some incompatibility with rEFInd and my workstation.
I handcrafted s very simple (static) GRUB config and added sleep commands in several places so that I could catch up possible error messages (because if something goes wrong with GRUB it clears the screen and then displays the "intro" with grub shell prompt open. WHY?!?).
Then I ran
Code:
qemu-system-x86_64 -nographic -serial mon:stdio -machine q35 -cpu max -m 1024 -drive file=/usr/share/edk2-ovmf/OVMF_CODE.fd,if=pflash,format=raw,unit=0,readonly=on -net none -hda /dev/sdb
... and made sure GRUB passed console=ttyS0 for kernel so that I could enter and interact with the emergency shell of my initramfs after kernel loads it and ultimately fails to find root (because I only passed my /boot partition to qemu).

The lastly if anyone is interested:
/boot/grub/grub.conf:
#!/usr/bin/awk (NR > 2) {if (substr($1,1,1) == "#") print substr($0,2); else exit}

# Very, VERY simple GRUB config.
#
# We'll connect to COM0/1 by default.
# This can help you to debug via QEMU or with real hardware.

serial --speed=115200
terminal_input serial; terminal_output serial
echo "Transitioned into GRUB via UEFI."
echo "Serial connection should be open on COM0 or COM1."

echo "Press esc or F4 to interrupt."
echo "Booting default Linux in..."
if sleep --verbose --interruptible 15
then
        echo ""
        echo "Booting default target."
        set gfxpayload=text
        search --fs-uuid "7810-AEF1" --no-floppy --set bootdev
        echo "Boot device: $bootdev"
        linux "/vmlinuz-6.6.74-T7810" console=ttyS0
        initrd "/initc-6.6.74-T7810.img"
        sleep 5
        boot
else
        echo "Choose your destiny!"
        sleep 5
fi
... the setting of bootdev is (for now) a leftover from my tinkering with GRUB shell.
I think it would be very easy the create a simple test file with boot entries which would be read by the GRUB script. There's still a way to load legacy GRUB config files, so that's another option, but I'll suspect it'll be gone some day as, well, it's legacy.
_________________
..: Zucca :..

My gentoo installs:
init=/sbin/openrc-init
-systemd -logind -elogind seatd

Quote:
I am NaN! I am a man!
Back to top
View user's profile Send private message
Zucca
Moderator
Moderator


Joined: 14 Jun 2007
Posts: 3944
Location: Rasi, Finland

PostPosted: Thu Feb 13, 2025 6:09 pm    Post subject: Reply with quote

OK. An update.

The real hardware still didn't boot.
I think GRUB loaded but halted. Not sure, as I discovered that I don't actually own a null modem cable. Need to visit ebay soon...

Anyways. The UEFI in this workstation is cursed. It sure isn't the latest, but I checked that fwupd doesn't have a newer one avail able. Dell has provided much newer BIOS than what I have here. I'll see later if I can update the BIOS in this machine.
The UEFI side of things here seem to be very primitive. I only managed to get anything booting via UEFI by having the efi loader at default, /EFI/BOOT/BOOTX64.efi, location.

I think I could have just solved this by doing legacy boot but still use GPT. Oh well...

So now I have working boot entry, but screen lits, then the process freezes. I think so...
I managed to get GRUB actually loading Linux by removing the terminal_output and terminal_input commands from the GRUB script. Earlier I had modified them to use --append, so that the default output would be directed to the COM port and to "graphical" tty. I don't know why this failed, but I can only guess the UEFI implementation can't cope with that.
And yes. I tried with insmod all_video and it still hung.

So, finally I have my own kernel and boot manager bringing up the system.

Time to start testing out my actual monitors and the new GPU. This has taken way too long to set up to this point.

P.S. If anyone knows what was wrong with terminal_output and terminal_input of the GRUB script, please speak up.
_________________
..: Zucca :..

My gentoo installs:
init=/sbin/openrc-init
-systemd -logind -elogind seatd

Quote:
I am NaN! I am a man!
Back to top
View user's profile Send private message
Zucca
Moderator
Moderator


Joined: 14 Jun 2007
Posts: 3944
Location: Rasi, Finland

PostPosted: Thu Feb 13, 2025 7:38 pm    Post subject: Reply with quote

And so it concludes:
Code:
d-mill ~ # lspci -nnk | fgrep -A 3 VGA
05:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Vega 10 [Instinct MI25/MI25x2/V340/V320] [1002:6860] (rev 07)
        Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Device [1002:0a0c]
        Kernel driver in use: amdgpu
        Kernel modules: amdgpu
d-mill ~ # dmesg | fgrep firmware | fgrep amd
[   32.040738] Loading firmware: amdgpu/vega10_gpu_info.bin
[   32.130427] Loading firmware: amdgpu/vega10_sos.bin
[   32.150830] Loading firmware: amdgpu/vega10_asd.bin
[   32.171399] Loading firmware: amdgpu/vega10_pfp.bin
[   32.191067] Loading firmware: amdgpu/vega10_me.bin
[   32.210373] Loading firmware: amdgpu/vega10_ce.bin
[   32.229642] Loading firmware: amdgpu/vega10_rlc.bin
[   32.249287] Loading firmware: amdgpu/vega10_mec.bin
[   32.270221] Loading firmware: amdgpu/vega10_mec2.bin
[   32.291487] Loading firmware: amdgpu/vega10_sdma.bin
[   32.311476] Loading firmware: amdgpu/vega10_sdma1.bin
[   32.858982] Loading firmware: amdgpu/vega10_smc.bin
[   32.881163] Loading firmware: amdgpu/vega10_uvd.bin
[   32.969985] Loading firmware: amdgpu/vega10_vce.bin

I still keep those firmware files for the R7 250E too. Also inside my initramfs image.

The only problem I now have is that GRUB script with too much hardcoded values.
I'd really like to have the serial output and input working for future cases. But that's another topic then.

Marking as [SOLVED].
_________________
..: Zucca :..

My gentoo installs:
init=/sbin/openrc-init
-systemd -logind -elogind seatd

Quote:
I am NaN! I am a man!
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54864
Location: 56N 3W

PostPosted: Thu Feb 13, 2025 8:38 pm    Post subject: Reply with quote

Zucca,

My grub waffle, from my Hawk arm64 grub.cfg says

Code:
serial efi0 --speed=115200 --word=8 --parity=no --stop=1
terminal_input console serial
terminal_output console serial


Each kernel stanza needs
Code:
set gfxpayload=text

The kernel command line is
Code:
linux   /6.7.5-gentoo root=UUID=00cae814-b56c-4b3d-89b9-a5ac50a08ec9 ro net.ifnames=0 earlyprintk console=tty0 console=ttyS0,115200n8 console=ttyAMA0,115200n8 rcutree.use_softirq=0

The kernel boots on a Pi, console=ttyAMA0,115200n8, and the hawk, console=ttyS0,115200n8

The Hawk firmware hoes sone slight of hand to redirect ttyS0 to SoL.

The whole thing as at https://bpa.st/LSTQ
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Other Things Gentoo All times are GMT
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum