WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: xorg-7.6 depends on everything but the kitchen sink  (Read 1666 times)

Offline hiro

  • Hero Member
  • *****
  • Posts: 828
xorg-7.6 depends on everything but the kitchen sink
« on: March 09, 2012, 11:23:03 AM »
why xf86-all by default?
There already is a default which should work on most people's computers: Xvesa.
When they want other features they can chose manually which graphic card to support, no?

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 7818
Re: xorg-7.6 depends on everything but the kitchen sink
« Reply #1 on: March 09, 2012, 11:34:19 AM »
It's not always that easy to say which driver goes with which card.

I feel with these bigger collections it's better to err on the side of caution/ease of use. Just like one might want compiletc, but with gcc3 instead of 4; it's still better to keep the default gcc in the set.
The only barriers that can stop you are the ones you create yourself.

Offline hiro

  • Hero Member
  • *****
  • Posts: 828
Re: xorg-7.6 depends on everything but the kitchen sink
« Reply #2 on: March 09, 2012, 11:59:26 AM »
I'd use Windows or Ubuntu if I wanted this kind of bloat. Anyway, nothing I can change I guess.

Offline maro

  • Hero Member
  • *****
  • Posts: 1229
Re: xorg-7.6 depends on everything but the kitchen sink
« Reply #3 on: March 09, 2012, 11:51:30 PM »
... Anyway, nothing I can change I guess.
I wouldn't be quite so pessimistic. As I'm predominately a user of 'Xvesa' I had not much of a need to really take a closer look, but I had equally been a bit surprised by this "everything but the kitchen sink" approach. OTOH I'd always assumed that the following "trick" was fully intended to be used by some "space concious" user as these drivers were all so nicely split into individual extensions.

The basic idea is to replace 'xf86-video-all.tcz' in 'Xorg-7.6.tcz.dep' with the one driver you really need, and the other 'xf86-video-*.tcz*' files could then be removed. In my little test I used QEMU (v0.11.1 with KQEMU on a WinXP host) and even though I kind of knew which one I needed I did first install 'Xorg-7.6.tcz' proper, and after starting the 'Xorg' server I did:
Code: (bash) [Select]
tc@box:~$ grep Loading /var/log/Xorg.0.log | sed '/drivers/! d ; s#.* ##' | xargs ls -l | sed 's#.*/tcloop/## ; s#/#\t/#'
xf86-video-cirrus       /usr/local/lib/X11/modules/drivers/cirrus_alpine.so
xf86-video-cirrus       /usr/local/lib/X11/modules/drivers/cirrus_alpine.so
xf86-video-cirrus       /usr/local/lib/X11/modules/drivers/cirrus_drv.so
xf86-video-cirrus       /usr/local/lib/X11/modules/drivers/cirrus_drv.so
Xorg-7.6        /usr/local/lib/X11/modules/drivers/fbdev_drv.so
Xorg-7.6        /usr/local/lib/X11/modules/drivers/vesa_drv.so

This output now told me that I wanted to replace 'xf86-video-all.tcz' in the dependency file with 'xf86-video-cirrus.tcz', which I did via
    sed -i 's#xf86-video-all.tcz#xf86-video-cirrus.tcz#' /etc/sysconfig/tcedir/optional/Xorg-7.6.tcz.dep
and then remove the surplus files, which I did via
    ls /etc/sysconfig/tcedir/optional/xf86-video-* | grep -v xf86-video-cirrus | xargs rm -f

In my case I saw a saving of ca. 2900 kBytes after removing these files. I furthermore realised that I could also do without firmware-radeon.tcz, graphics-3.0.3-tinycore.tcz and i2c-3.0.3-tinycore.tcz, which meant another 900 kBytes "gone". But the last two of these extra extensions are required by xf86-video-intel.tcz and all three by xf86-video-ati.tcz, so they should only be removed when they are indeed surplus to requirements.
« Last Edit: March 09, 2012, 11:55:06 PM by maro »

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 7818
Re: xorg-7.6 depends on everything but the kitchen sink
« Reply #4 on: March 09, 2012, 11:57:27 PM »
I think hiro's primary concern is the first download, IIRC he was on a quota (3g modem?). In that case, you'd have to do something like

