Screen resolution selection

Hello!

I’m setting up a server (router) with SculpOS, and was going to run it without Screen and input devices attached, managing it via vnc_server.

Immediately I noticed, that after unplugging the screen VNC connection drops and I’m not able to connect again until connect screen back.

Luckily I’ve found a solution using a fake-screen plug I bought some time ago that was laying around without any use. They are dirt-cheap to buy on Aliexpress btw…

Though I have a different issue now. This plug supports a variety of screen resolutions and frequencies, but starts up as 4K@30Hz by default.

Which results in VNC connection with unbearably big field for my working 17” screen, and also noticeably lags on top of it.

In Windows, MacOS and Linux I can easily switch the lpug to one of the supported modes.
How can I specify a desirable resolution and frequency in SculptOS? I’d like to set it to 1024x768@60Hz (or even 30Hz)
I’m still searching for this info but can’t find anything regarding this so far…

1 Like

Disclaimer: I am not a Genode dev. nor even an especially experienced Sculpt user - just a long-time tinkerer (hopefully to be full-time user soon!).

What hardware does your server run (CPU / GPU)? Also, which framebuffer component shows in the Component Graph in Leitzentrale?

Intel GPUs are best supported, which show in the Component Graph as “intel_gpu” and “intel_fb”, which have a lot of options to configure. For my AMD-based laptop, the “boot_fb” component is used, which has no options under it.

I hadn’t heard of dummy HDMI plugs before - thanks for the tip! I wonder if it’s possible to configure it on another computer to a lower resolution, and have the settings persist after unplugging.

By default, the nitpicker GUI server manages the sizes of the client domains depending on the connected capture clients (e.g., a display driver or - in your case - the VNC server).

You can override those defaults in the nitpicker config (in Sculpt at /config/nitpicker).

First, you can add width and height attributes to a domain, e.g., the “leitzentrale” domain. So the domain’s size no longer depends on the connected capture clients.

Second, within the capture config node, you can define policies for capture clients. Here you can artificially limit the size of the captured area as observable by the client. The simplest solution may be a default-policy node with width and height attributes defined to your liking. So the VNC server should always observe a screen of these dimensions. If this works as I presume, your dongle shouldn’t be needed.

1 Like

In addition to what @nfeske wrote: You may also try setting the width and height attributes in the VNC server’s config. This should force the captured size to the given values.

However, I’m wondering why the VNC connection drops at all. If I remember correctly, I’ve hard-coded a default size into the VNC server that should be used as a fallback. Thus there might be something wrong with the resizing logic in the VNC server.

1 Like

I’m using a Core i3 Gen9 PC, with integrated video. So a pretty compatible setup.

Oh, I didn’t know I can click deeper on the intel_fb node and choose different screen resolution! Thanks!

Though when I change it to lower values line 1280/720@60 the image overflows the screen, making bottom left part of the screen not visible…

Thank you for thorough explanation! :folded_hands: Will tinker more around this.

I didn’t fully get this part. It will limit a portion of the screen that can be observed by a client? Or it will limit the screen size, adapting the content, for a specific client? So I can have a screen attached and a VNC client that will both see Leitzentrale and all of it’s top elements but not exactly mirrored 1-to-1? :thinking:

Definitely will try that, thanks! :folded_hands:

Nevermind, false alarm, sorry!

I tried a bit more and everything is fine! It even starts without any screen attached with no problem (just in this case the VNC window is tiny-tiny :pinching_hand: ).

It worked as expected! Thank you a lot!! :folded_hands:

@nfeske thanks for you input anyways! I will not bother with this configuration right now, but for sure will get back to it, once I will start setting up my desktop environment :+1: