Create a Gaming HVM

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=“$(sed ‘s, release .*$,g’ /etc/system-release)”
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=false
GRUB_TERMINAL_OUTPUT=“console”
GRUB_CMDLINE_LINUX=“rd.luks.uuid=luks-213769c9-7181-46bc-80ca-4ec9447c5c62 rd.lvm.lv=qubes_dom0/root rd.lvm.lv=qubes_dom0/swap plymouth.ignore-serial-consoles 6.6.48-1.qubes.fc37.x86_64 x86>
GRUB_DISABLE_RECOVERY=“true”
GRUB_THEME=”/boot/grub2/themes/qubes/theme.txt"
GRUB_CMDLINE_XEN_DEFAULT=“console=none dom0_mem=min:1024M dom0_mem=max:4096M ucode=scan smt=off gnttab_max_frames=2048 gnttab_max_maptrack_frames=4096”
GRUB_DISABLE_OS_PROBER=“true”
GRUB_CMDLINE_LINUX=“$GRUB_CMDLINE_LINUX usbcore.authorized_default=0”

GRUB_CMDLINE_LINUX=“$GRUB_CMDLINE_LINUX rd.qubes.hide_pci=03:00.0”

Output from /proc/cmdline:

placeholder root=/dev/mapper/qubes_dom0-root ro rd.luks.uuid=luks-213769c9-7181-46bc-80ca-4ec9447c5c62 rd.lvm.lv=qubes_dom0/root rd.lvm.lv=qubes_dom0/swap plymouth.ignore-serial-consoles 6.6.48-1.qubes.fc37.x86_64 x86_64 rhgb quiet usbcore.authorized_default=0 rd.qubes.hide_pci=03:00.0

What’s the output of this command in dom0?

lspci -s 03:00.0 -k

Hi,

Sorry for the delay, I just tried rebooting again and does show the change!
Would you still like me to execute the cmd provided?

If it works then there is no need.

Awesome so I attached it and attempted to start and got same error that I got when I was doing the sys-audio qube.

tart failed: internal error: Unable to reset PCI device 0000:03:00.0: internal error: Active 0000:03:00.1 devices on bus with 0000:03:00.0, not doing bus reset, see /var/log/libvirt/libxl/libxl-driver.log for details

So then tried both the permissive and no-restrict-reset options, however states that the VM is not running and doesn’t have the persistent flag, however can’t run VM due to error, vm is standalone and set to HVM.
I assume I would need to detach it from the current qubes o try the alternative option or to remove it from the other device shown which this option like with the audio wont be possible and the no-restrict-reset would then be the option?

No idea what will work for you hardware, just try different options/combinations/etc.
If nothing will work then attach both devices to your gaming qube:

So you think if I attach the audio device considering they are together it should work?
Sorry for asking but if you could suggest the command I should use cause don’t wish to mess this part up.
I assume just qvm-pci attach {qube name} {device} --persistent for the audio or should I detach the GPU first and attach both with -o no-strict-reset argument.
The GPU is the Radeon RX 7800 TX but yea I understand due to the fact you don’t have the same hardware.
Yea just any advisory on the cmds I should execute to possible get this working would be great.

Thank you for all the asisstance regarding this. Ive learnt alot!

Just add both of them in the Settings → Devices of your qube without no-strict-reset/permissive first.

Hi thanks, again the obvious things I fail to realize.
However now that I am feeling better and good news to see that the adding the audio has solved the issue.

I will be honest in stating that I have never installed drivers for graphics card(atleast have not actively tried on linux) so I have no idea.
I was advised to install the xorg drivers for the GPU but I am not certain if that is some file I would need to find or if it is simply the Debian instructions given:

apt install xserver-xorg-input-kbd xserver-xorg-input-libinput xserver-xorg-input-mouse i3

But that is the drivers for the input and assume there are different ones needed for the GPU video rendering not present in the instructions.
I see mention of a favorite windows manager, so i would just assume using openbox would be good enough.(Will only be using debian, not a fan of arch)

Now the real issue for me is the config filewhich I assume is used to enable the ouput display on the second monitor for the standalone vm? My main concern being where do I keep the conf file(will I just keep it in the same folder where I keep the script and just execute the script whenever the system reboots?) and the other being the modeline as I am using one random tv for the second monitor and it states its important to get it right.
Regarding the BUS IDs for these files would I add both the GPUs and Audio device IDs? and I see in the example the nimber is different would I be correct to say that for the GPU
BusID “PCI:03:00.0” for conf file as the example is a bit different and not certain with the bash script what to leave out as in the example it is PCI:0:‘$pci’:0" how it should look for mine?

The amdgpu driver is already installed in debian-12-xfce template, no idea about other packages.

The path to the config is specified in the script - /home/user/AOC.conf, you can put the file elsewhere but then you need to change the path in the script.

No idea about it. Try to generate it as stated here:

You don’t need to touch it, it’ll be replaced to the correct one automatically in the script.

Updated the guide to integrate the work I have done with my automation script here ~yukikoo/gpu_template - Auto install a templateVM suitable for GPU passthrough, using the archlinux community template - sourcehut git
Manually settings Modelines should not be required.

2 Likes

Awesome which will also mean I can use a Kicksecure morph without needing to think about installing drivers!
I just installed my windows manager and now is it me or has the /home/user/AOC.conf just been changed to /opt/xorg.conf ? and the file xorg.conf?

Okay well looks like was edited but no worries change all the directories to the correct one in my case.
Note that the conf file was now changed in the and no longer includes modeline from what I can see and I adjusted the driver name to amdgpu as it instructs.
Currently the display for the GPU output is displaying the glitch issue with it just showing stuck on the startup for Qubes “Booting 'Qubes, with Xen Hypervisor, etc” and that it is all displaying as of current.
So script working and all, it update the ID for the GPU, etc but it is now displaying an output for the additional display:

sudo: unable to resolve host Gaming: Name or service not known
00:07.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 32 [Radeon RX 7700 XT / 7800 XT] (rev c8)
sudo: unable to resolve host Gaming: Name or service not known
hostname: Name or service not known
xauth: (stdin):1: bad display name “Gaming:1” in “add” command

X.Org X Server 1.21.1.7
X Protocol Version 11, Revision 0
Current Operating System: Linux Gaming 6.6.54-1.qubes.fc37.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Oct 7 20:17:52 GMT 2024 x86_64
Kernel command line: root=/dev/mapper/dmroot ro nomodeset console=hvc0 rd_NO_PLYMOUTH rd.plymouth.enable=0 plymouth.enable=0 clocksource=tsc xen_scrub_pages=0 apparmor=1 security=apparmor
xorg-server 2:21.1.7-3+deb12u8 (Debian -- User Support)
Current version of pixman: 0.42.2
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Markers: (–) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: “/var/log/Xorg.1.log”, Time: Fri Nov 8 22:40:55 2024
(++) Using config file: “/home/user/AOC.conf”
(==) Using system config directory “/usr/share/X11/xorg.conf.d”
(II) AMDGPU(0): [KMS] Kernel modesetting enabled.
(EE)
Fatal server error:
(EE) no screens found(EE)
(EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
(EE) Please also check the log file at “/var/log/Xorg.1.log” for additional information.
(EE)
(EE) Server terminated with error (1). Closing log file.
xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error
xauth: (argv):1: bad display name “Gaming:1” in “remove” command
zsh: exit 1 sudo ./xorgX1.sh ./i3.sh

Additional logs:
[user ~]% cat /var/log/Xorg.1.log
[ 34559.195]
X.Org X Server 1.21.1.7
X Protocol Version 11, Revision 0
[ 34559.195] Current Operating System: Linux Gaming 6.6.54-1.qubes.fc37.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Oct 7 20:17:52 GMT 2024 x86_64
[ 34559.195] Kernel command line: root=/dev/mapper/dmroot ro nomodeset console=hvc0 rd_NO_PLYMOUTH rd.plymouth.enable=0 plymouth.enable=0 clocksource=tsc xen_scrub_pages=0 apparmor=1 security=apparmor
[ 34559.195] xorg-server 2:21.1.7-3+deb12u8 (Debian -- User Support)
[ 34559.195] Current version of pixman: 0.42.2
[ 34559.195] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[ 34559.195] Markers: (–) probed, () from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 34559.195] (==) Log file: “/var/log/Xorg.1.log”, Time: Fri Nov 8 22:40:55 2024
[ 34559.195] (++) Using config file: “/home/user/AOC.conf”
[ 34559.195] (==) Using system config directory “/usr/share/X11/xorg.conf.d”
[ 34559.195] (==) ServerLayout “Passthrough Layout”
[ 34559.195] (
) |–>Screen “Passthrough Screen” (0)
[ 34559.195] () | |–>Monitor “Passthrough monitor”
[ 34559.195] (
) | |–>Device “Passthrough GPU”
[ 34559.195] (==) Automatically adding devices
[ 34559.195] (==) Automatically enabling devices
[ 34559.195] (==) Automatically adding GPU devices
[ 34559.195] (==) Automatically binding GPU devices
[ 34559.195] (==) Max clients allowed: 256, resource mask: 0x1fffff
[ 34559.195] (WW) The directory “/usr/share/fonts/X11/cyrillic” does not exist.
[ 34559.195] Entry deleted from font path.
[ 34559.195] (==) FontPath set to:
/usr/share/fonts/X11/misc,
/usr/share/fonts/X11/100dpi/:unscaled,
/usr/share/fonts/X11/75dpi/:unscaled,
/usr/share/fonts/X11/Type1,
/usr/share/fonts/X11/100dpi,
/usr/share/fonts/X11/75dpi,
built-ins
[ 34559.195] (==) ModulePath set to “/usr/lib/xorg/modules”
[ 34559.195] (II) The server relies on udev to provide the list of input devices.
If no devices become available, reconfigure udev or disable AutoAddDevices.
[ 34559.195] (II) Loader magic: 0x55f7d25f3f00
[ 34559.195] (II) Module ABI versions:
[ 34559.195] X.Org ANSI C Emulation: 0.4
[ 34559.195] X.Org Video Driver: 25.2
[ 34559.195] X.Org XInput driver : 24.4
[ 34559.195] X.Org Server Extension : 10.0
[ 34559.196] (–) using VT number 2

[ 34559.196] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[ 34559.203] (–) PCI:*(0@0:4:0) 1234:1111:1af4:1100 rev 2, Mem @ 0xf1000000/16777216, 0xf2136000/4096, BIOS @ 0x???/131072
[ 34559.203] (–) PCI: (0@0:7:0) 1002:747e:1eae:7801 rev 200, Mem @ 0x400000000/17179869184, 0x800000000/268435456, 0xf2000000/1048576, I/O @ 0x0000c300/256, BIOS @ 0x???/131072
[ 34559.203] (II) LoadModule: “glx”
[ 34559.203] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[ 34559.203] (II) Module glx: vendor=“X.Org Foundation”
[ 34559.203] compiled for 1.21.1.7, module version = 1.0.0
[ 34559.203] ABI class: X.Org Server Extension, version 10.0
[ 34559.203] (II) LoadModule: “amdgpu”
[ 34559.203] (II) Loading /usr/lib/xorg/modules/drivers/amdgpu_drv.so
[ 34559.204] (II) Module amdgpu: vendor=“X.Org Foundation”
[ 34559.204] compiled for 1.21.1.7, module version = 23.0.0
[ 34559.204] Module class: X.Org Video Driver
[ 34559.204] ABI class: X.Org Video Driver, version 25.2
[ 34559.204] (II) AMDGPU: Driver for AMD Radeon:
All GPUs supported by the amdgpu kernel driver
[ 34559.210] (II) AMDGPU(0): [KMS] Kernel modesetting enabled.
[ 34559.210] (EE) AMDGPU(0): [drm] Failed to open DRM device for pci:0000:00:07.0: No such file or directory
[ 34559.210] (EE) Screen 0 deleted because of no matching config section.
[ 34559.210] (II) UnloadModule: “amdgpu”
[ 34559.210] (EE) Device(s) detected, but none match those in the config file.
[ 34559.210] (EE)
Fatal server error:
[ 34559.210] (EE) no screens found(EE)
[ 34559.210] (EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
[ 34559.210] (EE) Please also check the log file at “/var/log/Xorg.1.log” for additional information.
[ 34559.210] (EE)
[ 34559.216] (EE) Server terminated with error (1). Closing log file.

Ultimately looks like an issue with the conf while or paritially due to it however not certain to the exact. Let me know if you would like me to post it for further investigation, will have a look at a bit myself to try and figure it out.

Check that amdgpu driver is loaded:

lsmod | grep amdgpu

Check that amdgpu driver is used for your GPU:

lspci -s 07:00.0 -k

Check the sudo dmesg output and search errors related to your GPU.

Also try to use updated Xorg config and script.

[user ~]% lsmod | grep amdgpu
zsh: done lsmod |
zsh: exit 1 grep --color=auto amdgpu

Second cmd gives no output.

Only see two errors:

  • SMBus Host Controller not enabled.

  • [23119.895312] CPU: 1 PID: 931 Comm: tor Not tainted 6.6.54-1.qubes.fc37.x86_64 #1
    [23119.895314] Hardware name: Xen HVM domU, BIOS 4.17.5 10/19/2024
    [23119.895315] Call Trace:
    [23119.895317]
    [23119.895320] dump_stack_lvl+0x47/0x60
    [23119.895325] dump_header+0x4a/0x240
    [23119.895328] oom_kill_process+0xf9/0x190
    [23119.895331] out_of_memory+0xf4/0x320
    [23119.895332] __alloc_pages_slowpath.constprop.0+0x8b4/0xb90
    [23119.895337] __alloc_pages+0x32b/0x350
    [23119.895340] folio_alloc+0x1b/0x50
    [23119.895342] __filemap_get_folio+0x13e/0x2e0
    [23119.895346] filemap_fault+0x47d/0x830
    [23119.895349] ? srso_alias_return_thunk+0x5/0xfbef5
    [23119.895353] __do_fault+0x33/0x130
    [23119.895356] do_read_fault+0x11c/0x1a0
    [23119.895358] do_fault+0x120/0x1c0
    [23119.895360] __handle_mm_fault+0x59d/0x6d0
    [23119.895364] handle_mm_fault+0x182/0x370
    [23119.895366] do_user_addr_fault+0x1fb/0x630
    [23119.895369] exc_page_fault+0x77/0x170
    [23119.895372] asm_exc_page_fault+0x26/0x30
    [23119.895374] RIP: 0033:0x7cf942aaa0d6
    [23119.895379] Code: Unable to access opcode bytes at 0x7cf942aaa0ac.
    [23119.895379] RSP: 002b:00007fffe941f6a0 EFLAGS: 00010297
    [23119.895381] RAX: 0000000000000000 RBX: 00005b2605b355c0 RCX: 0000000000000669
    [23119.895382] RDX: 0000000000000000 RSI: 00007cf942ac9c00 RDI: 0000000000000000
    [23119.895383] RBP: 00005b2605b31940 R08: 00007cf942ac9a56 R09: 00007cf942aca000
    [23119.895383] R10: 0000000000000010 R11: 0000000000000000 R12: 0000000000000001
    [23119.895384] R13: 0000000000000000 R14: 000000007fffffff R15: 00005b2605b31940
    [23119.895387]
    [23119.895388] Mem-Info:
    [23119.895389] active_anon:530613 inactive_anon:814962 isolated_anon:0
    active_file:137 inactive_file:67 isolated_file:0
    unevictable:62 dirty:32 writeback:0
    slab_reclaimable:34671 slab_unreclaimable:26562
    mapped:60938 shmem:61307 pagetables:8157
    sec_pagetables:0 bounce:0
    kernel_misc_reclaimable:0
    free:22504 free_pcp:134 free_cma:0
    [23119.895392] Node 0 active_anon:2122452kB inactive_anon:3259848kB active_file:548kB inactive_file:268kB unevictable:248kB isolated(anon):0kB isolated(file):0kB mapped:243752kB dirty:128kB writeback:0kB shmem:245228kB shmem_thp:0kB shmem_pmdmapped:0kB anon_thp:0kB writeback_tmp:0kB kernel_stack:8048kB pagetables:32628kB sec_pagetables:0kB all_unreclaimable? no
    [23119.895395] Node 0 DMA free:14336kB boost:0kB min:176kB low:220kB high:264kB reserved_highatomic:0KB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB writepending:0kB present:15992kB managed:15360kB mlocked:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB
    [23119.895397] lowmem_reserve: 0 3752 5738 5738 5738
    [23119.895401] Node 0 DMA32 free:51692kB boost:0kB min:44084kB low:55104kB high:66124kB reserved_highatomic:0KB active_anon:1695812kB inactive_anon:1984820kB active_file:0kB inactive_file:204kB unevictable:112kB writepending:12kB present:3915772kB managed:3850236kB mlocked:112kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB
    [23119.895417] lowmem_reserve: 0 0 1985 1985 1985
    [23119.895421] Node 0 Normal free:23988kB boost:0kB min:23320kB low:29148kB high:34976kB reserved_highatomic:0KB active_anon:426496kB inactive_anon:1275172kB active_file:216kB inactive_file:0kB unevictable:136kB writepending:116kB present:2195456kB managed:2025012kB mlocked:136kB bounce:0kB free_pcp:464kB local_pcp:0kB free_cma:0kB
    [23119.895423] lowmem_reserve: 0 0 0 0 0
    [23119.895427] Node 0 DMA: 04kB 08kB 016kB 032kB 064kB 0128kB 0256kB 0512kB 01024kB 12048kB (M) 34096kB (M) = 14336kB
    [23119.895436] Node 0 DMA32: 503
    4kB (UME) 6368kB (UME) 80916kB (UME) 50732kB (UME) 20964kB (UME) 21128kB (UME) 0256kB 0512kB 01024kB 02048kB 04096kB = 52332kB
    [23119.895448] Node 0 Normal: 4904kB (UE) 2908kB (UME) 33616kB (UME) 29832kB (UME) 8564kB (UME) 0128kB 0256kB 0512kB 01024kB 02048kB 0*4096kB = 24632kB
    [23119.895457] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=1048576kB
    [23119.895459] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB
    [23119.895460] 62516 total pagecache pages
    [23119.895461] 972 pages in swap cache
    [23119.895461] Free swap = 216kB
    [23119.895462] Total swap = 1048572kB
    [23119.895462] 1531805 pages RAM
    [23119.895462] 0 pages HighMem/MovableOnly
    [23119.895463] 59153 pages reserved
    [23119.895463] 0 pages cma reserved
    [23119.895464] 0 pages hwpoisoned

Check if there drivers by trying to install:

sudo apt install xserver-xorg-video-amdgpu

and is already installed.

Tried pulling for output from dmesg that specifically mentions amdgpu and didn’t get anything.

Tried to manually load the drivers:

sudo: unable to resolve host Gaming: Name or service not known
modprobe: ERROR: could not insert ‘amdgpu’: Invalid argument
zsh: exit 1 sudo modprobe amdgpu

Check the output of:

lspci -k

How much memory did you assign to your qube? Did you disable memory balancing for it?

12gb and memory balance is disable.

00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
Subsystem: Red Hat, Inc. Qemu virtual machine
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
Subsystem: Red Hat, Inc. Qemu virtual machine
00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II]
Subsystem: Red Hat, Inc. Qemu virtual machine
Kernel driver in use: ata_piix
Kernel modules: pata_acpi, ata_generic
00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)
Subsystem: Red Hat, Inc. Qemu virtual machine
Kernel modules: i2c_piix4
00:02.0 Unassigned class [ff80]: XenSource, Inc. Xen Platform Device (rev 01)
Subsystem: XenSource, Inc. Xen Platform Device
Kernel driver in use: xen-platform-pci
00:04.0 VGA compatible controller: Device 1234:1111 (rev 02)
Subsystem: Red Hat, Inc. Device 1100
Kernel modules: bochs
00:05.0 USB controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 10)
Subsystem: Red Hat, Inc. QEMU Virtual Machine
Kernel driver in use: ehci-pci
Kernel modules: ehci_pci
00:07.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 32 [Radeon RX 7700 XT / 7800 XT] (rev c8)
Subsystem: XFX Limited Navi 32 [Radeon RX 7700 XT / 7800 XT]
Kernel modules: amdgpu
00:08.0 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 HDMI/DP Audio
Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 HDMI/DP Audio
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel

