Kdrive-Xserver enhanced
Kdrive-Xserver enhanced
Compared to x.org, the Freedesktop-Kdrive that Puppy uses is very small.
This version here has some extensions, so you can add shadows to Windows or set them transparent.
It also has additional xservers for different grafics-cards.
Try this small solution (2-3 MB), if Puppys inbuilt Kdrive is not sufficient for you, but if you do not need all the options from the huge x.org-Xserver (35 MB).
I did not include all files I compiled, as it works fine with some of Puppys files, too.
There is 1 Bug: Mozilla crashes when opening a Website with Flash, but this just happens with a color-depth of 16k, and might be grafics-card-dependant.
I added the Background-setter wmsetbg, as Puppys xli does not work with the composite-manager "xcompmgr", that draws the shadows.
I also modified Rarsas "set-Background" Roxapp to use wmsetbg.
You can access everything from the new menue-entry.
The new Kdrive will not destroy the existing one, as it resides in /usr/local/fdo.
My Menue backups "Xvesa" from Puppy to "Xvesa-Puppy", and then creates a symlink Xvesa pointing to it or to the FDO-Xvesa.
Download (2,2 MB extracted):
http://dotpups.de/dotpups/XServer/FDO-Kdrive/
Also try the "XServer-chooser", that adds a menue to select one of the additional XServers you will find here (you must install the one or more of your choice first):
http://dotpups.de/dotpups/XServer/FDO-Kdrive/Xservers/
The "Xchips" seems to work with several Graficscards, so try it as an alternative to XVesa, if there is no other one for you.
Some xservers like i810 also require a modification of /usr/X11R6/bin/xwin , see bombayrockers message below!
------------------------------------------------------------------
If you are one of the unlucky guys without a working X:
HOWTO Install from the commandline (example: Xi810):
Download the necessary files for example in Windows:
http://dotpups.de/dotpups/XServer/FDO-K ... Kdrive.pup
http://dotpups.de/dotpups/XServer/FDO-K ... server.pup
http://dotpups.de/dotpups/XServer/FDO-K ... /Xi810.pup
Best will be to the folder, where pup001 resides, so you can access it inside puppy as /mnt/home/
In puppy, type these commands to install the new Kdrive:
mkdir /root/FDO
cp /mnt/home/FDO-Kdrive.pup /root/FDO/
cd /root/FDO
unzip FDO-Kdrive.pup
mv FILESYSTEM.tgz /
cd /
tar -xzvf FILESYSTEM.tgz
/usr/local/fdo/bin/usefdokdrive
Now the new XServer is installed, but it is XVesa.
If your Graficscard does not support XVesa, install Xi810.pup:
cp /mnt/home/Xi810.pup /root/FDO/
cd /root/FDO
unzip Xi810.pup
mv FILESYSTEM.tgz /
cd /
tar -xzvf FILESYSTEM.tgz
Now install the xserver-chooser:
cp /mnt/home/FDO-Choose-Xserver.pup /root/FDO/
cd /root/FDO
unzip FDO-Choose-Xserver.pup
mv FDO-Choose-Xserver.tgz /usr/local/
cd /usr/local
tar -xzvf FDO-Choose-Xserver.tgz
/usr/local/FDO-Choose-Xserver/Choose-FDO-Xserver
Mark
Last edited by MU on Sat 03 Dec 2005, 10:32, edited 13 times in total.
Re: Kdrive-Xserver enhanced
Mark, that might be this bug you have run into (see 3rd post):MU wrote: I found 1 Bug: Some Gtk-applications position the cursor wrong.
In leafpad, it is always on the right (even if I use all newly compiled libraries).
http://www.murga.org/~puppy/viewtopic.php?t=2230
Ok, I will have to find out how to do it.
It compiled a /usr/local/fdo/lib/libXkbfile.so ,but that seems not to be what I need?
I will look closer tomorrow.
Today I tried to write a transparency-script for the rox-icons, but it does not work.
rox produces ugly artefacts, you can try it by setting an icon manually transparent, and then clicking on it.
Mark
It compiled a /usr/local/fdo/lib/libXkbfile.so ,but that seems not to be what I need?
I will look closer tomorrow.
Today I tried to write a transparency-script for the rox-icons, but it does not work.
rox produces ugly artefacts, you can try it by setting an icon manually transparent, and then clicking on it.
Mark
Now the documentation is available online and for Download.
I converted the man-pages to HTML:
http://dotpups.de/dotpups/XServer/FDO-K ... mentation/
I converted the man-pages to HTML:
http://dotpups.de/dotpups/XServer/FDO-K ... mentation/
- bombayrockers
- Posts: 427
- Joined: Sat 24 Sep 2005, 16:47
- Location: Mumbai, India
- Contact:
MU,
Great Work. thank you .
Here is some feed back -> Xvesa worked straight out with no problems. However xwin is not properly coded to handle Xi810 so I edited it. I have already posted a solution to Barry so an updated xwin would be available in 1.0.7.
Xi810 and Xvesa do not support the same options. Xvesa support -mode, where as in Xi810 and other we have to use the -screen option to set the resolution
-screen 800x600x24 does not work in fdo-Xi810 while it works in the puppy-Xi810.
Some tips for all users -
1. use the X server appropriate or your hardware to get best performance in terms of speed, resolution and fonts. (will post screenshots to show the difference)
2. set the resolution to 96 dpi (dots per inch). To find the screen resolution to get 96 dpi use the formula a=(x/96)*25.4
eg if I want 800x600 with 96 dpi then
a = (800/96)*25.4 = 211
b = (600/96)*25.4 = 158
now set the -screen to 211x158
3. use windows fonts if possible
Great Work. thank you .
Here is some feed back -> Xvesa worked straight out with no problems. However xwin is not properly coded to handle Xi810 so I edited it. I have already posted a solution to Barry so an updated xwin would be available in 1.0.7.
Xi810 and Xvesa do not support the same options. Xvesa support -mode, where as in Xi810 and other we have to use the -screen option to set the resolution
-screen 800x600x24 does not work in fdo-Xi810 while it works in the puppy-Xi810.
Some tips for all users -
1. use the X server appropriate or your hardware to get best performance in terms of speed, resolution and fonts. (will post screenshots to show the difference)
2. set the resolution to 96 dpi (dots per inch). To find the screen resolution to get 96 dpi use the formula a=(x/96)*25.4
eg if I want 800x600 with 96 dpi then
a = (800/96)*25.4 = 211
b = (600/96)*25.4 = 158
now set the -screen to 211x158
3. use windows fonts if possible
- BarryK
- Puppy Master
- Posts: 9392
- Joined: Mon 09 May 2005, 09:23
- Location: Perth, Western Australia
- Contact:
Yes, I have modified /usr/X11R6/bin/xwin, so hopefully it will recognise when /usr/X11R6/bin/X is linked to Xi810 and behave correctly.bombayrockers wrote:Here is some feed back -> Xvesa worked straight out with no problems. However xwin is not properly coded to handle Xi810 so I edited it. I have already posted a solution to Barry so an updated xwin would be available in 1.0.7.
Xi810 and Xvesa do not support the same options. Xvesa support -mode, where as in Xi810 and other we have to use the -screen option to set the resolution
-screen 800x600x24 does not work in fdo-Xi810 while it works in the puppy-Xi810.
xwin is now launching X like this for Xi810:
Code: Select all
/usr/X11R6/bin/xinit /root/.xinitrc -- -screen $VIDSCRN -mouse /dev/mouse,$MOUSEBUTTONS > /tmp/xerrs.txt 2>&1
- BarryK
- Puppy Master
- Posts: 9392
- Joined: Mon 09 May 2005, 09:23
- Location: Perth, Western Australia
- Contact:
Mark,
In XFree86 4.3.0, to turn on X keyboard extension, I had to edit
config/cf/kdrive.cf:
In XFree86 4.3.0, to turn on X keyboard extension, I had to edit
config/cf/kdrive.cf:
Code: Select all
#ifndef BuildXKB
/* BK 19june2005 turn on... */
#define BuildXKB YES
#endif
I found another bug (tried Xvesa and Xchips):
When I open a Website using Flash in Mozilla ( like the videos here: http://rhinoweb.us/ ), Mozilla crashes:
The program 'Gecko' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadMatch'.
(Details: serial 95 error_code 8 request_code 129 minor_code 3)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)
I have no idea how to fix that
-------------
Barry, thanks, that will help a lot.
Unfortunately I will have to wait for my new computer in the middle of December, before I can compile on Mandrake again.
Or I try to patch Mandrakes image.gz to boot with my broken notebook, too.
Mark
When I open a Website using Flash in Mozilla ( like the videos here: http://rhinoweb.us/ ), Mozilla crashes:
The program 'Gecko' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadMatch'.
(Details: serial 95 error_code 8 request_code 129 minor_code 3)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)
I have no idea how to fix that
-------------
Barry, thanks, that will help a lot.
Unfortunately I will have to wait for my new computer in the middle of December, before I can compile on Mandrake again.
Or I try to patch Mandrakes image.gz to boot with my broken notebook, too.
Mark
my compilation-problems were caused by wrong tools.
I reinstalled them with
./configure --prefix=/usr
Now I get
# autoconf --version
autoconf (GNU Autoconf) 2.59
# automake --version
automake (GNU automake) 1.7.4
# pkg-config --version
0.9.0
# libtool --version
ltmain.sh (GNU libtool) 1.5.10 (1.1220.2.130 2004/09/19 12:13:49)
Puppys automake (1.9) does not work.
I wondered on the newspage Barry wrote about a SIS-Module.
In CVS there are just some files, there is missing a lot (compared to i810 for example).
It also is not in the makefiles.
I also looked to the x.org -sources, but there the Kdrive is not included any more
Mark
I reinstalled them with
./configure --prefix=/usr
Now I get
# autoconf --version
autoconf (GNU Autoconf) 2.59
# automake --version
automake (GNU automake) 1.7.4
# pkg-config --version
0.9.0
# libtool --version
ltmain.sh (GNU libtool) 1.5.10 (1.1220.2.130 2004/09/19 12:13:49)
Puppys automake (1.9) does not work.
I wondered on the newspage Barry wrote about a SIS-Module.
In CVS there are just some files, there is missing a lot (compared to i810 for example).
It also is not in the makefiles.
I also looked to the x.org -sources, but there the Kdrive is not included any more
Mark
The SiS module is a kernel framebuffer driver module.
It is part of the kernel, not X.
It is in PupGet package modules_fb-2.4.29
The Kdrive Xfbdev X server requires the screen to already be running in framebuffer mode.
This is achieved either at kernel boot by a parameter in the kernel boot params,
if I recall rightly, something like "vga=791" (some number, for the reqd mode), and vesa framebuffer module has to be built-in to the kernel.
Or, framebuffer modules can be loaded later, before X is started, like:
# modprobe sisfb mode=800x600 rate=72
After that, the Xfbdev server is executed.
It is part of the kernel, not X.
It is in PupGet package modules_fb-2.4.29
The Kdrive Xfbdev X server requires the screen to already be running in framebuffer mode.
This is achieved either at kernel boot by a parameter in the kernel boot params,
if I recall rightly, something like "vga=791" (some number, for the reqd mode), and vesa framebuffer module has to be built-in to the kernel.
Or, framebuffer modules can be loaded later, before X is started, like:
# modprobe sisfb mode=800x600 rate=72
After that, the Xfbdev server is executed.
ok, I can compile with xkb by adding it as an option in the installscript:
Like this leafpad works correct.
Unfortunately Mozilla still crashes with flash, I will do some more testing.
Concerning SIS: ah, that's new to me, will try it out later, thanks
Mark
Code: Select all
pushd xserver
./autogen.sh --prefix=/usr/local/fdo --enable-composite --enable-xkb
make $MAKEOPTS
Unfortunately Mozilla still crashes with flash, I will do some more testing.
Concerning SIS: ah, that's new to me, will try it out later, thanks
Mark
Re: Kdrive-Xserver enhanced
Really nice Mark. I'm following your work with great interest. This should be a nice alternative to your Xorg i810 server I'm running now.
But I have a question. Could you confirm that the lines in red below are correct?
Also, could someone upload the barryK's modified xwin for Xi810? I have tried to modify it but haven't got it to work yet.
But I have a question. Could you confirm that the lines in red below are correct?
I can't find FILESYSTEM.tgz in FDO-Choose-Xserver.pup, but maybe FDO-Choose-Xserver.tgz should be moved to /usr/local/ instead and untarred?MU wrote: Now install the xserver-chooser:
cp /mnt/home/FDO-Choose-Xserver.pup /root/FDO/
cd /root/FDO
unzip FDO-Choose-Xserver.pup
mv FILESYSTEM.tgz /
cd /
tar -xzfv FILESYSTEM.tgz
/usr/local/FDO-Choose-Xserver/Choose-FDO-Xserver
Also, could someone upload the barryK's modified xwin for Xi810? I have tried to modify it but haven't got it to work yet.
Pakt, thanks, I corrected the howto.
You can try i810 like this:
open a xterm in a working X (Xvesa or Xchips) (or run the following commands from the Console-Prompt).
Now type
/usr/local/fdo/xservers/Xi810 -screen 1024x768x24 :1
This will start the Xi810 with high resolution on Display 1
24 is the color-depth, you can try 8 (256 colors) or 15 or 16 too.
You also can try the refreshrate:
1024x768x24x56
You can display all supported modes with
/usr/local/fdo/xservers/Xi810 -listmodes
More info with -help
To switch back to your current display :0, hit CTRL-ALT-Backspace.
You also can start applications on the second display:
/usr/local/fdo/xservers/Xi810 -screen 1024x768x24 :1&
jwm -display :1
Like this you comfortably look for the best resolution.
To make it permanent, replace the line in xwin:
line 283 (Puppy 106):
/usr/X11R6/bin/xinit /root/.xinitrc -- -mode $VIDMODE $XEXTRAOPTIONS -mouse /dev/mouse,$MOUSEBUTTONS > /tmp/xerrs.txt 2>&1
with
/usr/X11R6/bin/xinit /root/.xinitrc -- -screen 1024x768x24x56 $XEXTRAOPTIONS -mouse /dev/mouse,$MOUSEBUTTONS > /tmp/xerrs.txt 2>&1
That should do it I think (did not try).
This will start all Xservers with this resolution,you must use the chooser before rebooting to activate Xi810.
With Puppy 107, xwin will be updated with a more flexible solution (with this small hack, you can change resolution just with the editor, Puppys Xvesa-Tool will not work).
Mark
You can try i810 like this:
open a xterm in a working X (Xvesa or Xchips) (or run the following commands from the Console-Prompt).
Now type
/usr/local/fdo/xservers/Xi810 -screen 1024x768x24 :1
This will start the Xi810 with high resolution on Display 1
24 is the color-depth, you can try 8 (256 colors) or 15 or 16 too.
You also can try the refreshrate:
1024x768x24x56
You can display all supported modes with
/usr/local/fdo/xservers/Xi810 -listmodes
More info with -help
To switch back to your current display :0, hit CTRL-ALT-Backspace.
You also can start applications on the second display:
/usr/local/fdo/xservers/Xi810 -screen 1024x768x24 :1&
jwm -display :1
Like this you comfortably look for the best resolution.
To make it permanent, replace the line in xwin:
line 283 (Puppy 106):
/usr/X11R6/bin/xinit /root/.xinitrc -- -mode $VIDMODE $XEXTRAOPTIONS -mouse /dev/mouse,$MOUSEBUTTONS > /tmp/xerrs.txt 2>&1
with
/usr/X11R6/bin/xinit /root/.xinitrc -- -screen 1024x768x24x56 $XEXTRAOPTIONS -mouse /dev/mouse,$MOUSEBUTTONS > /tmp/xerrs.txt 2>&1
That should do it I think (did not try).
This will start all Xservers with this resolution,you must use the chooser before rebooting to activate Xi810.
With Puppy 107, xwin will be updated with a more flexible solution (with this small hack, you can change resolution just with the editor, Puppys Xvesa-Tool will not work).
Mark
Can someone completely explain the modification that needs to be made for Xi810? For some reason, I'm not completely following. Maybe I'm the only one, I don't know. But I just don't quite understand where exactly the modification should be made and what it should be. I'm guessing in Xwin, but that's about all I can figure out.
jcagle, sorry, can't do better than in my last message...
Try out those steps to test, if it is working with your graficscard.
If yes replace one line in /usr/X11R6/bin/xwin with the other in beaver.
Write down what you replace, so you can correct it on the commandline with the "mp" -Editor, in case something goes wrong.
Or wait, until one of the more experienced users reports success, and a short description of how he got it working.
Mark
Try out those steps to test, if it is working with your graficscard.
If yes replace one line in /usr/X11R6/bin/xwin with the other in beaver.
Write down what you replace, so you can correct it on the commandline with the "mp" -Editor, in case something goes wrong.
Or wait, until one of the more experienced users reports success, and a short description of how he got it working.
Mark
I uploaded the XServers and FDO-Kdrive.pup from new.
Now they were compiled on Puppy with xkb.
This could fix the Gtk-bug.
But still there is the Bug, that Mozilla crashes when opening a Website with Flash
I also compiled Xinerama -support (2 Monitors).
It should work by adding "+xinerama" to /etc/xextraoptions
Or
+xinerama -origin 1024,0
Or test in a console-window:
/usr/local/fdo/xservers/Xchips -screen 800x600 -screen 800x600 +xinerama
On my system (Xvesa and Xchips) it does not work.
When I use the double screen -line, I can jump to the next screen by moving the mouse to the border - but just on the same monitor.
With x.org, you must specify a pci-parameter for Xinerama, but the KDrive-Xinerama was coded different, and I found nothing helpfull with Google.
Maybe Kdrive-Xinerama just supports 2 physical graficscards, and not Graficscards with 2 Monitor-Connectors like mine.
So if you are patient and masochistic, you might try to find out more
Mark
Now they were compiled on Puppy with xkb.
This could fix the Gtk-bug.
But still there is the Bug, that Mozilla crashes when opening a Website with Flash
I also compiled Xinerama -support (2 Monitors).
It should work by adding "+xinerama" to /etc/xextraoptions
Or
+xinerama -origin 1024,0
Or test in a console-window:
/usr/local/fdo/xservers/Xchips -screen 800x600 -screen 800x600 +xinerama
On my system (Xvesa and Xchips) it does not work.
When I use the double screen -line, I can jump to the next screen by moving the mouse to the border - but just on the same monitor.
With x.org, you must specify a pci-parameter for Xinerama, but the KDrive-Xinerama was coded different, and I found nothing helpfull with Google.
Maybe Kdrive-Xinerama just supports 2 physical graficscards, and not Graficscards with 2 Monitor-Connectors like mine.
So if you are patient and masochistic, you might try to find out more
Mark
Last edited by MU on Wed 30 Nov 2005, 15:27, edited 1 time in total.