📜 ⬆️ ⬇️

Extend Desktop

Asus EeePC laptops sometimes lack screen resolution. Many windows do not fit on the desktop and you have to move them with a mouse to see elements that go beyond its borders. There are also problems with games. And if under Windows with the help of drivers you can expand the desktop with more physical resolution and scroll with the mouse, then under Linux you will have to work a little to get the same opportunity.

Introduction


Some time ago, X.org lost the ability to set the virtual resolution more than the physical one and move the displayed area with the mouse. Therefore, for EeePC, Daniel Fisher and David Griffith have developed a small i810pan utility. This program allows you to move the displayed area of ​​the desktop within the established virtual resolution. It uses the SetVidMode function of the XF86Vidmode extension to move the displayed area. For its work, i810pan requires:

Getting the program


The source code of the program can be obtained at http://users.on.net/~dgriffith/i810pan-new.tgz . The archive contains the following files:
If the i810pan is used on the EeePC 701, then you can try to run the assembled version, but for the EeePC 90x you will need to assemble it yourself, since the screen resolution is hard wired in it.

Compilation


To build the program we need three additional files:
  1. XTest.h
  2. xf86vmode.h
  3. libXxf86vm.a
In Debian, they are located in the x11proto-xext-dev, x11proto-xf86vidmode-dev and libxxf86vm-dev packages, to install them, run the following command:
# apt-get install x11proto-xext-dev x11proto-xf86vidmode-dev libxxf86vm-dev

The physical resolution of the screen is strictly specified in the source code of the program. Since it was originally created for the EeePC 701, the owners of the EeePC 90x need to find a couple of lines in i810pan.c
// TODO: figure out real panel dimensions
panel_w = 800;
panel_h = 480;

and change them as follows:
// TODO: figure out real panel dimensions
panel_w = 1024;
panel_h = 600;

Now execute the command
$ make

or (if you decide not to use the makefile)
$ gcc -o i810pan i810pan.c -lX11 -l Xxf86vm

As a result, we got our utility. Let's start setting up the X-server.

X server setup


To use this utility we need to set the required virtual screen resolution. To do this, you have to tweak xorg.conf slightly by inserting the following lines into it:
DefaultDepth 24
SubSection "Display"
Depth 24
Virtual 2048 2048
EndSubSection

in the "Screen" section (this is also useful when connecting an external monitor).
After the changes you made, you need to restart X's (for example, by pressing Ctrl + Alt + BackSpace, after saving all documents).
Finally, you can go to launch the program.
')

Using i810pan


To start the program you need to execute two commands:
$ xrandr --fb 1280x1024
# ./i810pan

The first one sets the virtual screen resolution (in this example equal to 1280x1024), and the second one runs the utility from the current directory. Please note that to run it requires superuser rights.
Now, if you move the mouse to the edge of the screen, it will begin to move, showing the contents beyond its borders.
If we want to return everything as it was, then we need to turn off the utility and return the desktop to its original state. You can restore the desktop to its original state in two ways: set the virtual resolution equal to the physical one (for EeePC it is equal to 800x480):
$ xrandr --fb 1024x600

or simply change the video mode to the required one:
$ xrandr -s 1024x600

Each of them has its drawback. When using the first method, you must first return the screen to the upper left corner. And when you change the video mode, the monitor turns off, which is a bit annoying.

Conclusion


After putting the i810pan on and off on the hotkeys, it became very convenient to use it. The only problem I encountered was inadequate kicker behavior, which did not pay attention to the change of resolution and continued to hang in the middle of the screen. The easiest way to get around this is to move it to the left or upper edge of the screen.

Source: https://habr.com/ru/post/51968/


All Articles