Try to use the original debian-12-xfce template without your custom modifications.
Rename your current debian-12-xfce template to debian-12-xfce-custom.
Install debian-12-xfce template from the Qubes OS repository and update it.
Install pciutils package in debian-12-xfce template.
Shutdown debian-12-xfce template.
Create an app qube with HVM virtualization, disabled memory balancing, initial memory set to 4096 MB, attach both 03:00.0 and 03:00.1 devices to it.
Start the app qube and check the output of this command to see if the amdgpu driver will be in use for your GPU:

sudo lspci -k

user@Games:~$ sudo lspci -k
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
Subsystem: Red Hat, Inc. Qemu virtual machine
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
Subsystem: Red Hat, Inc. Qemu virtual machine
00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II]
Subsystem: Red Hat, Inc. Qemu virtual machine
Kernel driver in use: ata_piix
Kernel modules: pata_acpi, ata_generic
00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)
Subsystem: Red Hat, Inc. Qemu virtual machine
Kernel modules: i2c_piix4
00:02.0 Unassigned class [ff80]: XenSource, Inc. Xen Platform Device (rev 01)
Subsystem: XenSource, Inc. Xen Platform Device
Kernel driver in use: xen-platform-pci
00:04.0 VGA compatible controller: Device 1234:1111 (rev 02)
Subsystem: Red Hat, Inc. Device 1100
Kernel modules: bochs
00:05.0 USB controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 10)
Subsystem: Red Hat, Inc. QEMU Virtual Machine
Kernel driver in use: ehci-pci
Kernel modules: ehci_pci
00:07.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 32 [Radeon RX 7700 XT / 7800 XT] (rev c8)
Subsystem: XFX Limited Navi 32 [Radeon RX 7700 XT / 7800 XT]
Kernel modules: amdgpu
00:08.0 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 HDMI/DP Audio
Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 HDMI/DP Audio
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel

Check the log in the qube to see if there are any errors related to your GPU or the amdgpu driver:

sudo journalctl -b > journal.log

Or upload the log here if you won’t be able to find it yourself.

Also try to install the newer firmware package for your GPU firmware-amd-graphics from the Debian backports in the template.