Envy 0.9.6-0ubuntu1 is now available

Envy 0.9.6-0ubuntu1 is now available.

Here is the changelog:

* Added: NVIDIA new legacy driver 9639
* Removed: NVIDIA new legacy driver 9631
* Added: ATI driver 8.38.7 (hotfix)
* Removed: ATI driver 8.38.6
* Changed: new packaging system for envy
* Changed: removed the getCommandOutput function and cleaned the code in general
* Fixed: the problems with the diversion of libglx.so
* Fixed: lsb-release added as a dependency

Please, remember to remove your previous release of Envy before you install this new release:
sudo apt-get --purge remove envy
sudo rm -R /usr/share/envy

You can get Envy here as usual.

P.S. I have stopped working on URandR since I have (yet) another exam next tuesday. As soon as I’m done with the exams I *should* be able to get back to writing some code for URandR.

Updates on Envy and URandR

Envy 0.9.5-0ubuntu3 is now available. Here is the changelog:

* Added: Nvidia driver 100.14.11
* Removed: Nvidia beta driver 100.14.09
* Fixed: ATI driver 8.36.5 showed up instead of 8.37.6

You can get it here, as usual.

I found out that URandR crashed with ATI’s open source driver (the randr-1.2 branch from GIT) since the system for the detection of resolutions which I was using was way too static. Yesterday night I wrote that part almost from scratch but I couldn’t finish it (since it was 2:00 AM). For this reason the version you will find in my bazaar branch is temporarily broken. I promise I’ll fix it soon. As soon as this problem is solved I’ll focus on adding xinerama support.

I have another exam on July 5 therefore I can’t work full time on URandR yet (and I think I won’t at least until August).

More fun with URandR

Yesterday I passed the oral English exam (which went great, by the way) and now I’m so stressed that I have decided to take a day off before to start studying for the oral Spanish exam. I messed with my laptop and replaced Fedora 7 with Ubuntu Gutsy, which seems to work great.

A few days ago I discovered that I could solve the problem with RandR 1.2 and the black & white screen on my television. I had to use an S-Video cable and a S-Video to CART adapter (since a S-Video to Composite adapter doesn’t solve the problem). Then I only had to set my TV to the S2 mode (so that it can use an S-Video cable). This method works fine on both Debian Sid and Ubuntu Gutsy however the TV is seen as supporting only a 30Hz refresh rate. Compiling and installing the latest release of RandR from GIT solved the problem (I can use it at 60Hz now). I can also switch between PAL, NTSC, NTSC-J, etc. and, if my TV were a HDTV, I would also be able to choose 720p, 1080p, etc.

Unfortunately the latest version of RandR is not available in Ubuntu Gutsy or in Debian Sid but I hope it will make it to Ubuntu’s stable release. I’ll implement these new features in URandR ASAP.

Enough talk. My adapter looks like the following:

Here are some screenshots of URandR in action (you can save these photos on your hard disk so as to see them in 1024×768):

Here is a photo of URandR on my laptop (in this photo my TV is stuck in
30Hz):

P.S. I would like to thank Keith Packard for taking the time to reply to my emails on RandR.

Envy 0.9.5-0ubuntu2 should fix the nasty API mismatch problem

Envy 0.9.5-0ubuntu2 should fix the nasty API mismatch problem

Please, remember to remove your previous release of Envy before you install this new release:
sudo apt-get --purge remove envy

You can get Envy here as usual.

You might also want to have a look at the instructions for Debian or for Ubuntu

Thanks for you feedback.

P.S. Sorry if I’m not replying to your emails and blog comments but I’m very busy with my exams.

Updates on my GUI for RandR

First of all, thanks for the attention you paid to the previous news on my GUI for RandR.

I have chatted to the guys behind the development of Displayconfig and I must admit that they are doing an amazing work which, in my opinion, is the best solution. I have decided that I will continue working on my app (which is much less ambitious since it relies exclusively upon RandR) and I hope to be of help (I’m not trying to duplicate efforts) also to the development of their application. It won’t be easy since my approach to the problem is rather different. As soon as I’m done with the exams I’ll have more time to spend on both projects.

As regards my application I changed its name to “URandR” (which you can pronounce as “you render”). I have created a new project on Launchpad and set up a bazaar branch from which you can get the code (which is still under heavy development).

A Canadian chap, Jean-François Fortin Tam, volunteered to make the GUI of URandR HIG-compliant. I think he did an excellent work (and my previous GUI did really need some love). Thanks to him URandR now uses tabs and no longer needs a scrollbar. The interface he designed in Glade is much cleaner. I connected URandR to his interface and now new tabs spawn up when a new device is detected. He also designed an additional tab that in the next future will enable you to choose between cloning screens and having multiple screens with distinct workspaces (it’s disabled by default since the implementation is not ready).

As I said last time, the requirements to run URandR are the following:

  • a driver which supports RandR 1.2 (such as the Intel driver 2.0 and *I guess* the experimental open source ATI driver) (however in the future ATI and Nvidia will support RandR 1.2 as well)
  • xserver-xorg 1.3 (Fedora 7, Debian Sid, Ubuntu Gutsy, etc. have it)
  • URandR works well on Fedora 7 and Debian Sid. I can connect my laptop to any display and TV I have at home just with a few clicks.

    TODO:

  • Implement different Multi Screens options (Xinerama, etc.)
  • Rotate Wacom tablets and mouse cursors automatically if the screen is rotated
  • Clean the code and use SimpleGladeApp (as glatzor suggested)
  • Make a deb package
  • SCREENSHOTS:

    I took this screenshot on Fedora 7 after connecting my laptop to my TV (as you can see from the 2nd tab):
    URandR on Fedora 7

    I took this screenshot on Debian Sid (ok, it’s an idle interface but I promise I’ll show you something better, maybe a screencast):
    URandR on Debian Sid

    P.S. I can’t compile RandR 1.2 from GIT (and yes, I made a build-dep of randr), can anyone help me to compile it, please?

    Envy 0.9.5-0ubuntu1 STABLE is now available

    Envy 0.9.5 is now marked as stable. I have removed version 0.9.4.

    Here is the changelog:

    * Fixed: the API mismatch should no longer occur since the nvidia modules in
    /lib/modules/`uname -r`/volatile/ are now removed
    * Added: Nvidia driver 100.14.09
    * Removed: Nvidia beta driver 100.14.03
    * Added: ATI driver 8.37.6
    * Removed: ATI driver 8.36.5

    As you can see, both ATI and the Nvidia driver are up-to-date, moreover the nasty API mismatch problem should no longer be such.

    Please, remember to remove your previous release of Envy before you install this new release:
    sudo apt-get --purge remove envy

    You can get Envy here as usual.

    You might also want to have a look at the instructions for Debian or for Ubuntu

    A GUI for RandR

    <meta content="OpenOffice.org 2.2 (Linux)" name="GENERATOR" /><meta content="Alberto Milone" name="AUTHOR" /><meta content="20070604;22164000" name="CREATED" /><meta content="Alberto Milone" name="CHANGEDBY" /><meta content="20070605;190000" name="CHANGED" /> </p> <p style="margin-bottom: 0cm;" class="western">I have been working at nights on a new project of mine. I have always thought that Keith Packards’ RandR was an excellent tool and I wanted to make xrandr (its textual interface) more userfriendly. I am aware that another chap is working on a UI written in C, however I thought I would contribute with my Python application.</p> <p style="margin-bottom: 0cm;" class="western">RandrGUI (its provisional name) is a GTK interface to xrandr. I did not create Python bindings for RandR (since I can’t code in C, <strong>yet</strong><span style="">) but an application which captures the output of xrandr and uses it to apply the settings that users choose.</span></p> <p style="margin-bottom: 0cm;" class="western">I installed Debian Sid, since it uses xserver-xorg 1.3, randr 1.2 and the intel driver 2.0, and started developing my application. I wrote the interface using glade (so that I don’t have to change the code if I want to make the UI look different.</p> <p style="margin-bottom: 0cm;" class="western"><span style="">I have almost finished writing </span><strong>version 0.1 which will enable you to</strong><span style="">:</span></p> <ul> <li> <p style="margin-bottom: 0cm;" class="western"> clone your screen on an external screen or TV</p> </li> <li> <p style="margin-bottom: 0cm;" class="western"> rotate your screen(s)</p> </li> <li> <p style="margin-bottom: 0cm;" class="western"> change your screen(s) resolution</p> </li> </ul> <p style="margin-bottom: 0cm;" class="western">You will be able to do all this without touching your xorg.conf, only a few mouse clicks are required.</p> <p style="margin-bottom: 0cm;" class="western"> </p> <p style="margin-bottom: 0cm;" class="western"><strong>What are the requirements?</strong></p> <ul> <li> <p style="margin-bottom: 0cm;" class="western"> xserver-xorg 1.3</p> </li> <li> <p style="margin-bottom: 0cm;" class="western"> randr 1.2</p> </li> <li> <p style="margin-bottom: 0cm;" class="western"> the intel driver 2.0 (or the ATI open source driver from GIT code) </p> </li> <li> <p style="margin-bottom: 0cm;" class="western"> A GNU/Linux distribution which uses the first three elements in this list.</p> </li> </ul> <p style="margin-bottom: 0cm;" class="western">This means that you will not be able to use it on Feisty. Maybe on Gutsy.</p> <p style="margin-bottom: 0cm;" class="western"> </p> <p style="margin-bottom: 0cm;" class="western"><strong>Does it work flawlessly?</strong></p> <p style="margin-bottom: 0cm;" class="western">No,not yet. At least not with the version of randr available on Debian unstable. However it works quite well here.</p> <p style="margin-bottom: 0cm;" class="western"> </p> <p style="margin-bottom: 0cm;" class="western"><strong>Known Issues</strong></p> <ul> <li> <p style="margin-bottom: 0cm;" class="western"> There is no way to select PAL/NTSC for your CRT TV therefore my TV works at 30Hz and the video is black and white * </p> </li> <li> <p style="margin-bottom: 0cm;" class="western"> I do not know how Randrgui will work with HD TVs * </p> </li> <li> <p style="margin-bottom: 0cm;" class="western"><span style="">Sometimes you have to change the resolution of your 2</span><sup><span style="">nd</span></sup><span style=""> screen in order to get the right resolution on your first screen (this means that more clicks are required).</span></p> </li> <li> <p style="margin-bottom: 0cm;" class="western"> If I use a DVI2VGA adapter 1 extra TMDS-1 device spawns up (I’ll have to ask some Xorg hackers about this)</p> </li> </ul> <p style="margin-bottom: 0cm;" class="western"><strong> * As far as I know,the first 2 problems are solved in Randr GIT code </strong><span style="">therefore I will have to play with the experimental code and adapt randrgui.</span></p> <p style="margin-bottom: 0cm;" class="western"> </p> <p style="margin-bottom: 0cm;" class="western"><strong>TODO</strong></p> <ul> <li> <p style="margin-bottom: 0cm;" class="western"> Write a logger (for version 0.1 ?)</p> </li> <li> <p style="margin-bottom: 0cm;" class="western"> Give the option to use each screen separately (instead of just cloning your main screen on the other screens)</p> </li> <li> <p style="margin-bottom: 0cm;" class="western"> Adapt Randrgui to Randr’s GIT code</p> </li> <li> <p style="margin-bottom: 0cm;" class="western"> Find a better name for Randrgui</p> </li> <li> <p style="margin-bottom: 0cm;" class="western"> make a deb package</p> </li> </ul> <p><strong><br /> </strong></p> <p><strong>Release date</strong> </p> <p>I hope to release it soon. I am studying all day for my English and Spanish exams therefore I can code only at nights. </p> <p style="margin-bottom: 0cm;" class="western"> </p> <p style="margin-bottom: 0cm;" class="western"><strong>Screenshots</strong></p> <p style="margin-bottom: 0cm;" class="western">I know this screenshot does not show how RandrGUI works therefore I promise that I will post more screenshots soon.</p> <p><img decoding="async" src="http://albertomilone.com/images/randrgui1.jpg" alt="randrgui in action" /></p> <p style="text-align: right; font-size: 8px">Blogged with <a href="http://www.flock.com/blogged-with-flock" title="Flock" target="_new">Flock</a></p> </div><!-- .entry-content --> <footer class="entry-footer"> <div class="comments-link" data-customizer="leave-a-comment"> <a href="https://albertomilone.com/blog/?p=93#comments">16 Comments</a> </div> <div class="entry-meta"> <p class="date"><span class="posted-on"><a href="https://albertomilone.com/blog/?p=93" rel="bookmark"><i class="icon-calendar"></i><time class="entry-date published updated" datetime="2007-06-05T15:27:26+00:00">June 5, 2007</time></a></span><span class="byline"> <span class="author vcard"><a class="url fn n" href="https://albertomilone.com/blog/?author=1"><i class="icon-user"></i>albertomilone@gmail.com</a></span></span><span clas="post-comments"><a href="https://albertomilone.com/blog/?p=93#comments"><i class="icon-comment"></i>16 Comments</a></span></p> </div> </footer><!-- .entry-footer --> </article><!-- #post-93 --> <nav class="navigation posts-navigation" role="navigation"> <h2 class="screen-reader-text">Posts navigation</h2> <div class="nav-links"> <div class="nav-previous"><a href="https://albertomilone.com/blog/?page_id=612&paged=11" >Older posts</a></div> <div class="nav-next"><a href="https://albertomilone.com/blog/?page_id=612&paged=9" >Newer posts</a></div> </div><!-- .nav-links --> </nav><!-- .navigation --> </main><!-- #main --> </section><!-- #primary --> </div><!-- #content --> <footer id="colophon" class="site-footer" role="contentinfo"> <div class="theme-info"> <p><a href="https://www.machothemes.com/themes/decode/" rel="dofollow">Decode Theme</a> by <a href="https://www.machothemes.com/" rel="dofollow" title="Professional & Responsive WordPress Themes">Macho Themes</a></p> </div><!-- .theme-info --> </footer><!-- #colophon --> </div><!-- #page --> <div id="sidebar" class="sidebar left"> <div id="sidebar-top" class="sidebar-top SidebarTop clearfix"> <button id="sidebar-close" class="sidebar-close SidebarClose" title="Hide sidebar"> <svg width="100%" height="100%" viewBox="0 0 200 200" version="1.1" xmlns="http://www.w3.org/2000/svg"> <path class="close-icon" d="M0,172.881356 L72.8813559,100 L1.0658141e-14,27.1186441 L27.1186441,-2.84217094e-14 L100,72.8813559 L172.881356,0 L200,27.1186441 L127.118644,100 L200,172.881356 L172.881356,200 L100,127.118644 L27.1186441,200 Z M0,172.881356" fill="#444444"></path> </svg> </button> </div> <div class="sidebar-content"> <div class="widget-area" role="complementary"> <aside id="search-2" class="widget widget_search"><form role="search" method="get" class="search-form" action="https://albertomilone.com/blog/"> <label> <span class="screen-reader-text">Search for:</span> <input type="search" class="search-field" placeholder="Search …" value="" name="s" /> </label> <input type="submit" class="search-submit" value="Search" /> </form></aside> <aside id="recent-posts-2" class="widget widget_recent_entries"> <h2 class="widgettitle">Recent Posts</h2> <ul> <li> <a href="https://albertomilone.com/blog/?p=670">NVIDIA PRIME in Ubuntu 18.04 and 18.10, and a call for testing</a> </li> <li> <a href="https://albertomilone.com/blog/?p=662">Hybrid Graphics in Ubuntu 14.04</a> </li> <li> <a href="https://albertomilone.com/blog/?p=653">GPG key transition</a> </li> <li> <a href="https://albertomilone.com/blog/?p=597">On Heated Technical Discussions</a> </li> <li> <a href="https://albertomilone.com/blog/?p=591">Hybrid Graphics with AMD and NVIDIA in Ubuntu 13.10 and 12.04.3</a> </li> </ul> </aside><aside id="archives-2" class="widget widget_archive"><h2 class="widgettitle">Archives</h2> <label class="screen-reader-text" for="archives-dropdown-2">Archives</label> <select id="archives-dropdown-2" name="archive-dropdown"> <option value="">Select Month</option> <option value='https://albertomilone.com/blog/?m=201809'> September 2018 </option> <option value='https://albertomilone.com/blog/?m=201405'> May 2014 </option> <option value='https://albertomilone.com/blog/?m=201312'> December 2013 </option> <option value='https://albertomilone.com/blog/?m=201311'> November 2013 </option> <option value='https://albertomilone.com/blog/?m=201310'> October 2013 </option> <option value='https://albertomilone.com/blog/?m=201306'> June 2013 </option> <option value='https://albertomilone.com/blog/?m=201305'> May 2013 </option> <option value='https://albertomilone.com/blog/?m=201301'> January 2013 </option> <option value='https://albertomilone.com/blog/?m=201209'> September 2012 </option> <option value='https://albertomilone.com/blog/?m=201111'> November 2011 </option> <option value='https://albertomilone.com/blog/?m=201107'> July 2011 </option> <option value='https://albertomilone.com/blog/?m=201104'> April 2011 </option> <option value='https://albertomilone.com/blog/?m=201103'> March 2011 </option> <option value='https://albertomilone.com/blog/?m=201009'> September 2010 </option> <option value='https://albertomilone.com/blog/?m=201003'> March 2010 </option> <option value='https://albertomilone.com/blog/?m=201002'> February 2010 </option> <option value='https://albertomilone.com/blog/?m=200909'> September 2009 </option> <option value='https://albertomilone.com/blog/?m=200907'> July 2009 </option> <option value='https://albertomilone.com/blog/?m=200903'> March 2009 </option> <option value='https://albertomilone.com/blog/?m=200901'> January 2009 </option> <option value='https://albertomilone.com/blog/?m=200812'> December 2008 </option> <option value='https://albertomilone.com/blog/?m=200811'> November 2008 </option> <option value='https://albertomilone.com/blog/?m=200810'> October 2008 </option> <option value='https://albertomilone.com/blog/?m=200808'> August 2008 </option> <option value='https://albertomilone.com/blog/?m=200807'> July 2008 </option> <option value='https://albertomilone.com/blog/?m=200806'> June 2008 </option> <option value='https://albertomilone.com/blog/?m=200805'> May 2008 </option> <option value='https://albertomilone.com/blog/?m=200804'> April 2008 </option> <option value='https://albertomilone.com/blog/?m=200803'> March 2008 </option> <option value='https://albertomilone.com/blog/?m=200802'> February 2008 </option> <option value='https://albertomilone.com/blog/?m=200801'> January 2008 </option> <option value='https://albertomilone.com/blog/?m=200712'> December 2007 </option> <option value='https://albertomilone.com/blog/?m=200711'> November 2007 </option> <option value='https://albertomilone.com/blog/?m=200710'> October 2007 </option> <option value='https://albertomilone.com/blog/?m=200709'> September 2007 </option> <option value='https://albertomilone.com/blog/?m=200708'> August 2007 </option> <option value='https://albertomilone.com/blog/?m=200707'> July 2007 </option> <option value='https://albertomilone.com/blog/?m=200706'> June 2007 </option> <option value='https://albertomilone.com/blog/?m=200705'> May 2007 </option> <option value='https://albertomilone.com/blog/?m=200704'> April 2007 </option> <option value='https://albertomilone.com/blog/?m=200703'> March 2007 </option> <option value='https://albertomilone.com/blog/?m=200702'> February 2007 </option> <option value='https://albertomilone.com/blog/?m=200701'> January 2007 </option> <option value='https://albertomilone.com/blog/?m=200612'> December 2006 </option> <option value='https://albertomilone.com/blog/?m=200611'> November 2006 </option> <option value='https://albertomilone.com/blog/?m=200610'> October 2006 </option> <option value='https://albertomilone.com/blog/?m=200609'> September 2006 </option> <option value='https://albertomilone.com/blog/?m=200608'> August 2006 </option> </select> <script type="text/javascript"> /* <![CDATA[ */ (function() { var dropdown = document.getElementById( "archives-dropdown-2" ); function onSelectChange() { if ( dropdown.options[ dropdown.selectedIndex ].value !== '' ) { document.location.href = this.options[ this.selectedIndex ].value; } } dropdown.onchange = onSelectChange; })(); /* ]]> */ </script> </aside><aside id="categories-2" class="widget widget_categories"><h2 class="widgettitle">Categories</h2> <ul> <li class="cat-item cat-item-2"><a href="https://albertomilone.com/blog/?cat=2">Android</a> </li> <li class="cat-item cat-item-12"><a href="https://albertomilone.com/blog/?cat=12">Daily routine</a> </li> <li class="cat-item cat-item-13"><a href="https://albertomilone.com/blog/?cat=13">Debian</a> </li> <li class="cat-item cat-item-3"><a href="https://albertomilone.com/blog/?cat=3">Driver Updates</a> </li> <li class="cat-item cat-item-4"><a href="https://albertomilone.com/blog/?cat=4">Envy</a> </li> <li class="cat-item cat-item-14"><a href="https://albertomilone.com/blog/?cat=14">GNU/Linux</a> </li> <li class="cat-item cat-item-5"><a href="https://albertomilone.com/blog/?cat=5">Planet</a> </li> <li class="cat-item cat-item-6"><a href="https://albertomilone.com/blog/?cat=6">Python</a> </li> <li class="cat-item cat-item-7"><a href="https://albertomilone.com/blog/?cat=7">QT</a> </li> <li class="cat-item cat-item-9"><a href="https://albertomilone.com/blog/?cat=9">Ubuntu</a> </li> <li class="cat-item cat-item-10"><a href="https://albertomilone.com/blog/?cat=10">UDS</a> </li> <li class="cat-item cat-item-1"><a href="https://albertomilone.com/blog/?cat=1">Uncategorized</a> </li> <li class="cat-item cat-item-11"><a href="https://albertomilone.com/blog/?cat=11">voices</a> </li> </ul> </aside><aside id="meta-2" class="widget widget_meta"><h2 class="widgettitle">Meta</h2> <ul> <li><a href="https://albertomilone.com/blog/wp-login.php">Log in</a></li> <li><a href="https://albertomilone.com/blog/?feed=rss2">Entries feed</a></li> <li><a href="https://albertomilone.com/blog/?feed=comments-rss2">Comments feed</a></li> <li><a href="https://wordpress.org/">WordPress.org</a></li> </ul> </aside> </div><!-- .widget-area --> </div> </div><!-- #sidebar --> <script type="text/javascript" src="https://albertomilone.com/blog/wp-content/themes/decode/scripts/decode.js?ver=3.0.9" id="decode-scripts-js"></script> </body> </html>