Code: [Select]
tce-fetch Xorg-7.6.tcz
tce-fetch Xorg-7.6.tcz.dep
#edit the dep file as needed
for i in `cat Xorg-7.6.dep`; do tce-load -w $i; done
The only barriers that can stop you are the ones you create yourself.

Offline hiro

  • Hero Member
  • *****
  • Posts: 828
Re: xorg-7.6 depends on everything but the kitchen sink
« Reply #5 on: March 10, 2012, 11:46:54 AM »
I didn't know tce-fetch yet. Lots of surprises for people upgrading.

I guess I'll nag on later.

Offline Rich

  • TinyCore Moderator
  • Hero Member
  • *****
  • Posts: 4212
Re: xorg-7.6 depends on everything but the kitchen sink
« Reply #6 on: March 10, 2012, 12:49:24 PM »
Hi hiro
Neither did I, but checking my TC2.1 system shows it existed already back then.

Offline roberts

  • Administrator
  • Hero Member
  • *****
  • Posts: 7344
  • Founder Emeritus
Re: xorg-7.6 depends on everything but the kitchen sink
« Reply #7 on: March 10, 2012, 01:16:03 PM »
It been a cli support tool from the dawn of core!
10+ Years Contributing to Linux Open Source Projects.

Offline maro

  • Hero Member
  • *****
  • Posts: 1229
Re: xorg-7.6 depends on everything but the kitchen sink
« Reply #8 on: March 10, 2012, 01:16:37 PM »
Just a little warning to all who now want to use tce-fetch: it's actually tce-fetch.sh (spot the little difference) that you are after.

Offline roberts

  • Administrator
  • Hero Member
  • *****
  • Posts: 7344
  • Founder Emeritus
Re: xorg-7.6 depends on everything but the kitchen sink
« Reply #9 on: March 10, 2012, 01:20:34 PM »
Second warning. Using low level tools can cause unexpected results. No niceities like recursively loading dependencies. Do not use unless you know the consequences.
10+ Years Contributing to Linux Open Source Projects.

Offline caminati

  • Full Member
  • ***
  • Posts: 180
    • Homepage
Re: xorg-7.6 depends on everything but the kitchen sink
« Reply #10 on: March 10, 2012, 02:35:51 PM »
The Xorg-7.6 -> xf86-video-all dependency has been perplexing me as well since its inception.
There is some point in it, 'cause anyone not wanting to use its gpu driver could always resort to Xvesa.
However, this dependency leads to bloat, which I feel not much compatible with TC's spirit.
I was thinking if reversing the dependency:
xf86-video-all -> Xorg-7.6
would make any sense.
In this way a more knowledgeable could load Xorg-7.6 and its specific driver separately, while the casual user could just load xf86-video-all to get better chances of having the whole thing working.

Offline hiro

  • Hero Member
  • *****
  • Posts: 828
Re: xorg-7.6 depends on everything but the kitchen sink
« Reply #11 on: March 10, 2012, 09:03:48 PM »
To get away from this kind of state I would love to put a bit of time into a "recommendation system", which uses hardware ids and compares them to a database of these hardware ids we support in our kernel modules. I've already looked into it and the database is simple to create from the modules.
This system would present the user with a list of recommended extensions to install for his specific hardware.
I just want the encouragement of the admins first, because at the end it has to be updated against the content of all these module.tcz extensions. Of course I could just download them all the time, but I'm sure pushing is better than polling in this case.

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 7818
Re: xorg-7.6 depends on everything but the kitchen sink
« Reply #12 on: March 10, 2012, 11:48:44 PM »
OK, video-all dep removed, and a mention added in the info file.

@hiro:
Feel free to create such an extension. It would only need to be updated once per kernel update, grab original-modules to get all modules from the kernel build.

I think it's acceptable not to list the 3rd-party modules in the recommendations.
« Last Edit: March 10, 2012, 11:51:08 PM by curaga »
The only barriers that can stop you are the ones you create yourself.