I'm trying to connect a university ipad (air, usb 3 type c, not tb or lightning) to my laptop (Framework laptop, intel 12th gen) running Fedora workstation 39.
On Windows, I used a nifty app called Duet Display. I just used a usb-c cable to plug the ipad into the laptop, launched the app on both devices, and windows would see an external monitor. Scaling and resolution worked fine, and latency wasn't perfect, but was more than enough for a secondary display. With settings tweaked, artifacting was minimal.
I know there are remote desktop protocols and apps, but I really want to avoid a wireless connection. Remote desktop over the internet is wasteful and unreliable, and as for local network, ,my university has some strict controls on its wifi network and I cannot reliably connect my devices. Even if I could, the reliability and latency are still bad.
Duet over usb always worked and didn't rely on a wireless connection, but it also is closed source and windows and mac only.
From what I can see online, the best way for an ipad to display content from another device is going to be a remote desktop protocol as it does not directly accept video signals like HDMI-in. The ipad can also connect to a network over usb c/ethernet.
It seems the best approach would be to create a local network on my PC and connect my ipad to it with the cable, and then use a remote desktop client on the ipad.
Is this a good approach? If so, how exactly would I make the usb connection share a local network connection?
Note I only want to connect the ipad to the laptop. I understand if the ipad will not connect to wifi while connected to ethernet, and I don't need to share the internet connection with the ipad. My computer still needs to be connected to wifi/ethernet to access my university network, however.
Time to turn your laptop into a router!
Let's say you've got 2 network interfaces on your laptop, eth0 and wifi0.
wifi0 is joined to your university WiFi as normal.
Connect your iPad to your laptop via ethernet (with a USB-C adapter).
iPad -> usb-c-ethernet -> eth0
wifi0 -> internet
Rather than setting up a DHCP server or IPv6 stuff,
I'd just configure the wired interfaces manually.
Let's use the network 192.168.69.0/24.
Laptop will be 192.168.69.1, iPad will be at 192.168.69.2.
On the laptop:
ip addr add 192.168.69.1/24 dev eth0
On your iPad, go to Settings -> Ethernet:
address: 192.168.69.2
subnet mask: 255.255.255.0
router: 192.168.69.1
Curious to see if that works.
We haven't set up DNS or DHCP or done any sysctl for IP forwarding or any nftables.
How can we test if it works?
We can set up a TCP listener using nc(1) on the laptop that the iPad's web browser could hit.
On the laptop:
Will I need a usb-c to rj45 adapter (or realistically, 2 since my laptop does not have an ethernet port)? I was planning to use my TB4 type c - type c cable and use an ethernet connection over usb.