Hardware Advice for a portable QubesOS Workstation

Hi everyone,

I’m currently running Qubes R4.2.4 on a NovaCustoms v54 laptop, which has an Intel Core Ultra 7 155h processor and an Intel Arc iGPU, paired with 64GB of RAM.

I understand that QubesOS isn’t necessarily optimized for raw speed, and I’m fully aware of the trade-off between performance and privacy. That said, I’ve been experiencing some significant performance issues when browsing modern websites, particularly those with animations or heavy JavaScript. Despite allocating 16GB of RAM to the untrusted Web-Qube, the browser (Firefox) remains extremely slow—slower than what I’ve experienced on much less powerful hardware (like 8GB RAM laptops running other Linux ditros).

Here’s my thinking:

  • RAM: While I’ve seen users with 32GB of RAM running QubesOS quite comfortably, I’m leaning towards the idea that RAM isn’t the primary bottleneck here. I have 64GB of RAM, so it seems unlikely that more memory would resolve the issue.

  • iGPU Performance: Given that my laptop uses an Intel Arc iGPU, I suspect that this might be contributing to the slow browsing experience. I’ve heard that iGPUs can be less performant in virtualized environments, and I’m wondering if that’s the case here. Before I reach out to NovaCustoms or consider upgrading, I wanted to get some input from the community.

NovaCustoms does offer a couple of upgrade options for the v54:

  • Nvidia GeForce RTX 4060 8GB dGPU
  • Nvidia GeForce RTX 4070 8GB dGPU

I’m not particularly well-versed in hardware and am hoping for some guidance from the community. Would upgrading to a discrete GPU like the RTX 4060 or 4070 improve the web browsing performance, especially for web-heavy tasks like JavaScript and animations? Or could there be other optimizations within QubesOS or Firefox that I’m missing?

Oh, I should probably add that I’m running on a multiple Display setup.
I’m flexible with my options and open to any advice or recommendations.

Thanks in advance for your help!

Hi

Unfortunately, this will not easily work. The GPU could only be used in a single qube at a time, at a price of a fragile setup (GPU passthrough).

1 Like

But wouldn’t this atleast help with running the browser in a normal and not super laggy state? I don’t really care paying for the GPU, or anything other, I’m just hoping I can get this right. I could also upgrade RAM to 48GBx2 but I dont see the ram going hard in the browser vm at all, so I don’t think this is the problem.

I’m really out of ideas at this point. I can’t belive that every QubesOS user is fighting for their life each time they fire up a webbrowser.

I am running Qubes OS on an ancient Dell Xeon workstation (4 cores, 8 hardware threads) with a really old AMD graphics card. I don’t think that Firefox is particularly fast, but also not particularly slow. Two possibilities spring to mind:

  • A difference of expectations as to how fast the browser will be
  • You don’t have enough CPU allocated to the Qube
1 Like

Well I can’t say that the whole device is slow, it just seems to be affecting Webbrowsers and animations to be precise. This forum for example, works super good and very convenient, but as soon as I open a site with a few more animations, hell breaks loose.

framer.com is a good example for this. It’s not a part of what I need to access, but it’s an example for those “sites with a lot of animations” I am talking about.

I mean sure, maybe my expectations were a bit high. But I’m still curious how a 16GB Ram Qube with 12 VCPUs cannot render a simple webpage.

Absolutely not. qubes do not use the GPU at all, they do all the video rendering on the CPU which is super slow, the GPU is used by dom0 to handle the screen and show stuff, but it only show “a picture” rendered by the qube which did not use the GPU.

2 Likes

Thank you for that excellent explanation. I think I should either look into RAM or a better CPU then, instead of looking for GPUs. My current GPU handles the multi-display setup pretty well and doesn’t require any 3rd party drivers.

Thanks!

1 Like

disable composer, then turn it back on in Dom0, this will fix a lot of this issue.

It is a common bug that people have complained about which this simple fix resolves the issue.

System Settings → Window Manager Tweaks → Compositor

disable, wait a moment, enable, close window, test browser.

Many have had the issue, and I have told many the same thing.

2 Likes

Also, you can set up the qubes to run the the GPU easily enough, and you can have all your guests do it at the same time.

VirtualGL I think it was called. At least from what I know that is what it does. I’ll find the post… here you go…
https://forum.qubes-os.org/t/seamless-gpu-passthrough-on-qubes-os-with-virtualgl/

You can have a look and decide, you may understand it better than I did.

The GPU rendering doesn’t affect CPU that much. Al my guests barely even touch the CPU with video rendering or anything like that if they are using the seamless mode for the Qubes Drivers.
Once the compositor is reset it really doesn’t lag much ever at all. If the guest runs low on RAM, then everything lags in that guest though.

You can also check out…

I don’t know enough about that side of it to be able to mention much, but it’s something I came across when searching about graphics cards in XEN

1 Like

Probably your xorg.conf is set to safe but unoptimized settings, because you have too new machine.

Had same with 12th gen intel and its igpu.

Continuing on the themes already mentioned, the GPU passthrough works very well, and that’s what I use for my “full function” internet qube. For everything else, disabling the compositor makes things run well enough.

My only word of caution concerns the internal plumbing of your laptop. Use of external monitors might not be possible if the passthrough GPU is also responsible for driving the system’s video output ports. You can get around this issue by adding an external GPU that connects over thunderbolt.

Could you explain this a bit more? I can’t seem to find anything online about how to optimize this.

So your browser performance has changed for the better after passing a GPU to the Qube thats running the browser? Yeah, I might need to consider getting an eGPU.

Yeah doing this in dom0 doesn’t really seem to change anything. I mean like disabling and enabling it again.

Thanks for all the help.

Default xorg.conf is like:
/etc/X11/xorg.conf.d/20-intel.conf

Section "Device"
      Identifier   "Intel Graphics"
      Driver   "intel"
EndSection

This is driver for max gen 8 intel.
It works with never igpu but freezes every 5s.

Disable “compositing” in wndow-manager-tweaks if you want to stay on this old intel driver.

Q -> System Tools -> 
Window Manager Tweaks -> 
Compositor -> 
uncheck "Enable display compositing" 

But now you will have screen tearing and no 2d acceleration.

You could add to xorg.conf options to dri3 and no tearing but it would be still intel driver for old pre iris igpu.

Or you could use kernel modesetting driver with iris DRI driver and mesa glamor:

Section "Module"
      Load   'glamoregl"
EndSection
Section "Device"
      Identifier   "Intel Graphics"
      Driver   "modesetting"
EndSection

The only downside is that mesa in dom0 is old (from fedora 37) and it crashes dom0 from time to time.

Yes, youtube became usable. Just to add, there’s a couple of ways you could configure the system when you’re using an external monitor: 1) use the egpu for virtualgl offloading and the internal dgpu for video output, or 2) use the dgpu for virtualgl offloading and the egpu for video output. The second, which I use, might be more performant, since it limits communication on the TB link to a single direction. Also, it reduces the configuration changes required when I switch from internal screen (away) to external monitors (office). If you go down the egpu route, I’d recommend Nvidia, since in my experience, the AMD driver misreads the TB link speed, unnecessarily constraining bandwidth. If you can drive your internal display with the igpu, I’d recommend trying virtualgl on your dgpu and seeing if that makes a difference. Also, is your monitor 4k?