-
-
Notifications
You must be signed in to change notification settings - Fork 14.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merging x-updates #490
Comments
I forgot to mention that the number of broken builds (w.r.t. master) is very low; my estimate is a few hundreds at most (across all Hydra platforms). Current Hydra stats are confusing in this respect, as we have accumulated many negatively cached transient errors on the branch (now on master as well). |
I've a local branch that adds gnunet-gtk, that depends on gtk 3.8. I'll try to I think it would be nice to decide clear instructions on how to test this branch |
When LibreOffice was last working in x-updates, I used x-updates for a while; I'd say that font rendering was significantly worse than in trunk. Can I just set some environment variables to get nice thin lines back? I think Intel drivers are OK. What about LibreOffice? |
@viric: I edited your comments, github doesn't seem to handle citations from e-mails well, it wasn't easy to distinguish who wrote what. |
There seems to be a problem in new glib+ld-linux https://bugs.archlinux.org/task/34630#comment108896 . AFAIK it probably causes:
There's a probable work-around which I'm testing now. Also, in a few days the guys working on this may find out more, we'll see... |
These problems should be fixed now. The work-around from Arch also seems to fix the xfce4session crashes (I'm running it for a few days without a single problem). |
I just pushed a mesa bugfix update. I suppose we should merge in a few days, after Hydra builds the branch. I expect no more feature changes now (unless someones steps in), I'll only look into the Infinality stuff and default font rendering configuration. Edit: more info for anyone interested: http://google-opensource.blogspot.cz/2013/05/got-cff.html |
Hmm, it seems that font rendering might noticeably change and improve soon, again. http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/CHANGES But not for this x-updates merge, it's newly merged in freetype and still in beta now. |
I was testing a few bugfix updates I committed and they seem fine. Now there's only the issue with default font configuration:
The default font configuration belongs into nixos, so I would merge the branch as it is now. I believe almost all build errors relative to trunk are transient. Certainly, I'm giving you additional time to react until wednesday around noon (European time) before I merge to master. IMHO we've discussed all this for a long enough time (except for font configuration, but that's a nixos issue, not nixpkgs). |
Is infinality considered stable? Or put differently, why doesn't upstream freetype have this patch? Do other distributions use it? |
@edolstra: Well, the part adding truetype subpixel rendering is integrated into released freetype (as of version in x-updates). The other part that's added here won't be upstreamed soon and it contains many configurable tweaks to rendering. Yes, it's only considered beta and in distributions it's added as optional or unofficial AFAIK. However, with the environment clear the code paths aren't even used and the library should behave as released. When I think of it again, I would probably leave the environment clear by default, so user get the "upstream settings" (I believe at least Ubuntu has their own tweaks to font rendering). This way users can still easily use infinality just by changing their profile (without recompiling everything). However, AFAIK most people find the upstream defaults not good-looking. I think the configurability is the main advantage, because there just isn't one true way of font rendering. |
Ok, sounds good! |
Can we have an easy nixos option to set these environment variables for good-looking default configs? :) |
@bluescreen303: I suppose we can provide this... only there's a question which settings to give there to choose from. The shell script in the patchset provides around seven pre-defined combinations, and you can define your own, of course. And it's not always better, too, e.g. on http://dl.acm.org/citation.cfm?id=1292541 I find the headings very much too bold with infinality's "default" compromise (although the rest seems thin enough). |
I just noticed some extreme bloat in x-updates. For instance, the closure of the geeqie package went from 461 MiB to 851 MiB, which is really bad IMHO. This bloat seems to be due to the dependencies on llvm (166 MiB) and mesa-noglu (an insane 261 MiB). Can we do something about that? If not, I'd prefer reverting to the old mesa for the time being. |
I'll look into it, but I believe we've already discussed that llvm is essential for mesa now (but maybe we can clean some parts). |
Ok, then we should revert to Mesa 8 for now, or depend on a Mesa 9 that doesn't build all (or any) drivers. A full Mesa 9 can be provided on NixOS via LD_LIBRARY_PATH (like we do for the proprietary NVIDIA driver). |
Oh yes, I believe separating the drivers should do the trick. We've probably been going the other way until now for mesa, but in future this probably isn't going to get much smaller. |
Also wondering how Mesa managed to go from 50 to 261 MiB. Apparently every driver has grown by 16 MiB or so:
|
The mesa libs aren't stripped :-D |
You sure? I tried strip -S on i915_dri.so and it didn't do anything... |
That's what I tried first :-) But:
|
After plain |
Continue on IRC? |
Well, after much testing and discussion, my WIP is here https://github.com/vcunat/nixpkgs/tree/p/mesa Current status:
|
Ad llvm: I believe the only runtime dependency for most packages using LLVM should be just libllvm, which is around 25 MB, so it could be split from the rest if we really wanted to save more space there... |
It seems that now this only breaks clang, I'll try to fix it. But please, someone test the mesa drivers. They got split into I rebuilt my system with the updates, and all including 3D games works fine (without NixOS change, on nvidia proprietary driver). I suppose we really want to resolve this quickly, as we're directly on master. Reverting to mesa-8 would be an option, but I believe it's better to step forward: do this split, quickly test it, and commit it. |
I forgot to mention that I setup the mesa driver search path to |
Is it possible to revert the x-updates merge in master? That way we don't need to stress out :-) However I'm worried that Git will get horribly confused if you revert a merge (in particular if you later sync master into x-updates...). |
@jcumming: and that is needed? I did check linking of all executables by ldd (before committing). |
After discussing this on IRC, @Phreedom lead me to the fact that it was already OK. NixOS sets /run/opengl-driver{,-32}/lib into global $LD_LIBRARY_PATH, and there's also the driver-specific libGL (apps are compiled against the version from mesa, as in all distros we rely on the fact that drivers provide an ABI-compatible version). |
so:
nixos will set LD_LIBRARY_PATH so that optimized drivers will get used where possible, otherwise will fall back to mesa's libGL.so.1? If so, then I should fix a couple of my binary packages for 2. |
Yes, (1) and (3) is certain and has not changed in x-updates. libGL is overridden by the current opengl driver (/run/opengl-driver{,-32}). We have Now if you're running one of mesa drivers, there's no /run/opengl-driver{,-32}/lib/libGL_. This has changed now, so we can either do (2) or add link from mesa_drivers to mesa's libGL so we always have some version on /run/opengl-driver_ (seems more consistent anyway). How did you do (2) up to now? Left without RPATH to mesa? Don't they sometimes need libGLU? This one got split away from mesa upstream, but now we have it in the combined "mesa" attribute (original is mesa_noglu). |
All is working well for me, I love the fontzies :) Anyway, it seems xf86-video-vmware-13.0.1 is broken though. On Tue, May 21, 2013 at 8:08 AM, Vladimír Čunát notifications@github.comwrote:
|
Isn't the llvm dependency only necessary for the software-rendering fallback? |
@bluescreen303: I don't see into internals, but I think I read it's also used for JIT optimizing shaders for the hardware you're running. xatracker also seemed to depend on llvm, so it's in drivers. I'll fix the vmware driver to find it there. I'm also currently testing a bugfix-only mesa update (9.1.2 -> 9.1.3)... I suppose it should be included, I'll push it soon. |
Well, I suppose we want to include the new X security fixes before merging to master. The problem is that the changes are still unreleased or in unstable versions. It's announced that they want to release the first stable "secure" version of libX11 during the first week of June. I believe it's worth waiting for it (although I hate that we're putting off the merge again and again). [security announcement] http://www.x.org/wiki/Development/Security/Advisory-2013-05-23 |
I saw that Debian has released updates for the affected packages. I guess they've backported the security fixes. Maybe we can borrow their patches. |
Yes, we could do that, although it will need quite a lot of temporary code, probably in overrides.nix. I'm a bit overloaded with work this week, but if anyone hurries with this, he/she is welcome to do it. |
Progress report:
|
It's almost done, there are some package failures (not that important ones) |
I finally got around to testing this on my Asus eeePC, which has an Intel 915 graphics card. (All my other systems have NVIDIA.) Everything (meaning Xfce) seems to work fine. I'm +1 on merging this (together with the stdenv-fixes branch). |
Groff doesn't build on FreeBSD (and all reverse dependencies such as python), if anyone cares: http://hydra.nixos.org/build/5257601 |
I believe it can be merged anytime now. groff does cause many failures, but I don't even have a possibility to test it. I also wanted to enable better fonts on XUL-based apps, but I'm hitting https://bugzil.la/856419 and it doesn't do subpixel rendering anyway... |
groff compiles just fine for me:
Does anyone know where I can see the error that Hydra is running into? |
I think this cached error is very old. It seems it would be best to restart the job. |
Restarted, see http://hydra.nixos.org/build/5257601 |
The groff issue is fixed in a3cc980. |
@peti could you also cherry-pick that to |
StumpWM and Torcs work fine here on Intel video card, too |
I'd like to try testing out the new x-updates branch (on my ancient Intel gfx laptop), but I can't find any docs for how to use the branch. I'm a total Nix newbie; I gather that I need to run |
@tsuraan: I don't think there's a channel, you would probably have to check out the git versions of nixpkgs and nixos repositories (branch x-updates). However, I hope we merge it very soon to master (like this weekend?). |
Ok, so once that's done I can just do a |
@tsuraan: yes, after some times (usually at most a few days) the changes to master propagate to the channel. |
Subscribing to
should do the trick. You may want to remove the original nixpkgs channel, though, to avoid mixing up those two package sets. |
True, I forgot hydra provides a whole channel for each jobset. |
It's all in master now, you can reopen in case of problems. |
I think we should just stabilize x-updates and merge it soon (within a few weeks).
Currently contained biggest changes:
Other things we may potentially want to include:
I'm running the whole system on current x-updates now, so at least the common parts and nvidia driver get some testing. I don't much know e.g. what are the best choices for GFX drivers for Intel and AMD/ATI...
Any thoughts?
The text was updated successfully, but these errors were encountered: