Feedback, Intel VT-d and kRDP

Hi everyone!

After watching Jorge’s YT videos I decided to jump from Endeavour OS to Aurora DX on my backup machine. My main machine is a MacBook Pro but I also like to use my backup machine (HP EliteBook 830 G5) for Linux tests and travelling.

So far the out-of-the-box experience is nice! I had to fix the permissions for virt-manager but besides that, everything working great!
Even my headphone EQ works with “Easy Effects” as flatpak. I had that running as a normal package and was not aware that it works as a flatpak as well!

My wishlist now would be to:

  1. Enable Intel iGPU passthrough to VMs (out-of-the-box or maybe someone can help to get this going)
  2. Add krdp to the settings menu. I was able to overlay it to the image and it runs from the commandline, but as far as I understand it should also show up in the setting menu.

Thanks again and maybe someone could help!

Since I can only add 2 links for now, here are the iGPU passthrough references:
https://wiki.archlinux.org/title/Intel_GVT-g

Just wanted to chime in again with an update!

I switched from Aurora to Bluefin. This resolved the RDP issue but I had to work around two issues:

  1. You have to Switch SELinux to permissive mode on the server and try connecting the client:
sudo setenforce 0
  1. On the Mac Client you have to change use redirection server name:i:1 in the RDP file.

Links:

Regarding iGPU passthrough I was successful as well!
Below is my initial config followed by two guides that should get you going!

Virt-Manager

# Setup groups
ujust dx-group

# Fix permissions
sudo restorecon -rv /var/lib/libvirt/
sudo restorecon -rv /var/log/libvirt/

# Enable kvmfr for looking-glass
ujust configure-vfio kvmfr

Intel GVT-g iGPU passthrough

# Check kernel args
sudo rpm-ostree kargs

sudo rpm-ostree kargs \
  --append-if-missing="i915.enable_gvt=1" \
  --append-if-missing="i915.enable_fbc=0" \
  --reboot

Loading the GVT-g modules at boot

Use your favorite text editor to create a file called /etc/modules-load.d/kvm-gvt-g.conf and place the following content in it:

kvmgt
vfio-iommu-type1
vfio-mdev

Creating the virtual GPU

Follow this guide for creating and persisting the GPU:
https://blog.tmm.cx/2020/05/15/passing-an-intel-gpu-to-a-linux-kvm-virtual-machine/

Edit XML of your VM to add the shared memory

sudo EDITOR=nano virsh edit Win11

# change domain
<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>

# add commandline options for shared memory
<qemu:commandline>
  <qemu:arg value='-device'/>
  <qemu:arg value='{"driver":"ivshmem-plain","id":"shmem0","memdev":"looking-glass"}'/>
  <qemu:arg value='-object'/>
  <qemu:arg value='{"qom-type":"memory-backend-file","id":"looking-glass","mem-path":"/dev/kvmfr0","size":33554432,"share":true}'/>
</qemu:commandline>

Build looking-glass-client

Here’s a must-see video how this is done on Ubuntu 20.04:

I think that was all. Let me know if I missed anything or if you have questions!