Kdrive-Xserver enhanced

Stuff that has yet to be sorted into a category.
Message
Author
User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

Kdrive-Xserver enhanced

#1 Post by MU »

Image

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.

User avatar
pakt
Posts: 1157
Joined: Sat 04 Jun 2005, 16:54
Location: Sweden

Re: Kdrive-Xserver enhanced

#2 Post by pakt »

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).
Mark, that might be this bug you have run into (see 3rd post):
http://www.murga.org/~puppy/viewtopic.php?t=2230

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#3 Post by MU »

Hm,but I do not understand, what could be done to fix that?
----
I uploaded additional modules for several Graficscards, plus a grafical "Chooser".
It works in X and on the commandline.
Mark

GuestToo
Puppy Master
Posts: 4083
Joined: Wed 04 May 2005, 18:11

#4 Post by GuestToo »

the workaround is to enable xkbd support in xvesa

the fix is to compile gtk with the pango_dir patch

i think Puppy is using gtk-2.6.1

see here and here

User avatar
BarryK
Puppy Master
Posts: 9392
Joined: Mon 09 May 2005, 09:23
Location: Perth, Western Australia
Contact:

#5 Post by BarryK »

Mark,
Yes, you need to compile all the X servers with "xkbd extension" enabled.

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#6 Post by MU »

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

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#7 Post by MU »

Now the documentation is available online and for Download.
I converted the man-pages to HTML:

http://dotpups.de/dotpups/XServer/FDO-K ... mentation/

User avatar
bombayrockers
Posts: 427
Joined: Sat 24 Sep 2005, 16:47
Location: Mumbai, India
Contact:

#8 Post by bombayrockers »

MU,

Great Work. thank you :D .

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. :cry:

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

User avatar
BarryK
Puppy Master
Posts: 9392
Joined: Mon 09 May 2005, 09:23
Location: Perth, Western Australia
Contact:

#9 Post by BarryK »

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.
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.
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
where $VIDSCRN will be something like "800x600x16" and $MOUSEBUTTONS will be a number, like "2".

User avatar
BarryK
Puppy Master
Posts: 9392
Joined: Mon 09 May 2005, 09:23
Location: Perth, Western Australia
Contact:

#10 Post by BarryK »

Mark,
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

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#11 Post by MU »

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

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#12 Post by MU »

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

Guest

#13 Post by Guest »

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.

Guest

#14 Post by Guest »

That is BarryK not logged in, posting above.

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#15 Post by MU »

ok, I can compile with xkb by adding it as an option in the installscript:

Code: Select all

pushd xserver
./autogen.sh --prefix=/usr/local/fdo --enable-composite --enable-xkb
make $MAKEOPTS
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

User avatar
pakt
Posts: 1157
Joined: Sat 04 Jun 2005, 16:54
Location: Sweden

Re: Kdrive-Xserver enhanced

#16 Post by pakt »

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?
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
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?

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.

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#17 Post by MU »

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

jcagle
Posts: 637
Joined: Thu 29 Sep 2005, 20:34

#18 Post by jcagle »

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.

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#19 Post by MU »

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

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#20 Post by MU »

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
Last edited by MU on Wed 30 Nov 2005, 15:27, edited 1 time in total.

Post Reply