Building Looking Glass
Hey, as per our conversation, @HikariKnight , I'm creating a help topic regarding passthrough and using looking glass and tagging you so when you get time, you can help me out (hopefully). I believe I have pretty much everything set up as far as virtual machine, IOMMU, passthrough, drivers installed for second GPU and second GPU running on Virtual Machine (Windows 10), but I'm stuck at the Looking Glass part of it. I'm in the middle of building it, and every single time I try to build it, I get this error:
CMake Error: The current CMakeCache.txt directory /home/alienone/client/CMakeCache.txt is different than the directory /var/home/alienone/Downloads/looking-glass-B7-64-f15d72cd/client/build where CMakeCache.txt was created. This may result in binaries being created in the wrong place. If you are not sure, reedit the CMakeCache.txt
What can I do to fix it, and how can I properly build it for use?
Thanks for your time.
15 Replies
Ok, update.....I re-did everything again (for like the 10th time), and this time it went through the compiling, but there was another error
said "CMake Error at renderers/EGL/CMakeLists.txt:17 (message):
FATAL: some known version of awk couldn't be found (AWK-NOTFOUND).
-- Configuring incomplete, errors occurred!"
Is that bad?
ok, got a bit further..... got past "cmake ../" and "make", but now when I run "sudo make install" I get this error:
CMake Error at cmake_install.cmake:66 (file):
file INSTALL cannot copy file
"/home/alienone/Downloads/looking-glass-B7/resources/lg-logo.svg" to
"/usr/local/share/icons/hicolor/scalable/apps/looking-glass.svg": Read-only
file system.
are you following our guide?
Using Looking-Glass - Bazzite Documentation
Bazzite is a custom image built upon Fedora Atomic Desktops that brings the best of Linux gaming to all of your devices.
i see the other distributions build deps are missing so i will copy them here from the web archive backup
Installing Dependencies for Client Build
For wayland support you will also need the following packages
For Pipewire users (some applications might not be able to record sound from looking glass then, like discord screen share)
For PulseAudio users (better compatibility for audio in screensharing applications)
Ok so I believe I've got everything built, looking glass is activatable, virtual machine starts, recognizes the secondary GPU, and if I switch inputs on my monitor, I can experience the full resolution accelerated experience. However, although I've installed the host .exe on the virtual machine, and I see it running in the system tray, Looking Glass does not see it when it starts up.
Now, I'm seeing that I have 2 options within the virtual machine.... It sees 2 displays, but I have "Duplicate these displays," "extend these displays," "Show only on 1," and "show only on 2." If I select "Show only on 1," then I can see the virtual machine within virt-manager (but not on my monitor's other input). If I select "Show only on 2," then I can no longer see anything on the virtual machine and can only see it on my monitor's other input.
Also, when I'm seeing it on my virtual machine (show only on 1), the Looking Glass host app will not run no matter how many times I try to start it.
When I'm seeing the display on my monitor's other input (show only on 2), the Looking Glass host app shows as running in the system tray
However, on both occasions, the client Looking Glass on Linux does not see it.

Looking glass is meant to be used with a dummy plug in the GPU. If you use it with a monitor you switch inputs with then looking glass serves no use as it will only display what's shown on the monitor input windows is connected to (on a lot of monitors only when that is the monitors selected input)
If you are switching monitor inputs to use the VM then I suggest a software kvm switch.
There is a how-to on how to make one in my GitHub (vfio-setup-docs wiki)
I personally prefer the dummy plug method as it is a lot more convenient.
Ok, I'll get a dummy plug and try it that way
I'd rather use it the intended way (from within Linux) than have to switch monitor inputs...the only reason I was doing that (switching inputs) was it was the only way I could see what was being shown for troubleshooting purposes. I have a dummy plug being overnighted to me and I'll try that out by tomorrow and report back. I have a feeling that maybe there's a dependency missing or that perhaps it's configured incorrectly because I would think that Looking Glass would be grabbing the frames anyway regardless of if the card is plugged into a monitor or has a dummy plug...but, I am admittedly a super noob at all this, so I'm sure it's user error somewhere in the setup process
I recommend displayport dummy plugs
Actually doesn't really matter but I personally prefer displayport
The secondary card I'm using with this setup is a GEForce GT 1030, and I believe it only has a DVI and a HDMI port. I'm using my primary card (4070ti Super) for Linux, as I do 99% of my gaming on there. I hope that isn't a problem. The VM Windows does see and utilize the 1030 card, so I know that much of the setup is good to go.
Yeah then get a HDMI dummy
DVI dummy is a waste of money, so few use cases in comparison and take more space
I sincerely appreciate your time...I made the decision to switch to Linux from Windows about 2 months ago because I really didn't like the direction Windows was going with 11, and with 10 reaching end of life this year, I figured I needed to find other options. With Linux finally becoming a legit gaming machine (and Bazzite doing a great job facilitating that), I figured now was as good a time as any to jump ship. I still feel pretty overwhelmed at how much I need to learn, but I'm enjoying it. I do have a tiny bit of experience messing with Steam Deck's Arch over the past year or so, but not that much experience. I'll report back once I get the dummy plug.
Well you already confirmed you have working passthrough since the windows monitor works, so you have learned how to do something very advanced with passthrough
It probably helped that my PC build is with a SuperMicro x10dax server motherboard, so the amount of built-in support for virtualization there was probably way better than the average pc setup
Most likely
You tend to need expensive motherboards for vfio on consumer stuff if you want a good experience
I have no idea how the pcie lanes are on your motherboard though